Hey, we have forums!

Author Topic: Supported Platforms  (Read 246770 times)

0 Members and 2 Guests are viewing this topic.

Offline KingAl

  • Extra Bit
  • *****
  • Posts: 138
  • Nobody expects...
    • View Profile
Re: Supported Platforms
« Reply #105 on: July 10, 2007, 08:37:23 am »
Fair enough. I still don't see (2) as a major issue, but if the rest outweighs the positives then I can understand the decision.

Offline Alec

  • Administrator
  • Dream Bit
  • **********
  • Posts: 2211
    • View Profile
Re: Supported Platforms
« Reply #106 on: July 10, 2007, 08:56:35 am »
Oh for FUCK's SAKE.

LAST.

FUCKING.

TIME.

If it was case insensitive, we could play the game through once. Hey, it works, cool. Supposing we had a compatible audio library, we could port in like under a week. We could test a few things here and there. Hey, it works, great. Do a test cycle, if some file protection stuff is out there, done.

But its not case insensitive.

So we spend a couple weeks out from finishing up the game / working on more intersting ports, to spend converting file names and changing all the various areas of code that call files from various places. Files can be read out of a number of places. Not just the code, not just scripts. They have a few different conventions that make sense to windows but not Linux. They'd all have to be converted and tested.

Then say Derek or I makes a change to a file, but we forget to name the file exactly the right way. Oops. Major crash. Game dies.

Major fucking crash from accidentally not naming a file right.

Okay, so we have to do a super detailed test. Every file that could be loaded has to be tested. Otherwise we won't know for sure if they'll work. Files are in different folders. We can go through everyone and try to ensure that they're named right. But we're HUMAN BEINGS. We're liable to miss one. So we have to put together a beta testing team that has to play everything out. We do that. We run out of people who fit into the subsection of Linux users who are interest in playing the game and interested in buying the game, since most of them are on the beta.

Now the moders.

A Windows user creates a mod.

Creates new TXT file in windows. Calls it MyFirstScriptFile.lua. Enters it in the entity groups as Myfirstscriptfile. It runs fine.

It turns out to be an awesome mod. He releases it. People play it.

One of the three people that bought the linux version wants to play it. Oops, halfway through the mod CRASH. Reports it as a bug to us. I tell him there's nothing I can do, Linux sucks in that regard. He gets mad at me.

So we ask the mod guy, he's like "meh, I'll get around to it sometime". He doesn't, because he has a life.

Linux guy has to take it unto himself to convert the mod if he wants to play it. As he fixes each bug, he plays a bit more. Game keeps crashing every so often because he keeps missing files.

Fun is had by all except Linux dude.

Meanwhile he's found a crash in the main game that's caused by a series of odd actions that nobody would expect, leading to an rare script being run that was missed the beta testing.

Oops.

And that's on top of having to deal with the other aforementioned issues, which as of yet, have no clear, straightforward solutions.
« Last Edit: July 10, 2007, 09:00:36 am by Alec »

Offline Alec

  • Administrator
  • Dream Bit
  • **********
  • Posts: 2211
    • View Profile
Re: Supported Platforms
« Reply #107 on: July 10, 2007, 08:57:40 am »
Anyways, I'm done reading this thread. I can't explain things to people again and again every day.

Buh bai.

Offline KingAl

  • Extra Bit
  • *****
  • Posts: 138
  • Nobody expects...
    • View Profile
Re: Supported Platforms
« Reply #108 on: July 10, 2007, 09:21:43 am »
I wasn't meaning to attack you nor intending to be argumentative, and I'm sorry if it appeared that way.

I myself stated that sorting out your own levels would certainly be a major annoyance of the case sensitivity, and I agree with all the other points re beta testing etc. In previous posts regarding the case sensitivity, your main concern had appeared to be with respect to modding. I understand your point regarding this but I don't believe it would play out the way you describe - that doesn't mean to say I think it'll be all easy sailing based on that one point.

I'm not trying to convince you either way, and if it'll be as much trouble as you believe then I support your decision.

Obviously I've come across badly to you, and for that I apologise sincerely  :-[ I was just trying to discuss the issues, not to force one perspective on you.
« Last Edit: July 10, 2007, 09:24:27 am by KingAl »

Offline Alec

  • Administrator
  • Dream Bit
  • **********
  • Posts: 2211
    • View Profile
