• Register

EA Games is one of the leading publishers and developers of video games. Some of EAs most successful products are under the 'EA Sports' label.

Post news Report RSS EA coders release "Angel" prototyping engine

A free and open source 2D game prototyping engine based on OpenGL and C++, created for last year's Indie Game Jam.

Posted by on

Angel can be downloaded from Google Code. It works on Windows and Macs, and "shouldn't be too hard to get running" on Linux. Official blurb follows:

Angel was originally made by a group of employees at Electronic Arts Los Angeles for use in a GameJam they were planning for April of 2008. The source was opened in January 2009.

Angel provides:

  • Actors (game objects with color, shape, responses, attributes, etc.)
  • Texturing with Transparency
  • "Animations" (texture swapping at defined intervals)
  • Rigid-Body Physics
    • A clever programmer can do soft-body physics with it
  • Sound (.wav only)
  • Text Rendering with multiple fonts
  • Particle Systems
  • Some basic AI (state machine and pathfinding)
  • Config File Processing
  • Input from a mouse, keyboard, or XBox 360 controller
    • Binding inputs from a config file
  • Tuning Variables that write out to a config file
  • In-Game Console
  • Logging

(None of these things are horribly complex, but they're the sort of things that can be a pain to get working properly. The idea is to have a good set of base functionality to start with at the Jam.)

Some things to keep in mind as you explore this code:

  1. Angel is not intended as a general-purpose prototyping engine. That doesn't mean that it won't be suitable for lots of different things, but our chief goal in putting it together is to make it so people could get up and running with it as quickly as possible, specifically in a context where you only have 48 hours to make something with it.
  2. Angel is designed for experienced engineers. That doesn't mean that it uses all sorts of crazy programming techniques or is difficult to use (quite the opposite: see #1), but nor does it hold the developer's hand very much. It's expected that a developer has at least some experience exploring a codebase to see how it works.
  3. That said, we've taken pains to make the code as plain and readable as possible. In some places we've sacrificed efficiency or functionality if it would obfuscate the code.

All typical caveats apply: the code is messy in places, under-commented, certain things may be broken. We're still evolving the engine and cleaning it up, so any thoughts or recommendations are welcome.

Once again, download the engine from Google Code.

Post comment Comments
Dremth
Dremth

hge can do all this and more and it's easier.
Hge.relishgames.com
making a game with hge right now. look on moddb in the future as i will be making a page for it. it's called "The Bane of Solitude"

Reply Good karma Bad karma+1 vote
violentdev
violentdev

Nice way of spamming.

Reply Good karma Bad karma+1 vote
Dremth
Dremth

it would be spamming if i posted that comment on something that had nothing to do with game engines. im simply trying to save people time and maybe peak some people's interest. i dont get anything out of telling people about this engine. i dont get paid or anything. i just thought that some people would be open minded and be willing to try out something new. i guess i was wrong.

Reply Good karma Bad karma+2 votes
BunnyJen
BunnyJen

The whole point of this group is to share our indie projects together and give support and feedback to help one another. I wouldn't call it spamming. I look forward to seeing "The Bane of Solitude" dremth .
"Angel" sounds pretty interesting, it's always handy to mock up a quick prototype to get a sense of whether an idea works.

Reply Good karma Bad karma+2 votes
bluseychris
bluseychris

Yeah, but it's windows only. I'm a mac user so this, for me, is great.

Reply Good karma Bad karma+2 votes
MortalMaxx
MortalMaxx

I'm sure this can be useful, but a bunch of text scares me away. Let's hope this will bring something good to the gaming community. I'm sure there's tons of ideas for games.

Reply Good karma Bad karma+2 votes
littlerippa
littlerippa

This is a prototyping engine, not a full featured game engine. It is designed so programmers can quickly create prototypes of game ideas and then code the proper game from scratch or off another game engine.

Reply Good karma Bad karma+2 votes
Midnitte
Midnitte

Sounds promising, can't wait to see some screenshots (besides the testing ones) because its going to take me forever to get VS 2k5. :x

Reply Good karma Bad karma+2 votes
MrTambourineMan
MrTambourineMan

Download the express version - it's free.

Reply Good karma Bad karma+3 votes
Midnitte
Midnitte

Can't open the solution file with the express version though. :(

Reply Good karma Bad karma+2 votes
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: