Other Games > Quasar4x

Quasar4x - An Aurora4x VB6 clone

(1/110) > >>

Kyle:
State of the Game, as of 2021 July 27th

Quasar4x can now be considered a fully playable game, as all the features including AI are in place now.  Star Swarm was recently added. The only obviously missing feature is Invaders.  My original goal has been met, the game is fully playable and feature complete.  I continue to add QoL features and make fixes.  Further testing and fixing will always be needed.

You can download the game here: https://ozer0.itch.io/quasar4x


Original Post:

As I mentioned in this post, I'm hoping to create a replica of Aurora4x that functionally behaves identically to the original version, as deterministically as possible. I've made progress since my initial post and would like to share some screenshots now, as well as a bit of info about my project.

Here are my objectives for the finished product:

A REPLICA As mentioned already, it should behave identically to the original version.  This means I should be able to load up Aurora4x and Quasar4x side by side, on identical database snapshots, and every action I take should have the same effect in both games.  Further, every control, every button, every piece of the UI should be present in the same location so that an experienced Aurora4x player will feel right at home and know where everything is and what everything does. The database is identical.  It contains all the same pregenerated names for systems, ships, commanders, and so on.

With all that said, note that I am not matching Aurora4x pixel for pixel.  I use a larger font wherever possible and a dark theme for eye comfort. The system map has a slight control layout adjustment but is still largely the same. Finally, and I know this will be a dealbreaker for many, but I've reverted to American English spelling.  I am not matching action for action either when a fix is necessary, for example in A4X searching by two traits in the Search Leaders tool doesn't seem to work correctly.  In Quasar4x, that is fixed, and stats are displayed for both abilities, not just ability A. It's hard to explain why I feel this is not breaking the don't-change-anything spirit of the project, but hopefully you see the reasoning behind it. 

FAST The primary inspiration for this project is to improve upon the incredibly slow speeds that turns in Aurora4x can take when things start to really get going.  I hope to improve turn times by 10x or more through in-memory database caching, parallel processing, and C++ optimizations where profiling suggests it's needed.  And of course by not using VB6.

PORTABLE The engine I use can compile for Windows, Linux, Mac, and tablets.  I use all of these regularly and I will definitely make sure they are all supported.  It should also be a bit more portable and future-proof than VB6.


FAQ:

Q. What engine and why?
A. Godot.  It's portable and open source.  It is well optimized for GUI intensive applications, as compared to Unity which has slow and limited UI capabilities (16k maximum lines in a text window last I checked), and it renders everything every frame.  Godot is simple and straightforward, which is perfect for a game like this.  And Godot uses GDScript, a forgiving language that allows for quite rapid development.

Q. GDScript?  But... But... C#!
A. Never fear, this is another awesome thing about Godot.  It allows you to write any part of the program you desire in C# or C++.  So GDScript will be used where possible, and C++ will be used for intensive calculations where speed has become an issue.

Q. What database platform?
A. SQLite.  Its open source, portable, and quite fast if used correctly (Group multiple inserts and updates in single transaction, for example).  It's super simple and straightforward, perfect for this kind of project and for fast development in general.

Q. Why not wait for Steve's C# version?
A. I have been, for years!  But I'm impatient!  Also, I am predicting Quasar4x will be closer to Aurora4x than Steve's C# version will be. I believe he has improvements and new features in mind, whereas I want to remake a classic that looks and feels like the original.  Also, it will be nice to have a project I can work on myself.  If and when Steve releases A4X C#, I'll continue with my project because I feel the C# version will be different enough to feel like Q4X will still be worth having around.

Q. Do you really think you can copy all the AI logic that goes on behind the scenes?
A. Perfectly? Nope, probably not even close, sadly, unless Steve changes his mind and gives me a peek.  I do have a process to ensure Quasar4x replicates Aurora4x's behavior however, which can be applied to the AI logic.  I take a snapshot of the database before and after I take a turn in Aurora4x and use a script to analyze what changed. I do the same with the UI controls as well.  Finally, when I run out of clues as to how the AI thinks, I guess I'll have to come up with something original, which can help keep the project fun!

