Devlog: Dynamic Economy, Map and AI

g01Hey there, here’s the weekly devlog !

This week I followed up on the large task of putting a decent AI into individual ships, I also added the popup info panel discussed last week to the galactic map, and more importantly the economy is now using a dynamic pricing system. I also fixed, amongst other things, a critical bug on some Windows XP / DirectX 9 configurations that was causing the game to render in software mode. As usual, I’ll explain things into more details in the article below.

In other news, we now have a dedicated artist ! This planet has been drawn by him. He will also complete and improve our current set of portraits, logos, ships and star systems.

Unending Galaxy has also a facebook page, so if you want to follow the game from there, it’s now possible.

Ship AI Improvements

I added a “Raider” AI module that replace the old “patrol” order on many pirate ships. Those ships hunt ships transporting valuable cargo in the vicinity of their home sector. And of course, they are a prime target for bounty hunters.

Also, all ships that have a custom AI (miners, raiders and bounty hunters so far) can now use their money to buy a fighter escort from a nearby friendly station. I am also in the process of adding the ability to flee from combat and seek repairs when endangered and/or damaged.

Galactic Map and UI

galmapwithinfoIn my never-ending quest to the ‘perfect’ galactic map, I added the popup info panel discussed last week. It’s not yet fully finished, and it will probably feature a few more info, images and ‘give orders’ buttons, but it’s enough to give you an idea.

I also made possible to select ships and order them around much more easily. Moving whole fleets from a sector to another is as easy as a drawing a selection lasso and right clicking a sector. It’s not yet on par with Sins of a Solar Empire (far from it) but we’re slowly getting there. It will probably deserve a video once it’s good enough.

Economy

dynamicpricesPrices are now dynamic ! Stations that are full of a product will sell for less that those who have very little of it. So it’s now possible to make a profit moving goods around. It’s not yet as good as I want, because a lot of the values are hard-coded (min/max prices and what constitute an average amount of a resource in a cargo bay), instead the economic system should take into account the global resources and production capacities of each faction to get a more realistic system. That will do for now, though.

I also somewhat improved the trade system globally and fixed some bugs making the trading ships more efficient at what they do. We are still lacking a “free trader” AI à la X3, but that should be easy enough to implement now.

Bug Fixes

I now realize that if you are running on XP and/or DirectX9 only, the demo in addition of being crash prone may very well run at basically 10 frames per second, probably much less. That’s because UG is running in pure software mode instead of falling back to a slightly better rendering system. I fixed this bug in my development build. I realize this is going to force me to publish an update soon. As a secondary result, I am also going to drop “official” support for XP. The game should run more or less fine on it, but if there’s XP or DirectX9 specific bugs I probably won’t be able to do anything about them.

I fixed several ship behavior bugs, where attacking/following/protecting ships would end up without orders if their target/leader docks or get destroyed. They will now either patrol around the location it docked and wait for it ; take the leader’s orders ; or if they have no further purpose (like automated escorts of a ship that got destroyed), use a warpgate to jump out of existence discreetly.

I fixed another relatively rare “game crashing” bug in the physic / path-finding engine. As far as I can tell there’s nearly none of them left. I still have a few issues of threads colliding when modifying shared lists, but nothing critical or that can’t be fixed.

That’s all for this week ! 🙂