Re: Supported Platforms
« Reply #109 on: July 10, 2007, 09:26:32 am »
Obviously I've come across badly to you, and for that I apologise sincerely  :-[

Sorry, I'm just frustrated, needed to vent. :(

I'm sure I come across as the worst of anyone in this thread. ;)

I don't see why we can't all get along. :D But in terms of Linux port... I thiiink I'm going to take a break from thinking about it for a bit. :) Feel free to add your thoughts without being debated by yours truly for the time being. ;)

Offline Derek

  • Administrator
  • Giant Bit
  • **********
  • Posts: 245
    • View Profile
Re: Supported Platforms
« Reply #110 on: July 10, 2007, 11:37:52 am »
Whoa, heated thread. :-X

I don't think a Linux port would be difficult for Alec because he's a superb programmer, so that's not the issue.  The issue is that we're working day and night just to finish the PC version of the game and have been for a year and half now.  Seriously, we haven't taken a single significant break in that time.  We're also past our original intended release date and don't want people to wait any longer than they have to.

Ask a man with an elephant strapped to his back if he could also help you carry your groceries home for you and see what he thinks of that proposition!  No amount of arguing is going to win out here... we just can't do it.

Regarding mods and case sensitivity, it's rather ungainly to have that discrepancy between Linux and Windows/Mac mods, although I agree that it's probably nothing more.  It's also true that user created content is beyond our support, but that doesn't necessarily mean that we shouldn't care about such things.  If the Linux userbase were much larger and there were easy, instantaneous solutions for every other problem, it'd be something worth letting slide, certainly.  But since neither is true, let's just leave it at that for now.  Okay? ;)

Offline Syranide

  • Mini Bit
  • **
  • Posts: 4
    • View Profile
Re: Supported Platforms
« Reply #111 on: July 10, 2007, 01:28:56 pm »
Just to clarify my point, I don't care whether or not it makes linux, I'd rather see it released as early as possible, I'm hyped about this game  :D
And frankly I believe if you install Linux, you made the choice not to play most games, especially when many still have windows installed and refuse to boot it because it is v1rz and games are oh so much better on linux.

Anyway, assuming that you haven't spread file loading to much around the game, case sensitive shouldn't be a problem if you attack it from another angle, instead of converting all the cases, why not simply have the game list all folders on start (for linux) and then it should be piece of cake to do a case insensitive search on that data, to find the case sensitive name. Should be possible to be made simple enough as to just have a define that takes an input filename and finds the case sentitive one and returns it, and for windows the define is simply pass-through.

It's not the prettiest solution, but people most likely won't notice the difference anyway, suits those Linux users  :P
So, this is in no way an attempt to make you into developing a linux version, just my solution to ONE of the many problems.
« Last Edit: July 10, 2007, 01:34:24 pm by Syranide »

Dragonix

  • Guest
Re: Supported Platforms
« Reply #112 on: July 10, 2007, 05:09:50 pm »
I know, it's over, so pleace be patient.
Just one thing I've to claim, and no, I don't want to insult you in any way: Do you think modders are silly? Just write one damn note somewhere and that should be it. As all ready said, for other (grea) Linux titles, there are thousands of mods, and? Yes. I've never heared, that one of them doesn't work under linux. Why? YES! In every modding tutorial theres a big fat headline: Hey guys, watch out for case-sensivity!



I completely accept your decision - and even if I didn't understand it, what should I do? The only thing that I'm really sad about is, that you won't port any of your future games to linux, at least if i understood you right  :'(

I think the major problem is the sound thing... the next time ask in a Linux forum about a good library, there are the real g33ks ;)

And... even if I never thought that i'm going to say it: How does it look with WINE compability? Are you trying "support" it (in other words: Are you going to try to make it good-playable with WINE?)?


Good luck, happy coding ;)

Offline wesley

  • Bit
  • ***
  • Posts: 46
  • Ubuntu Developer
    • View Profile
    • Personal TechBlog (Dutch)
Re: Supported Platforms
« Reply #113 on: July 10, 2007, 06:37:29 pm »
= sad linux user

Well, whatever. We can only respect your decision. I even understand it.
It's a pity for us - linux users - but there's nothing we can do about it.

And indeed, please do test your game in Wine and check for inconsistencies.
A game like this should be able to run fairly good in Wine by default.

