Author Archives: arrmaytey

Iter 15 – RELEASED

Things are getting more and more complex and the small issues that crop up that need to be polished/fixed when prepping a release are getting bigger. One small fix leads to 3 unintended consequences needing their own fixe and sometimes it seems like it won’t ever end. My mind gets blurry thinking of all the different little things I’ve had to deal with. But here we are at iteration 15 – hopefully mostly bug free *fingers crossed*

Yesterday while polishing up iter 15 I felt like this is one of those really good days, got to work on something I love, fix it up, make it better and see the results. Today I was still on that high, but constant tests and fixes and tests – were starting to grinding me down. Still there’s no other way around this, but perseverance.

Iteration 15 is actually less polished than I’d like – I intentionally ignored some issues and improvements to the story – if I hadn’t then it would take another week to a month to polish. The goal is to get feedback on iter 15 – mostly in terms of story/difficulty/gameplay – polish it up while adding in key mapping – leading into relatively quick release of iteration 16. Which will hopefully lead to a Steam Greenlight campaign and beyond. So we are coming up on some very important events in the history of the project. Hopefully most of them will work out :)

I feel very proud of this release but also a bit anxious to hear that it doesn’t have some issue. Tomorrow I’ll work on the trailer for iter 15 then start working on iter 16.

Iter 15 ETA

Hopefully towards the end of this upcoming week.

Spent last week putting the finishing touches on the story mode – its fairly wrapped up now, but I have to have a full play through. Lots of bugs cropp up and testing is taking longer and longer due to the increase of variables – for example bugs due to a play through without saving/loading, bugs due to saving/loading – both scenarios have to be tested, and doing a full play through – though not extremely long at this point, does take some time. Still as usual whenever I fix bugs and play test I feel good about the project. Though I’m trying to avoid too much polish for iter 15 – iter 16 should follow shortly (hopefully within or around a month) and the plan is to polish that one more so than iter 15 – hopefully with the addition of player feedback.

There were some glaring engine sound and particle effect flaws that kept poking me in the face due to the testing play through, so I spent a bit of time on them and greatly improved, yay – they were very annoying. Ships often wouldn’t stay at their intended speed, or would never reach zero speed, but they’d fluctuate between 0.1 and -0.1 or some similar values. Most of this should go away now. However in fixing these for ships I seem to have dinged them for missiles, they are strangely drunk in their flights, totally missing their targets, have to fix before releasing.

Late yesterday and all of today I focused on re-doing the tutorials with the new dialog and trigger systems. Each take a very long time, but I’m mostly done. I’m having a bit of a struggle adding that bit of something special to make them more interesting. I have some ideas, but comedy and writing aren’t my strong points. However the tutorials are looking and feeling better. Changing the story and setting makes them a lot easier to work with and think about. Before the story changes the player would start in the “rock guys” faction as I call it, but the tutorials were played in the “green guys” faction. So it was a bit awkward, now that the player starts with the green guys the tutorials match up well. So I’m thankful for this change and turn of events as well.

Speaking of the story changes – some thoughts are being tossed around internally that I think are very promising on that front. There were some vague ideas on the story, but I think we’ve caught onto something simple, yet interesting. That will allow us to combine elements into a very nicely fitting package. Sorry for being so vague, but otherwise I’d be posting story spoilers.

Work towards iter 15

Spent most of the week working on the story. Lots of little things, mostly progress, and mostly smooth. Hoped to wrap up the story portion over the weekend, but I didn’t make it. Goal is to wrap the story portion of iter 15 early this week, then re-factor most of the tutorials. Then release early week after that.

I almost got snagged into re-doing a bit of command mode – but reminded myself that the current goal is the story. I had a thought that it would be good to outsource the scripting/story work, however I’m constantly coding support for new scripts, so that isn’t likely (even if I found someone).

Story

Long story short – I’ve decided to change the story – to change the setting and most of all simplify it.

Long story long – early in the week I was scripting a cutscene. The cutscene would trigger right after the player exited a gate, in front of the player was a planet and a space station was in orbit. So far so good. Now comes the cutscene – we see two different sets of ships near the gate. Then the dialog portion starts – two factions were discussing the player’s fate – the factions would take turns attacking ships that would come through the gate. So after this riveting dialog, a cutscene would play, where one of the faction’s ships would fly off and the other faction attacks the player.

Sounds ok eh? Well from seeing it and playing it was incredibly bad, but worse it was incredibly horrible setting it up. I hated it – for various reasons – mostly since it was very tedious scripting and not coding (which I enjoy). Now there are things that I don’t enjoy in terms of this project and I can slog through since I have the end point in mind, but when I dislike something and the end result is bad – well that’s a recipie for disaster.

So I left the computer for the night and sometime between that time and morning I decided to simplify the story.

The setting will change, requiring less explanation and allowing for more action, and a quicker entry into the full range of features of the game – space sim and RTS.

And so far I’m very happy – there’s a lot more action, a lot less need to explain what is going on. Meaning less writing – which should result in overall better writing because – lets face it I’m no Shakespere.

