Knuckle Cracker

Creeper World 3 => Gameplay Discussion => Topic started by: knucracker on January 08, 2014, 08:58:06 pm

Title: CW3 Linux Native Version
Post by: knucracker on January 08, 2014, 08:58:06 pm
I have posted a native linux build of CW3 here:  http://knucklecracker.com/forums/index.php?topic=14505.0 (http://knucklecracker.com/forums/index.php?topic=14505.0)
I have tested it under Debian 7.2 briefly.  If you have a linux system, give it a shot and let me hear back with your results.
Title: Re: CW3 Linux Native Version
Post by: lvdata on January 09, 2014, 01:51:44 am
It seems  to work ok. I was able to copy my CW3 directory from my Win 7 x64 to Ubuntu 13.04 x86 and retained my status of having finished the main game.  I am running it on the same hardware, and performance wise it seems to be about the same. Anything in particular you would like tested? CRPL scripts? A system/planet that would be more of a torture test?

LvData-Ubuntu is my player ID for CS and DMD maps I play under the Linux version.  Just look at the bottom of the score lists, as my preferred play style is to both turtle and OCD it and make sure all my units are on a nice grid, organised and on flat smooth terrain.  Something I picked up from my SimCity days..... ::)

LvData
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 09, 2014, 08:33:10 am
That's awesome news to hear it worked for you and with good performance!
What kind of GPU do you have in your system?  Were the GPU drivers part of ubuntu or did you have to configure them by hand?

Now, additional things to test.  Please make sure you have any important work closed on your linux machine before testing.  If the game sticks in full screen or something I don't want you to lose any important work.
- Try full screen and various window sizes.  Try resizing the window by dragging the bottom right corner.
- Try to load a mission using the Load File functionality from the main menu.
- Try posting scores, loading CS, DMD, etc.  Anything that uses network functionality.
- Try remapping input controls in the settings.  (Also, make sure the scroll wheel is working for zooming by default).

