Skip to main content

Posts

Showing posts with the label vinland

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

No Logo

I saw some amazing logos today on the Indie Game Developer page on Facebook. I was inspired to make a splash screen for my own game. I'm not much of a graphic designer, I trained for it, but I fell out of practice. So today I wanted to put my arm to work drawing up a page which will display when the game starts: It was fun making the "Celtic" knot type decorations. There's a certain geometrical genius to how they are made, I'd love to understand exactly the maths behind how to generate them. It was hard drawing them by hand. I learned a lot from this exercise, for example, don't design your logo with the final bounds you intend to display it. It's easy to cut down a larger composition, but it's impossible to uncrop a smaller, unbalanced one. EDIT: I darkened some elements to bring the text in to main focus:

Play Test Write-up Number 2

The second play test of the Alpha build went well, lasting about 30 minutes of real play before an unexpected crash. There were a number of small issues and things that need to be re-balanced, but overall, the game was great fun. When comparing to the real-time version of the game from 6 months ago, there is a marked improvement is fun, and real moments of excitement, at least for this play tester. The mission chosen was one with multiple small groups of enemies scattered around the map. The player had limited artillery and air support, one unit of each. Both sides had a combat support unit for de-buffing opposing troops, and the enemy also had a general support unit for buffing friendly troops. A short time limit meant that the player had to split their troops to tackle several objectives at once. This made the mission quite interesting as several small combat arenas were active simultaneously. The small map size (32x32) wasn't a problem, it never felt that cramped, and at t...

Particle Tests 2018

With the infantry mostly done, work continues on the particle system. Some of the particle elements have been migrated from the old project. But some parts have been reworked. If you don't have a particle debugging tool in your game, I suggest adding one. It's great to be able to "paint" with particles at the mouse cursor. It saves a lot of time. Instead of adding a unit to the map and having it shoot at another unit, different particle effects can simply be mapped to keyboard keys and dropped on to the map at will. The particles are arranged like this: [hit particle] ----[sound particle] ----for i in range(amount): --------[smoke particles] --------[fire particles] --------[spark particles] ----[crater particle] In the main code we can just call a ShellExplosion(target_position, size=6) to place a particle and let it control all subsequent values and sub particles.

Infantry Tests 2018

Infantry are being added back in to the game. The sprites look great, even though they are really small. They seem to suit the turn based gameplay better than the real time version of the game. There will be some more previews over the next week as more functionality is added. Particles and decals are being added back in to the game as well, much of the code and graphics are reused from the earlier version of the project, which helps to save time.

New Worlds Part 2

There are still some thing to add to the terrain set, but its mostly finished for now. It's really great to have a fully featured level editor so that the map elements can be tested right away. No messing around with modifying text files or external programs. Just switch modes and paint. The terrain has achieved the appearance I aimed for, which is similar to a table top gaming board. I never wanted a photo real game environment, and I'm happy with the way it has turned out. It reminds me of bonsai trees or miniature gardens. It is quite obviously tile based, there's no getting around that, but it's important in any case, since otherwise it could be difficult to know where units can move or not as well as guessing lines of sight. Most of the techniques I've used here are things I tried before, but I never got them looking so nice or running so well. Drain on the graphics card is negligible at this point. The shader works really well. The movement shader ...

New worlds

Most of the AI and mission structure is done. It still needs heavy testing, but I'm getting tired of looking at the placeholder terrain, so I'm doing some work on the full terrain. This is the basic "summer" terrain. There's a lot still to add, such as the water part of the shader (where you can see the grey gravel in the above shot) and of course trees, bridges and walls. I'm not sure yet if I want to add modular roads as a different object. That would give them a more solid appearance, but might take more work and be more of a drain on resources. There will be other terrain sets as well, some will feature bigger rocks, and different kinds of trees.

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

Spotted!

After some testing, I decided to rework the radio contact rules described in the previous post. I've been playing a lot of RPG and Strategy games lately and one thing I don't really enjoy is the micromanaging aspect of buffing and de-buffing. Rather than force the player to make hard decisions on where to allocate their buffs, it just ends up with them having to devote too many resources to support. You end up having at least one team member out of four doing nothing but support. It also wastes a lot of time clicking and selecting and so on. So, I want support actions to offer a significant bonus when active, but most should be passive. They should have specific utility too, not a general buff which you simply apply to your best unit. If your tanks are getting swarmed with infantry, then rapid fire will help you clear them out. If there's an enemy who is well dug in behind cover, you can use steady aim or mark target to get a bead on them. In the end I just made s...

