Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm very interested to learn how to make 2D and 3D games, but I'm very new to this field so I am wondering if companies like Playfish, Zynga and other producer of games on Facebook are using publicly available game engines to make their games or if they're building their own game engine or what?

What game engines or technologies that are used in such games?

Are there any resources available that I can use to get started?

share|improve this question

closed as off-topic by Josh Petrie Jan 23 '14 at 15:46

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about "how to get started" or "what should I learn next" cannot reasonably be answered with anything other than opinion polling and therefore are off topic for the site. For more information on how to ask a better question, see the help center" – Josh Petrie
If this question can be reworded to fit the rules in the help center, please edit the question.

Zynga almost certainly has an internal game engine. Probably the same with most other companies. – thedaian Jan 10 '12 at 21:33
For 2d games at least, Flash itself is pretty much an "engine" already (arguing the semantics of "engine" of course). I mean, Flash displays 2D images, it plays sounds, it has networking commands, etc. – jhocking Jan 23 '14 at 15:07
up vote 1 down vote accepted

Briefly, yes. Zynga's Café World and PlayFish's Restaurant City uses Away3D.

I think developers might use more of 3d engines because 3d is not everyone's cup of tea - they can just focus on implementing game logic and mechanics instead of meddling with math. However they would shy away from game engines like Flixel, for reasons that Nick Wiggill has mentioned. (eg. risk of middleware)


share|improve this answer
I think you've misquoted / misaligned me. Developers may shy away from the risk of immature middleware. I don't at this time consider Away3D, Flixel or Starling to be anything less than mature middleware solutions used by established development houses still using Flash. – Arcane Engineer Jan 23 '14 at 14:40

In agreement with @thedaian, I think you'll find these companies who work in social (and) web games tend to have various different "templates" (engines, if you will, although that term to my mind implies a lot more) that they can re-engineer to various purposes. For example, a multi-directional top-down action engine, a platformer engine, an RTS-type engine... and so on. These templates are usually games they've either bought the code rights to, or more often have developed earlier on in their own existence.

Obviously this works well both internally, and if you are being contracted by clients to produce games, advergaming being the perfect example.

The thing is, since each game is so small and relatively easy to refactor into something else, there's often not a drive to actually properly factor out the engine aspects as an engine. That's more the domain of middleware sold by dedicated middleware vendors, where you want to provide a perfect, clean slate for customers to work with. In the continuum of games/front-end/interactive I've worked in, I've seen pretty consistent code reuse this way. Obviously, though, these companies are also building other, completely new codebases, even as they are reusing the old to increase revenues.

More generally, there is little reason for them not to use mature external frameworks/engines like Flixel or Impact.js to implement new games. Decisions to use middleware can be fraught with risk, however, and so this is not always the chosen route.

In a sense, I guess the engine-vs.-template matter is just me arguing semantics with myself but again, the general answer would be, "Yes, they do".

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.