Devlog: Beta 2 release is in sight

Snap1348Hi there !

So, the issue with the hard drive wasn’t too bad after all. The only loss is a part of my source control (git). This barbaric term describes a program that keep track of all the changes I make in the source code and which usually come with the ability to compare files with their older versions, track changelog, restore previous versions and so on. Loosing part of it isn’t really a problem except that it makes writing this article a bit more difficult. While I do keep the changelog file up to date separately, changes are written in no particular order, so I may be a bit fuzzy on the things I added between the last devlog and the last 3 days.

Anyway, there’s still plenty to discuss so let’s get to it, shall we 🙂

Snap1345First, let’s get the reputation and mission system out of the way. I added a “kill pirate boss” missions to military bases and trade stations. It gives money and reputation points toward the quest giver (like older trade and “kill a pirate station” missions). I also hope to add a sort of bounty hunter leader board that you could find in either dedicated stations or in military bases. Here again for reputation and money.

Reputation is now used by standard factions to deal with you, in a fairly limited way due to the small selection of available mission, but it will be expanded upon during the rest of the development. Faction specific weapons and shields are now reputation locked, the bigger the weapon class, the higher rank you need to acquire said items legally. This is especially noticeable when dealing with the new Asterian faction which only use its own unique weapons and shields. Later on, the same idea will probably be used for the largest military ships.

Snap1341I also spent a lot of time tweaking and monitoring the pirate boss AI. It is working quite well, with a good survival rate, a good income for their home-base from both scavenging and raids. They still die from time to time, sometimes a bit too easily, but most often than not it’s due to bad luck. A side effect of writing this AI module is that it allowed me to massively improve most of the other AI modules. Bounty hunters, raiders gain the most benefits by being less CPU consuming, more effective and with a higher survival rate. Miners are also better at escaping / avoiding dangerous locations. With pirate raiders getting higher bounties on their head (survival rate, yay!), bounty hunters, who were until now fairly passive, respond in kind which is nice to see.

And I have yet to talk about the police forces because that was the main improvement taking place during the last few days. Until now, police ships were spawned individually granted a sector had a trading or military station. They wouldn’t leave their sector except when chasing another ship. In other words it wasn’t very good, and it was fully inadequate to deal with the increased pirate threat. It was also fairly buggy and it wouldn’t really scan for illegal cargo.

Snap1339Now, they fly in small wings, generally a cruiser or a frigate and a few fighters. Each wing patrols freely between all sectors in a given solar system. The maximum amount of police wings per solar system is determined by its size (sector count / 3) and the amount of military bases in said system (+1 per base). For a standard 3×3 system with a military base, that’s 4 wings. The size of each wings also depends on similar values. Additionally, police ships can seek repairs when needed. They don’t flee, though. The AI module itself is also better at picking ‘outlaws’. The system still need some careful balancing, but it’s already more efficient while leaving some room for creative players to raid transports while the security forces are busy somewhere else.

I still need to add some degree of interaction between you and the police to make that complete, like the ability to drop your illegal cargo or pay a fine. Well, that and the ability for threatened ships and stations to “call the cops”. It shouldn’t be a problem to have that ready by the next week.

As I said earlier, beta 2 is on its way and as such I am also fixing issues and improving stuff left and right. I made FPS (frames per second) much more consistent. Beforehand it was quite common for it to dip below the standard 60 fps temporarily when lot of action is appearing on screen suddenly. Now, as long as your CPU and GPU can deal with the demand, it should stay at 60. I also fixed a few other small graphical glitches I found, especially one that would cause the ship the camera is supposed to be centered on to “twitch” a bit.

Snap1344The Empire Manager menu also got some love. First, I finally decoupled the “automate expansion and station building” manager into two separate managers, one that will expand your territory into neighboring unclaimed ones and one that will build factories and stations. It doesn’t seem much, but it make empire building more involving, especially with the new related starting position. The Asset List tab has also been improved quite a bit. There’s a few additional filters, the (non working properly) popup menu has been replaced by a row of buttons instead, there’s also a contextual help for each button and filter option. Oh, and more importantly, opening the setup menu of a ship/station from the asset list will send you back to the list when closed so you don’t have to open the empire manager again and so on.

Snap1342Also, in the Diplomacy tab, values like the military strength, war weariness and available funds are shown as rough estimates instead of raw values. Number of available ship parts are still shown in the screenshot, but the value is likely to disappear as well.

And of courses, there is tons of fixes and small improvements i won’t detail here because it would take way too long. One thing of note, though, because it has been bugging me for quite a long time. There was a rare bug in the pathfinder, preventing ships from going from point A to point B in some very particular and rare conditions. Depending on the version of the game, the faulty ship would be silently wiped out or ask the engine to find a new path continuously until the end of times. None of those options being ideal (especially the last one, with enough ships, it would in some cases cause 100% usage and a very laggy game). I finally managed to find out why and fix it. The pathing algorithm forbids ships from using enemy gates so the wars don’t become too messy. But there’s two different pieces of code impacted by that feature: one to see if a gate can be taken or not, and another what giving all the sectors in direct connection to another (including gates). Sadly, those two pieces of code had a rare tendency to disagree, making, in some conditions, a ship “believe” it can use a gate and when it comes to build the actual path, it fails because the gate says no. Thankfully, it’s fixed 🙂

Anyway, I should finish most of the features during the next few days. There’s the diplomatic part missing (AI factions using pirates as proxy) and it probably won’t make it. It’s a big chunk and with the diplomacy / faction AI as a whole needing a clean up, I might as well include it in the beta 3 instead which is supposed to deal with it anyway.

I am still aware of the major graphical glitch some people (on the forum) are experiencing. It’s likely that the beta 2 will fix those issues by itself. But, if not, a button will be available to compile a text file with the required information to help me fix the issue, it’s also likely a secondary executable file will be available too (with lower performances but higher compatibility, in theory).