Developer Log #1- Modeling The Fleet in Space Warfare: Infinite

Over the last few weeks I’ve been trying to limit my programming time to focus on 3D modeling. I find switching between Unity and Blender to be difficult, so just working on making stuff in Blender has helped my productivity in creating new art assets for the game.

Sketching and modeling in Blender.

Sketching and modeling in Blender.

I have a list of space ships that need to be made and I’ve been working through it. I am almost ‘done’ one faction’s main ships. I still need to model a new fighter–and I might do a 3D cockpit while I am at it. Keep in mind nothing is really done. Everything is WIP. I’ve haven’t quite gotten my skills yet for painting textures and generating bump maps so there is still more work to be done. Also, as time goes on, these early models might need to be redone if I get better.

A new battlecruiser - 1 kilometer of destruction.

A new battlecruiser – 1 kilometer of destruction.

Above is the battlecruiser. Its basically the battleship class of the space fleet. For some reason I can’t use battleship. The ISC ships are going to be more boxy like current military ships and tanks. The other faction will have more sloped / angular plates on their ships.

screen_64.67316

Huge carrier ship capable of launching fighters and corvettes from those two bays in the front.

This is the carrier ship. It will have some point defense turrets on it, but other than that it will rely on its fleet and fighter squadrons to defend it. The carrier is also big enough to launch corvettes which will be used as anti-fighter type ships.

screen_67.37792

The corvette. A ‘small’ ship.

The corvette is the latest model I’ve made. Its meant to take on small missions and has weapons geared more towards fighter management or hit and runs on capital ships. The ship is fast but would probably get eaten up if it tried to go head to head with ships of the line.

The Destroyer-class. This ship is 500m long. Its got around 8 turrets mean for engaging other cap ships and point defense. It has a deck mounted rail gun and an  internal beam weapon.

The Destroyer-class. This ship is 500m long. Its got around 8 turrets mean for engaging other cap ships and point defense. It has a deck mounted rail gun and an internal beam weapon.

The Destroyer will be the workhorse of the fleet. The cruiser is a force to be reckoned with but these destroyers will pack a punch. A couple destroyers can take out a cruiser pretty fast.

Very early space station.

Very early space station.

After these, I plan to remake the fighter and then start on the enemy faction. I also have dreadnoughts on my list as well. They’d probably be 2km. Additionally, I started messing with Space Stations.

Here is a video where I talk about the ships and compare their sizes…

Space Warfare: Infinite on the Space Game Junkie Podcast!

screen_140.1852

At the beginning of the week I was lucky enough to be on the Space Game Junkie Podcast! The hosts of the podcast have a website devoted to all types of new and old space video games. (Space Warfare: Infinite even has its own wiki page on their site!) If you are looking for a new game to play, they have 99 episodes covering all sorts of games as well as video reviews of games. Its a big source of information and inspiration for me, so it was great to be on the show and chat with hosts about making space games.

Here is the link to the Space Game Junkie Podcast featuring Space Warfare: Infinite…  (for the younger audience of this blog – some of the hosts on the podcast let a few curse words slip so perhaps make sure that it’s ok with your parents to listen if you are still living with your parents… )

screen_322.5109

All in all, the podcast was a lot of fun! I still think my voice sounds weird and I need to work on my elevator pitch about the game, but it was totally cool to see some people who really love space games play the game I am making. I also got some good feedback for things to fix like FPS controls confuse people when the shift key changes the controls…. the A/D key might be a slide instead of roll or at least I should add a slide/strafe feature since folks are expecting it after Elite, the targeting needs to be fixed because its confusing and not super responsive (I’ve already fixed the targeting subcomponents issues)–I need to add arrow indicators or make the offscreen target box larger and brighter so folks can track the closest target. I’ve got a few movies and games to check out as well.

Space Warfare: Infinite – Dev Log – All about Scanners and Target Damage

This past week I’ve been working on unifying the ship code and it is just about done. Now the player and AI ship code is shared completely with added scripts for the extra player functions like input and UI things.

screen_110.5652

The shared code means that now enemies can use all the components like different weapons and specials. This means more varied ships (of course I need new ship models) with different fighting styles. I also want to redesign the AI to incorporate the ability to switch to different weapons for different situations or employ countermeasures to stop missiles. I am getting close to feeling pretty good about the player systems (by no means done) to go back to focusing on AI and mission scripting so those are going to be the next big push. That and some interchangeable component based cap ship models since they will be needed if I am going to create any type of campaign that is worthy of the game title. According to my giant list of To Do’s on Trello, I am 23% done (with the list…) but included in the list are a functioning Battle Editor, ‘complex AI’ and an energy management system. So yeah, almost done!