Week in review

Almost didn’t post this, but then I remembered that I tend to read these posts and they help me keep track of past obstacles. Early this week I spent polishing gate travel, there was a bug with sound not being enabled correctly post gate exit in a new “map.” It turned out to occur because I didn’t attach the sound listener to the player ship on gate exit correctly.

The rest of the week was spent obsessing about ships. I asked a great modeler to make me a command ship, sent over concepts and info and shortly afterwards received a 3d model. I then began texturing the model start to finish to understand the process and have an idea of how long it truly takes. The answer is about 8 hours. The model looked great, but when finished the ship didn’t fit the command ship mold. The model I received was spot on what I asked for, but I asked for certain wrong things and I didn’t include certain right things. I had to bump my head against the wrong concept to know this however.

I chopped the ship up and combined parts of other ships and that resulted in a very cool frigate. Looking forward to having it part of the player’s arsenal in the mid game. Knowing what mistakes I made in asking the artist, I asked for another model, and again I received a very awesome ship. Again I started texturing, but this time about half way through I realized that again it wasn’t going to work as a command ship.

There’s a two main issues here that I’ve come to realize. One is the difference in modeling style and the bigger issue is the difficulty in getting a compatible scale. The ships ended up either too small or too big. Huge in some cases. I spent Saturday trying to make it work (very obsessively), but it wouldn’t budge.

I then did the same thing as with the previous ship, chopped it for parts and combined it with another ship. And the result is serviceable, not as good as the cool frigate, but decent enough that I can let it go for now and continue working on other aspects.

This experience makes me think about the future of 3d models in the project, I’m about ready to give up on new ships for the player faction. In broad terms there isn’t a great need, so it is not the end of the world.

So overall the weekend has a bright side.

Polish for iter 15

This week was spent on polishing and bug fixing, lots of little things along the way.

I’ve worked on the radar system a bit, and decided to have it mostly focus on combat and ships. So before I considered showing objects other than ships in the radar, but that would mean a lot of clutter, and thus make the radar less useful. I’ve also tweaked the hud marker to show enemy ships that are targeting the player in a different hue, I already had the radar do this and thought – why not the hud markers?

I finished up some code for planets and suns, before the slight tweaks you could fly into them – though their model/geometry – I added support for their collision objects to be the proper scale – based on their visual size. A unhappy side effect resulted in a very annoying bug (exctreme slow performance due to rogue collision events) that took me a bit of time track down, and then a one line fix got it handled.

Things are looking fairly polished so I’m feeling good about that as I always do when I fix bugs – but one thing that is slightly bugging me is that I’m not done with the “intro mission” and it is in a bit of a stall because it is fairly predictable and I think too wordy. The stall is because I want something more unique, but because this is also the tutorial it should be fairly predictable as well heh… I think the tutorial side might win, but I should toss in some cool things along the way to keep interest.

AI and Gates – and potential refactoring.

This weekend was spent changing the way that the combat AI pursues targets. The issue was that often the AI would pursue targets forever, I’ve added some logic to prevent this – based on the new AI “postures” – they are very similar to the previous postures, except now there is a “Pursue” posture that means that the ship will pursue forever, this isn’t the default option, so most of the time ships will allow the player to flee, or won’t leave their bases to pursue enemies. I also added some triggers, and a “enemy to player” only faction – that will ignore anyone but the player’s ships, meaning that I can control the battle well. It can be awckward if you want the player to be attacked by 4 fighters, only to have a nearby base launch its fighters and intercept the attackers, sure sometimes I may want to help the player out, but when I don’t… I don’t.

Today I spent fixing the gate travel code – it was originally implemented a few months back – but never used. During the following months I’ve added features which broke the old gate travel system, but now its back in working order.

While looking at the game – I thought that I may re-factor the fundamental way that the “play areas” are setup. Right now everything is on a map (eg: multiple bases), and maps are connected via gates. But I may re-factor where only one or at most two bases are on a map, there are still gates, but adjoining sectors can be traveled to via the gravity drive. If you are confused as to what the difference between the two systems is – it is that the new method would have more potential for more “filled” play space. So for example in the old system I could have 100 asteroids, but because there are multiple bases (lets say 3) around each base would get 30 asteroids. With the new system of one base per “sector” – that base would get 100 asteroids. But let’s forget about asteroids for a moment, and consider assault platforms, or ships. Attacks would come from asteroid bases in other sectors, but the AI would only briefly live in the sector that the player is in, and nothing of other sectors would be rendered – thus letting the sector that the player is in – take more ships – in a more compact way. This would be a huge switch, but still the old system would remain, so for a more RTS battle you could have a play area like the current one, with multiple bases on one map, but for story purpouses the “less is more” sectors would come into effect.

Not sure that I’m making myself clear so I’ll stop now with this – today was fairly rough getting started coding, the weather is kind of grinding me down, still progress was made.

Objectives, dialog and missions.

