This month has flown by, in part due to a well needed holiday. Now that I’m back, I’ve been continuing work on the Level Editor towards allowing you to create your own missions with a greater range of variety.
This months Dev Diary for Absolute Territory is all about progress on the Mission Editor where you create your own missions. You will be able to fly multiple ships and configure their loadouts for optimum effect. Challenge your piloting skills by creating your own missions. Develop unique scenarios envisioned from your imagination. You decide the difficulty by adjusting the environment and opponents. Fight with the most devastating weapons against lighter opponents or truly test your skills against-all-odds.
I am happy to announce that Absolute Territory now has presence on Steam. The page is live and ready for eager pilots to register their interest by wishlisting. Wishlist away!
This is also the first time I’ve been able to lock down and commit to Absolute Territory features. These are the minimum expected features to appear in the game. I am not to keen to talk about what I’d like to see added at this time, I’d rather state what is there or what will be there in upcoming updates to Absolute Territory.
Challenge your piloting skills by creating your own missions. Develop unique scenarios envisioned from your imagination. You decide the difficulty by adjusting the environment and opponents. Fight with the most devastating weapons against lighter opponents or truly test your skills against-all-odds. 1st and 3rd person space combat action.
Create your own missions with an easy to use and robust mission editor.
Fly multiple ships and configure their loadouts for optimum effect.
Improve your combat skills against waves of increasingly difficult opponents.
Or take up the ultimate challenge of flying the gauntlet against increasingly difficult opponents.
This months dev diary covers asteroid fields and a proof of concept for a mission creator for players to create their own custom missions. This was originally posted over on Itci.io.
One feature I’ve always wanted to implement: asteroid fields. Vast fields of rocks that can span across huge distances.
The problem: performance degradation from updating a large number of bodies.
The solution: use a smaller number of bodies, local to the player position, which are updated and displayed when in defined asteroid field areas. Perform updates using the Unity Job System for improved performance.
The first videos show the result of an infinite asteroid field. A clipping distance is used, hence asteroids will pop in and out of view at the boundary.
How it works: asteroids are initially spawned around the players local position as far as the defined viewing clipping radius. Each asteroid is checked to determine if it falls within a defined asteroid field area. If it is, then show it, otherwise we hide it from view. We then move each asteroid based on the players velocity. When an asteroid goes past the boundary of the clipping area we re-spawn at another random position at the boundary edge.
This works well and performance is improved using the Job System over a single threaded process. These asteroid fields demos were run within the Unity editor so performance would be improved in the build without the editor overhead. One problem I will have is figuring out a balance for lower end systems as access to such a system is currently out of picture right now. I will be using Unity Analytics to help, once a playable build is made available, I will be able to compare performance across a range of systems as players engage with the game.
Currently, on my dev build performance starts to drop when 7500 bodies are visible. This was not the huge performance boost I was expecting using the Job System, so I may have to also experiment with the Entity Component System.
The asteroid field is not finished, I’d like to add further improvements to the aesthetic and also make them feel more dangerous than they currently are. In the version two video, below, there are now asteroid debris and dust clouds.
Flying through an infinite asteroid field with dust clouds and debris gave me a sense of claustrophobia that I had never had before. I just wanted to get out yet there was no end…
Have you ever wanted to create you own missions and test the limit of your combat skills by creating your own adversities to over come? Or is it just me? Below is a short video showing a proof of concept on this idea. Simply click and place enemies to fight inside an area, click launch and go to battle.
It’s pretty simple, the only rule set currently is to destroy all enemies within the area. I’d like to expand this so the player can create simple sets of rules for spawning additional enemies along with other success and failure conditions, and configure ship loadouts.
Whilst perusing the Unity Asset store for spaceship ideas I came across an interesting asset pack. The Ultimate Spaceships Creator. A large collection of spaceships with modular components. Meaning I can customise quality models to my hearts content and “build an infinite number of spaceships!”. I really like it. Therefore I dumped my old models in favour of these.
One draw back to this is that this particular asset pack does not have any cockpits. The good news: the same creators of USC are working on a modular asset pack that includes cockpits which I will be looking to add upon release.
I always liked the idea of dying spaceships spinning out of control before exploding. And now they do! Once your target hull buckles it will randomly spin out of control before disappearing in a glorious explosion.
I’ve added a third person camera. I really liked that perspective in certain space games. I think it really opens up the view and of course you can see your own glorious looking spaceship getting shot up.
A new heads up display was needed this 3rd person view. A lot of work went in to it and its now fully functional. I just need to add some new indicators to the cockpit view (for the new slide and speed match functionality). Of course all the graphics are still considered place holder until they are firmly set, then I’ll add appropriate improvements.
Plenty of other features and changes have been gone in over the last month, here are some off the top of my head:
Improved indicators for target bracket, hits and leading shots.
Lead targeting on ship components.
New missile models (blink and you will miss them)
Match speed – with 3 range modes (long, medium and short)
Refactoring code for hot deployment (still needs plenty of work) which will allow me to make code changes while the game is running.
This is going to be a short dev diary. I have to admit it feels a little strange to be writing one so far in development and as a first on here. I’ve been posting GIF’s like the one below on Twitter and IMGUR and a few people have been making references to Wing Commander and X-Wing games.
Back in the 90’s, Wing Commander was my goto game. You can make a lot of comparisons on this GIF alone. However, while I may be aiming for a similar art style I want game mechanics that are more modern.
One obvious to spot modern mechanic is the lead targeting. The X-Wing games where a frustrating experience to me, trying to shoot down fighters without knowing where to lead my shots against fast moving targets. The guns will also swivel, to a degree, so you don’t need to have pin point accuracy. Just put the yellow marker close to the cross hairs and start firing.
The game also has Newtonian physics for movement and rotation. Now I can hear some groans but let me assure you this is not realistic Newtonian physics. Sure it takes time for your ship to start travelling on a new forward direction after making a 90 degree turn but I’m aiming between realism and arcade so you can have fun with drifts and use directional thrusters to evade weapon fire and line up perfect shots without having to perform another bombing run.
If you ever played the Freespace series of space combat games you’d remember the dizzying amount of keyboard controls. While AT hasn’t quite reached that amount or complexity there are quite a few. I’m not sure how I will handle this with Joypad users, as currently using button modifiers is not an option, but for HOTAS users it shouldn’t be too problematic if you have enough buttons. I will have to see and make considerations once all features have been locked down.
Currently I have been working on adding visual effects for weapon hits against shields and armour and engine trails. Next up will be adding more choosing and adding more suitable sound effects, I’m no sound engineer, which directed me to purchase several sound FX packages. Once in I’ll move from GIF’s to short video’s so that the audio can be shown off, which will also improve the visual quality which gets nerfed by GIF compression.