Untitled

Published January 18, 2008
Advertisement
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.



Replays
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:

Terrain
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.

Actors
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.

Scripts
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.

Scripting
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.

Movie
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!


Previous Entry Progress
Next Entry I'm a sad panda...
0 likes 4 comments

Comments

HopeDagger
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]
January 19, 2008 09:58 AM
Prinz Eugn
You guys'll be the first to know, thanks for the comment.
January 20, 2008 12:37 AM
LachlanL
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.
January 20, 2008 04:27 PM
Sir Sapo
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!
January 20, 2008 07:03 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement

Latest Entries

!

1181 views

'Roids

1488 views

Post Dva

1270 views

Untitled

1105 views

I'm a sad panda...

2115 views

Untitled

1009 views

Progress

1053 views

Angels 2X!!!!!

1475 views

T3H Progress!

1299 views

ZOMG!!!!

1179 views
Advertisement