gladiusjs / html5-game-template

minimalist html5 template of infrastructure useful for most games
91 stars 7 forks source link

as a game developer, would you prefer the template to supply a simple game loop or not? #16

Open dmose opened 12 years ago

dmose commented 12 years ago

Please state your personal preference is and what the motivations for that preference are...

nklsrh commented 12 years ago

I would love to have a game loop supplied. It would make prototyping so much quicker because I'll be able to jump into actual gameplay code instead of worrying about frameworks.

elidickinson commented 12 years ago

I'd vote for including it, especially if your target audience is people who aren't necessarily either Javascript experts or game design experts (like me). If the concern is that people would outgrow the simple loop, I think that could be solved with some appropriate comments in the code.

dmose commented 12 years ago

Thanks for bringing up target audience. I think part of the problem here is that we haven't yet defined that crisply enough. Two key audiences are currently under consideration:

Our current thinking/hope is that other audiences can be served by building higher-level, more specialized templates on top of this one. These templates would necessarily be more opinionated and perhaps less flexible.

I do like the point that an event loop is simple enough that it may be possible to thread this needle by including one with appropriate comments (or maybe commented out?).

I'm very curious to see if other folks are in fact interested in buildling higher-level templates on top of this one...

Osmose commented 12 years ago

I'd vote for including it. Even if it doesn't do much of anything, it's universal enough that there's more gain in adding in than loss.

I personally don't see a whole lot of value in several high-level custom templates. I feel like a bigger win would be creating components that can be combined using the base template; instead of an MMO template, you could have a library for sharing state between games, plus other libraries for the gameplay that can be shared across other game types.

The added benefit is that libraries can be adapted for situations outside of gaming, whereas a template with included MMO code is harder to pull into another project.

dmose commented 12 years ago

Yeah, the modularity of the library approach has a lot to like about it. One concern I've had with that is that it doesn't given you existing code to modify, which I think is one of the great things about templates from a developer experience standpoint. That said, I could imagine figuring out how to make volo overwrite app.js (or install something next to it) as part of doing "volo add" on that library.

Osmose commented 12 years ago

Good point about modifying libraries, although the OSS hopeful in me says "Oh, they'll just upstream their changes, right?" :P

dmose commented 12 years ago

Oh, I meant something slightly different. What I was trying to say is that if you start out with the event loop in front of your eyes and you get to place your code directly in it, it's very easy to see how to do that.

On the other hand, if you're handed a library and told "do this thing to be sure that your event loop gets called", the startup involves reading docs and implementing, rather than just directly modifying an existing artifact, which tends to be much more obvious and less work. It also means you're starting with less structure, which concerns me that it could trigger the "blank page paralysis" effect.

That said, these are all things that can be tested with experiments, I think.

Osmose commented 12 years ago

Oh, okay, that makes sense. I was focusing more on things from specialized templates that fit into a library better, but there's obviously stuff that fits into both.

Experiments++;