These are the areas I'm most concerned with since I've seen spurious reports with Unity and Linux with other games from google results over the last couple years.
Title: Re: CW3 Linux Native Version
Post by: Grauniad on January 09, 2014, 08:33:29 am
It's more in the "small detail" areas. Fonts, images, sounds. Stuff like that. Borders around stuff, all those little rendering details. Graphics quality.
Title: Re: CW3 Linux Native Version
Post by: steelwing on January 09, 2014, 11:16:44 am
Sweet! :)  I know what I'll be doing when I get home.
Title: Re: CW3 Linux Native Version
Post by: ponnuki on January 09, 2014, 04:41:13 pm
It worked fine for me (Debian testing, video card is reported by Xwindows as "Integrated Graphics Chipset: Intel(R) HD Graphics 3000"). I tried all the things suggested and they all work, including mouse wheel (so it's already better than wine!), remapping keys, network, full screen. Minor problems: When full screen, scrolling up and down by moving the mouse towards the edge of the screen does not always work; scrolling side ways work fine. In the "load file" screen, I get the error message "Directory '/Volumes' not found".

It did not work on my work computer due to an out-of-date libc - for which my boss will probably be thankful.
Title: Re: CW3 Linux Native Version
Post by: nineinchnick on January 09, 2014, 05:33:13 pm
I'm on Arch Linux x86_64. I had the 1.10 version running under Wine. Now I can run the game, but on the planets screen planets are not rendered. Sometimes I see the ship only. The  Return to Origin button doesn't work either.

Probably some libs are too new, Arch is quite a bleeding edge distro.

I tried it with vainlla settings and after copying mission files from wine dirs. BTW it's not using xdg dirs? It creates a Documents directory in my home dir and did not use my localized version.


I just checked out the Player.log in unity3d's dir and found this exception:
Code: [Select]
FormatException: Unknown char: .
  at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0
  at System.Single.Parse (System.String s) [0x00000] in <filename unknown>:0
  at XMLHelper.ReadFloatNode (System.Xml.XmlNode doc, System.String name) [0x00000] in <filename unknown>:0
  at InputManager.Read () [0x00000] in <filename unknown>:0
  at MainMenu.Awake () [0x00000] in <filename unknown>:0
 
(Filename:  Line: -1)
I'm on pl_PL locale where a comma is used as a decimal separator. I can't find any dots in double values in config files though.


Got it working when running with C locale.
Title: Re: CW3 Linux Native Version
Post by: steelwing on January 09, 2014, 05:48:35 pm
That's awesome news to hear it worked for you and with good performance!
What kind of GPU do you have in your system?  Were the GPU drivers part of ubuntu or did you have to configure them by hand?

Now, additional things to test.  Please make sure you have any important work closed on your linux machine before testing.  If the game sticks in full screen or something I don't want you to lose any important work.
- Try full screen and various window sizes.  Try resizing the window by dragging the bottom right corner.
- Try to load a mission using the Load File functionality from the main menu.
- Try posting scores, loading CS, DMD, etc.  Anything that uses network functionality.
- Try remapping input controls in the settings.  (Also, make sure the scroll wheel is working for zooming by default).
Slackware x86_64 on kernel 3.12.6, ATI Radeon HD 4350 using the radeon (xf86-video-ati) open source driver.  3D graphics library is Mesa 9.2.5.
Full screen and window versions work fine.
Campaign missions work fine (based on playing and posting from the first two).  Check my scores, posted under the name Steelwing.
I'm starting from scratch in this install, so I don't have access to DMD or Colonial Space yet.  I'll report on those once I've checked them out.
Key changes work, as does zooming by scroll wheel.
In order to exit, I had to click the Exit Game button twice.
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 09, 2014, 05:57:29 pm
I'm on Arch Linux x86_64. I had the 1.10 version running under Wine. Now I can run the game, but on the planets screen planets are not rendered. Sometimes I see the ship only. The  Return to Origin button doesn't work either.

Probably some libs are too new, Arch is quite a bleeding edge distro.

I tried it with vainlla settings and after copying mission files from wine dirs. BTW it's not using xdg dirs? It creates a Documents directory in my home dir and did not use my localized version.


I just checked out the Player.log in unity3d's dir and found this exception:
Code: [Select]
FormatException: Unknown char: .
  at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0
  at System.Single.Parse (System.String s) [0x00000] in <filename unknown>:0
  at XMLHelper.ReadFloatNode (System.Xml.XmlNode doc, System.String name) [0x00000] in <filename unknown>:0
  at InputManager.Read () [0x00000] in <filename unknown>:0
  at MainMenu.Awake () [0x00000] in <filename unknown>:0
 
(Filename:  Line: -1)
I'm on pl_PL locale where a comma is used as a decimal separator. I can't find any dots in double values in config files though.


Got it working when running with C locale.

Send me your InputManager.xml file.... and if you don't mind tell me where you find it on your system :)  This file gets created when you modify you key settings.  On windows it lives here:
c:\Users\virgilw\AppData\Roaming\CreeperWorld3\InputManager.xml


Title: Re: CW3 Linux Native Version
Post by: knucracker on January 09, 2014, 05:59:10 pm
That's awesome news to hear it worked for you and with good performance!
What kind of GPU do you have in your system?  Were the GPU drivers part of ubuntu or did you have to configure them by hand?

Now, additional things to test.  Please make sure you have any important work closed on your linux machine before testing.  If the game sticks in full screen or something I don't want you to lose any important work.
- Try full screen and various window sizes.  Try resizing the window by dragging the bottom right corner.
- Try to load a mission using the Load File functionality from the main menu.
- Try posting scores, loading CS, DMD, etc.  Anything that uses network functionality.
- Try remapping input controls in the settings.  (Also, make sure the scroll wheel is working for zooming by default).
Slackware x86_64 on kernel 3.12.6, ATI Radeon HD 4350 using the radeon (xf86-video-ati) open source driver.  3D graphics library is Mesa 9.2.5.
Full screen and window versions work fine.
Campaign missions work fine (based on playing and posting from the first two).  Check my scores, posted under the name Steelwing.
I'm starting from scratch in this install, so I don't have access to DMD or Colonial Space yet.  I'll report on those once I've checked them out.
Key changes work, as does zooming by scroll wheel.
In order to exit, I had to click the Exit Game button twice.

Try clicking the exit game button (on the main menu), then waiting a bit (like 30 seconds).  See if the game is just taking a long time to exit or something like that.
Title: Re: CW3 Linux Native Version
Post by: nineinchnick on January 09, 2014, 06:50:12 pm
Here's my InputManager.xml but I think there are some more xml files in game assets and they're the problem. Maps also contain double values. Maybe just add a bash script for running that will set LANG=C before executing the binary. Something like:
Code: [Select]
#!/bin/bash
CWD=`dirname $0`
LANG=C $CWD/CW3.x86

The paths are:
$HOME/.config/CreeperWorld3 - xml files and key
$HOME/.config/unity3d/Knuckle\ Cracker\ LLC/Creeper\ World\ 3 - Player.log
$HOME/Documents/CreeperWorld3/ - mission saves

I just played two missions, one from Alpha and one from Prospector Zone, in window and in full screen and everything works fine. Oh, and I'm on Intel HD4000 with Mesa 10.0.
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 09, 2014, 07:08:05 pm
The exception if from InputManager when it is trying to read the XML file.  It uses mono's XmlDocument to try to read and parse the xml doc, and that appears to be throwing an 'Unknown Char' exception on the dot that is in the first line of the InputManager.xml document:
<?xml version="1.0" encoding="utf-16"?>

If you copied this file over from windows installation, try deleting your InputManager.xml file and letting the game create it from scratch.  I'm curious if it will write it out with the dot in "1.0".

What do you mean by "maps also contain double values"?
Title: Re: CW3 Linux Native Version
Post by: jarbinks on January 09, 2014, 07:45:46 pm
Archlinux 64 bits here, I did a Alpha sector mission, it worked just fine with Bumblebee (for nvidia optimus), without it the CPU can't keep up, but that's fine.

Thanks a lot for this Linux version !
Title: Re: CW3 Linux Native Version
Post by: Michionlion on January 09, 2014, 08:25:37 pm
I'll be testing it as soon as I get my linux computer up, but in the meantime, will this version also work for SteamOS, or will that require something else?
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 09, 2014, 09:16:08 pm
It should work on SteamOS.  That's basically just Debian, from my understanding.
Title: Re: CW3 Linux Native Version
Post by: timotimo on January 09, 2014, 10:31:33 pm
I've briefly tested it on my 64bit linux mint 15 "olivia" (the version based on ubuntu) and it seems to work fine. Playing and submitting high scores, that is. I've played the first few levels of the campaign and here's the things I've noticed:


Thanks a lot for taking the time to polish up a nice linux port :)

