Skip to main content

Posts

Showing posts with the label vehicles

Alpha line up.

Right now the line up of tanks and vehicles for the alpha version of the game is being worked on. This version won't have the custom vehicle builder, but will be a chance to get people to play test the basic combat engine and get feedback on tactics and game play improvements that need to be made. The first line up is for Vinland: It's 1936 and military designs are not well advanced. The Vinland line up includes a couple of big tanks, these are not well armored and while robust and fairly reliable for the time, they have under powered guns and engines. Some light tanks are a little better. Their smaller size allows for a little more armor and their small caliber guns have good penetration and rate of fire. For artillery guns, they have a useful 60mm general purpose gun which makes a good antitank gun for the period. Just one of these will make quick work of any enemy tank, but they are heavy and not easily relocated. There is a short barreled 75mm support gun, not real...

Bombs away!

You can see the latest progress on the project in the most recent video diary here. A lot of work has been going on trying to get the AI to work well, without causing too much drain on computational resources. Trying to get AI states to be more flexible so that an artillery weapon might use normal attacks if the enemy gets too close, instead of trying to do long ranged attacks on a target the other side of the map. And so on. I also finally got around to adding an effect to the air support actions so they have an actual aircraft fly in and drop bombs or reveal the map. It's a bi-plane because the current version of the game is set in 1936, with early war technology. The current plan is to get this one finished with a basic set of game-play options and then produce expansions or sequels with all the other great stuff I want to do; custom vehicles, procedurally generated missions and so on. The tactical side of the game is maturing right now, with the introduction of four di...

Skynet

Ok, so it's not exactly skynet, but I have got my first AI state working, kind of. The first state is "HOLD" in which case the agent stays in place where they are and shoots at any unit that comes in range. When I started writing this module, I found that the existing method of triggering actions wasn't good enough to allow the AI to choose the best weapon or target. It worked by simply sending a command to the unit to trigger the currently selected action. If the action is valid, it triggered, if not it didn't. That's fine for play controlled units, as that's all they need to do. But AI needs to know in advance if the action is valid. The player can get that info from UI feedback, but that wasn't available to the AI player. There were three problems: 1. The UI feedback duplicated code in the action trigger function. These  two sets of code could get out of phase so that UI feedback was wrong. 2. The action trigger didn't give enough ...

Combat: Cover and flanking system.

This week I've been slogging slowly through the code to integrate combat in to the game. It's different to the way I did it when the game was real-time, but also kind of similar. A command is sent from the turn manager (a sub process of the main environment which has different functions behavior depending on whether it's the player or enemy turn) to an agent to fire its weapon. That weapon then checks if the target is valid and if it is ready to fire, and then it sends a message to the target with some stats so that the target can process the hits. Of course, the messages aren't really sent, they are just dumped in to a list in the main environment, and then agents pull out those relevant to themselves using their unique id. Each stage is separate from each other. Each process can fail without collapsing the whole game loop. For example if you fired a burst of shots at a target and the very first shot killed the target, the others simply won't be processed. Th...

More rockets and tech timeline.

I greatly reduced the rate of fire of the rockets and made them smaller. A single 60mm rocket now takes up the same space as a machine gun. A single vehicle should mount a large number of rockets to take advantage of their power. I also added a delay after a weapon is successfully fired. This means the rockets will fire in a staggered volley instead of all at once. I tried both styles and this looks better and creates less logic spikes. I think it needs more smoke and I'll be adding some rocket trails too. I'm still unsure of where to put the rockets in the tech ladder. In real life the Russians developed their rockets before the German invasion. They were first deployed in 1941. These early rockets were quite small though larger ones were developed later. The Germans designed and tested their first rockets as early as 1940 but they were not deployed until 1941. Larger rockets were introduced later. The rockets weren't mounted on vehicles until 1943, by whi...

Special effects.

Right now I'm working on the game's effects. Explosions, physical reactions, sounds etc... It's not easy to add really great effects without putting a drain on the Blender Game engine, so things will be as good as I can make them, but not at the expense of frame rate. Here's an enemy tank being bombarded by rockets. Hits by enemy weapons cause a vehicle to shake and rock. Later there will be more effects, such as rocket trails and a big explosion when the vehicle is destroyed. Here some infantry are getting hit by small arms fire. You can see the red section of their status bar increasing. This shows they are heavily shocked. When that happens their rate of fire and accuracy is decreased and they also can't move quickly. Finally here are some PBIs getting hit by automatic 40mm cannon fire. Machine guns and auto-cannons are very effective against enemy troops out in the open. The large caliber model also does splash damage, increasing the damage ...