Saturday, 14 December 2013

Hi,

I've still been spending a decent amount of time continuing the game. Lately I've been working on ship and module damage and starting work on the effects associated with it (added turrets while I was at it!). I'm got a short clip showing the early test of taking damage and the effects applied to the ships (super early version, very basic explosions for now)  



Still have a bug that I am still trying to find the cause that you might notice near the end of that. Otherwise I'm slowly getting the details in that I've been planning. Still have the basic shaders and effect for the ships but this is just for testing, it's still a 4X game and you never zoom in that close to the ships.

I plan to work a bit more on the ship design screen and interior views then add another ship size with equivalent weapons for it then should be able to release another public test to get some feedback!

Any feedback or queries welcome :)
Thanks, 

Saturday, 19 October 2013

Hi All,

Just a quick update, I've been expanding on the ship designer at the moment, I have placeholder meshes for loading for internal modules (which will also have collision meshing for weapons that penetrate through the armor\hull when hit). These load with a mesh based collision footprint (doesn't have to just be a square, any mesh shape with work) for positioning and overlapping checks. 

Loading, saving and modifying designs is in and all working now, I think next I'm going to start work on the internal damage simulation so you can see internal damage and even weapons pass right through if they have high penetration stats and the ship is already damaged, etc.

Below is an in-game early screenshot (plenty will change still I'm sure) the render window. I also plan to be able leave it open (resize it if you wish) to show current combat and weapons as selected ship takes hits during combat if you want.

Once I get the internal combat damage showing and working I might release another public test release if anyone wants to test it out. I have plenty of graphic improvements I know how to do and will do sometime soon, like shadows, lightning, normal mapping, glow, HDR, real ship internals, real module models, etc 

I would be glad to hear any suggestions\feedback?





FYI, I'm off to Hong Kong for 2 weeks for holidays so don't expect to see any updates here but I will have a few days after to play with this before I'm back to work :)

Monday, 30 September 2013

I've been working a bit on the GUI preview details, this will show details about the grid your mouse is hovering over while you have a ship selected. It will show details such as the default order if you right click, how much cap you should have once you arrive if moving, what damage you can deal and chance to hit percent of each weapon, this takes into account cap once you arrive and stats of your ships and the hostile ones as shown in the early GUI below:


The other current progress has been on ship design, I've decided to go full module layout\design with an internal grid. Below is the start of it which mainly has been getting preview windows working that render available hulls and rotate when mouse over. Grid positioning has been setup too which is loaded from an image to represent available grids. I will add background textures to make it a little more like a control window but it isn't going to take up fullscreen because I really want all GUI screens to still allow access to the main window (albeit a smaller space on the side or something) incase you want to check something in game when you're deciding on ship design options.




The grid will be rendered with a textured model of the ship internals, plus sides to tie it in better (looks like the ingame ship with the roof off). Probably won't render green but this is just for testing at the moment, I'll also have fixed grid positions for certain ship types to represent specialized ships that need to be designed around their specialization. For example colony ships need a colony ship hull because much of the systems are integrated into the hull. From a gameplay point of view this is mainly so I don't have to penalize or add some other stats to stop players using colony ships for combat because they have more internal space (easier to balance from my point of view).

This is just the current plans for modular design and specialized equipment and will be optional for user created mods if desired.

As always would be glad to hear any feedback or questions you have.

Thanks,

Tuesday, 27 August 2013

I've got a basic tech demo\pre-alpha release I'm making available for anyone who wants to see current development progress. I hasn't been thoroughly tested or polished even as a tech demo so be warned! Let me know if you have any issues running it or any initial feedback you might have.

There is a massive list of changes\fixes and polish I already have in my head but unless I'm getting overwhelmed with feedback I would be happy to hear what stood out the most (a bug, polish or best feature so far)

Here are the most standout issues I know:
- No Sound
- GUI Clarity not even close to finalized
- Turn optimization (sometimes will lock during turn processing)
- Everything AI related
- Balancing in any way
- No ship designing
- Etc...

I decided just to go completely public for now because I don't expect too much interest immediately and I couldn't be bother working out who will test and provide useful feedback

Download (Includes Patch now, only need the patch if you downloaded the "Project.zip")


Edit:
Patch is up for anyone who noticed they couldn't change resolution or the market tabs didn't select:
GUI Patch (Extract into the same directory)

Thursday, 22 August 2013

Here is a first pass of the new freighter mesh I've been working on. It has a texture mapped but I still need to make the texture. I was doing the freighter mesh now so ingame you can visually see if a freighter is empty, under half full or full according to how many containers it has, this will be scalable so larger freighters carry more containers and it will only have containers for the percent of how full it is.

I also thought I will do this now so I can release it as a tech demo when I want. Before it was a mesh from EVE Online and I don't know if anyone would care but technically might get in trouble for that and I needed the mesh eventually anyway.


This is a render from my graphics test program (includes basic effects as they would work in-game and shaders currently implemented)

Here's it with basic cargo containers shown in 3dsMax:


Its only first past mesh and haven't started on the texture yet but happy to hear any initial feedback if you have any?

Thanks,

Saturday, 3 August 2013



Work's been a little slow lately but still going, also been distracted a bit with the new Civ V expansion.. just for researching ideas of course... lol. I did find a simple code statistic generator that I ran on my code to see how much I've done and for anyone else who might be interested:

Files: 26
Code lines: 25456
Comment lines: 4839

Classes: 217 (0 or 0.00% commented)
Class fields: 1250 (5.76 per class, 0 or 0.00% commented)
Class methods / functions: 1446 (6.66 per class, 14 or 0.96% commented)

Global functions: 93 (0 or 0.00% commented)
Global variables: 337 (0 or 0.00% commented)
Constants: 17 (0 or 0.00% commented)

Total items: 3360 (14 or 0.41% commented)

It doesn't count commented functions\method the way I comment them so I have more then the 0% - 0.96% commented code. This is just my code and doesn't include any code for Irrlicht the renderer or the BlitzMax wrapper.

I also did some work trying to get multi-threading working though it seems with BlitzMax that the built-in garbage collector isn't very fast for multi threaded programs and basically causes the programs to freeze for a second ever 2-3 seconds which isn't worth it. I might do some more research into it later when the multithreading is more obviously needed, maybe manage memory more carefully or do some manual clearing if possible. It might make it usable but at the moment the AI code is faster single threaded anyway. Probably because the GC freezes, total turn time went from 9 seconds ST to 19 seconds when MT for the same turn processing)  I'm sure this will change once it's doing more of what I'll add to it.

