Post reply

Warning - while you were reading a new reply has been posted. You may wish to review your post.

Note: this post will not display until it's been approved by a moderator.

Message icon:

What is the answer to life, universe, and everything?:

shortcuts: hit alt+s to submit/post or alt+p to preview

Please read the rules before you post!

Topic Summary

Posted by: Kyle
« on: March 04, 2019, 02:32:42 PM »

Progress update 2019-03-04:

Actually finished these things last week and had planned to do more before my next update, but I'm currently hooked on a binge of Civ 5, so I figure'd I'd get this out there along with a warning that there will be another delay while I get Civ 5 out of my system :)

Research tab and Mining tab of the F2 screen are done.  Specifically, on the research tab: Display total research facilities & RP per Facility, Display chart of current research projects, Cancel project, pause/unpause, Add/Remove research labs, chart of researchable projects, dropdown to change chart RP type, Create project, delete project, show available, all, completed, or completed excluding start in chart, display technology description, show chart of eligible scientists for project, show matching scientists only checkbox, pick allocated labs, show available labs, use max labs checkbox, research queue, queue project, queue top, remove from queue, reorder queue.  Mining tab: show/pick mass driver dest, display ground-based mines + annual production, mouseover annual production details, finished the remaining few columns in the mining, set/display reserve level.

Up next (when I get back to the project) will be Industry tab and Summary tab then the F2 window will finally be done for this pass!
Posted by: Kyle
« on: February 19, 2019, 09:02:12 AM »

I'm back, after a much-needed "vacation" from hobby coding!  My pace won't be as fast as when I started out, but I can tell you that the itch to work on this has firmly resettled itself!

And I have a progress update (2019-02-19) from the past week or so!  Shipyard Tasks tab and Manage Shipyards tab are done for this phase.

Specifically, in the Shipyard Tasks tab: Show annual ship building rate per slipway, show available slipways, display all shipyard tasks, delete task, pause/unpause task, raise/lower priority, rename ship, select name of ship from themes, show ship delivery schedule for all shipyards.  In the Manage Shipyards tab: Display Total naval and commercial shipyard capacity, display chart of shipyards and their type, slipways, assigned class, current activity, progress%, completion date, and Mod rate.  Set shipyard complex activity, show build cost, completion date. Display list of eligible ship classes to retool, delete activity, pause/unpause activity, rename shipyard, auto-rename shipyard. All task types (Extra slipway, capacity expansion options, and retool) update DB identically to A4X and display correctly.  Create task Construction, Repair, Refit, and Scrap all update DB correctly.  List eligible classes to construct, repair, scrap, or refit from.  Pick eligible ships in orbit, set ship name, show build cost, create build names checkbox, show completion date (sometimes inaccurate for refits currently), select fleet, set default fleet.  Show required minerals for activities and tasks, pick new name from theme, show refit details.

I don't currently have my build push environment set up on this computer, so no new build this time around. I don't think that'll be much of an issue since by now you know that my progress updates are real and the current build has plenty of material to see how the final product will look and feel on your computer.

Next up is the research tab.
Posted by: MasonMac
« on: February 16, 2019, 06:33:34 PM »

I hope you haven't stopped working on the project
Posted by: se5a
« on: February 02, 2019, 01:26:23 PM »

looking good, in hindsite maybe this is what we should have aimed for at the start with pulsar. I think we made a bunch of mistakes with that, starting from scratch half way through being one of them, and on that rewrite we should have aimed to get something graphical right off the bat rather than try build a complete 'engine' first. on the flip side, there were not as many options for C# out there back then. ah well lessons learned. If I ever start another game project I'll do stuff differently and end up with a bunch of different problems :p
Posted by: MasonMac
« on: January 21, 2019, 11:25:57 AM »

A little thing, but would you be able to change the color of the planet orbit to a darker color? It still kinda hurts my eyes. Thanks.
Posted by: Kyle
« on: December 18, 2018, 04:55:04 PM »

Progress Report 2018-12-18:

Teams / Academy tab is done for now.  As warned, it's not a big update this time.  Hopefully I'll be able to return to regular updates next month.  Latest prototype build has been updated.

Specifics that are done in this tab: Academy level, Officer grads per year, racial training level, crewmen and junior officers, list available officers by team type, show this pop only, show unassigned only, create team, list teams on this colony, list members of team, list commanders stationed at colony, open officers window, transfer team to ship, rename team, disband team.   

Meta Musings: Not going to lie, the grind is getting real.  At this phase in the project, none of the code is particularly challenging, there is just so.. darn.. much of it, and the end result of finishing a section is a lot like seeing two pages of numbers add up in an accounting program.  It's one of the reasons progress is currently slow.  I'm fiercely determined however, and love to code, so it's not going to die.  Q4X is and will be my only programming-for-fun project until otherwise notified.  And if I ever do move on, I will absolutely make it open source / MIT License first. 