To test the sound in Ubuntu (and most other distributions) you'll have to run winecfg, go to the Sound tab (wait a little while) and then uncheck everything, and check only the ALSA device. Click ok and try to run your game in Wine using "wine game" (or run the installer directly from the CD, Wine should autodetect the .exe - if not you can select Wine yourself - and afterwards run the game from the menus)

Wine is pretty amazing and is also able to work around the casing issue.

PS: I'm not upset. Only disappointed.
Human Knowledge Belongs To The World - Antitrust (2001)
http://www.ubuntu.com

Dragonix

  • Guest
Re: Supported Platforms
« Reply #114 on: July 10, 2007, 06:49:22 pm »
Haha... I realised: We can forget wine. Wine is not really capable of doing this (fucking) copy-protection stuff, except we're lucky...

Offline greniesa

  • One Bit
  • *
  • Posts: 1
    • View Profile
Re: Supported Platforms
« Reply #115 on: July 12, 2007, 11:10:57 pm »
I want a Linux version. Linux is the best plateform than I know!

Offline shinygerbil

  • Extra Bit
  • *****
  • Posts: 132
  • Lustrous Rodent
    • View Profile
    • www.shinygerbil.co.uk
Re: Supported Platforms
« Reply #116 on: July 13, 2007, 01:22:17 pm »
O_o

EDIT: some of these smiley are awesome. For example:  O0
whut, we get signatures? K, lemme put something here. WATCH THIS SPACE >_>

Offline xander

  • Extra Bit
  • *****
  • Posts: 146
  • IV Migrant
    • View Profile
    • Reno Silver Blades Fencing
Re: Supported Platforms
« Reply #117 on: July 13, 2007, 04:28:52 pm »
I want a Linux version. Linux is the best plateform than I know!
And people complain about the blind fanaticism of Mac fanboys...

xander
FROG BLAST THE VENT CORE!

Offline wesley

  • Bit
  • ***
  • Posts: 46
  • Ubuntu Developer
    • View Profile
    • Personal TechBlog (Dutch)
Re: Supported Platforms
« Reply #118 on: July 13, 2007, 05:29:19 pm »
Nyea, well, there is no best platform.

Linux has its good things, Mac certainly has some too, even Windows has a few.
I actually still have a Windows machine in my house, but it's only used to transfer my homebrew GBA roms to my GBA, because the driver is Windows-only. And I might need Windows to play the upcoming Soldier of Fortune 3 (the only FPS I play) and of course this little fun game.

Obviously, all platforms also have weak points. Linux (also Mac for most games) for example does not appeal to most game programmers...
Human Knowledge Belongs To The World - Antitrust (2001)
http://www.ubuntu.com

Offline nestor

  • Bit
  • ***
  • Posts: 23
    • View Profile
Re: Supported Platforms
« Reply #119 on: July 14, 2007, 04:50:14 am »
You guys are all wrong about handling the case insensitivity.  Its actually very easy to deal with.  You're just looking at it from the wrong end.  Leave the files and their names alone.  PICTURE1.png is the same as picture1.PNG.  Ok, now that's settled, then do as wesley or one of those guys noted and write a function that reads in file names for an entire directory.  then, all you have to do is use a case insensitive string compare.  its that simple. 
Quote
STRCASECMP(3)              Linux Programmer's Manual             STRCASECMP(3)

NAME
       strcasecmp, strncasecmp - compare two strings ignoring case

SYNOPSIS
       #include <strings.h>

       int strcasecmp(const char *s1, const char *s2);

       int strncasecmp(const char *s1, const char *s2, size_t n);

DESCRIPTION
       The  strcasecmp() function compares the two strings s1 and s2, ignoring
       the case of the characters.  It returns an integer less than, equal to,
       or  greater than zero if s1 is found, respectively, to be less than, to
       match, or be greater than s2.

That's the manpage, but its in the C standard so its supported on any OS which supports C, which is all of them. 
I'm sure that C++ has something similar in std::string or something, but I don't know C++ as well.  The point is
writing your own would be trivial, you just convert all filenames to lowercase after they are read in. 
Quote
for each char if ( char <= 'Z' && char >= 'A' ) char += 'a' - 'A'; 
« Last Edit: July 14, 2007, 07:25:37 am by nestor »