Skip to content
This repository

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

Open
dmose opened this Issue May 16, 2012 · 8 comments

4 participants

Dan Mosedale Nikhil S Eli Dickinson Michael Kelly
Dan Mosedale
Owner
dmose commented May 16, 2012

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

Nikhil S
nklsrh commented May 22, 2012

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.

Eli Dickinson

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.

Dan Mosedale
Owner
dmose commented May 23, 2012

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:

  • creators of higher-leve, more specialized templates
  • people with enough experience and opinion in building web games to use a minimalist template

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...

Michael Kelly
Osmose commented May 24, 2012

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.

Dan Mosedale
Owner
dmose commented May 25, 2012

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.

Michael Kelly
Osmose commented May 26, 2012

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

Dan Mosedale
Owner
dmose commented May 26, 2012

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.

Michael Kelly
Osmose commented May 26, 2012

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++;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.