Anyway!  The holidays call, happy times are here and I hope everyone is well!  See you next year!
Posted by: Kyle
« on: November 19, 2018, 02:56:56 PM »

Progress update 2018-11-19

Progress will be very slow or non existent til 2019 due to holidays etc.  Probably just one more update this year in mid Dec.  I do have Civ/Ind status tab done (supply/demand contracts, select colonization status, show civ ships, toggle industrial facilities)
Posted by: Kyle
« on: November 13, 2018, 05:04:59 PM »

Progress update 2018-11-13:

3 more tabs of the Colony Summary (aka Population and Production) plus most of the controls along the bottom done for now, including:

Main: Hide CMC checkbox, Group by function, set Capital, Rename system body, Abandon population, and the other buttons that open other windows
Wealth Trade tab: numbers are all calculated correctly now
Ground units tab: ground forces dropdown, required/actual occupation, police strength/modifier, text for copy paste, ground units list, rename ground unit, convert GU to cadre, disband GU, transfer HQ, Clear HQ, transfer GU to PDC or pop
GU training tab: units training list, rename unit in training, add task, delete task, use cadre, cadre stats, rename unit type

Also made a bunch of fixes for other windows I'd broken without realizing, so the prototype demo is less crashy.

Regarding Godot, I did have a bit of wrestling with it to support the types of controls I needed.  Specifically dropdown menus, Trees for the table layouts, and the bordered panels required some work to get right, but I managed to do it all with the built in controls and theme tools provided.  I had to make a couple concessions for layout, such as tabs, and haven't visited how to limit the height of a dropdown that has many items.

Regarding ground units, it should ideally be identical to A4x 7.1 just as any other feature. 

Regarding AI, I'm actually pretty excited for what I have in mind for that.  Rather than do it all myself, I plan to expose AI logic in external config files, one file per AI "personality", and allow players to design their own AI to use and to share. (Modding, in other words)  The files would be a scripting language that is as simple as I can make it with a well documented set of functions available (like GetShortestPathToSystemBody("Luna") or whatever).  So, while I would include AI "personalities" that seem to resemble AI in A4X as close as possible, I would be using the same external config system that anyone else would use, and developing that system in parallel.  And anyone else that wanted to could try making their own AI variant.  I'd like to have a way to pit one AI type against another and watch both sides, since I need to do that anyway to test that AI is working correctly.  So it might be fun to see whose AI can beat the others :)

AI is a LONG way off, but now you know my vision for it :)

I'm actually a little more nervous about galaxy and race generation.  Might externalize that into config files as well! 
Posted by: froggiest1982
« on: November 12, 2018, 03:15:20 PM »

In the beginning of this project I thought: why doing this? At that time C# Aurora was already on its way - so already speedy turns ;-)
But now I think that some AARs don't need the new complexity of ground combat - and Quasar 4X might become a good alternative if your AAR focuses only on the space side of things.

That was my point when I was asking Steve and I was redirected here. I am sure I will enjoy all the new features of C#, but still, sometimes the good old flavour and simplicity (compared to the new mechanics) will be great to have.

I am curious now to see how he'll work around the AI and possibly the only extra feature respect to the original would be on that part and the diplomacy.
Posted by: TMaekler
« on: November 12, 2018, 06:14:46 AM »

In the beginning of this project I thought: why doing this? At that time C# Aurora was already on its way - so already speedy turns ;-)
But now I think that some AARs don't need the new complexity of ground combat - and Quasar 4X might become a good alternative if your AAR focuses only on the space side of things.
Posted by: firefly2442
« on: November 11, 2018, 12:59:29 PM »

Wow cool, someone else who's heard of Godot.   I actually tried starting something very similar using Godot but ran into snags with the UI.   Do you use any tools for building the UI?  That was one thing I struggled with, Aurora4x has very complicated UI screens and it seemed to be incredibly difficult to get the layout the way I wanted.   If you ever change your mind about collaboration, let me know.   I would be interested in helping.
Posted by: froggiest1982
« on: November 09, 2018, 05:50:40 PM »

Following you now from another post thanks to Erik Luken, you are my new hero right now! If I knew more about coding I would have been super happy to help.
Posted by: Kyle
« on: November 09, 2018, 10:42:48 AM »

Progress update 2018-11-09:

I haven't spent a whole lot of time on Q4X since my last update, but I did get a chance to fix the Populated Systems tree on the colony summary and complete the Environment / GMC tab.

Populated systems tree is now showing Auto Mine count, Civ Mine count, Orbital Transform count, and ordered similarly to A4X.  A few systems were missing or named incorrectly in my previous build which is also fixed.  On the Env/GMC tab: everything is functional; Select Gas, add or remove gas to atmos, set max atm, view atmos data, select species to modify, and view species info.  New win & linux build pushed to Itch.