In the beginning of the week I re-factored the “objectives” code into “mission” code. The goal was that a “mission” could have multiple “objectives”. Objectives being test conditions for events – object destroyed, one object going near another, etc. So missions now can have multiple test conditions for success, eventually they’ll also have test conditions for failure as well.

Then I re-worked the text info for the player, lots of improvements leading into a dialog system. Basic stuff – in terms of – you’ve probably seen it before in other games. You see a portrait of a “speaker” and their dialog scrolls, and the player’s “avatar” responds. Some HUD mission info work was done, and I’m fairly happy with it.

This weekend I polished up the dialog as well as working on the first mission for the player which meant new triggers, objectives and cutscenes. Its going well, I’m almost done with the first leg of the intro, there’s even a few “hidden” missions for the player to stumble upon.

The rough goal is this – finish up the intro mission, polish, then release iteration 15. Then add in key mapping and then we enter the “beta” stage, and proceed from there.

Looking over the post above – a lot of interesting things (though whether they are interesting to anyone besides me is debatable) tend to happen, but then they drift away from my recollection so I might not end up writing about them. For example when I added a trigger for launching ships out of bases/stations. Previously the turrets (on a ship) would “pop in” right as the ship fully exited – whatever it was being launched out of. I scripted this “launch ship” trigger into a cut scene and so I thought – man – I’m showing this so early on and showing a odd turret pop in so early on, I have to fix it, and so I did. Just one of those somewhat unexpected/interesting things. Maybe its a good thing I don’t mention more things, kind of getting rambling here.

More mining, planets and 2d

Early last week I improved the dock with and collide AIs. For the dock with – since the hangars/bases tend to have multiple launch tubes for fighter drones I enabled the use of all of them not just the first one as was the case as of the previous post’s writings. For the collide with AI I modified the “aim lead” code for projectile weapons and now have a freaky good collide with AI. Very happy about this because prior to this it was embarrasing to have the ore drone ship constantly miss colliding with the ore rock, then eventually getting lucky, it was made worse since you’d see multiple drones trying to smack into one rock, but ending up orbiting it. The other good news about the improved collide with AI is that I can use this for better “intercept AI” across the board. Since this tweak has ships leading other objects and chosing a path to intercept – where the object will be – not where the object is – which in case of moving objects – tended to mean lack of collisions/intercepts. So I can use this for combat AI, for formatino and go to AIs as well. Eager to get this implemented.

The mining process is mostly done its fairly fun to watch now that the pieces are fairly competent, it adds life to the game. Now I need to finalize dock with AI a bit, put in a error correcting system in place.

I then did some more work towards the HUD and UI – I realized that my line of thinking was deeply flawed – a face lift to a bad system – leaving the project with a better looking bad system. So I opened up a 2d paint program and dabbled some, when I’m ready for more contract art I’ll have a much better idea what to ask for, since I already made a lot of mistakes a long the way.

Then came some tweaks to planets, now there can be textured planets, including an atmosphere level, fairly basic stuff, but a good begning and opens up the door for lots of experimentation – again to see what works and what doesn’t.

This weekend I did a bunch of stuff across the board working on the HUD, story sytem, triggers. I also enabled the ability for ships to carry other ships – so unlike carriers the host ship doesn’t manufacture the ship(s) it is carrying, the host picks them up then drops it off. Allowing for the use of smaller ships carrying fighter drones, or beyond.

Next up – I’m getting close to implementing a “dialog” system – so instead of the old “Objective pop up” where the game pauses, they will be a real time conversation going on that the player may actively participate in – I haven’t decided yet. At this point the first leg of the “story” aspect of the game should be fairly well under way, meaning that I can release the next iteration.

Mining, planets and suns.

I have a rudimentary “asteroid” mining system in place. Thanks to a new asset which is a cannon mounted to a rock. The cannon shoots an asteroid, the weapon fire creates “baby” asteroids that splinter off. Then a nearby drone hangar base launches drones which pick up the rocks and ferry them back to the base. Its pretty neat! I just have to polish up the collide with and dock with AI. It works, but the dock with AI needs error correction in case the ship doesn’t get in on its first pass. This is all automated or as usual the player can hop into ship, blast the rock then hop into a drone and pick up rocks. I hope that this aspect of the game adds to the live of the world, gives something for the player to attack, guard etc. There’s going to be another way of mining asteroids, for different factions, we’ll see :)

I also received another new asset – a “base” station. So I worked on having it orbit a planet. Planets were originally in the very early days of the game – in fact one of the earliest pieces of code I wrote was having them rotate and orbit around a sun – this wasn’t accurate in anyway, but hey they did move. I scrapped planets when they weren’t big enough or were too big and became navigational hazards, but always wanted to bring them back. And now they are – yay! For planet rendering I modified the new sun shader code by letting diffuse and specular light impact the “planet” object.

While adding planets, I polished up the sun/light handling code – now there are different types of “suns” – invisibile ones (only emitting light), billboard ones (2d sprites) and physical ones (ones that you can collide with). Adds a good balance of tools for future use.