I’ve got most of the pathfinding system in place, and soldier waypoints with hold fire and weapons free mode in place this past week.
I think it’s week 8 since I started the regular weekly update. It’s been difficult to find time to dev with a new system being rolled out a work, since I’m usually able to get a lot of things done while I’m at work. Also Skyrim.
- Damage formula calculates damage based on a random range around the weapon’s ammunition
- Health works and weapons (both raycast and explosions) correctly subtract health, accounting for armor damage reduction
- Destructible wall system in place – right now I’m only using a placeholder wall and place holder debris is generated when the wall is destroyed
- Early pathfinding system in place
I managed to get a few things done before the Thanksgiving break, all within the 3d levels.
- Players can move soldiers around 3d world
- Can cycle through available soldiers in the world with ‘next soldier’ and ‘previous soldier’ commands, all soldiers retain their own inventory configuration
- Inventory system fully functional, with items added through code in the world map showing up in the 3d world
- Can drop items (with physics) that fall to the ground, then pick them back up into inventory
This week I’ve been working on the transition from the world map to the crash site level. I’ve just about got everything in place to make the transition happen. For now I’m assuming the player aircraft shoots down the UFO. The UFO grabs where it’s crashing and randomly picks one of the terrain tilesets in that region, saves all of the relevant information from the UFO (like UFO type, the mission type, number of aliens, etc). Once the player sends an aircraft that contains soldiers to that crash site, you can initiate the mission which sends the crash site the relevant information for the player’s side. And then the crash site is created base on all of that information.
I was busy the previous week and didn’t get a chance to update or do much work. This week I’ve been working on the game some and some more tutorials.
- Random generation of alien UFO’s performing missions on the world map
- Alien UFO’s flying around the world map
- Player aircraft flying to waypoints
- Player aircraft following UFO’s
I got a lot done with the underlying code for a few different systems in the game, and started the random generation of the 3d levels.
- Basic inventory system / inventory management for bases and soldiers
- Equipping soldiers with weapons, items, and armor from base storage
- Weapon creation, item creation, and armor creation
- Displaying the inventories, weapons, equipment in base and on soldiers
- Basic framework for 3d level generation
I’ve attached some screenshots of the random level generator. I’m splitting each segment into a tile, and each tile is generated randomly on a grid. The tile generated is dependent on the environment. And the structure within the tile also as an element of randomness in that windows and doors can appear within a random range.
These screenshots are of some 3 tiles with 1 structure tile and some old textures I had.
This week’s work has mainly consisted of rewriting code for my first game in progress, and putting all other projects on hold. Much of my time was spent planning as opposed to coding. Instead of writing about planned features I’m just going to update with features that I have actually built.
- Time system that is updated once per second. Can be advanced 1 second per second, 1 minute per second, 1 hour per second, or 1 day per second. Or paused so no time advances.
- Custom character creator – assign name and attributes to personal character
- Random name generated based on nationality, which is also randomly generated
I’ve started to write the network / multiplayer aspect of the game. It’s been pretty slow going, but I managed to get two separate ‘players’ moving around each other. I might have to rewrite a few of the methods I’ve used in the game, so it might be awhile until another update.
I rewrote the inventory system. Previously I had a loop that just wrote everything on one line of the inventory and kept track of how far the farthest item was to add new items. Now I have a two dimensional array and tracks each position that an icon takes up and checks each columns height to see if it can fit an item below another item. Here’s the screenshot: