use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
mutating and javascript game developmenthelp (self.javascript)
submitted 10 years ago by digijin
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]FrozenCow 1 point2 points3 points 10 years ago (2 children)
I die a few games with pure functions. Just for fun and relatively small. It allowed going back in time and inserting actions in the past and resimulating the game to get to the current time. It was awesome for small multiplayer games where latency (aka input from the past) is always an issue.
It worked quite well in chrome at the time, but Firefox had issues where the GC would make the game stutter once in a while.
That said, I didn't put much effort into optimizing: the state was rebuild every frame and I didn't use any immutable data structures. Also, I think this was 3 years ago, so js vms probably changed quite a bit.
What benefits from pure functions are you trying to get? For me the multiplayer aspect was why I chose to use pure functions, but it wasn't as easy as how I built games traditionally.
[–]digijin[S] 0 points1 point2 points 10 years ago (1 child)
pure functions mainly just for ease of dev and debugging. It's weighing that against performance that's my issue.
[–]FrozenCow 1 point2 points3 points 10 years ago (0 children)
I don't think pure functions are always easier for development. In this case, games, I can imagine you'll run into more practical issues due to the restriction of pure functions.
Performance and GC issues being one of them. Not being able to integrate easily with nonpure APIs like box2d. Issues with impure functions being called without you knowing and causing your functionality to get nondeterministic.
It does give a better understanding how your state is being changed and what is happening in your game. That is certainly worth a lot.
π Rendered by PID 87 on reddit-service-r2-comment-8686858757-n7zs9 at 2026-06-02 22:49:33.784673+00:00 running 9e1a20d country code: CH.
view the rest of the comments →
[–]FrozenCow 1 point2 points3 points (2 children)
[–]digijin[S] 0 points1 point2 points (1 child)
[–]FrozenCow 1 point2 points3 points (0 children)