Rogod
|
|
« Reply #100 on: October 18, 2020, 01:10:46 PM » |
|
Thanks man :D It looks like everything's going to be ok afterall: (Fully playable Linux Startron on the left, fully playable Windows Startron on the right) (All we're missing is music and the Captain's log is a bit funky because the arrowkeys don't work :D) I can't think of anyone who's actually attempted what I just pulled off here lol; not even the guy who made Dwarf Fortress bothered - he went straight for the "I'll make my own console" approach.
|
|
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #101 on: October 19, 2020, 01:04:03 AM » |
|
Write a post-mortem blog post once you're done, I bet it'll go viral
|
|
|
Logged
|
|
|
|
Rogod
|
|
« Reply #102 on: October 19, 2020, 02:51:12 AM » |
|
@JobLeonard Assuming I release v0.49 soon and provide a Linux distribution, which flavour is best for this? - Or will it work anywhere if I just compile for Ubuntu x64? (Surely I don't need to make 1 build for each of the ~5347854 versions of Linux xD)
(All it requires is libncursesw5 by the way - everything else should come with it - and the readme provides novice-instructions too)
|
|
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #103 on: October 19, 2020, 03:44:28 AM » |
|
I think if you build a static binary it should run on any Linux x64 platform. Whatever extra size overhead it brings I bet it'll be insignifant compared to even a single art asset of most other games
|
|
|
Logged
|
|
|
|
Schrompf
|
|
« Reply #104 on: October 19, 2020, 04:13:12 AM » |
|
From my experience, linking the runtime statically, and using that weird "-Wl,-rpath=." switch so it looks for possible SharedObjects locally instead of at some fixed path, should be enough. It'll still fail at very old distros because the ABI sometimes changes, but you should be as safe as it ever gets on Linux.
|
|
|
Logged
|
Snake World, multiplayer worm eats stuff and grows DevLog
|
|
|
Rogod
|
|
« Reply #105 on: October 19, 2020, 04:17:30 AM » |
|
Am not sure I know what we're talking about here lol All I'm doing is running a command in my C# project directory and it spits out a Ubuntu build - how would I know if it was static or not? And where is this switch for shared objects typically performed in the process? Once this build runs, I get a Startron file I can run on Ubuntu - is that going to be enough do you think? :S Or have I got to do something else here?
|
|
|
Logged
|
|
|
|
Schrompf
|
|
« Reply #106 on: October 19, 2020, 04:29:49 AM » |
|
Uh, yeah, I see. From the "ascii" I wrongly assumed you're using C/C++ or some other native language. Unity should already produce a package that somehow runs everywhere. And in case it doesn't, you're out of luck as far as I know.
|
|
|
Logged
|
Snake World, multiplayer worm eats stuff and grows DevLog
|
|
|
Rogod
|
|
« Reply #107 on: October 19, 2020, 04:31:06 AM » |
|
This isn't Unity either lol Just using plain old C# and .Net Core here (And kernel32.dll and user32.dll except for the Linux build where it's now swapping these for libncursesw5) Maybe it's best if I just let folks try what I've been using as an Ubuntu build and see if it works for them - was just worried people were going to say "Noo, I need a Debian/BSD/SLES/RHEL/SUSE/CentOS build" (I can't tell the difference but I assume there's a reason it lets me choose from so many)
|
|
« Last Edit: October 19, 2020, 04:47:10 AM by Rogod »
|
Logged
|
|
|
|
Schrompf
|
|
« Reply #108 on: October 19, 2020, 04:52:49 AM » |
|
So I jumped to another unfounded conclusion :-/ Sorry.
|
|
|
Logged
|
Snake World, multiplayer worm eats stuff and grows DevLog
|
|
|
JobLeonard
|
|
« Reply #109 on: October 19, 2020, 09:33:18 AM » |
|
Well, I highly doubt that you are using any Ubuntu-specific features, and Ubuntu 18.04 is a long-time service release. Most Ubuntu-spinoffs should run that binary just fine.
|
|
|
Logged
|
|
|
|
|
JobLeonard
|
|
« Reply #111 on: October 19, 2020, 10:24:53 AM » |
|
Well... the intro movie runs! And the splash-screen! After that it quits as soon as I press any key without any error messages... Anything I can do to make it give some debugging info that could be useful to you?
|
|
|
Logged
|
|
|
|
JobLeonard
|
|
« Reply #112 on: October 19, 2020, 10:31:17 AM » |
|
Wait, false alarm: that's just how it responds to arrow keys somehow? Also I had to resize the console. It seems to work now though!
|
|
|
Logged
|
|
|
|
Rogod
|
|
« Reply #113 on: October 19, 2020, 10:33:55 AM » |
|
Awesome! Yea arrowkeys want to misbehave (I think the arrowkeys are navigating through previous terminal commands and attempting to feed letters in from things you've previously typed) There is apparently a library I can swap to (TermKey) if this becomes a problem later, but for now it's completely playable with just the letter keys. And resizing the console is apparently something Linux just can't do programmatically - unless there's a bash script I can get folks to run before the game starts to solve this? P.S. Presumably you're not on Ubuntu? - It would be useful to know what Linux flavours it definitely works with EDIT:The cosmos can be made very unstable by pressing play before the whole cosmos has saved (this results in it just crashing out when trying to do fairly mundane things like draw the lines between systems). I have solved the issue as far as I can tell (for v0.50) but it looked to be exacerbated by my slow VM. @JobLeonard did this problem affect you?
|
|
« Last Edit: October 19, 2020, 11:55:27 AM by Rogod »
|
Logged
|
|
|
|
|
|
|
JobLeonard
|
|
« Reply #117 on: October 21, 2020, 01:01:51 AM » |
|
I can live with that
|
|
|
Logged
|
|
|
|
|
a-k-
|
|
« Reply #119 on: October 23, 2020, 06:20:56 AM » |
|
Great progress on the Linux front! It seems to run fine on Ubuntu 18. A few issues I run into (with v0.52): - The window isn't fully redrawn upon resizes, so some characters turn to blank indefinitely (specifically, that happened while I was altering the horizontal spacing between characters).
- After a few rounds of new game and cosmos generation, the latter consistently resulted in a red "missing or corrupt" message. Seems to be fixed by restarting the game.
- Initiating cosmos generation or a new game while a save is in progress (either of the cosmos after pressing G or the game state after Q) core dumps with Unhandled exception. System.InvalidOperationException: Start may not be called on a task that was already started.
- Should the newly-generated cosmos appear on screen before clicking Play? For me the screen just continued to display the background stars animation, so it wasn't clear why confirmation was needed.
|
|
|
Logged
|
|
|
|
|