I've added the ability for the AI to determine when to declare war on another empire. At the moment it takes into account quite a few variables such as how many wars it currently has, the history and outlook of each war and to military strength for each war and estimated strength for them all together. So it shouldn't be declaring war on a really strong empire especially when its already got other wars that aren't looking so good... etc.

I'm still going on the AI to determine when to end wars and make peace, I was working on that then realize I really need to be able to get the AI to say what it will want if another empire wants to make peace with it. Then from this you can get and AI that is at war but wants peace to get the cost (Cash, ships, planets, etc) it will be for each war it currently has then determine which empire(s) it should make\pay for peace with.

So while I was working on that part of the AI I've gone back to the working on the diplomacy screen so I can initiate trades\offers with the AI and more easily debug\see how the AI will value each\trade offer. Once the player diplomacy screen is done. I'll get the AI response working correctly so then i can get back to the relationship work and hopefully get the 2 integrated with each other properly.

Wednesday, 3 July 2013

Forums up

I've now added some basic forums to the site. This is in anticipation of hopefully and maybe releasing a playable test soonish to get initial feedback from a handful of users (haven't got anyone specific lined up yet but shouldn't be hard to find a couple of testers!).

Of course they are also there for any discussions or asking me any questions about it.

Sunday, 30 June 2013

Hi All,

I've been doing a lot of working and planning on the GUI, especially the fixed GUI items such as Diplomacy, Fleet, etc) So far I have 4 permanent GUI buttons for Empire, Diplomacy, Fleet and Research. The empire and fleet button have 2 sub buttons each. Below is a screenshot of the planet list open. This is what I've been working at the moment including sorting and a scroll bar on the left if you can't fit all items within the specified GUI size. The GUI style and data is just a start I'm sure it's going to change before I'd consider it final...




One thing I really want to make sure I have is multiple options for controlling the GUI. As an example with 4x games but others as well I always get frustrated when you just want to drag and drop, multi-select or other functions that would be considered standard but hasn't been programmed in. So I will be spending as much time as I need to make using the GUI as smooth and intuitive as I can. Of course I might have a different idea as to is a good GUI compared to other people but I'll do my best and will always be looking for suggestions and improvements as it go.

At least now i have a decently functioning GUI table type\object that I can reuse for fleet management and am already using for the load\save game listing too :) I started work on this after I decided I need to expand the diplomacy more before I can start play testing thoroughly myself then detoured onto the planet listing as it's the first button down the bottom... lol.

Next I'm going to get back to the AI and how it manages relationships with other empire. I had got the basics in and working already. The peace loving AI would like an empire more for each turn it didn't do anything aggressive against it. Next I've added the option for an AI relationship to deteriorate if borders are too close and overlapping, this is variable according to how I set the AI's specific personality. So I'll get back to this and continue to add more reason's\calculations to modify relationships.

