Indeed I’ve had an interesting time trying to install the EVE Online demo on my Linux computer. I think it’s an interesting story.
The background for this story is that I saw an ad that EVE was doing a demo and somehow knew that Linux was available. Why I wanted to try it, I don’t know really. I’m not an MMO player typically, but I thought I’d give it a try since there was a demo. Plus, I have a friend who’s been interested in the game for quite a while now.
Problem zero, though, turned out to be this. I registered an account with EVE before I talked to that friend about me trying it out. Turns out that if he sends me a special invite, I get a 21 day trial instead of a 14 day trial. That’s really cool and thoughtful of him, but it means I need a new account. And guess what? My username’s taken. Heh. Anyway, no big deal, but I have two accounts now.
Anyway, so the first hurdle was the simple fact that they didn’t make a package for my distro (not that I expected them to), and they also didn’t make a distro-agnostic installer of any kind. They also didn’t explicitly that “downloading this will give you just what you need to make a package” or anything like that. However, they were interestingly thoughtful enough to provide “Slackware/Gentoo” packages, which are just a tar.gz with a folder/file structure like your system so that you know what goes where. So, I unpackage the tar.gz, hackily add the .PKGINFO file that my distro (Arch Linux) requires, and packed it back up with an appropriate filename. It installed fine, and I was off.
So then the next small problem I had was the fact that I’ve got a somewhat peculiar setup with my Python (which a lot of EVE/Cedega’s Linux tools are written in). Anyway, so that’s entirely my fault, but I’m somewhat used to it so I had a pretty good idea how to fix it.
Anyway, so I finally get the package installed and my system set up so that everything is ready to run. The stuff that I installed, though, is not the game itself, it’s simply just some tools that fetch the game (or updates), install it, set it up, etc. So really what I just installed was the installer. Hmm. I run the installer, and it goes and downloads the first big file that it needs (presumably the EVE client core). It finishes the download (which takes 30 minutes at 500kbps). It then pops up an error informing me that it can’t write to a folder in my home directory. This is obviously somewhat worrying to me, and by the looks of it all permissions were set up properly. Also, it was “courteous” enough to delete the client that it downloaded from /tmp when it’s done. Erk. Right, so I know I can’t do much without the client, so I have it download it again, but this time I copy it before it has a chance to delete it. Conveniently, there is a check that it performs that if you have the client in your home folder, then it doesn’t download it again.
Anyway, so the next big problem was that despite the fact that it knew not to download the client twice once you had a copy in your home folder, something seemed to be amiss with the verification of that copy. Technically, what I mean is that when I tried to run the installer again, it failed due to unmatched md5 check sums, and asked me if I wanted to download it again. Obviously, I don’t, since it takes 30 minutes. Eventually, after a bit of digging around in the source code, I find a bit of a Python script that handles the checking. I disable it. I don’t need no stinkin’ check summing, you silly code. I love how I have the code to the install tools though, even if it’s not open source. Sure made my life easier.
Okay, so after I disabled the checksum, it did manage to get a bit further, but now I just started having errors left, right and centre. It can’t find this file, it can’t copy this here, it can’t write to that, it can’t bloody do anything. So being a good hobbyist problem investigator, I tried a big pile of things from trying to arrange the files for it myself to modifying more installer source tools, to checking on the web. In the end, nothing helped. After an hour or so of slowly getting progress, I suddenly have a possible realization. It can’t write to stuff that it should? Oh God. Maybe I’m out of disk space. Turns out… yep. I had exactly 0 bytes of disk space because the installer liked to copy big things around a lot, and I didn’t start with very much disk space available. I delete some stuff, and eventually my problems start to go away. I still had to run it a couple times and to a little bit of copying, but by far, things went much better and it was pretty easy in general.
Okay, so the thing finally is set up. At the end of the installer, the game is automatically run. One thing I notice right away is that my cursor is a lovely square of multicolored pixels. From what I gather, this was not the intended effect. This is still unsolved at the moment, and I’m not in a hurry since it’s non-crucial.
Okay, so the game’s welcome screen is rather pretty aside from that, and things seem well. I get a notification saying that my client is out of date and needs a patch. That seems kind of sloppy to me, considering I just downloaded it, but it’s reasonable that they got lazy and didn’t patch the one I downloaded. I click to the next screen. It tells me that the new patch that I’m downloading is going to be… 0 bytes. Huh. Now that’s efficient. I click something affirmative. It kindly tells me that the file blahblah-eve-blahblah-patch-blah.0.0981337 is not found on the server. That’s an interesting turn of events, eh? It asks me if I want to go to the support page. At first I was reluctunt seeing as it’s a “support page” and to me that sounds like “forum or useless info page” but it turned out that it was a download of the patch that I was trying to install. Maybe? It said that my platform was Windows. I was a bit conflicted on this. I realize that I’m running the game through Cedega, so technically it’s pretty much Windows. But it’s not actually Windows, and the patch applying tools is a Windows binary. Still, it didn’t seem out of the question. Upon examining the URL of the page, it had some information that said stuff along the lines of “TargetSystem=win”, “RealSystem=linux”. Okay, fair enough.
So I download the patch exe. I figure I’m supposed to run this and make it patch my client. Sounds good to me. After searching around on my system for a while, I was unable to find a working copy of cedega to use with it – EVE seemed really tightly tied into the stuff I found, and it seemed like a lot of work to separate it, so I decided to try wine instead. Wine seemed to handle it rather well, and I had a proper window and whatnot. It asks me to enter the folder of EVE, so that it can get to the patching bit. I try a few different folders since I’m not sure what it means. The one that made the most sense to me is the one under Program Files in my fake C drive that cedega (and wine) use. Uhm, so it turns out that that’s not cool with the patch installer, and it says that it’s not the EVE folder. (Except, well, that the bitch’s wrong. That totally is the folder.) So I tried copying the patch exe into the EVE folder on my C drive there. I ran it again, this time put “./” for the path. It seemed to like that just fine, except that when it tried to actually patch the game, it failed and told me that a blank filename was at fault. This tells me that the thing knows that this is the EVE folder, but is unable to actually know the filenames or something. Kind of retarded, no? Anyway, so as a guess, I move the patch up a folder from EVE, and try again, this time putting just “EVE” for the folder path, hoping it assumes relative to current place. Turns out that’s exactly what it liked, and it started patching. Not too long from there, then, it tells me that a certain file can’t be patched, and that means that everything is corrupted and ruined forever. Lovely. I figure maybe this is my doing because of the disk issues before. Maybe some file didn’t quite finish writing and something something. So I delete my .cedega folder, my client, and tell it to try installing again. 30-40 minutes later it’s done (with no problems this time, wow). I try again, but everything is in the same state. EVE’s cursor is still the work of Picaso, the patch still can’t be found on the server, and the patch exe behaves identically. What can I say? Pure quality. Still, the welcome screen is really nice, and I’m not even just being an asshole.
Anyway, so despite not having EVE running yet, I’ve realized some interesting things along the way. For one, I really enjoyed trying to beat it into working. For some twisted reason, after years of using Linux, I’ve begun to enjoy debugging and fixing problems. So far, my motivation for installing EVE has not been so much interest in it, but rather interest in getting it working on my system. I think I’ve also started to develop a knack for things, because I several times just guessed right at what could be wrong. Another thing, relatedly, is that I really have improved. I remember a few years ago, when I first started, everything was horrible. I was using Fedora Core 3 and stuff would just break. It’d take me forever to fix things, and it was hard to do. When I was a mega noob back then, if I didn’t see a package for my distro, I’d probably have stopped there. “I don’t know what to do without a package!” Now when I don’t see a package, I have the ability to make one or hack one together. This is helped by the fact that Arch has a ridiculously simple package format and build system, but anyway. I probably would have also stopped when it refused to run at all at first. I probably would have stopped when it refused to properly download and unpack the client. It seems to me that I’ve really come a long way as a Linux user, and I think that once you reach a certain Linuxy threshold, you start to really be into stuff like tweaking and fixing your computer system. Anyway, so to all those people out there that I’ve met on IRC that are sometimes overwhelmed by how much there is to learn on Linux to be any good at it, don’t worry. Just stick to it and give yourselves a couple years and it’ll get much easier for you. Really.
And as a note, I’m not done fighting with EVE just yet. I’m pretty sure I can get it working, though I should probably defer to the wisdom of my EVE-playing friend about the patch thing…
Hello there, my it has been a while.
First of all, I would like to tell those followers of our project that aren’t very close with the development team that all is well. We haven’t given up on the project, and things are progressing nicely. What has happened is that my computer had broken (so no new art from me). I had it repaired, but also bought a nice new desktop also. Making models should be easier now, and I have two computers so it shouldn’t happen again. I also went to England and moved. As such, I’ve been mostly offline for about 3-4 weeks. I’d like to mention that I’m also back in school now at The University of Waterloo, but I think I still have time to work on projects in my spare time. Besides, what is life without working in the community
Risujin had been mostly very busy during the time that I’ve been gone. He’s added a lot to the game, which I’ll cover below. However, he too went on vacation for some 10-14 days or something like that. He too is back just recently and is rapidly getting back into the swing of things. He’s really awesomely self-motivated, and we’re all jealous of his speedy output.
Amanieu, our programming apprentice has been swamped with school work, also went on vacation, and is just finishing up his exams now. I think he’ll be back in action soon-ish, but I don’t really know. Anyway, things are great.
Yeah, I know, blah blah blah, heh. Here is the part that you people care about, the changelog with images! Prepare to be amazed, my friends. I will now write a tour of the game so far.
The first thing you see when you start up the latest Plutocracy client is this screen, what Risujin refers to as “Limbo Mode.” This is somewhat equivalent to what you’d see when you first start up most games, but with as slight twist. The plan is that the UI of the game won’t change modes — ie. you’ll always have the menus that are displayed, you just won’t be able to use them in some cases. As a continuation of this, the server browser will be available at all times, which Risujin has convinced me is a good idea. For example, you’d be able to check if there are people online on another server that you like, or see where your friends are. In related news, we’re contemplating a “buddy list” for the UI as well, so you can keep track of your mates. Anyway, here is the Limbo screen:
So then after you look at the Limbo screen, you’d probably want to get into the game. To do this, you will have to use the Game Menu. It looks like this:
After you click “Host” (or eventually “Join”), the darkness in the middle of the globe and the Plutocracy logo will fade out. And you will meet with the actual game. Theoretically, the game at this point would quickly connect to the server (or start the server) and display the game in progress. This will look roughly like this (but, with, you know, models and players and a completed UI):
I’ll show you some pictures of what the globe looks like at this point. Some things I’d like to point out. We have a moon and sun, both of which emit light (of different colours). As you look at the globe, the stars, moon, and sun seem to rotate around you. The game is slated to have dynamic night and day, with different visibility conditions. In fact, at this point, if you watch one point long enough, you will see the night become day and then night again. It’s all very pretty.
Also, please appreciate the fact that since Lambdanaut left the team, Risujin has rewritten the globe and island generation algorithms. They both work really well now and are very fast. Also, the islands are now well controlled in their creation, meaning that you’ll never have an island that is super massive and annoying to get around. In fact, islands now have size limits. All of this is very impressive to programmers who recognize what a huge task that must have been.
Finally, I’d like to mention that Risujin put a considerable amount of effort into the atmosphere and tile texturing system. You’ll see that there is a aura-like atmosphere around the globe, which not only looks nice, but also simulates the diffusion of light, softening it and spreading it out. Another challenge was the fact that the entire globe is made of triangular tiles. Risujin came up with a cool blending system which makes triangles look like a coherent land mass. Kudos for that, it took some time. Check out the globe and comment what you think. I expect something along the lines of “OMG NICE!”.
I’ll also show you the UI that is currently available. It should be pretty self-explanatory, but I’d like to mention that the console has tab completion which is pretty handy. As in the screen shot, if you hit r_TAB, it’ll show you the possibilities. Our system also actually tells you what the variables do, which makes the console way more user-friendly. Can you tell I’m proud?
Also, we (I think Risujin, Kasuko, Amanieu, and I all had a hand programming this feature) have excellent multi-language/internationalization support now. It’s like seriously very nice. I’ll not bore you with the internals of how it works, but something I’d like to mention is that we have a source parser that finds all the strings that need translating and generates the file for you, so that all you have to do is type in your translated strings into the blanks. The script is slated to have some improvements that will handle merging changes and deleting old entries eventually. Kasuko will probably do it eventually. To change languages, for the moment what you do is type “c_lang ‘LANGUAGE CODE’” into the console, where the LANGUAGE CODE is something like ‘fr’ or ‘ru’. Anyway, here is a screenshot of Plutocracy with the partial French translation:
As for me, I’ve been doing some sketching and plotting for how to change the art style of the game somewhat. I have quite a few ideas laid out and have made some early models. More about this later when I actually have some more things to show. Should be pretty exciting.
Anyway, we’re not dead. In fact, we’re doing really well, and morale is still pretty good as far as I can tell. As the game starts to take shape, it just becomes more and more exciting to work on it. There is a starting time when everything is just a vague mental image, something that is a bit foggy. You reach for it and grab it, mould it until you can see it clearly enough to design. As you design it, more fine-grained ideas start to come to your mind and momentum builds. Eventually, you get something for all your hard work and it’s exciting to finally see clearly that which seemed so surreal a while ago. We have the framework. The globe works. The internationalization works. The model loader works. The user interface works. The game is ready to be born. Hold onto your stomachs, friends. You’re about to witness a baby come into this world.
Well, I’ve done as much of the ship as I care to do for now. Sheesh, modeling is hard work. It’s taken me days of work to get this far. Thankfully, the actual in-game models don’t need to be nearly as complex. Speaking of which, I hope to adapt this model for in-game use in the future. For now, though, I’m somewhat sick of it and want to work on a different model.
Regardless, I’d like to show my “finished” product. (I put finished in quotes because it still could do with a lot of other stuff.)
On the other fronts, Risujin has been working hard on the model loader, the new animated model format, and the Blender exporter to aforementioned format. For the curious, Risujin has named the new format “Plum.” This is actually very witty in that it is a real word and also the combination of “Plutocracy” and “model.” Clever.
I think Lambdanaut is still working on the globe generation stuff. Complex math goes on there. I’m rather happy that I don’t have to worry about it too much. It’s nice living with the knowledge that the project will get a good, fast method of generating the globe without me even having to know how it is done. Phew . Thanks.
As for me… Next, I think I will make some kind of structure for the game. I’m thinking the dock is probably a good place to start. Luckily, I have a weekend coming up. Those are always good for giving me a lot of time to work, and an adequate amount of sleep. You’ll be hearing from me. Cheers.
So it seems I’m back in action, doing many things at once. Most recently, Risujin approached me with the desire to do an innovative Real Time Strategy game. Well, needless to say this is something I’ve wanted to do for a while. I’ve collected a couple friends of mine to help out, and we’re off to a good start just three days into the project.
What is Plutocracy about? We’ve been having some ideas.
General ideas: * You play as a wealthy merchant. * The game would be mapped onto a miniature planet (a sphere). You will be able to rotate the sphere pretty freely. * A balance between wealth based domination, territory based domination, and warfare based domination. Expect bribery. * You only rent land, and you can only rent land that is adjacent to land you currently control (or your ships). Expect bidding wars. * War is not declared by the player, but rather by the player’s nation on some other nation. * There are not individual land units available. The only kinds of units (thus far) are a variety of ships and perhaps an airship.
Specific ideas: * You build on shorelines using settler ships. From this, you can sprawl inwards (but remember that you can only rent adjacent land). * Nations will mostly be divided into Enemies or Neutral. Part of the game will be being able to bribe nations into wars (or stopping wars). * Design your own ships * Commodity trading & producing goods * Naval Warfare * Taking over town centers (which must be attached to docks) constitutes defeating another merchant’s town/city (and taking it over) * Expect Pirates.
Engine level: * We are building our own game engine to facilitate most of these fairly uncommon ideas. * The engine will likely have some pretty good graphics, but not tremendously fantastic physics (we don’t need them).
Development Infrastructure: * We have an IRC channel: #Plutocracy on freenode. * We have set up a code repository + wiki via googlecode: plutocracy.googlecode.com. * We will eventually have a forum probably. Remember that we’re just starting out, though. Our focus is building the game, not so much community building and fending off rabid people.
Development Status: * We’ve decided that it’ll be in C with a scripting language on top later. * We’ve completely mastered a small part of the naming conventions and agreed on a coding style. * I hear we even have a blank window open for a second or so.
Anyway, I’ll keep you updated, my sparse faithful. We don’t have anything really to show except that top image. My main responsibilities in this project will be the web stuff, organization, art, documentation, marketing, publicity, etc. You know how it is. I can do those things and have done them a lot. Besides, someone to do this kind of stuff (especially when the project is still very technical and hard to understand for “mere mortals”) is rare. I think my skills as an artist are more valuable here than my coding skills. I don’t mind, really. I like doing art-related things.
In multiplayer video games with decentralized servers, such as Quake (or in this case, Tremulous), there comes a point in the community when a realization dawns that there are far too many people in the game who are there only to cause grief to other players. What motivates such players to act as they do? That is beyond me. You may ask, though: who cares about ‘griefers’? Can’t you just ban them and be done with it? Well, the answer is: yes, you can ban them and be done with it. But the trouble is that with multiple servers, they could just go grief elsewhere. Eventually they would run out of servers, this is true, but in games like Counter Strike there could be thousands of servers. So what is one to do? One possible solution is Global Banning.
The above image demonstrates how global banning should be made, generally. This approach is rather nice because:
Note: this is not an original idea of mine.