Author Topic: Preview release  (Read 13095 times)

0 Members and 1 Guest are viewing this topic.

Offline se5a (OP)

  • Lt. Commander
  • ********
  • Posts: 288
  • Thanked: 30 times
Preview release
« on: February 02, 2019, 02:20:47 PM »
In an effort to drum up some interest and get some help, I'm doing a little pre-release to show the direction I'm trying to drag this project.
currently there's only a Linux version:

Should work with ubuntu 18, though you'll likely have to install SDL2.
let me know if it *just works* or if you needed to install other libraries etc.

I'll try get a windows version up soon, but it doesn't seem to like running in a virtual machine so I'm unable to test that it'll even work, maybe someone will take an interest and build from source for me?

I'm aiming for a single system mini game where you need to destroy an asteroid heading for earth, currently we only have the inner planets (I kept wanting to write a script to grab data from nasa and convert it, rather than manually add all the planets and asteroids, but havn't gotten around to it yet)

I've gone a different direction with the movement to what you're used to in aurora
It's using a simple patched conic system - everything orbits. idea is you translate (non Newtonian) to another position in the system where your Newtonian movement from before the translation takes affect again and you end up in some sort of orbit at the other end. in the move order you can tweak the prograde and radial 'Newtonian' movement. and can change your current orbit in the same way.
Things that are on the near future todo:
The UI for this needs some cleanup as it's pretty ugly, but should make some sort of sense. I hope.
It doesn't detect if you exit/enter another sphere of influence.
It can't handle para/hyperbolic trajectories.   
No collision detection with planets etc, so if your orbit takes you into the planet, nothing happens.
There's a bug where your orbit after a translation move sometimes wont match the predicted orbit from when you gave the order.
Somewhat more distant todo is to make the movement less micromanage-y and let ship captains handle the minutiae of setting the orbit - I want to decrease the micro and increase the macro as the game progresses.

You can shoot at the incoming asteroid and it'll unspectacularly break into two more.
The fire control ui is also horrible.
The current weapon is a placeholder and has infinite range and destroys the target with a single shot.
The current damage code is pretty much just placeholder.

What this version doesn't do:
There's no way to move cargo around, this is mostly ui work, but there is some gameplay code that needs to handle this too, ie how close to a planet should a ship be to be able to transfer cargo to a colony?
There's no ship design or anything. it's something that needs doing in the ui.
Save/Load is broken, but that's (mostly) just ui work, I've prioritized this very low since there doesn't seem much point being able to if there's no game to actually play.
Network play has some code, but it never quite got to a state where it worked, and I've changed a lot of underlying code since I messed with that so that needs a ton of work. 
Can't view other systems - I've started writing a galactic map, however I'd have to put ships or colonies in those systems to make *anything* in them viewable due to how sensors work. I'm going to have to look at this, and make an SM mode that can view everything.

If you're interested in helping out, esp if you can handle the hard math, or have some ux ideas, then chat with me in

Don't be too disappointed with what you see (or don't see) this project has gone around in circles and bits have gotten re-written over repeatedly due to the complexity of the whole thing. it's one of those projects that look simple on the surface but underneath it's extremely complex. also note that there is a bunch of stuff going on in the background that is just not viewable in the ui because there is no ui to handle it. ie, it's possible to construct installations in the code, but there's no ui do handle giving the order to do so.

You can hit esc to bring up a menu and get an options/settings window once the game is started. have a mess with the map settings in there to change the orbit ring stuff. it's kind of nifty.
Right click on the ship names to bring up a context menu to give them orders.
« Last Edit: February 02, 2019, 02:31:55 PM by se5a »
The following users thanked this post: JakeLoustone, sublight, s20dan, ropedog

Offline se5a (OP)

  • Lt. Commander
  • ********
  • Posts: 288
  • Thanked: 30 times
Re: Preview release
« Reply #1 on: February 03, 2019, 02:27:52 AM »

Unable to test as it doesn't like running in a virtual machine for some reason.

Offline MasonMac

  • Registered
  • Warrant Officer, Class 1
  • *****
  • M
  • Posts: 93
  • Thanked: 31 times
Re: Preview release
« Reply #2 on: February 03, 2019, 04:15:45 PM »
Erm, what do we do to open the game for the windows version.

Offline se5a (OP)

  • Lt. Commander
  • ********
  • Posts: 288
  • Thanked: 30 times
Re: Preview release
« Reply #3 on: February 03, 2019, 10:05:54 PM »
I should probably get it to name the executable to be a bit more obvious, by defualt it gets its name from the project name,  and get around to doing icons etc too.
basically, unzip it and run Pulsar4X.ImGuiNetUI.exe  - it should be the only executable in the directory.

Offline s20dan

  • Leading Rate
  • *
  • s
  • Posts: 12
Re: Preview release
« Reply #4 on: February 28, 2019, 10:39:00 AM »
It's great to see some progress with Pulsar.
I gave the windows build a try on win7 x64 and get an error when starting a new game :"  Sensitivity is-15000 *Must* be a positiveNumber "

You can clck ignore and continue on.

I was able to intercept the asteroid with one of my shps mostly by fluke, but wasn't able to use the fire control I couldn't see how to set a target.

Clicking change orbit opens a menu, but after entering new values and clicking Action Command causes a crash: "Unhandled Exception: System.ArgumentException:  Timespan does not accept floating point Not-a-Number values."

Anyway, I really like the idea you have going here, it's certainly a big step up from Aurora's orbital mechanics. Just watching the asteroid zoom past at extreme speed has me thinking of possible kinetic bombardment weapons in the future :)

Offline se5a (OP)

  • Lt. Commander
  • ********
  • Posts: 288
  • Thanked: 30 times
Re: Preview release
« Reply #5 on: March 01, 2019, 01:01:08 PM »
Thanks for testing, glad it's running on windows at least.
I'm unsure why the sensitivity error is showing, since it's not throwing that in the linux build, it's something to do with the sensors, I'll have a look and see if I can get the error message to give more info when it throws.
[edit]: ok I've found the problem, mono seems to be ignoring debug.assert which is used here for some reason, rather than throw new exception. there's a comment in the code to have this not crash but just reject the component as valid. so it is happening in linux, just it's doing it quietly. I'm not going to change anything right now though, till sensors get a revisit. what's happening is pretty much that it's making this particular sensor have an infinite sensitivity.

The fire-control ux is horrible,  but the left is actually a list of fire control, clicking on the name of the fire control (FC 0 in this case) will expand the window and give weapons and targets to assign to that firecontrol. I could make the name a button or something to make it more obvious, but I don't like the layout at all, however I don't currently have any bright ideas on a better layout.

The error you got on change orbit is likely due to you trying to give it a parabolic/hyperbolic orbit. it would have thrown that when trying to calculate the time since epoch - the last time it was at the periapsis.

I'm currently trying to work on cargo transfer mechanics/ui. it's slow going at the moment though due to IRL workload.

« Last Edit: March 01, 2019, 01:29:52 PM by se5a »
The following users thanked this post: JakeLoustone, s20dan