Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upRebrand from "game engine" to "game framework" #667
Comments
bvssvni
added
the
discussion
label
Oct 18, 2014
This comment has been minimized.
This comment has been minimized.
|
+1 |
This comment has been minimized.
This comment has been minimized.
erlend-sh
commented
Oct 21, 2014
This definitely sounds more like a framework than an engine :) |
This comment has been minimized.
This comment has been minimized.
|
There is not a clear distinction between the usage of the word "engine" vs "framework". The word "engine" can be used about software frameworks. See http://en.wikipedia.org/wiki/Game_engine |
This comment has been minimized.
This comment has been minimized.
|
There are also frameworks like Love2D, that essentially is "box" you develop for, unlike Piston. The property of collection of modular libraries does not seem to distinguish "game engine" and "game framework". |
This comment has been minimized.
This comment has been minimized.
|
IMO, even without a clear distinction in gaming texts specifically, "engine" intuitively sounds (to me) more like a singular thing that drives a game, whereas a framework sounds more like a collection of tools. As an example on the other side of the coin, openFrameworks is a community driven collection of libraries (ofxAddons) that revolve around one singular core library. One idea is to maybe describe the piston repo itself as the 'game engine' which exists at the core of a larger, community driven collection of libs called the 'game framework'? I dunno, just throwing around some thoughts :) |
This comment has been minimized.
This comment has been minimized.
|
If we set this up as a context vector, we have:
I added point 3 because I think it is more characteristic for the distinction between the usage "game engine" and "game framework". According to the formula, this leaves us with 72 comparisons, which is a rather huge space of interpretation. The choice of modular vs integrated libraries can be a design choice, which we have because we are using Rust, and this might not actually influence the distinction. Piston has no graphical editors at the moment, but I am thinking to make some over the long term. We do not plan to make one big IDE, so if people think that having one big IDE is required for a game engine, then we should discuss this in particular. I think Piston can described as the following line in context space:
|
This comment has been minimized.
This comment has been minimized.
|
Also, if we work on gfx_voxel as planned, then the property of modular libraries might fall away for some subset of the usage of Piston. Actually, when I think of it, the rule of "modular libraries" are not true for all, since we indeed have dependencies in order to do anything useful. I guess the discussion is what Piston is at the core, and then we would have to change it into:
Piston has multiple independent libraries designed for different use cases, which makes it a bit hard to tell exactly what Piston is, because you can always add another library that does not share the same dependencies. |
This comment has been minimized.
This comment has been minimized.
|
The way I see it, Piston is both a framework and an engine, but the definition is kind of blurry. We also had a cool idea of using PistonWorks, which was a play on the word "frameworks". However, now that we are moving away from using the piston repo, we can actually use it as a name of the entire project. This is both shorter and less confusing than making up a new name for the same thing. When we explain what Piston is, we can say it is a game engine or game framework, depending on how you define an engine or a framework. The way you use it is as a collection of libraries. The website explains how you use it, so I don't think there is much risk for confusion yet. What I imagined was using PistonWorks as a name of a group working together on specific projects. "PistonWorks represents" sounds better than "Piston represents". It is a really good name, so perhaps we regret it if we are re-branding to a "framework" now, because that might lead to confusion later? |
This comment has been minimized.
This comment has been minimized.
erlend-sh
commented
Oct 24, 2014
Depending on what you want for its future, it it may be neither. (p.s. you're long_void on Reddit, right? |
This comment has been minimized.
This comment has been minimized.
|
@erlend-sh I edited your comment because your response ended up as part of the quote. I frequently update my comments, so go to the issue tracker before responding by email. My user name on Reddit is long_void. Also, I am not very tolerant toward bullshit. If you want to discuss seriously with me, then you have to learn what predicates are (statements that can be true or false). |
This comment has been minimized.
This comment has been minimized.
erlend-sh
commented
Oct 24, 2014
|
I think there's been a misunderstanding. I meant to link to the reply I made on Reddit for that last comment. It was not meant as a stab in any way. I meant "may be neither" as in "it might evolve into something else, OR be phased out entirely", as indicated in that separate discussion. |
This comment has been minimized.
This comment has been minimized.
|
@erlend-sh Perhaps we should write up a FAQ about newcomers concerns about Piston. I'd like to keep things as they are for a while, because all the maintainers are working pretty heavily on other things. I like the way you are thinking about making it more user friendly and it would be nice if we could work out some concrete way to do this. If you have an idea for a project you want to start on about this, then I'll help you set it up under PistonDevelopers. |
This comment has been minimized.
This comment has been minimized.
|
@erlend-sh Thanks for clarifying. I really appreciate that. |
This comment has been minimized.
This comment has been minimized.
|
@erlend-sh If you are on IRC, then I could tell you a bit about stuff that is going on, so you get a picture and maybe you can find a better way of expressing Piston's philosophy to newcomers. |
This comment has been minimized.
This comment has been minimized.
erlend-sh
commented
Oct 24, 2014
|
I won't be online for much longer today, but I can start idling in some channels. #rust on Freenode (and Gitter sometimes) for starters. Dunno if there is a standard hangout for the Piston crowd. To be clear, I'm a PR, community & management type, not a programmer. I always make for a good "can the most novice programmer grasp this concept?" litmus test candidate. I can advise on things like copywriting and strategy. Code contributions, not so much (more like zilch). |
This comment has been minimized.
This comment has been minimized.
|
@erlend-sh We use #rust-gamedev a lot. |
This comment has been minimized.
This comment has been minimized.
|
I can't see any reason why Piston couldn't be both framework and an engine. I would personally like to see a two-tiered approach, where there would be the low-level libraries in the first, and much higher-level abstractions built on top of the first in the second. So if the high-level abstractions don't cut it, a user could always fall back on the low-level libraries and build their own abstractions. |
This comment has been minimized.
This comment has been minimized.
|
@gaudecker I agree. The way you formulated it is pretty nice. You can use Piston as a framework by using the low-level libraries, build your own engine, or you can use the high level libraries and write just what you need to make a game. This sounds like an understandable way of explaining what Piston is. |
This comment has been minimized.
This comment has been minimized.
|
We will keep "game engine" for now, but think about the public image. |
bvssvni commentedOct 18, 2014
From the comment http://www.reddit.com/r/rust_gamedev/comments/2jiep0/the_new_look_of_wwwpistonrs/clcpyc9