Scanners

I’ve also been revamping the ‘radar’ system – I am calling it a scanner now in game.

The scanners will have some nice game play effects. An asteroid or debris field will make the Visual Scanner pretty tough to track enemies while it should be fine in open space. Chaff could be launched to further distort a Visual Scanner. The EM and Heat scanners can come into play in more dense areas, but stealth ships or ships trying to be stealthy might try to mask their EM or Heat by running cold or creating anomalies. A ship might jam an EM scanner with lots of waves. Of course the most lowly fighter probably won’t have the advanced scanners unless the player upgrades. The Smart scanner is the magic radar that tells you what everything is and ignores unimportant stuff.

screen_47.10722

I envision Scanner / ECM ships like the Raptors in Battlestar Galactica doing scans and blocking them. Possibly being in a wing with one would give you a scanner buff while you were close by allowing you access to scanners beyond visual that you couldn’t get alone. Additionally, some stealth ships may need to be targeted manually. Currently ship targets can be cycled through with the E key (Next Enemy Target) or C key (Closest Enemy). If a target is undetectable by scanners, you should have to get it in your crosshairs and then manually target it with the R key (Right in Front of Me Target Key). After manually targeted, the stealth ship will be added to the list of targets to cycle through… I also imagine some stealth missions where the player tries to get some surveillance by drifting undetected. Could be awesome.

targetinfo

Target Cam / Info

I’ve also added a target camera and changed the UI in that area. The stock Unity sample assets box just isn’t really meshing what I need to display there. I sort of like the angled-ness of the boxes, but they are a little limiting with what I want to display. For now I may opt for a flat UI until I build cockpits or other assets UI assets that make everything look cool. I’m more programmer than artist and my dreams for the game sort of extend beyond the art I can create for it at the moment. In the meantime, I am going to build all the cool functionality and drop the art on it when I can.

screen_155.0834

Don’t worry, it’s not really 2FPS!

Targeted Damage, Armor and Hull Damage 

You might also notice the little rectangle with a grey outline and a red inside. There is also one next to the crosshair. These are currently the armor and hull status system. Ships can now be damaged on the sides, the front and the back. If any one side’s armor goes down to zero, the hull is exposed on that side. Too much hull damage = boom! This adds some strategy to fights, you can make sure to favor one side if its damaged and keep it away from the enemy. If you lost all the armor in the front of the ship, you won’t want to play chicken with the enemy on a straight joust. Eventually some of the ship components like guns and radars will also have models stuck to the outside of the ship model. These will also be able to take damage. You can get your scanners knocked out or your engines.

 

Space Warfare: Infinite – Dev Log: New UI Stuff and Mission Scripting

It’s hard to remember exactly what I’ve added from update to update and I hope to make more regular blog posts to keep track. Over the last week I’ve been doing more under the hood work as well as some random visual stuff to go along.

screen_20.81269

Point Defense Turrets

One major addition is point defense turrets (unique 3D model pending – for everything in the game really) that targets missiles and does a pretty ok job destroying them. The idea is that big slow moving nuke missiles fired off during capital ship battles will get knocked out of the sky — unless some ace fighter pilots can get in there and save take out those turrets! (We’ve got to justify fighter craft existence in some way right?) The code for my turret targeting had to be modified so that they could be choose to target something other than ships. This will probably come in handy one day when we want stuff to shoot bases or asteroids or cargo.

On a side note – My test model of a cap ship is a basic wall of turrets and no energy limits or management has been implemented yet, but I am sure in the future ships will not be impossible walls of laser cannons. I have some thoughts on how that would work in the future. I figure I will make ships in a component type way where you need segments to hold various things like power cores, munition bays, barracks etc. The segments will be physical chunks of the capital ship increasing the size and mass. Bigger can be heavy on fire power, but they are going to have blind spots and attack vectors that small fighters can exploit.

screen_207.0476

The turrets shooting the purple lasers are Point Defense turret. That explosion was once a slow moving nuke.

Comms! 

As you can see from the above picture, I am also working on adding some elements that will allow me to start messing around with story elements and missions.  Without comms, it’s tough to present any story or mission. The communications box will just pop in and then disappear so it’s not always interfering with view. Additionally, I am working on a Freespace 2 style ‘command’ scheme both to communicate with your fleet members and to answer back to other folks who contact you over the comm. At the moment my # keys are used for weapon equips and other usable systems, but I am going to have a comm key that enables a ‘comm’ mode for using numbered menus.