It seems like you don't half-ass things at all, the whole thing is very polished and I was very happy to see that "fresh ideas in gaming" is more than just a crappy slogan; the campaign had some new twist to offer at every point!
Title: Re: CW3 Linux Native Version
Post by: lvdata on January 10, 2014, 01:25:53 am
The "Hardware" is a 2 core I7 VMware virtual computer. The hardware underlying the VM is a ATI Radeon 4550, 4core/8threadCPU w/ 18GB Ram, SSD for Boot, and Adaptc Raid for bulk data storeage.  The drivers are the normal VMware drivers installed from VMware Tools. No hand configuration necessary.

There is a graphics problem if you are in CS, and resize the window so that NO lines of missions are visible, the CS menu disappears, and you see the main screen. When I found this, I also tried it under Win7x64, and encountered the same bug, see attached screen capture.  

Also I just noticed the Icon is just a black outline of your command node.  

Resizing during play works ok, and full screen works ok.  

The load on the main screen keeps looking for "/Volumes" and repeatedly gives you a error message that it can't be found. "OK" is your only option, and if you ignore it you can eventually load a map from a file.

Network functionally is ok, I can retrieve and post scores, and the Forum link for each map works ok.

My mouse wheel works ok, and I can re-map keys and it will stick after exiting and restarting CW3.

LvData

That's awesome news to hear it worked for you and with good performance!
What kind of GPU do you have in your system?  Were the GPU drivers part of ubuntu or did you have to configure them by hand?

Now, additional things to test.  Please make sure you have any important work closed on your linux machine before testing.  If the game sticks in full screen or something I don't want you to lose any important work.
- Try full screen and various window sizes.  Try resizing the window by dragging the bottom right corner.
- Try to load a mission using the Load File functionality from the main menu.
- Try posting scores, loading CS, DMD, etc.  Anything that uses network functionality.
- Try remapping input controls in the settings.  (Also, make sure the scroll wheel is working for zooming by default).

