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, 30 June 2013
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.
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 :)
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!
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
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
Subscribe to:
Posts (Atom)






