free-game icon indicating copy to clipboard operation
free-game copied to clipboard

Time abstraction

Open fumieval opened this issue 11 years ago • 10 comments

It is very unreasonable to put input events and window refreshing and an audio output into the tick-based timeline.

I like to make it possible to implement rhythm games, or digital audio workstations.

fumieval avatar Aug 15 '14 02:08 fumieval

fumieval avatar Aug 15 '14 03:08 fumieval

I'm actually implementing a rhythm game (without sound for now) so this would be great. Is this planned for version 1.2?

Fuuzetsu avatar Sep 24 '14 03:09 Fuuzetsu

The implementation of this idea has moved to call package and free-game is going to be its plugin. I verified that call is capable of creating rhythm games.

fumieval avatar Sep 24 '14 05:09 fumieval

So will call be the main package to use now?

Fuuzetsu avatar Sep 24 '14 07:09 Fuuzetsu

Yes, especially if we're writing a rhythm game. For time-insensitive applications, free-game is the still preferred one.

fumieval avatar Sep 24 '14 09:09 fumieval

OK, when will there be a release?

Fuuzetsu avatar Sep 24 '14 19:09 Fuuzetsu

It's sounds like a FRP to me, or, more specifically, netwire. Though the high-level concept of FRP seems fairly clear (event->Push/Pull), I never managed to wrap my head around netwire, and I ran into limitations of reactive-banana fairly soon. It's amazing to be here and find a way to solve it, working through a practical problem.

madjestic avatar Oct 03 '14 17:10 madjestic

Also, how would time-abstraction fit into a time-critical concept? As far as I understand, we are talking about an event-driven process here. If we are using a more traditional loop for a frame-driven process, how can time work with both concepts?

madjestic avatar Oct 03 '14 17:10 madjestic

call lets us combine event handlers (regarding graphic/audio or even state updates as events), allowing them communicate. Unfortunately it's not FRP I think.

A traditional frame loop will be available by transforming a coroutine into an event handler.

fumieval avatar Oct 05 '14 07:10 fumieval

"A traditional frame loop will be available by transforming a coroutine into an event handler." Could you explain that in a bit longer than 1 sentence? It is not immediately clear for me what "transforming a coroutine into an event handler" means.

Thanks

madjestic avatar Oct 18 '14 17:10 madjestic