The big step will be adding the functions for the AI to evaluate declaring wars and wanting peace etc. I'm going to add overall goals for each AI personality (some can be the same of course). These will determine who it is more likely to ally with or go to war with. An example would be if the AI's goal is galactic domination it would be more likely to ally with a weaker empire or 2 to allow it to declare war on it's nearest military rival. Another example would be if the empires goal is financial domination that it would probably just be focused on strengthening its internal protection and forming alliances with any large empire to increase trade etc. others might even just want galactic peace, research, etc

I'll be happy once I get the AI overall goals in and it making decisions based on the final outcome it wants. After that I might start working on the ship design windows and functions... seems like there is still so much to do even until it's close to playable. Oh well keeps me busy for now :)

Happy to hear any suggestions or feedback on the current ideas and screenshots if you have any?

Sunday, 2 June 2013

Hi,

Just thought I'd give another quick update on what I've been working on. Recently I've added the ability to detect unknown objects far off and once they are closer you can identify what they actually are. This ties in with my plan to have sensor stacking penalties for ships on the same grid. Now if you have 3 ships on the same grid the sensor profile will be 3x as large but you still need to be as close as you would if it was just the one ship to identify it. The stacking effects of sensor signatures are in and working too now.

As shown i've got place holder '?' when its an unknown object I'll add details to the GUI when you select an unknown signature so it will show the signature size but will only show it as one signature. e.g. 300 points signature (which could be one 300 point ship or 3 x 100 point ships, etc)




What I want to do next is to determine how sensor strengths will work. Currently it is just adding up all the sensor strengths that reach the specific grid. It will have a stacking penalty for the sensor strengths but not sure exactly how I'm going to calculate this.

Ultimately how I want sensor strength to work is for you to have stacking penalties effect each extra scan that reaches the grid however these to be determined by the angle of the scan compared to the last one. So first you would check for the highest scan strength and use that as the first and main scan resolution. Next if the next highest strength is 180 degrees from the highest one you get a maximum strength of 75%, however if you are only 90 degrees from the highest scan you get say 50% strength only and if your 10 degrees you only get 5% of the strength. This would simulate sensor triangulation so the more surrounded the target is the stronger the sensor strength on it.

