I've been building libraries for functional game design for a while.
Initially, I think you should start with big-bang as you learn Racket,
but then I would recommend using my lux library, because it is more
general (in particular, it has support for sound output, terminal
output, etc.) lux lets you set your update frequency for real-time
games or change the FPS to 0 so you are purely input-enabled.
When you structure your state, as your program gets larger, it can be
difficult to work with a monolithic "state" object (struct or class),
I made the `dos` package for this purpose as it is allows you to have
your own set of "threads" that externalize their state into a list of
continuations. (Typically, most entities are loops, so their memory is
in the arguments to the looping function, therefore the continuation
captures this information.) `dos` gives you the modularity of mutation
but makes it is easy to not worry about reasoning about effect order.
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to
racket-users...@googlegroups.com.
> For more options, visit
https://groups.google.com/d/optout.
--
-=[ Jay McCarthy
http://jeapostrophe.github.io ]=-
-=[ Associate Professor PLT @ CS @ UMass Lowell ]=-
-=[ Moses 1:33: And worlds without number have I created; ]=-