Jump to content
Sign in to follow this  
  • entries
  • comments
  • views


Sign in to follow this  
Sir Sapo


The Airplane
Arguably the most important element in any Angels __ game is the badass jet you get to fly. I put off implementing the airplane in A2X because I wanted to focus on the background stuff for awhile rather than making the game fun to play. Well, I finally ran out of stuff I could realistically do without a player object, so I bit the bullet and made the Airplane object.

I had this hardcore advanced flight model thing planned out, I'm talking angle of attack, instantaneous pitch rate, post-stall maneuvering, stuff like that. Well, I haven't implemented that stuff yet, because it's going to take some hardcore testing to get right, and I dont want to deal with that right now, so the airplane just runs on the A22 style flight model (ie. flys the direction it points). This is good because it lets us play the game without having to debug the flight model as we go along, and it'll make a good "Novice Mode" for people who have trouble with the advanced model.

This was a feature I wanted to implement in Angels 22, but by the time I got around to doing it I had coded myself into a corner, and it wasn't going to work. Well, following the current trend of "getting it right this time", I implemented this early, and it's pretty cool. At the beginning of a level, you can opt to record the session for later review.

The way it works is that when you start recording, the game keeps track of the buttons you pressed every frame, and the time step that was used to update all the actors that frame. Also, a couple times a second, the players' position and velocity is saved, which sets the replay to where it's supposed to be, just in case it starts to diverge after awhile. I haven't tested it with a whole level yet, because we currently lack all the stuff that's going to be in a whole level, but it seems to be working just fine.

Level Structure
I went a different direction in the level structure for A2X than I did with A22. The Angels 22 system was pretty shoddy, with all the level and object information packed into one complicated text file that became more and more unmanageable as we added features. In A2X, I split up all the aspects of the level into 4 sections, each of them saved in their own file, then spliced together when loading a level:

This is pretty self explanatory, its just the heightmap, bodies of water, weather effects, etc, that make up the landscape the level takes place on.

This is the information for all the objects that exist in the level, such as Trees, Flak Units, Airplanes, etc. This is also where current game data is saved for features such as checkpoints and whatnot.

This is where all the scripting for the level is saved, stuff like spawning special enemies and determining win conditions. Stuff like that.

Level Data
This is where the 3 other elements are all put together. Essentially it's how the game knows what files are used for the level.

Using Angels 22 as a model, I implemented simple scripting in A2X in about a days time. It still uses the Trigger-Action setup that A22 used, but with a few small tweaks to make it easier to use for the non-programmer level designer(Mark).

I wrote a pretty good overview of the A22 scripting system in an older post in my journal, so you guys can check that out if you'd like, the A2X system is mainly different internally.

Pretty much, every script element was hardcoded into Angels 22, including what variables existed for each trigger/action, which caused many a crash. The A2X system has a library of all the action and trigger commands, with a list of what variables to look for, which makes for a much easier to maintain system.

Mark and I are putting together a little movie to showcase how awesome A2X will be. Mark is in charge of editing and narration, so it should be pretty good.

Alright, thats all for now, it's time for some Halo 3, Peace Out!

Sign in to follow this  


Recommended Comments

Great to hear development is going so well, Sapo. Looking forward to any sort of multimedia you guys push out that I can get ahold of. [smile]

Share this comment

Link to comment
Looks like stuff is really pushing along here. Great to see. [smile]

One thing I'd suggest (for your playback recording) is that you also record interaction events (collisions, weapon hits, etc), that way, if minor discrepancies creep into the simulation, it'll still at least have the right stuff gettin' blown up and you don't get wierd things happening like enemies that should have been killed turning around & killing the player in the replay.

Share this comment

Link to comment
Thanks for the kind words!

Eventually I'm going to have to put in some form of recording in game events, I'm afraid of the game slowly diverging in a really long game session.

Thanks for the comments guys!

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!