Thanks for sharing and detailed production breakdown
i thought there wouldnt be anything better than akeytsu for creating easy animations. im happy if i am proven wrong.
Keith, I just wanted to stop by and say: Thank you.
Helpful and Agile
- Angel was created with game jams in mind, so it’s focused on providing as many convenient features as possible, but in a quickly understandable way.
- At the same time, we don’t hide the actual code in a maze of data structures. The low-level code that Angel wraps is always just an easy click away, ready to be overridden or improved.
- We want you to spend more time actually making your game, and less time getting library features working.
Provide all functionality in a quickly understandable way.
- We try to avoid overly complicated programming techniques, even if that means sacrificing efficiency or, in some cases, functionality.
- As far down the stack as we can manage, the code is plainly written and thoroughly commented. We expect people to modify the core engine in the course of their work, so we’ve tried to make that a manageable thing.
Provide as much functionality as possible.
- Angel was originally created (and is still used) as an engine for game jams, and the last thing you want to be doing in a jam context is debugging the pathfinding code you had to cobble together.
- If there’s something big you feel is missing from Angel, please send an email to the discussion group. We can’t add every feature, obviously, but we want to at least make sure there’s nothing we’re forgetting.
Allow an experienced developer to dive deeper.
- Given the first two points, we create a lot of wrappers around third-party libraries, but we always make it simple to access the raw capabilities of those libraries. So if you know what you’re doing, you can be making direct OpenGL calls or poking the Box2D physics simulation.
- In short, we strive to keep our code relatively shallow — it’s always easy to find the code doing the actual work, so you’re not slogging through multiple levels of OO redirection.
Out of the box, Angel sets up a basic OpenGL view and provides you with a suite of Actor classes which encapsulate various functionality. Physics, text rendering, camera controls, transformation intervals, sprite animations, and plenty more. When you build in Release mode, we even put together a folder with your executable and all necessary libraries and resources, perfect for zipping up and distributing.
Convenience through Scripting
There’s a number of things that can be annoying to add to your game that help with development and make the eventual player’s experience better, but aren’t the sexy work that you want to be doing when you’ve got an idea burning you up.
To that end, we have a tuning interface, a preferences system, and an in-game console, all driven through Lua.You can manipulate the world through the console, or write your own script files to run your game functionality. Lua sits as a thin layer on top of Angel, so whether you build your game mostly in script or in code is up to you!
This is more than just being BSD-licensed. Angel is designed as a framework that you build into, not just a standalone library that sits alongside your work. It’s extensible, and meant to be extended. Create your own Actor types, tweak the order in which the simulation loop runs updates, increase the update interval of the physics engine — whatever you need to do. Eventually Angel becomes your game.
Angel can create games for Windows, the Mac, most flavors of Linux, and iOS. It uses the native build systems on each platform (Visual Studio, Xcode, Make), so you can be up and running as soon as possible.