These are the areas I'm most concerned with since I've seen spurious reports with Unity and Linux with other games from google results over the last couple years.


(http://imagizer.imageshack.us/v2/150x100q90/7/1vjn.jpg) (https://imageshack.com/i/071vjnj)
Title: Re: CW3 Linux Native Version
Post by: nineinchnick on January 10, 2014, 07:24:10 am
The exception if from InputManager when it is trying to read the XML file.  It uses mono's XmlDocument to try to read and parse the xml doc, and that appears to be throwing an 'Unknown Char' exception on the dot that is in the first line of the InputManager.xml document:
<?xml version="1.0" encoding="utf-16"?>

If you copied this file over from windows installation, try deleting your InputManager.xml file and letting the game create it from scratch.  I'm curious if it will write it out with the dot in "1.0".

What do you mean by "maps also contain double values"?

At first I tried running it with the windows file but then I just removed it. I didn't have any custom mapping anyway. That parser is funny to try to use localized double/float parser in that xml preamble.

Ignore my other ideas about other files, the exception clearly states where it happens.
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 10, 2014, 09:48:31 am
Let me summarize what I think are the three main issues that have been identified and what I can do about each one:

1: /Volumes access and other file related errors.  This was being caused by an old version of UniFileBrowser that I was using.  The popup file browse dialog you see when you try to load a mission from a file... that guy.  That was from the unity asset store and didn't support linux properly.  I've updated to the latest version, reskinned it, and things seem better now.  Interestingly, it was this same asset that caused the hold up on the Linux build, I just didn't know it.  The old version was calling Application.Exit() out of the blue because it didn't recognize linux.  That took a while to find, and was the main barrier to releasing the Linux build (hand slaps forehead, I know).

2: Resizing the window really small in CS causes a goof up.  This is a high level bug that affect all versions.  I've just fixed it.

3: At least on pl_PL locale, there is an issue parsing the InputManager.xml file.  Further investigation shows me that the problem is when I try to parse strings formatted as floating point numbers into floats.  The parse routine is culture aware so it expects commas in some locales.  I should be able to force a fixed format within the parsing routine.  This should avoid having to set LANG=C.  Hopefully, I won't break all other platforms when I fix this :)

There were other misc issues that some folks seem to have.  These might be related to GPU driver issues, or other things I don't have much control over.  Or they might be side effects to any of the three above problems.  I'll roll a new build with fixes for the above three things later today then  we can take it from there and see where it stands.
Title: Re: CW3 Linux Native Version
Post by: Jesster_King on January 10, 2014, 10:07:45 am
I am running linux but I don't know how to install it, kind of a noob at command line stuff.
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 10, 2014, 10:33:00 am
tar -xzvf CreeperWorld3-157-linux.tgz

Or there abouts...  That will extract the file into a CreeperWorld3 dir. 
There you need to cd in that CreeperWorld3 dir and run ./CW3.x86

There may be a graphical way to do this, but I'm not sure.  I would imagine that some file manager might let you double click the tgz file and then extract it.
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 10, 2014, 10:40:32 am
This parser/locale/cultureinfo thing is most troubling...
Turns out if I start from scratch on linux and specify LANG=pl_PL I will get an InputManager.xml file created where floating point values that have commas rather than periods.  Of course if I copy an InputManager.xml file from my US english windows box the InputManager.xml file contains periods.

Basically Float.ToString() and Float.Parse() use the current locale to determine their format.  That's just capital.

On your windows machine do you have it set to some locale that uses periods in decimal numbers (like us english)?  If not, then I wonder why your InputManager.xml file didn't contain commas.
Try this experiment.

On your windows machine delete or rename you InputManager.xml file.  Then run the game, then look at the InputManager.xml file that got created.  Look for this line near the top of the file:
<keyboardScroll>0.5</keyboardScroll>

Now do the same thing on your linux box.  On my linux system when I set LANG=pl_PL the line looks like this:
<keyboardScroll>0,5</keyboardScroll>

The question is what the line looks like on a non us english windows system (one where the locale uses commas rather than periods).
Title: Re: CW3 Linux Native Version
Post by: randomer on January 10, 2014, 01:55:56 pm
Hey,

it seems to run fine if I run the executable as root, however launching it via ./CW3.x86 as a normal user just opens a black window.
So I guess there are some missing permissions, but my user has read/write rights for the CW3_Data folder. Any idea what I might be missing?

Cheers,
randomer
Title: Re: CW3 Linux Native Version
Post by: nineinchnick on January 10, 2014, 02:08:34 pm
It shouldn't require root, I run it as a ordinary user from the beginning. Maybe you ran it as root for the first time and now it tries to overwrite dirs/files created by root. Check the log for error messages at $HOME/.config/unity3d/Knuckle\ Cracker\ LLC/Creeper\ World\ 3/Player.log

I'm attaching my log after clearing all save files and config files and running with locale as below:
Code: [Select]
LANG=pl_PL.utf8
LC_CTYPE="pl_PL.utf8"
LC_NUMERIC="pl_PL.utf8"
LC_TIME="pl_PL.utf8"
LC_COLLATE=pl_PL.utf8
LC_MONETARY="pl_PL.utf8"
LC_MESSAGES="pl_PL.utf8"
LC_PAPER="pl_PL.utf8"
LC_NAME="pl_PL.utf8"
LC_ADDRESS="pl_PL.utf8"
LC_TELEPHONE="pl_PL.utf8"
LC_MEASUREMENT="pl_PL.utf8"
LC_IDENTIFICATION="pl_PL.utf8"
LC_ALL=

It seems that config files are created properly but there are other game XML files created by Virgil with an english locale and the parser breaks on them.

BTW After I create the files with polish locale and then run the game with C locale all double values are rounded to either 1 or 0 :-) So it kinda works the other way.

