EA's Prototyping Framework
This is news to me. Apparently EA has release one of its prototyping GameJam frameworks to the public on Google Code. The framework (called Angel) is available here:
http://code.google.com/p/angel-engine/
From the site:
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
It should be noted that Angel is not a framework for beginning programmers. Again, from the site:
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.
I think this is fine for a prototyping framework, as they’re made to get “out of the way” so that a programmer can do exactly what they want quickly.
I look at prototyping frameworks as one of the key tools a company can provide to programmers. It allows them to quickly and easily investigate a new system in your game without having to go through the complicated mess of your engine (and, yes, regardless of how awesome your engine is, it’s still a complicated mess). In my mind, this is a big thing, and I hope it continues to evolve over the next few years.