In September last year I decided to tinker a little bit in the Starshatter's source code. I looked around, compared various repositories - mostly Luomu's, Rogerioy's, and Lightgemini's, the three that have unique and meaningful commits in them. I picked a good point to fork off while preserving the ability to easily merge for as long as I can. Now, even tough it's mostly to tinker around I still wanted to have some clear goals for the project. They are:
- Consistent building across hosts for all components
- Have some fun in multiplayer with friends
- Port to native Linux (although, this one is not a strong goal)
I divided these goals into smaller pieces, but let's not bore you down right away.
So far I'm working on the first one. Most of other forks dealt with it in similar way: ignore unclear parts, change the environment until build finally works, merge everything together into one component and hope that it works. I took a different approach and rewrote the solutions from scratch in CMake. It's not perfect but it does its job across all of my machines with no or just minimal adjustments to the environment. I spent quite some time researching and finding the proper versions of the third-party libraries bundled together with the source (most of it was spent on Opcode). Oh, and I removed the Opcode's half-brother/sister and all these weird ".." - basically - Opcode builds and is properly linked to Stars45 now (which is very cool IMO especially if you have seen the previous state of the project).
I have some more sub-goals for building: to add def files from content/shatter packages to the repository, clean up licensing mess (Milo added licenses to all files but the copyright is at Destroyer Studios - that's not true from legal POV for my or others' updates - the copyright of the changes is held by the contributor or I'll write down some contribution agreement like some project do - we'll see, it's not that important with only myself active), set up MSVC build environment/CI, and couple others.
Actually, now that I think of it I probably should write down all sub-goals somewhere visible. I also was thinking about making some nice landing page for my project.
Sadly, there are no exciting changes at this moment (unless like myself you get excited by things getting built smoothly). At later date in order to accomplish the "have some fun in multiplayer" goal I'm looking to extend some game mechanics like Lightgemini did in Rearmed. For now I want to keep backwards compatibility, but when I finally reach that point I'll just do the "I'm the captain now" meme with the Starshatter Open as a whole. 🙂
Input, contributions, small-talk - all are welcome. I'll keep you all updated here once in a while. I also write on my personal blog about this project (well, once so far). I don't have the fastest pace, but I do have activity spikes once a few months.
Repository is here: https://git.ignore.pl/starshatter/
Homepage is here: https://ignore.pl/starshatter/
I actually totally forgot that Starshatter went Open Source, I am foggy on the whole copyright thing once its released Open Source can't you remove all that and anything to do with licensing and maybe just thank the devs in the credits or something?Â
I haven't installed Starshatter in some time, is there any install/config issues with Windows? And there was a lot of mods for this game would mods still work or can you incorporate mods right into the source (if permitted)?
I had these patch files for Starshatter in the download section, will all the patches be integrated into your build, so it will just be one install?
I actually totally forgot that Starshatter went Open Source, I am foggy on the whole copyright thing once its released Open Source can't you remove all that and anything to do with licensing and maybe just thank the devs in the credits or something?Â
It's 3-clause BSD, so technically I can as long as the original copyright notice is retained within the distribution of the source code and is reproducible in binary. I figured out weirder situations, so I'll figure out this one. It's just not my cup of tea really.
I haven't installed Starshatter in some time, is there any install/config issues with Windows? And there was a lot of mods for this game would mods still work or can you incorporate mods right into the source (if permitted)?
Person I'm asking to test my builds on Windows is running Windows 10 and they are not having any problems whatsoever. However I don't have the distribution of pre-built binaries set up just yet. I'm planning to have an FTP with some stuff I don't want to put into the git itself and I'll probably put some pre-built stuff there, too.
I didn't try out any mods yet, but because I didn't made any backwards-compatibility breaking changes I expect that Starshatter: TGS mods should work.
I sure can incorporate mods into the source. The question is - are they still mods then? 🙂 Seriously though, I have a growing list of modifications I want to apply to the "base game" - bug fixes and small balance changes (e.g., carriers fix for player landings, capital blind charge behaviour, PDS that can't decide whether it's good or bad). I also want to get some new stuff that seems fitting considering the original game design but I don't want to break the feeling that it's Starshatter, so I'm trying to think these changes through before I just throw them in (plus I have lots of fun still tinkering in building process - example being that the base game definition files are now being part of the code repository and are packaged into the 'shatter.dat' and 'content.dat' automatically).
I had these patch files for Starshatter in the download section, will all the patches be integrated into your build, so it will just be one install?
Yes, see above.
Some updates!
The automated building for self-sufficient packages is pretty much working now and I created my first distribution earlier this week. You can download it from the project's website, which I made last evening and published today.
For this week I plan to make some QoL/modernisation changes and overwrite the latest package. I probably need to think about proper release workflow, but I don't think it's that important as of now.
In case of problems, please let me know!
Hi Aki,
I just wanted to let you know that we had some issues with membership registration at Starshattermods.net and in the process of getting it fixed, I think I accidentally deleted your membership there. I'm very sorry about that and it was not intentional. If you would like to rejoin, just let me know and I will open up registration again for you. Sorry for the mixup on this and hope to have you back again.
Â
Bradd
@braddw25 Don't worry, stuff happens. I was inactive community-wise last two months, but I'm back with some news and updates. Also with Magic2 you requested :). If you open the registartion on your page in upcoming days I'll be sure to open an account there.
Two months of avoiding sleep and responsibilities yield rather small visible results, but I'm quite OK with the internal ones. I plan to write an in-depth blog post about it, so that the reader can make a consious decision to waste their time reading it rather than looking at a wall-of-text post of forums and giving up (and I sure like to write too much). Edit: Blog post is smaller than anticipated.
Anyway, here's a list:
- Magic2 is building and seems to work. I'll put the executable here Soon(tm). Edit: It's there.
- Started shuffling internal project structure. I'm still shy but I'm making nice progress and everything reproduces well across several build environments.
- Started moving towards standards: C++17 where possible and C(11?) and POSIX otherwise (e.g., C++ still can't handle sockets).
- I setup Windows/Visual Studio/MSVC build environment (which allowed me to build Magic2).
- NetEx and FoundationEx build under Linux with gcc.
- Headless server got split into own executable (Starserver.exe). Sadly, it still links to DirectX and related libraries, but thanks to shuffles and slicing the structure I'm moving toward a fully headless server that runs natively on Linux.
- Dedicated server option was removed from main executable in favour of headless server.
- Rebranded to "Starshatter: The Open Source Project" (I keep linking it because I want to bump it in search results, sorry if it's annoying).
That's about it. Probably something more, if you want to have a detailed view just take a look at the repository.
Another news is I tried out multiplayer with a friend and it seems to work. I was thinking about hosting a multiplayer games once a few weeks or once in a month with three main goals being: bug hunting, having fun, advertising.
Hi just discovered the game for the first time and i would like to thank you for still working on it. It's still better to start a game when someone is still developping it ( i know that one person is not a lot). I tried to download your version of the game on your site but when i played tutorials, there was no voice ( but effect sound where there). Tried the Hard light version and it worked. And do you know how to register on the starshattermods site ?
Thanks !
there was no voice ( but effect sound where there).
I'm gonna confess that I don't have vox data available in my usual environment so I might have broken something small when porting to MinGW. I'll confirm it when I'll be wrapping up DataLoader port to cross-platform code (that's somewhat related). Thank you for reporting!
And do you know how to register on the starshattermods site ?
I never got in touch with braddw in the end and I think he's the only gateway to that site at the moment.
Hi just discovered the game for the first time and i would like to thank you for still working on it. It's still better to start a game when someone is still developping it ( i know that one person is not a lot).
My free time is rather limited (I planned some holidays in September, so in usual Polish fashion I will work around the house and hopefully make some good changes to the game), but I'll try to keep it coming. I hope you enjoy it and stick around!
I haven't used these files in a while, but the vox data is in the download section here: https://spacesimcentral.com/downloads/N-S/Starshatter_TGS/vox.7z
Â
@jojosensei I finally got to look at the Vox problem after finishing up the dat format reimplementation. Anyway, the vox.dat that e.g., DarkOne linked above contains only pilot voices of regular military stuff like "Foxtrot One," "Request Picture" and other generic radio communication. If put into the same directory, it appears to work for me just like expected. What's missing are the scene/campaign voice lines and music. I looked at my original game and it appears that they were distributed as-is directly in the game directory. I completely missed them in my distribution. HLP's 7z distribution from the main download thread - did not forget them.
If you copy over "Vox" and "Music" directories and the "vox.dat" archive, I'd expect all of the voice lines to work.
I'll distribute those together with the game in the next release which I'm planning by the end of September.
As promised, I just released a new development build and wrote a somewhat short development update. This release includes all vox and music data, so the previously reported issues should be fixed. If they are not feel free to contact me here, HLP, or in the newly created Discord server.
Another change that is also part of this dev build is removal of Datafile utility in favour of a new dat tool. The interfaces are similar, however the underlying implementation is completely different, including the module directly responsible for dat archive format that is used within Starshatter itself. The implementation is now compatible with Linux and the tool itself can be used to package the game without Wine emulator in future.
Again, if you see any bugs, want to contribute, or have any questions, feel free to contact me here, HLP, or in the Discord server.