I do believe I'll have more time to work on Q4X for my next update, which will be more work on the Col Summary window. (aka Population and Production window)

Musings of the day: In fixing system naming for the Populated Systems list I realized there's another way Q4X is going to be faster than A4X.  I'm pretty sure A4X runs very basic SQL such as "select * from Table" or "select Column1 from Table" and does most of the data processing on the VB side.  I'm not sure if there's a benefit to moving the heavy computing to the SQL side in a VB program, but I know there's a huge benefit to doing that in Q4X.  The sqlite engine is a library written in blazing fast C (not even c++), and I do a LOT of game logic on the SQL side.  Many of my queries are dozens of lines long.  This means there's even less work, if any, I'll have to do in C++ down the road because the sqlite engine will already be faster.  Additionally, by doing work in SQL, I can make direct use of query optimization and I can add something very powerful to the database that doesn't exist on the A4X:  indexes!  The A4X databases does have indexes but does not have any dual column indexes, and has at most one index per table.  Since my last update I have added 5 new multi-column indexes to the database (and will be adding more) and saw the run-time in one query (related to system body naming) go from >2000ms to 13ms!  I am very excited to see what other super easy speedups will be made possible with more indexing.  (By the way, no disrespect to the A4X database, it is organized very well and I don't think Q4X would have been possible without such a clean schema!)
Posted by: Kyle
« on: November 02, 2018, 12:59:44 PM »

Progress update 2018-11-02:

Done with Galaxy Map!!*  This one was a hefty one because unlike all the other windows, I didn't have anything done in a previous pass.  So it was really like 2 ½ passes in one. 

*For now.  A few of the things not done in this pass: The Fleet Maintenance statistic is hidden since its usefulness is questionable. The Populations context menu isn't currently implemented since it's just a dubious list of numbers on the A4X side.  Map labels aren't done yet.  I'll get back to all of these later. 

I added an "Unsaved Changes" message when you've moved systems around but haven't saved them yet.  Also fixed a few things in Q4X that weren't working correctly in A4X:  Show time to system at speed below honors different speeds when they are entered.  Show Task Group Locations hiding fixed.  Double clicking Jump Point Data rows selects the system instead of erroring.  Col cost 7 to 10 stats are correct.  Select Random color works.  Planets tab shows comets.  Survey point cost doesn't overlap with sector name. Open Fleet Window and Fleet Moves on the context menu have been combined into just Fleets, since they seem to be identical in A4X.

As for a list of what I've done since my last post, the short answer is pretty much everything else.  The long answer is feel free to try it and see! 

And a special mention for 'Show distance from selected system'.  This required creating the code that finds the shortest path between any two systems taking into account distances between warp points in a system.  (Thanks to Dijkstra for the assistance.)  This will be re-used many times later on, so it's nice to be done with that!

Colony Summary is next!  It's really like 12 windows rolled into one so that'll probably be broken into a few updates. Fortunately, the groundwork is already in place for this one!
Posted by: Kyle
« on: October 25, 2018, 02:57:56 PM »

Progress Update 2018-10-25:

The first update containing realtime animation! (Also the last one!)

Rather than go silent for many weeks, I've decided to post an update on what I've got done on the Galactic Map so far.  I'm really happy to have realtime dragging!   Also the quirky color scheme of A4X's multi-select has been replaced with a diagonal line effect.  Fun fact, the circles, rings, and diagonal lines are rendered using a GL Shader, for ultra fast performance!  This means theoretically tens of thousands of systems could be rendered and dragged around with not too much of an FPS hit, and look crystal clear at any zoom level.

There is still a lot of work to do on the Galactic Map, but a lot of the heavy lifting is done.  The graphics, selecting, and dragging are all done, as is pulling real galaxy data from the database and rendering it.  Nothing in the animated gif is a placeholder for demo purposes, the numbers are actual calculated colony costs, lines represent real connections from surveyed data, system positions are saved and loaded to disk.  Zooming and scrolling is implemented as well.  Here's the full list:

- Sidebar View dropdown, GUI layouts for all sidebar views, Refresh All Map Data button, Scroll Map, Zoom Map, Minimize Sidebar, QV button, QV panel, Map display Options all load and save to disk, Show suitability 2 to 2.9, Show Suitability 3 to 5, show uncolonized <2, show uncol < 4, Show Task group locations, Map Key panel, help panel, Save Positions, Restore positions.   Map graphics: hull icon for fleet present, orange lines for jump gate connections, green lines for non-gate jump connections, bright green for currently focused system, empty circle for systems without bodies, blue/cyan/gray tiny circles for stats, drag, and multi drag.

What's next is a tossup.  I may shift gears again and go back to my alphabetical pass thru of all windows, which would mean working on the colony summary, or I may continue on the Gal Map, or a little of both.  I will be slowing down my pace the next week or so to enjoy some other activities.  Marathon runners gotta pace themselves! ;)
Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54