This hard part of doing it this way is that all sensor sources and the angle they are from will need to be saved  for all grids and all empires\teams that have some sensor strength, this could very quickly add up in RAM usage :( as currently I'm saving the sensor strength for each grid for each empire so if I have 8 empires each grid object has 8 floats stored to measure current sensor strength.

If I have to measure and save all ships and strengths for each grid with the current method memory usage would just get out of control. I think be best way is going to be by calculating the strength each time a change happens by finding all ships within possible sensor range (Max scan range) and cycle through them to calculate actual sensor strength. The benefit of this way is its also easier to add alternate sensor types which I am planning for too (EM Signatures, Gravimetric, etc). I don't want more than 3 at the moment otherwise it just adds to much variation and choice doesn't matter as its more luck.

Redoing the sensor strength calculations shouldn't be to hard hopefully just a day or 2, but adding the direction penalties is going to be a bit harder by sorting and calculating the diminishing returns for it but still getting the highest possible combination of all strengths correctly will take some time.




Sunday, 19 May 2013

Hi All,

I'm finally able to get back to some more programming now that work had returned to normal, no more working all week and weekends :).

Most recently I've been looking at what I can do with the GUI as I was test playing through I realized I need notifications on when ships and things are finished. So I added them as a notification that drops down on the left like the other ones I have. Then I was thinking about expanding the functionality and hopefully make it look nicer too by if the ship that was finished it on screen now it will also show a direct overlay on the screen too not just list it in the expanded button on the left.

Here is a quick example, still playing with positioning and i'm debugging the GUI Exclusion zones as the extra boxes you see drawn below. I'm going to randomize the spacing a bit more and spread the overlays around just a bit more too. the overlay item will also be a button to allow you to select the ship too.


I've added some animation for when the overlays appear which looks kinda cool and might do up a YouTube video of gameplay soon or if there is anything specific people would like to see.

Anyway just been doing some refining of some game options and also managed to workout how to get BlitzMax to rebuild modules now which allows me to change the Irrlicht wrapper with any improvements I want. I wish I bothered to get this working early there are so many easy additions that i wanted to do by just didn't have MinGW installed or setup correctly. hopefully this will make things just a tiny bit easier for me now :)

Sunday, 7 April 2013

Hi All,

It's been a little while since an update so I thought I should say something, I haven't had a lot of chances lately to work on the game but still been doing what I can. Recently I've be trying to work out a bit more for galaxy creation and planet distribution especially for spiral galaxy types.

Here is an example I've got working now with moderate galaxy size and moderate star and planet density, It's still looks a bit too crowded possibly because when you zoom in stars after often only 4-5 grids away and planets from each system can overlap of be on grid away.



Here's an example of a moderate size galaxy with highest star and planet density... i think it ends up with 500 planets and 300 or so stars.



I did have a look at a max size galaxy with max planets and stars with current config. That galaxy though taking quite awhile to load also seemed to cause an issue with saving too taking forever and the save size with getting up to 200MB before I just cancelled it. Then I realized that was probably just because I disabled FOW which gives player full sensor strength on all grids and it tries to save all that. As it's just a debug feature not to worried about that for now anyway... :)

Playing with a galaxy max size runs alright on my computer just need to work out the optimal density so you don't have planets all over the place then I'll set that as moderate density setting and allow players to increase or decrease from this value as is usual for new game settings. I think what I have now for moderate density is not to bad but just need to decrease the max setting so it doesn't create quite so many planets and stars as is does now.

Once your empire gets a bit larger the corporation tradings between your planets could slow turn processing down a lot if you have that many planets. I haven't got to stress testing anything like that yet though but is something I need to keep in mind.

Anyway that's mostly what I've been doing lately. Unfortunately over the next few weeks work is going to be quite hectic which might make me less motivated to spend time on this after work. Expecially if I'm getting home late and working on the weekends coming up.. but I'll see how I go!




Monday, 18 February 2013


Lately I've been planning how I want to implement ship design and damaging. I'm definitely planning to ships with modules that you can add to it and vary the modules for the role you want it to have as is mostly standard for 4x games.

Other than this I've been thinking about having a floor plan for each ship and you place components down on a grid within the ship, and you can place armor plates, ammo storage, weapons, etc. Positioning will have an effect on both the efficiency for nearby modules and their vulnerability. For example perhaps if you place ammo near your weapons you can increase the reload but been closer to the edge of the ship its more likely to get hit and could cause an internal explosion.



Here is a basic mock up, some components could have considerations such as if capacitors are destroyed they can also damage adjacent modules to a certain radius. All modules also have a density which can stop certain weapons from penetrating further. Obviously armor would have a really high density and that's all it is, but other modules may have a certain density too and be worth position between sensitive components and the exterior.

I am already planning to have directional combat, so if you manage to land behind an enemy ship you can attack their weak side (if the enemy ship is designed that way). This combined with only one move per turn hopefully will present good tactical opportunities\decisions.

I haven't decided if this is going to be to fiddly and micro managing or will add some worthwhile depth, obviously it will involve a lot more work then if I was just using icons and a listing space available to fit modules. Once I smooth out the main game play a bit more I might make a rough working model of this and see if it's worth it.

Monday, 11 February 2013


It's been a little slow lately, mainly been busy with working on my car on the weekends to get it driving again, but it's back on the road now so hopefully I can do a bit more on the game :)

I did have a go to see how far I could play in my game at its current stage... It was good actually I set about a full invasion of another empire and worked on taking over all their planets and see what are the most obvious issues that need resolving first. There is a bit to do, lol.



The main things were some turns the AI could actually take 2-3 mins for a turn processing, though most other turns were complete in a few seconds at most. This is not overly surprising because I haven't yet tried to any optimization to the AI code and could been stuck in some loops that aren't needed. So some of that could be easy resolutions, but the good part although sometimes took forever it never actually froze up or got stuck in a infinite loop, so that's a positive.

I'm still having some minor issues with empire borders redrawing correctly after taking over planets, a reload of the game fixes it but I don't think it will be to hard to chase this one down and resolve.

I'll see what I can get fixed with the current build then start adding the next features. I've been thinking about what I'd like for ship design and combat effects, that might be what I start working on next!

- Thanks

Thursday, 31 January 2013

Hi All,

I thought I should start a blog for anyone interested in following the development of the 4X Space Strategy game I am making. I still need to think of a name for the game, though I do have a few thoughts at the moment. Might even do a poll with the current thoughts I have for the name :)

Everything I show here is very much in-development progress and subject to change (hopefully improvement!). A lot of it will be incomplete information but I enjoy reading about other indie developers and their challenges and developments so I thought I could offer progress and development information as well.

I'm always interested in hearing any feedback, queries or extra information people would like to see. I'll continue to update and post screenshots or videos here as I go or that people request.

Thanks,

Paul