Q. Are you gonna get tired of the project and give up?
A. Not gonna lie, it could always happen.  I might even give up tomorrow!  I'm a pretty determined and motivated person in general though.  It helps that this is a project I've been wanting to do for years now, and every time I thought about it, I had no doubts it was just what I wanted to do.  I play lots of Steam games so I shouldn't get burned out too easily on this.

Q. Do you have any collaborators?  Want any?
A. Nope, and nope, not for now anyway.  I'm OCD about everything being how I want it, so if something doesn't look like I made it myself, I'd probably ignore it, or at best copy paste parts of it in. If Steve wants to collaborate of course I would do that, but currently he isn't interested.  I'm fully prepared to be solo til the end and am fine with that!  This is a hobby project and so far I'm enjoying it.

Q. Why are you so dead set on making an exact replica with 0 enhancements?
A. I like Aurora4x pretty much exactly the way it is.  I don't think there's a thing I want to change. I think a lot of people are probably 95% happy with the existing game as well, and I doubt nearly that many would agree on a particular change, or that the change would actually be that good. Statistically, most ideas turn out to be bad. Also, adding embellishments can lead to ever increasing project time as the developer gets lost in the weeds.  An "exact replica" is a concise, finite, self explanatory, and reachable goal. 

Q. So, an Aurora4x clone.  Are you really not going to add anything more?
A. I do have a few pie-in-the-sky dreams of adding multiplayer and adding ever increasing depth to the AI.  I've always kind of wanted to make a game with computer components that seem human-like -- not in the species they are in game, but in how they play the game, as if another human were controlling their empire.  But for now, those are all just maybes.  I'm willing to bet by the time Quasar4x is completed I'll want a good long break.

Q. Isn't this.. an insanely complex and daunting task?
A. Yep

Q. Hows your progress?
A. I'll try to keep this thread updated.

Q. Can I try it?
A. Sure. https://ozer0.itch.io/quasar4x.  Be warned, the game may still have bugs and crashes.

Kyle:
Game Details:
Off-Topic: show

Create New Game:
Off-Topic: show

System Map:


System Map - Body Info:
Off-Topic: show

System Map - Sensors:
Off-Topic: show

System Map - All Bodies:
Off-Topic: show

Colony Summary:
Off-Topic: show

Colony Summary - Environment:
Off-Topic: show

Colony Summary - Mining:
Off-Topic: show

Colony Summary - Research:
Off-Topic: show

Colony Summary - Ground Units:
Off-Topic: show

Colony Summary - Teams:
Off-Topic: show

Colony Summary - Industry:
Off-Topic: show

Task Forces:
Off-Topic: show

Class Design:
Off-Topic: show

Ships:
Off-Topic: show

Fleet Orders:
Off-Topic: show

Commanders:
Off-Topic: show


Kyle:
Misc info about the screenshots:
- If you see '?'s scattered around, those are just my little TODO reminders to show that I have some more work to do on the immediate code. 
- Most buttons don't do anything. I am in the process of UI design and populating controls with data from the database
- I don't show them all but every tab in every window is fully designed!
- Quite a lot is functional.  For example on the leaders page, it really pulls from the database and displays all the info, and the info changes when you click a different rank or different officer.  The ability dropdowns in the search panel work and it displays leaders ordered by their stats, with your requested filters applied.
- The system map is very functional.  You can zoom in, out, pan, and most of the controls that dictate what is displayed are functional.



MasonMac:
Interesting project, hopefully it does get more attention. The source code being available may also mean that we get mods, yeet.

MarcAFK:
Modding Aurora has always been a dream of mine, mostly I want a way of tweaking the mechanics to work as a modern military simulator. However.... There might be other engines more suited for it :p

Navigation

[0] Message Index

[#] Next page

Reply

It appears that you have not registered with Aurora 4x. To register, please click here...
There was an error while thanking
Thanking...
Go to full version