Missions! Scenarios! 

Once comms were in, I needed something to control sending comms messages. I’ll be using XML files to build missions or scenarios that will load and play out when you enter a sector or trigger something. I am thinking of them as missions and scenarios, because the story arcs will be framed more as missions, but if you are free roam and not following the main story, the game might load up various scenarios unfolding in the system you jump to so there is always something to do. So far its not too complex – we can spawn new ships and tell the player stuff.

http---makeagif.com--media-1-12-2015-prnLZoSpeaking of spawn new ships – I thought just randomly dropping ships in wasn’t cool so I gave them a warp in effect. Most fighters would probably warp in while inside a carrier, but this will do for now. I am looking forward to having a whole fleet warp in in front of a player.

UI

UI has also been worked on. The left side info box has been cleaned up a little and now works with the weapon select feature. Shows you what weapons are equipped and how much ammo they have left. Additionally the center reticul now has the energy bar, the hull hp bar and an armor bar. I also tried dropping a model of your targeted ship in the enemy info box, but I couldn’t get it to feel just right and then my game crashed. I may end up taking screenshots of the different ship models and just make sprites for them in the UI. Behind the scenes I also have a working sector map that updates positions in real time. I plan to convert it one day to something usable like another way to give orders – certainly it will be one of the ways to do that as a Captain on a cap ship.

screen_13.27957

 

Hull, Armor, Shields 

Armor was another thing I’ve added. It’s minor at the moment, but eventually it will play a big role in balance. There will be different classes of armor plate and corresponding classes of ordinance. A Class 1 projectile will lose about 25% of its expected damage against a Class 2 armor. Class 3 would reduce it to 50% and a Class 5 would basically just shrug it off with no damage. Super armored battleships might not even worry about attacks from fighters or lower class weapons. A bomber or heavy fighter with a higher armor class would have a real advantage in a dogfight against ill outfitted pirates. As for shields, I am not planning on having them on smaller ships. If you’ve been following my game dev tales, you know that I like explosions. Shield technology severely hinders the explosions:minutes ratio. Fighters and their brethren must blow up a lot. Also, I get bored when a dog fight against one enemy takes forever. Why build a high-tech spacefaring fighter jet that can’t take down its prey quickly? All fights should be quick and dangerous so shields are out for the small fries. Fly a capital ship and you can manage shields to your hearts content.

 

Space Warfare: Infinite – Screenshots gallery galore

Here are some of the latest screenshots of Space Warfare: Infinite! Still WIP and still in pre-alpha, but it’s also still a lot of fun!

Space Wars Update: Radar, random enemy spawning, sounds

I can check some boxes off this weekend, but a major sidetrack meant not as many changes as I would have liked…

Here is the link to the latest Space Wars…

I spent most of the weekend trying to figure out why adding more then 5 enemies slowed the frame rate to 20 FPS. Turns out I had cameras attached to all the enemy prefabs which I guess eats up lots of resources. So, keep your cameras to a minimum and don’t just attach them to random things. Early on I was using it so watch from the enemy perspective to see what they do, but I can always just add one when I need it.

Removing the cameras fixed everything, but not before I attempted to rewrite the movement scripts without using the physics engine because I thought that was what was slowing things down–I’ve heard too many physics bodies interacting could be a problem. Nope. So now the game can run at least 30 enemies. It’s a little messy because the AI can’t navigate around things really.

Screen Shot 2013-11-24 at 10.24.46 PM

I’ve added a pretty good radar system that tells you where enemies are. The system beeps when a new enemy comes into range. It shows red dots for enemies that are above you (using world coords) and orange if they are below. Yellow if they are about your level. It sort of helps to know someone is right on top of you before they hit you with projectiles.

I made it so enemies respawn in random amounts in random ranges around the world. If they get stuck you might have to hunt for them. Destroy them all and new ones respawn and the game keeps score. AI also picks points to head to before coming straight at the enemy thus sort of coming from all sides–seems to work ok but the AI is really just a place holder for real AI.

Right clicking yields a work-in-progress missile, right now its just as powerful as the guns and it seems less accurate. Longer range though so you can miss more from farther away.

Oh and I added some sounds. Guns make noise, the explosions make some noise, missiles make a noise, radar beeps – tho not loud enough really. Also I added some music for fun.