The Game Engine Dating Guide: How to Pick up an Engine for Single Developers
learn-cocos2d.com
learn-cocos2d.com
Not true in web development land. Especially for canvas-based engines, implementation matters a lot. At work we recently had to switch some player drawing back to DOM elements + CSS transforms, after hitting some hugely inefficient code paths in the canvas framework we chose.
Also, why did it seem to be more time-efficient to ditch canvas altogether and rewire the rendering part?
Tablets / Phones is a little different, but the desktop much faster than I expected.
We didn't ditch canvas altogether though, we render all the scenes in a background canvas and use DOM only for the moving chars. I suspect it's possible to get much better performance by pre-rendering all scaled objects, but haven't had the time to try it. CAAT performs incredibly well with bitmaps on canvas: http://labs.hyperandroid.com/static/caat/
A more truthful restatement might be something like, 80% of game engines can be reasonably fast, if you learn their quirks and optimize your game accordingly.
100% disagree. We develop Construct 2 (http://www.scirra.com) which is an HTML5 game engine and we take every care to make the engine as well performing as possible.
An example:
We've written about Garbage Collection in JS: http://www.scirra.com/blog/76/how-to-write-low-garbage-real-...
Garbage collection pauses can make games unplayable for HTML5 games and some of our competitors engines suffer from GC pauses which their user bases complain about.
Games made with our engine don't suffer from GC pauses as much because we've taken care to make Construct 2 as well performing as possible, this is a good feature of our engine.
I don't agree with the author at all. Its much better to have an open source engine. You can customize it to your own needs by stripping out parts you don't need. Thus get performance by dropping features you don't need at all, and thus saving development time by not having to optimize parts you do need, but which take more time than they would be worth.
If you don't care about tailoring the engine to the game you are writing, then the engine will show its restrictions on the game. And that is the road to mediocrity. Its not just the glitter, but engines tend to limit the gameplay too, if you let them.
Most of time games developed with a particular engine look similar. Sharp eyed gamers notice this and other don't. But they definitely perceive the lack of freshness when they play.
Successful games producers often extend their game engines in innovative ways. Though plugins can be written to closed engines, open source engines give unlimited flexibility. In such cases, open source is certainly a feature.
Custom shaders can go a long way towards making a game look unique.
It's OSS and uses Lua for scripting. It's primarily 2D focused (though it runs on OpenGL and there are underpinnings of 3D in the code) and runs on iOS, Android, Mac, and Windows. So if you're a Windows developer wanting to do iOS, it's a great option. You still need to do final build/QA/deploy from a Mac, though.
The engine appears to be well-written, if idiosyncratic. These guys obviously know what they're doing. Their tagline right now is that it's an OSS game engine for professional game developers.
The huge caveat is that the documentation is really lacking. I know it's something they plan on addressing soon, but it's an issue right now. If you want to give it a go, expect to consult the source quite a bit.
- First, will my target audience be able to play it? May seem obvious but I've seen people fall in love with an engine for technical or business reasons and overlook this.
- Choose a few hypothetical tasks (e.g. I want to add a laser beam effect, or I want a character with dual-wield weapons). Look at the docs and see if I can figure out roughly how to do this. For me, browsing docs doesn't tell me that much unless you have a particular problem in mind. At this point I still haven't even downloaded the engine yet.
- Play some other games written with the engine. If there's no games using it yet, I'm cautious about being someone's beta tester.
- Ok, now take a weekend or so and try to develop a mini-game with it. That's the only way to really get a good sense of what working with the engine is like.
I can understand where the author is coming from with most of his points about open source, but really?
I am sort of torn between looking at Unity , XNA Framework (not technically an engine I suppose) or seeing what can be done with WebGL/Canvas etc.
Unity looks like it has a huge following and plenty of games and the cross platform stuff is a big plus. The only thing I worry about with that it is possibly the flexibility. It reminds me a bit of the "game creator" programs that were popular in the 90s in that perhaps it is aimed at building "me too" type games?
If I wanted to build something with some entirely new gameplay mechanic would I find that it got in the way?
I wouldn't say Unity forces you into any assumptions about your game. (for instance, many people think of it as a 3D engine, but famous 2D games were built on it, and the developers gave it the capability to do 2D right.)
Have money or want to make money? Buy Unity 3D. No money, non-commercial: Free Unity 3D. Refuse to use anything closed source? Then go open source (and in that realm there are too many choices for me to recommend one.)
Unity 3D is a really good product, and it bridges the gap of being easy to get started with while simultaneously capable of professional AA title work. Your art will still be a lot of work, but Unity has the engine side of things covered . The programming paradigms are perfect for game development too.
Really worth checking out.
(I'm assuming you're building stand alone executables or mobile games, Unity is usable in the browser with the Unity plugin, which a surprisingly large number of people have installed.)