Previously I played on wine. My wine in general is in polish but the game config files are created with dots. I can't test on a Windows box because I don't use Windows at all.
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 10, 2014, 02:26:25 pm
Yes... this is making sense in an odd sort of way.  Unity uses the mono runtime.  It seems that the version of mono they use always reports en_US when on windows.  So all of the windows versions think they are in the US locale regardless of the actual machine locale.  This is why all of the files, custom maps, etc. have data encoded using a period as the decimal mark.

Now the linux version of the mono runtime... it apparently reports the actual machine locale.  This is why the game breaks on linux if the locale isn't a locale that uses a period for the decimal mark.  Forcing the locale of course makes the game run fine as you have observed.

Now in theory I can force the locale for linux from within the game code itself.  I'm attempting to do that right now and will test. If so, this will correct the issue on linux.
Title: Re: CW3 Linux Native Version
Post by: timotimo on January 10, 2014, 07:30:37 pm
Please pass CultureInfo.InvariantCulture as the last parameter to Float.ToString or Float.Parse. That will be much more robust.

Details: http://stackoverflow.com/questions/147801/best-way-to-parse-float
Title: Re: CW3 Linux Native Version
Post by: timotimo on January 10, 2014, 07:35:30 pm
here's a tiny visual artifact i've experienced when zooming out a bit on my laptop, which has a "Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)" (it's a thinkpad x200s).
There are thin black lines visible in the "soylent" near my control node.
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 10, 2014, 07:45:40 pm
I've updated the link in the top post with a 158 build for all platforms, including linux.  Grab this version and give it a try.  If you are in a locale that uses commas for the decimal mark, then please nuke your InputManager.xml file before starting the new version.  If you don't you might have some commas in the file that will cause problems.  This is try for the linux build and of OSX as well.

I changed the way the app exits so you should no longer see a 'killed' message when you exit the game.  And I of course have attempted to address the locale problem.  The code is scattered with float and double marshaling and I can't be sure some package I use doesn't use that as well.  So I went with a technique for setting the default locale for the whole app.  For the windows builds this should make no difference.  Apparently the version of mono that Unity uses for windows had a lazy man's bug in that the locale was always reported as en_US.  So the windows builds always use a period for a decimal mark.  Only the linux and OSX builds actually report the locale properly.  Anyway, I force everything to invariant now so in theory everything should be cool.

I have tested under ubuntu 12.04 and tried pl_PL as a locale and the updated version of CW3 seems to work properly.  

Title: Re: CW3 Linux Native Version
Post by: knucracker on January 10, 2014, 07:47:36 pm
here's a tiny visual artifact i've experienced when zooming out a bit on my laptop, which has a "Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)" (it's a thinkpad x200s).
There are thin black lines visible in the "soylent" near my control node.

That is likely because of forced anti-aliasing in the GPU.  I have no idea where that is controlled under linux.  In windows it is usually in the control panel for the graphics card.
CW3 requires antialiasing be disabled for creeper rendering, else you get those overlap 'bleed' artifacts.  I disable AA in the code, but at least on windows GPU settings can override that.
Title: Re: CW3 Linux Native Version
Post by: timotimo on January 10, 2014, 08:10:34 pm
for intel graphics cards, the utility to do those things is usually "driconf" (for nvidia, it's "nvidia-settings"), but that doesn't have any mention of AA :(
A quick google search didn't turn up any way to force AA to be off or on for intel linux drivers.
Title: Re: CW3 Linux Native Version
Post by: Salmelu on January 16, 2014, 10:52:20 am
Thanks a lot for the Linux Native version. It finally made me register here to thank you.

About the functionality, everything seems fine yet, I've just played the first 2 missions and noticed no problems. I'm running Ubuntu 12.04, having integrated graphics card (Intel HD 3000) and using default driver installed automatically by my distribution. I will see, how well will the game continue working (I had finished missions + few dozens of alpha missions under wine, but I'm lazy to recopy my save and I want to enjoy the game again).

As for the only problem I encountered, I started the game from the terminal and upon exiting, I noticed an error there. It probably got there after I close the game, but I cannot be sure. However, all the options I set were kept, so I don't think the problem is that grave.
Specifically, I got this:
*** glibc detected *** ./CW3.x86: munmap_chunk(): invalid pointer: 0x0b98cbf0 ***
After that, there is a short backtrace (containing references to CW3 binary and c++ a c standard libraries, and a memory map, with the last entry containing SIGABRT.

I will be glad if that helps resolving any bug.
Thanks again for a good port.
Salmelu

P.S. I forgot to mention I am using version 1.61, so there should be the least bugs.

EDIT: I've finished the main story and started playing alpha sector maps. The game is still working without a problem for me, I haven't encountered anything unusual.
Title: Re: CW3 Linux Native Version
Post by: rayj on January 18, 2014, 12:10:21 am

Greetings,

First and most important, thank you for the native Linux version!

Here is my system:

Laptop: System76 - Kudo
OS: Ubuntu 13.10 64-bit
GNOME Flashback (NOT unity)
Memory: 7.7 GiB
Processor: Intel® Core™ i7-4700MQ CPU @ 2.40GHz × 8
Graphics: Intel® Haswell Mobile

I had to install these three libraries to get the game to run and the sound to work:

libglu1-mesa:i386 libasound2:i386 libasound2-plugins:i386

Tests:

Try full screen and various window sizes. 
  Maximize/Restore or Full Screen (via settings) works.

Try re-sizing the window by dragging the bottom right corner.
  Works

Try to load a mission using the Load File functionality from the main menu.
  Works

Try posting scores, loading CS, DMD, etc.  Anything that uses network functionality.
  I just checked Online Scores for one mission: works

Try remapping input controls in the settings.
  Works
 
Also, make sure the scroll wheel is working for zooming by defaul
  Works

However, I have two small issues.

1) Since I use the GNOME Flashback desktop, the gnome-panel crashes when run the game. Also, if I try to restart the gnome-panel is crashes. It will restart fine once the game is closed down

and

2) Any way to move the game data directory (it is in ~/Documents/CreeperWorld3).


Thanks!

--RayJ
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 18, 2014, 10:51:05 am
Thanks for the detailed feedback... it will no doubt come in handy for some other folks.
How did you determine which libs you needed to install.  Most of my testing was done with Ubuntu 12.04 desktop full install.  On that distribution everything seemed to work pretty much out of the 'box'.

For you data dir look here:
~/.config/CreeperWorld3/GameSettings.xml

Edit that and look for these entries:

<UseCustomDataPath>True</UseCustomDataPath>
<CustomDataPath>
some_path
</CustomDataPath>

You must change UseCustomDataPath to True and then you can enter a path in the CustomDataPath tag.  Make these edits while the game is not running.
Title: Re: CW3 Linux Native Version
Post by: rayj on January 18, 2014, 03:35:26 pm
Thanks for the info on the path change. I previously scanned the GameSettings.xml file but missed the "CustomDataPath"  settings.

As for the libs, when I first ran the game (via the terminal) it grumbled about the libglu.

A little Google searching and I found the answer: libglu1-mesa:i386 (the i386 for 32-bit version of the lib).

As I am using a 64-bit version of Ubuntu, the game wants the 32-bit libraries.

I installed libglu1-mesa:i386 and the game would run, but no sound.

I install PlayOnLinux to test CW1 and CW2 (worked fine), and then when I played CW3 it had sound.

I remove PlayOnLinux and cleaned the debris (via apt-get autoremove) but kept the list of files.

I played CW3 and the sound was gone again.

I checked the list and guessed the libasound2:i386 and libasound2-plugins:i386 were responsible, and re-installed them.

--

I still have not worked out why the gnome-panel goes away, but that is minor compared to the joy of play CW3 on Linux!! :D

--RayJ
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 18, 2014, 03:44:36 pm
Welp, if you or anyone else are game I'll post a universal 32/64 build for linux in tonight's beta.  That should run in 64 bit on 64 bit OS's.
Title: Re: CW3 Linux Native Version
Post by: rayj on January 18, 2014, 03:46:54 pm
Yes! I would be happy to test it.

Title: Re: CW3 Linux Native Version
Post by: steelwing on January 19, 2014, 04:52:49 pm
Welp, if you or anyone else are game I'll post a universal 32/64 build for linux in tonight's beta.  That should run in 64 bit on 64 bit OS's.
Testing out the new Linux build right now.
Slackware 64-bit, Mesa 9.2.5, radeon graphics driver
Resizing the window makes the screen go black for a while, but it eventually returns.
Clicking Exit Game causes the sound to shut off, but the game never actually quits, even when I click the X button.
Title: Re: CW3 Linux Native Version
Post by: knucracker on January 19, 2014, 07:34:23 pm
And I assume 32bit is fine on your system?
Title: Re: CW3 Linux Native Version
Post by: steelwing on January 20, 2014, 07:03:11 pm
So far, yes.  In fact, both versions are fine as long as I just open and don't try to play.  Might be a memory issue or something, or maybe just a one-time glitch.
Title: Re: CW3 Linux Native Version
Post by: stdout on February 10, 2014, 02:56:44 pm
How exciting! I've gotten so much enjoyment by playing CW and CW2 in my Windows XP VirtualBox emulator but never was able to get CW3 working through that system. Now with this native Linux build, I can finally play CW3 for the first time. I'm pretty excited to enjoy this game.

Fedora 19 on x86_64 here and it ran perfectly without any difficulties of any sort. Played the first map no problem.

Thank you Virgil! This is great!

(Now I'm off to keep playing.)
Title: Re: CW3 Linux Native Version
Post by: stdout on February 14, 2014, 03:20:42 pm
The only issue I've run into so far is this: if you press (and release) the Alt key, then none of the keys work any more. Then if you press (and release) Alt again, then the key bindings all work once again.

I use Alt-1 through Alt-9 to switch to different workspaces on my desktop, so when I switch away from the game and switch back, I have to press Alt to get the keys to work again.

This game is great. You are a talented designer and story teller.
Title: Re: CW3 Linux Native Version
Post by: steelwing on February 15, 2014, 08:23:27 am
The only issue I've run into so far is this: if you press (and release) the Alt key, then none of the keys work any more. Then if you press (and release) Alt again, then the key bindings all work once again.

I use Alt-1 through Alt-9 to switch to different workspaces on my desktop, so when I switch away from the game and switch back, I have to press Alt to get the keys to work again.

This game is great. You are a talented designer and story teller.
By default, in the Windows world, Alt is the key that most applications use to activate menus on their menu bars.  Dunno if that's something that applies in Linux, and I don't think CW3 has a menu bar to activate, but it might have something to do with the freeze.
Title: Re: CW3 Linux Native Version
Post by: timotimo on April 01, 2014, 01:48:43 am
I was about to report that the steam version won't run on my linux desktop, but then i turned off the steam overlay and instead of crashing immediately after popping open a big black window, it now runs.

Thanks! :)
Title: Re: CW3 Linux Native Version
Post by: knucracker on April 01, 2014, 10:42:30 am
Interesting... I'll keep this in my bag of tricks and recommend people try it who experience problems.  The steam overlay uses some tricks to show up in front of the game so it may use some things in the graphics driver that could expose problems...
Title: Re: CW3 Linux Native Version
Post by: steelwing on April 03, 2014, 10:15:55 am
Interesting... I'll keep this in my bag of tricks and recommend people try it who experience problems.  The steam overlay uses some tricks to show up in front of the game so it may use some things in the graphics driver that could expose problems...
Another trick that may work (if you use Mesa for your 3D libraries):  Run Steam with force_s3tc_enable=true.  I have to do this on my Linux machine.  It doesn't crash if I leave this off, but most games will have black screens, including CW3.  I wonder if just turning off the overlay would fix that for me as well...
Title: Re: CW3 Linux Native Version
Post by: russotron on July 06, 2014, 10:15:28 am
Hi,
I just wanted to say thanks for making a native Linux version. I bought this in the summer sales having never played any of the CW series before, and it's an awesome game. I'm hooked!

The Steam version works flawlessly on Arch x86_64. :)

Cheers!
Title: Re: CW3 Linux Native Version
Post by: beardedlinuxgeek on August 04, 2014, 05:48:37 pm
I also wanted to say thanks. I've clocked over 150hours in CW3 on Arch Linux x86_64 and it's worked great.

I do have one small bug though: the old alt-key hijacking.

If I alt-tab to change the focus to another window and then alt-tab back to CW3, the game completely stops responding to the keyboard. The mouse input is fine, the game continues to run normally, but none of the key presses are registered. However, all I have to do is hit alt again and things go straight back to normal.

EDIT:
The only issue I've run into so far is this: if you press (and release) the Alt key, then none of the keys work any more. Then if you press (and release) Alt again, then the key bindings all work once again.

I use Alt-1 through Alt-9 to switch to different workspaces on my desktop, so when I switch away from the game and switch back, I have to press Alt to get the keys to work again.

This is the exact same problem with me. I don't have this problem in any another Linux applications, but I get the exact same issue when running Photoshop under Wine. I think CW3 was originally made Windows only, so I think there's something about how Windows applications are written which causes them to hijacking the alt key after being ported to *nix.
Title: Re: CW3 Linux Native Version
Post by: knucracker on August 05, 2014, 09:39:13 am
What is happening is the "key up" event isn't being registered by the game.  So it thinks ALT is being held down the entire time and that every key press thereafter is "ALT-something".  Pressing and releasing ALT again after the game has focus clears this up.

It's ultimately a problem in Unity that the key up event for ALT is fired on some platforms and not others.  But I can also understand why it might be a problem based on how some OS's switch away from applications.
Title: Re: CW3 Linux Native Version
Post by: kaveman on August 05, 2014, 05:31:43 pm
I am having trouble installing CW3 on ubuntu 14.04. I have extracted the download file but don't know what to do next. Forgive me, I am a new linux user and do not completely know how to use it yet.

Thanks
Title: Re: CW3 Linux Native Version
Post by: steelwing on August 05, 2014, 05:40:27 pm
You have the download extracted?  Next step is easy.  Run the game by double-clicking the executable (.x86 or .x86_64, whichever suits your system).
You can also create a launcher on your desktop, if you wish.  Some distros let you do that by right-clicking and selecting "Create Launcher".
Title: Re: CW3 Linux Native Version
Post by: beardedlinuxgeek on August 20, 2014, 12:28:50 pm
I recently switched from the AMD Catalyst drivers to the open source drivers and there's been no performance loss whatsoever. I'd like to add that TF2 stills runs just as well, that surprised me. If you've been on the AMD drivers for a while, you might want to give the open source ones another go.
Title: Re: CW3 Linux Native Version
Post by: MagneticDuck on September 03, 2014, 08:39:40 am
Works fine on a x86_64 arch linux system. Nothing to say really :D
Title: Re: CW3 Linux Native Version
Post by: radix_s on January 18, 2019, 05:28:42 am
Info to all linux users having problems with running CW3 via Steam - you can now (enable Steam Beta first) force CW3 to run via proton, which is Windows version CW3 ran through an emulator similar to Wine. It works on my Ubuntu 18.04 perfectly.

You have to go to game's properties and in General tab at the bottom tick 'Force the use of specific Steam Play compatibility tool' and select Proton (latest version).