Possible adoptee project: Destination Sol

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
So early this past weekend @PrivateAlpha came across an interesting post on Steam from a little arcadey space game called Destination Sol. He brought it to my attention and it stuck out from being written in Java on LibGDX, even working on Android. It is a cool little game you can play through in 2-3 hours, put together as a sort of tech demo to prove it could be done (sound familiar?), then making it to Steam and Google Play (free). Quite positive reviews too.

The main author wants to move on to other projects and is looking for a new home for the project rather than leave it abandoned. Open source came up as an option.

Why is this interesting to us? The technology and platforms involved, not to mention the genre isn't too far off (it is sort of like Subspace meets Terraria - since everything needs to be described as a hybrid of two other games these days). Lots of procedural work in the solar systems, with enemies spawning and asteroids flying around. Mainly it is a successful project built on LibGDX that has both working Android and Steam "facades" + a fairly straight forward implementation target to see Gestalt applied to a different game.

PrivateAlpha was excited to work in a more scifi setting and was curious what I thought and it seemed like solid potential for both sides. I reached out to the author and we've been emailing back and forth for a couple days. He's interested and likes the idea :)

Since naturally posting that you're up for turning over the keys to a successful (if niche) Steam title gets a lot of responses he had asked for people to put their coding skills where their mouths were. So curious to check it out we gave it a quick try - I hooked it up with Gradle so we could build it in Jenkins and PrivateAlpha added a new .. ship, of sorts ;)

Destination Sol_2015-04-12_18-39-19.jpg

The main author, Milosh, was curious to see how our community might like the idea. I know we're plenty busy with Terasology already, but there are some interesting options to improve both sides at once here, long term. We can learn more about LibGDX, Android, Steam, and so on, while our Gestalt frameworks could hugely improve DS and prove themselves useful beyond Terasology. Not to mention it is a fun little game and it would be neat to see where it can go.

I'm not asking anybody to work on it, but I know PrivateAlpha is eager and @Immortius thought the idea was interesting on the Gestalt side. I've talked a bit to @SuperSnark as well on maybe introducing a space alien race based on Gooey - rather than just a silly ship thrown together real quick :D

In short if we were to go for it primarily we'd just set up the infrastructure to let any contributor submit code just like for Terasology and handle the overall administrative stuff (which has me written all over it - bring it on!). Maybe if we successfully implement something like modding using gestalt-module we could use the same structure with module repos and so on. Perhaps even check out integration with Steam Workshop.

Thoughts? Interest? Objections? Pinging @Adeon as well for bonus Russian :cool:
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Unless any issues are discovered in the way I did the migration I believe https://github.com/MovingBlocks/DestinationSol is ready :)

It was surprisingly easy using the SubGit tool (I'm sure there are other easy ways too) + a bit of improvising when I realized Subversion only grabbed the "trunk" dir off Sourceforge. I guess it gives you top level "mount points" into its repository but marks the whole thing every commit, huh. So I had to grab the other two dirs for completion as separate Git repos then merge them into the main one, taking a bit of simple inspiration from this post. It ended up something like this (warning - nerdy details follow!):
  • Make an author mapping file between Subversion & Git
  • subgit import --non-interactive --authors-file authors.txt --svn-url svn://svn.code.sf.net/p/destinationsol/code destsol.git
  • git clone --no-hardlinks file://C:/Dev/DestinationSol/Migrate/destsol.git
  • Rinse and repeat for two other pieces (groundTemplates and solWin)
  • Move the content in the other two repos into a directory so they will go somewhere sensible in the main repo
  • Add remotes to the main local repo to the other two and merge in the stuff from there
  • Push to GitHub
Making sure all the history is intact is weirdly important to me, even though I realize a lot of it won't matter much - in particular since the two smaller parts (just some launcher stuff and a few graphics) were moved so you can't see the old history on GitHub. But it is still there! Can see it with a command like git log --follow solWin/sol.sh

Well, you could, but I think we'll be doing a lot more moving and renaming to tidy up and get it looking more like our conventions, so that might not work much longer :)

There's a new DestinationSol team on GitHub where I've invited Milosh and NoiseDoll, the two currently active devs. Will set up build job and eventually a subforum around here + channel on Slack when activity calls for it.

Edit: The IntelliJ setup is in place but there's no automatic run config yet. Make one with the following:
  • Main class: com.miloshpetrov.sol2.desktop.SolDesktop
  • Working directory: main
  • Use classpath of: desktop
 
Last edited:

theotherjay

New Member
I found the Destination Sol project on Steam only two days ago while I was browsing game offerings that might pique my interest. I wasn't planning on finding anything that would get the developer in me excited, but, lo and behold, I found myself in the middle of an open-source, LibGDX, space RPG game/engine! I resisted the urge to get excited about it because my life is in flux and I don't like starting something unless I know I can stick with it for awhile.

Well, two days have passed. Last night I got my local IntelliJ environment setup with the latest code from GitHub and I decided to add some UI control functionality (I modified the game to provide "brakes" to the player so he can slow down). So, using the down button gives reverse thrust. It is a little quirky because I didn't define up-front what "brakes" were supposed to be. So now, when I play, pushing the down button basically acts like having rockets in the front of the ship :laugh:.

I've never used Gradle before (most of my professional dev work has been in Microsoft shops - C#, Visual Studio, TFS, etc), but it seemed relatively straight forward to follow your (Cervator's) instructions to get everything running. I probably would have saved myself some time if I saw this forum thread because I had to spend a little bit of work getting back into the Java and IntelliJ mindset and remember how to debug locally with that environment (Cervator mentioned how to setup IntelliJ to debug against SolDesktop.java while working against the main folder).

I'd like to share more about my background, my interest in game development, and the direction I would like to help shape for Destination Sol, but I'll save all of that for another post. For now, I would like to say hello and I'm excited to be here!
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Welcome! We met on IRC a short while ago. Glad to have your interests and contributions! :)

Try to fork the main repo on GitHub and push your code to your fork. Additional thrusters is definitely on the ideas list, maybe differing by ship or even ship fitting :geek:

I expect we'll have a first news post up on Steam with some more contributor info within a week or two. Just so much to do, all the time! Life can sure keep you busy.
 

SimonC4

New Member
Contributor
Hi there. Like @theotherjay, I too stumbled across this on Steam. I think the game looks pretty fun and was excited about it being open source. After downloading the source, I followed a similar pattern and also implemented "brakes" that act like reverse thrusters. Funnily enough, I don't think it necessarily makes the piloting of the ship any easier. So a reasonably priced add-on might be a good option.

Anyway, I thought I'd drop in and say hi. I'm interested in this in a part-time hobby sort of way and I've created a fork and I'll push any updates for review and comment that I think might be useful.
 
Top