Over the past fortnight I’ve been working on various gameplay systems in order to progress to making the first level.
Some of these are:
- FTL system working for all ships. FTL must first be charged to full, then can be used to make a jump. FTL charge is reset to zero on jump completion. Currently AI ships FTL to a specific location if they are following waypoints and they are tracking a “JumpTo” waypoint type. The player’s ship currently just jumps 25km forward. Targetting to come at a later stage when I add all the targetting subsystems.
- Naïve missile tracking. Missiles take a very basic approach to tracking which can often lead to "orbiting" moving targets instead of hitting them. Basically, they determine where the target is going to be in X seconds in the future based on the target’s current velocity, where X is the time in seconds that it will take the missile to reach the target at it’s current location. It’s not great, and it needs work.
- Basic sound testing. Just guns, FTL jump and missile sounds at the moment. Gun sound needs to be more friendly for faster firing guns, it isn't at the moment. Missile sound is too "hissy". But they serve as decent indicators anyway.
- I’ve also started experimenting with Voice Acting, since the Single player campaign will feature quite alot of it. I’m hoping to get volunteers down the track for certain roles of yet-to-be-created characters, but for now it’s just me.
- Basic smooth menu interface. Uses GSM but heavily modified to provide a bit better experience in my opinion.
- Added a waypoint system. This is different to the objective system because Objectives are goals for the player, whereas waypoint sequences are for AI units to follow. There are currently 3 types of waypoints, Move (ignores all units and just moves to the waypoint), JumpTo (same as Move, except the ship Charges FTL and jumps there) and AttackTo ( moves to the waypoint but engages any valid targets on the way). Will be the basis of scripted events for all AI ships, friendly and enemy.
- Flexible UI messaging system. Text can be added to one of 4 predefined regions of the screen (easily changed) and behave a certain way. The left, top and right seconds all float the text up and then fade it out. The bottom text area just shows it and then hides it after a short duration.
- The actual enemy spawning is done by triggering a Sequence stored in the level XML file. The SequenceElement is “SpawnEnemy” and it automatically knows that it should appear as the ship is FTL jumping in. Positions are defined with a relative scope which can be Player, World or Node.
- Also added very basic impact effects for bullets and missiles. Same effect used for ships being killed.
- Uses broad-phase sphere/sphere collision tests then narrow-phase OOBB/OOBB and OOBB/Ray testing. Collision point tests aren’t being calculated correctly for OOBB/Ray collisions which is why the bullet impacts appear to be penetrating ship hulls when they aren’t.
- Motion Star field is working but gets messed up a bit when the player jumps.
As it stands I’m probably about 2 weeks away from getting a playable first level. There’s alot of interface work to get done, mainly around targetting and direction finding.
I’ve uploaded a video showing some of these elements.. embedded below. Make sure you watch it in 720p or you might not see some of the smaller ships flying around :) Direct Link Here
46785ab5-75ae-4393-98ec-34327af48376|0|.0
Tags:
XNA,
Galactic Ranger,
Xbox Live Indie Games,
XBLIG
Categories:
XNA |
Gaming