Radio Contact!

In any RPG or turn strategy game you'll find special roles for special characters. There's the tank , whose job is to absorb damage, and the DPS whose role is to do a lot of damage per second. You might find other roles like glass-cannon , but the one you can't do without is a healer . Of course a healer isn't only supposed to heal, they also have the ability to put buffs or de-buffs on other characters. At this point you can split in to a further specialized role, the support character. They might not be able to heal at all, but they can buff or de-buff and perhaps summon allies. Once I made the decision to switch Vinland: 1936 over to a turn based strategy game, I had to think about how roles were going to work out. Tanks are obvious, and DPS is more complex. But today I want to talk support. In the above picture you can see that a lot of the selected unit's abilities and actions are grayed out. It can't currently use them because they are restricted....

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

Vinland MK 3

It's been a while since I posted here. I worked hard on Vinland; 1936 and got a playable demo up and running. But there were quite a few problems with it. I could have continued with the project as it was and finished adding all the art resources, but the game seemed so flawed that it just wasn't worth the effort. So once again I'm starting out from scratch. This time I'm going to be taking on board some gameplay elements that I've picked up from some other games I've played recently. I'm also going to avoid adding any art until the gameplay is all finished. For now I'm using some stand in assets that I created this afternoon; With luck I should be able to get the game to a playable state quite quickly. This time I'm going to get testers to try it out before spending any time on art assets.

Building damage

It's been a while since I posted here because I'm moving most publicity for this game over to a facebook page. You can see it here . Right now I'm working on buildings, I've done a mock up of some to show the damage progression from pristine to bullet marked to fully destroyed. There are some buildings at the back which are going to be used for a different map type, the "destroyed city" map. I hope to have several different map types, including winter and fall, desert and this one. It will represent later parts of the game where the defenders have fallen back to positions in their cities and are fighting desperate urban warfare. 

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

Rockets

I finished working on the code for adding foliage and having some extra time I decided to experiment with the code for rockets. The original idea I had was that rockets would be large vehicle components that can be fired very quickly, regardless of how much manpower is used for reloading. They would use up a lot of ammo, so they would run dry after a short but devastating barrage. The problem here is that it's easy to take advantage of this by adding a lot of ammo, which is much smaller than in bulk than the rockets. There's also the problem of firing large caliber rockets. In real life rockets of up to 30cm were used, but I think that will be too powerful for the scale of combat in this game. lol. Somehow that one trooper survived the mother of all explosions... A 30cm rocket could contain nearly 30KG of explosive. That would be a very large explosion. I've tried to balance the game by using a simple equation to make bigger guns more powerful, but h...

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

Trees again, and tanks.

I've started work adding trees back in to the game. They look nice already with the mipmaps turned off. I think I've got the color match with the ground for summer trees. The trees have a "shadow only" object which helps reduce rasterizer usage and match the shadow with the lamp. I'm not 100% happy with the trees right now, but I hope they will get better as I make more of them and refine the textures a little. I really don't want to waste any more time just fiddling with them. In a few days I'll take another look and see if I can see where the problem is. I think maybe the ground color is too uniformly light. It needs some more dark areas and contrasting sections. I decided to go with the hollow health bars, I like the effect. More than the black bars. I've also finished adding recoil and other physical effects to the vehicles. Even the guns move, with the main gun swiveling to track the enemies. It also tilts for range if it is a suppo...

Vehicles in game (again)

It's been a while since i posted any updates. It's not tat I haven't been busy, only that the work hadn't reached a point where it was worth showing. It's been a lot of small incremental changes, building a modular menu system with widgets and buttons, porting over some of my old code for displaying vehicle models etc... This is just a dummy menu at the moment. From here I can set the active profile, manage vehicles for testing and jump right in to an in game testing environment. Each chunk of screen space like this is a widget. It can have a number of buttons. The buttons react to being moused over and clicked. They send a message to the widget to decide how to deal with that interaction. The widget then executes some code and might reset the menu page or load a different one. Clicking manage vehicles loads this menu: I've moved some of the structural elements of vehicles away from components mounted in the vehicle and in to a system of options w...