Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Games Entertainment

The Hacking Contest Nobody Tried to Win 229

When Slashdot reader magenta was invited to participate in the Loki Hack Contest attached to Atlanta Linux Showcase, his first thought was, "There must be someone more deserving of this high honor; after all, I'd never even seen Civ:CTP. But after a few exchanged emails and a bit of chatting with various friends who all told me it would be a good idea (thanks, Ross and Joel), I reluctantly decided to accept the invitation, and booked myself a cheap flight to Atlanta." (More below)

The Hacking Contest Nobody Tried to Win

-by magenta

I am very glad that I decided to enter.

First off, nobody there, including myself, cared about the potential for prizes. There was a great feeling of camaraderie, of friendship. Thirty people (including Loki Entertainment's representatives; very few people, as it turns out, actually signed up, probably due to some of the FUD spread on Slashdot regarding Loki's intentions) talked to each other as though they were old friends even though we'd never met each other online, much less in real life. We all exchanged ideas for hacks, bounced ideas off each other, and discussed means of implementation. The attitude was the opensource mentality at its best.

And then we saw the source.

The official Loki Hack '99 t-shirt has a slogan on the back. The slogan is "I saw the source and lived." This slogan is incredibly apt. At the risk of offending Activision (which I certainly don't intend to do), Civ:CTP isn't exactly the best-engineered program around. Imagine the original release of Mozilla, put into a blender on frappé, shoved into a toaster oven and let to sit on medium heat for a few days. And then microwave it. The individual pieces of code weren't too bad (if not inelegant), but the entire package wasn't arranged in any semblance of order. The first hack I wanted to perform was XaoS-like smooth zooming on the map, so that when someone clicked on a zoom button, it would do it smoothly. I couldn't find, nor could the Loki people tell me, where any sort of useful callback would be. After tracing through about 10 levels of indirection, going past hard-coded constants and multiple redundant and nonsensical calls to seemingly-random parts of the source, I gave up and decided to work on other things.

But I saw the source, and I lived.

That is such a cool concept. Namely that I saw the source. The source to a very commercial, very proprietary program, from a very un-opensource company. Activision put a lot of faith and trust into this experiment, and hopefully they will find that it was well worth it. In just 48 hours, a couple dozen programmers who had never seen the source before added in some incredible changes. I rewrote the map generator to generate quasi-fractal terrains with randomly-combined algorithms. The person sitting next to me changed the game logic so that different civilizations would have different abilities (rather than just being different in name, one tribe could run faster but be weaker, while another one could produce technology more quickly but not generate wealth, or whatever), which was no mean feat considering the network-play mechanism. Various people ported SDL (the low-level graphics API written by Loki for the purpose of having DirectDraw-esque functionality in Linux) to varying other APIs, such as Clanlib and GGI. One person, whom I now consider myself friends with thanks to this experience, added in hooks so that during a network game, you could launch an arbitrary program (such as tetris) while waiting for other people to finish their turns, and also added in hooks for publishing the gamestate to an external server, so that people can watch the game from the outside, getting a play-by-play summary for example.

I saw some very cool things. One of the reasons I chose to work on the map generator was that unlike the main program, which took several hours to build fresh and 10 minutes to link (on a quad Xeon-600 with a gigabyte of RAM), the map generator was implemented originally by Activision as a COM object. Sam of Loki decided to take the next logical step when porting this code to Linux by making it a separately-linked set of shared libraries to be linked at runtime. Of course, Linux doesn't have any good COM implementations, certainly none which are readily-available and behave the same way as MSVC's, so what did he do? He basically reimplemented the most important functionality (QueryInterface, AddRef, and DelRef) in about 10 lines of C++, confirming my suspicions that without DCOM, COM is just a C++ refcount garbage collector.

The competition (or lack thereof) was basically the embodiment of open source. Twenty or so talented hackers teamed up to make sweeping improvements on someone else's code, without any real desire for glory or money. Most of the Slashdot naysayers were saying that Loki was obviously trying to take advantage of talented programmers by conning them into giving up quite a bit of labor for free. Well, Loki certainly didn't get it "for free," as they went out of their way to be as helpful and giving to the "competitors" as they could. They provided everything, short of travel; they even rented a hotel room that people could take turns crashing and showering in, and when the hotel-catered meals weren't enough, they happily went and got food for us as needed. And of course, the best thing that Loki did was deciding to do this to begin with. That and coming up with a very flexible NDA which only restricts our usage of the physical code for the next five years, which of course, we weren't allowed to leave with anyway.

I can't properly describe how incredible this competition was to anyone who wasn't there. Particularly I know I can't describe it to people who are driven by money and recognition, rather than the love of simply coding. Again, there was no feeling of competition there. Nor did there need to be. As bad as Activision's code was, it wasn't bad enough to stop people from simply having fun and doing very cool things. It surprised everyone there how productive they could be under the circumstances. It certainly surprised me.

Hopefully this experiment will be a positive lesson to Activision and other companies that opening the source can lead to wonderful consequences.

In any case, I would definitely like to thank the wonderful people at Loki Entertainment for enabling this to happen, especially Sam, who tried his best to help me whenever I was stuck on a piece of code, and Scott, who stroked everyone's ego in nice ways. I would like to thank the people I met there, especially Chris and Ryan, for being so cool to work with and knowing what this contest was really all about. I would definitely like to thank Activision, who made this possible to begin with; I look forward to seeing the results of this experiment, on every scale.

People who don't know any better sometimes think magenta's real name is Joshua Shagam.

This discussion has been archived. No new comments can be posted.

The Hacking Contest Nobody Tried to Win

Comments Filter:
  • by Anonymous Coward
    I seem to recall some kind of discussion about this on the alt.eq ng before the release. Or I could just be exeriencing some wierd deja vu. (I'm not sure, the memory is so completely hosed lately it' scary). Anyways, bear with me:

    OSS could be applied to a MMRPG in parts. The engine and networking code should at least be finished to a playable state before being released. If the source is released too early, then creeping-featuritis may set in before the game is underway (eg. Mozilla). The game engine needs to be flexible enough to allow these mods and features to be added and easily distributed once the game has gone live, but a clamp-down should really be done to ensure a playable environment.

    Once this is done, release the code, so as to take advantage of the benefits of OSS to get rid of as many bugs (with networking and security being the highest priority, call this the UO rule). Ideally, this would take place during the beta period, where new features could be implemented and added to the core. I don't think that the GPL may be the best license for code use in this instance, but another license may do the job.

    After that, another code-lockdown would probably need to take place. The code is still available, but under close scrutiny by the main team for any modifications. Consider it functionally equivalent to the linux kernel hackers. It is going to have to get the thumbs up from these folks before any new code is added.

    The design team is also going to need a strong vision for the direction for the game. Otherwise, you may see classes degenerate into the "tank-mage" syndrome of UO, or so many things will be added that the whole becomes an unrecognizable mess (I'm thinking things like dieties, classes, and the like). Maintaining the focus on the vision would probably be the hardest thing of all to accomplish.

    Just some thoughts.

  • by Anonymous Coward
    Compiler writing is just a *bit* more complicated than adding random silliness to a game, you know. :)

    We'll get a BIG lock. :)

  • I for one did it because I wanted to see the source code and have fun with fellow hackers. After meeting the Loki people, I can assure you they are not devious villains trying to get free labor. That just wasn't what the event was about.
  • by Anonymous Coward
    Yes, you have been. Only one 'n' required. You also spelt Genghis wrong. At least you were man enough to recognize your spelling inadequacies.

    What is this, attack of Conan the Freakin' Grammarian or something?

  • by Anonymous Coward
    We didn't. We just had fun coding and added some cool features (for instance, I added AutoExplore for units, and fixed a very annoying mouse issue). I have a ton of respect for the people who originally coded this game, even though Activision apparently hasn't heard of a thing called "organization". -John R. Hall aka OverCode
  • by Anonymous Coward
    I'll point out that the NDA was extremely relaxed, basically only forbidding a literal reproduction of the source code. It specifically ALLOWED discussion and use of ideas and concepts learned from the event. -John R. Hall
  • by Anonymous Coward
    I'm at a public terminal at the Atlanta Linux Showcase right now, so I can't really look at the actual NDA, but the restrictions are minimal. It's not a typical "tyrant corporation" NDA at all. I'm opposed to NDA's in general, but I didn't have a problem signing this one. -John R. Hall, yet again
  • by Anonymous Coward

    Here's something I came across while looking a Loki's account [lokigames.com] of the contest

    "As if that weren't enough, Eric Raymond has dropped by! After meeting and greeting the hackers, Eric sat right down and started working on a Libertarian government option for CivCTP. It's an ambitious project, and we're really hoping he can finish in time. Fingers crossed!"

    It'll be interesting to see that one.

  • by Anonymous Coward
    How are they going to make money on this? They are giving the hacks away free on their website starting next week.
  • once you get rid of cross-thread marshalling, apartments, proxies (which are the same as marshalling), IDispatch (which is an interface, not a part of COM), and support for OOP servers (which require marshalling), COM is actually livable.

    Sure COM does not support concepts like weak references and expirable objects (client assumes object is valid while it holds a reference to it, a proxy is required to get around this), but it is rather nice if you ditch all the complicated fluff they added to try to make IPC 'transparent'.
  • and the winner gets paid a new computer :)
  • You think code usually gets stress-tested? :)

    How about some games coming out that swap out the purchased 3D engine about three weeks before ship date? (I won't mention names)
  • haha, lets lock you all in a room and get you to improve gcc ;-)

  • Hmm. This looks like a game engine in need of a game.

    I wonder if it could be merged with Angband or ZAngband to make
    a great, X-based, graphical version. Or maybe I've just been
    playing them too much lately. :)

    Anyhow, it'd probably be just about as exciting as messing with
    the AngbandTk (Windows) version, and continuing to patch it for
    X. And with what I know about X, I'd probably end up patching
    a DOS version to work with SVGALib. But it'd be a good project
    for someone, anyhow.
  • Libertarianism is an ideal not a government. It is very government style agnostic. Any government that ensures the liberties of its citizens is Libertarian. This can be a Democracy, Monarchy, or Communism. If anything make it a wonder, but the fight for liberty is as old as time so I have no idea what time period it would be.

    I'm also unsure of your definition of Libertarianism, especially since you point to Hong Kong (which was pretty much British right?), Switzerland (which forces every person to be in the military for a certain length of time, and also has a monarchy/democracy mix as I understand), and New Zealand as examples. I don't see a common thread to grasp on to.

    They all have laws against drugs maybe thats a common thread. The only country I know of that Drugs are legal is Denmark. Not one of those "We've got money to burn" super producing countries.

    Your example of number four is understandable, but I don't see the correspondance to Civ:CTP. Do you doubt that a society that follows libertarian values would have that great a standing army to thwart invation? Maybe a modification of conscription could give a libertarian style government more war ability.

    and for V, I don't know if there would be more or less population growth. But sighting the examples you gave above of Switzerland, Hong Kong, and New Zealand it wouldn't be as much as say India, Mexico, or 1800's America.
    ^~~^~^^~~^~^~^~^^~^^~^~^~~^^^~^^~~^~~~^~ ~^~
  • Hmmmm, once again I'm not quite sure where to pick this one up. Hitler's regime had some serious scientific advancements, if that is your opinion of a non-libertarian state.

    Its the openness of a libertarian society that could be exemplified by Linux. But then that is a dubious statement becuase the GPL has its own propriety but at least its open propriety. I believe I went over that.

    You seem to see this Libertarianism you don't define as the magical way to solve societies ills. I see that it comes with a cost, and a commitment to pay that cost. It can be everything you dream it is, but are you willing to pay the cost?

    To pull and exemple from the falling of the Berlin Wall, when Zeiss of West Germany and the Zeiss of East Germany reunited, they seemed to be pretty equal. Eastern Zeiss had some things that Western Zeiss didn't and vice versa. (My Grandpa had the scoop on this as he worked for Zeiss about that time.) Both sides wanted the wall to fall, not just those on the inside.

    Socialism has brought about some serious inventions too like lazer eye surgery and HMO's (j/k). Meanwhile how does Armond Hammer get rich? On some new invention? No, pencils and baking soda.

    So really, as a type of government we still have to find some way of defining and libertarian state to really decide if it has such an inherant advantage. I remember that Switzerland has an edge on Nobel prize winners, America doesn't. Is one Libertarian and one not? How? Denmark seems to follow the current party platform the best, how many advancements come from them? Is it that much more than anywhere else in europe?

    I believe that the pursuit of liberty (the real libertarian belief) will always lead to significant advancement, such platform items like legalizing drug use, and others don't really lead to the pursuit of happiness however. They lead to the rediscovery of misery. And therefore hampered advancement.

    Like my origional post said the cost is education, that is the difference between making a government based on liberty and one that is made to suck like a giant leach on the collective red-neck of the NFL/NBA/MLB opiated masses.

    I am a libertarian, not anarchist. I believe in a government engaged in liberating citizens. If you want to find out more, remove SPsheiLD from my email address and drop me a line.
  • I wasn't picking on anyone, I was just trying to figure out what about them you decided was "libertarian." I don't think your views on it being the freest part of the world is very researched or defendable but I won't diasgree either. How was it the freest place on earth? Because the government didn't envoke laws or becuase the government didn't have to?

    I see you mean libertarian values to be individualistic, and with an independant (non-reliant) government (what that means I'm still not sure but very interested. I'm not sure you can have a government that doesn't rely on its people, the constitution of the United States describes a... "government for the people, by the people and of the people." (maybe out of order?) That statement to me is very libertarian, and a very dependant government.
    ^~~^~^^~~^~^~^~^^~^^~^~^~~^^^~^^~~^~~ ~^~~^~
  • hahahah that was too cool, i want to be the freedonians.

    My point was really more like the ESR libertarian government would have too much of an advantage, becuase the actual cost of such a government wasn't factored in enough.

    (And my point wasn't that Libertarianism is bad as some have taken it.)
  • A very well put, unsupported argument.

    What are the "defined" minimal set of functions? Then we can see where they don't include a central control of the economy.

    In practice there is no such thing as a centraly controled economy. Even in Russia, no matter how hard they insist what a Ruble is worth, it is actually sold and traded at different rates.
    ^~~^~^^~~^~^~^~^^~^^~^~^~~^^^~^^~~^~~~^~~^ ~
  • Your ticked and whining becuase I denounced what? Which half isn't true and why, you FUD spewer?

    Wait a second, Govenor Ventura, is that you? You read Slashdot? I could have added WWF to that list to you know. I didn't mention sports as the couch potato opiate, I mentioned *overly* commercialized sports media.

    Come meet me in the ring whiney boy, the super On Lawn is headed strait for the top, and isn't afraid of any office wimp who will stand in his way.

    You were "the body", you were someone to reckon with, but its time to sit back in that cushy seat where you belong and watch what is mighty to behold! Get in my way and feel the Mower(tm)!!!

    Oh, no your not anything, your just an Anonymous **Coward**....
    Peace, the mighty On Lawn has left the building.
    ^~~^~^^~~^~^~^~^^~^^~^~^~~^^^~^^~~^~~~^ ~~^~
  • Hmmm, both "The Leviathan" and John Locks piece (why I remember the name of one, and the writer of the other) state that naturaly a society rely's on the government. But I understand where you say that a people shouldn't have to be dependant of the government, the government in reality depends on its people.

    That is a strong belief of mine too. Thats very Jacksonian in my opinion, and the reason that Fredrick Jackson Turner described that a democracy is dead without the existance of free land.

    I am Libertarian in party, and ideal. I'd be interested in continuing this over email. Jusst remove the SPsheiLD from my email address.
    ^~~^~^^~~^~^~^~^^~^^~^~^~~^^^~^^~~^~~~^~ ~^~
  • I think that the coolest part of the contest is the basic notion I feel is behind Open Source success. The ability to have a program work the way you want it to, and the strange anomolie that happens when you add that value to a product, other people like it too.

    This contest featured people making Civ:CTP work more like they want it too. And for the most part the things they added would be things I think would be cool to have also. In this age of industial support and directions on what the fine open source programers have achieved, it is refreshing to remember the grass roots still between our toes.

    Linux will always be the sandbox where I can make my dreams of computing happen. That is worth more to me ultimately than anything closed can offer. I'm glad to see that was the spirit of this contest, and that it is the product. Good to see the spirit of the Open Source movement still alive.

    Just my two cents.
    ^~~^~^^~~^~^~^~^^~^^~^~^~~^^^~^^~~^~~~^~~^ ~
  • This sounds interesting, but I have no idea what you mean.

    Could you elaborate?

    Note that if Linux is considered at all an application of libertarian views (this being an interesting discussion in itself), then it is interesting to note that information and scientific advances flow quicker to proprietary applications of Fascism, (read Microoft) etc... (look at gimp, litestep, winblinds, cygwin etc...) than they do the other way around (look at wine). The GPL could be represented as a mechanism set up to control that flow, to make it more even. Interesting how it envokes it own propriety to accomplish that.

    I am still deliberating on whether or not you would not be able to detect people stealing your technology in a CivCTP libertarian government. Interestingly, I also wonder if Lawyers (protecting the liberties of everyone) would have a stronger or weaker effect. Most likely the same.

    In any case it is interesting to note that people banding together to protect a publicaly viewed set of liberties has always been a part of the rise of civilisations.

    However, The commiting of liberty to meaning that one does not have to pay consequences for their actions has on the level of a society, whether it by by just the king, or a majority of a democracy has always been a part of the decline of that civilization.
    ^~~^~^^~~^~^~^~^^~^^~^~^~~^^^~^^~~^ ~~~^~~^~
  • Sounds like a very Zen concept to me.

    Be the code.


    rickf@transpect.SPAM-B-GONE.net (remove the SPAM-B-GONE bit)

  • You're missing the point here. Does being the author of a program give you a right to restrict other people's right to share it? Conventional copyright law says yes. RMS says no. You need to distance yourself somewhat from the current legal framework to see the strength of RMS' arguments. A read through the GNU website is always worthwhile. Note the emphasis on the rights of the user, not the programmer. This is what Stallman cares about. You may not agree, but you can at least take the time to understand.

    Yes, being the author of a program DOES give you the right to restrict other people's rights to share it. It in my software I put a contract stating that "if you open this software you agree not to redistribute it, etc. etc. etc." then by opening the package you are agreeing to those terms. If you don't like the terms. Return the softawre and find an alternative (or write it yourself).

    Let's look at GNU's page...

    The freedom to run the program, for any purpose (freedom 0).

    We're fine so far.

    The freedom to study how the program works, and adapt it to your needs (freedom 1).

    Sorry, this is for the author to decide.

    The freedom to redistribute copies so you can help your neighbor (freedom 2)

    Again, this is a choice for the author to make.

    The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. (freedom 3).

    It's a nice idea. Still, the author choses whether or not his/her software will be released as such.

    You're right. Stallman cares about the user. Doesn't seem, from this, that he gives a damn about the author(s) and the what rights they get.


  • Blueprints are layouts for physical structures. Structures that people will, potentially be in. You're talking about source code to an application, nothing physical. Bit of a difference.

    What is the problem in duplicating effort? We don't question why Burger King is around when we already have McDonalds. We don't question Honda for making cars when GM already makes them. Duplicating effort allows for different styles. One implementation might end up better suited for cases ABC while another is more suited for cases XYZ.

    I still don't share your views on open sourcing. Sure, it's nice. If I run proprietary software, it doesn't bother me a bit. I'm more concerned with the end result. Does it do what I want?

    Proprietary software does NOT restrict your ability to further the state of the art. You just sound upset because you have to start from scratch rather than tweaking someone else's work. That's life.


  • Even without precompiled headers, compile times on Windows are much smaller than on Unixen...

    When I worked at Visix, Galaxy took around 2 hours to build a single tree on a PPro-180 under Windows. A similar Linux machine (my P2-233 at home) took around 4 hours per tree.

    I think their compiliers have just been optimized for speed more...

  • This brings up an interesting chain of thought in my mind : could a game like EverQuest (a Massively Multiplayer Roleplaying Game) be developed by the OpenSource community, without people trying to take advantage of the fact that they could hack the rules of the game?

    In fact, I just so happen to be working on exactly this. The WorldForge [worldforge.org] Project is developing a sophisticated client/server gaming system with ambitions to one day overtake games like Ultima Online and EverQuest. All code is GPL'd, all art, music, documentation, and world design is under the Open Content Public License.

    If you're looking for a game to hack on, we're it. Come on by our website or pop into our irc channel: irc.worldforge.org / #forge .

    So, the next question is : is that a bad thing? I suppose that it is, under many circumstances, but I can imagine a game where part of the fun is to see how far you can hack the rules - within certain limits.

    Yup, our intent is to produce not a _game_ but a game "system" - a complete game designed to be easily molded into other kinds of games. Or that you can just hack on to add a few new features.

  • It's apparently www.worldforge.org (not com).

    And feel free to come by our irc channel too: irc.worldforge.org / #forge

    If you'd like to join in, here's a "HOWTO": http://www.worldforge.org/website/ about/jointeam [worldforge.org]

  • I think that the issues that drive the GPL don't necessarily apply to games. Of course, Open Source is the better method of developing software, but, the moral imperative is relative to the necessity of the software.

    Operating Systems must be Open Source, applications ought to be open source, but games are just toys, and frankly, who gives a shit what license they are under, as long as they are fun?

    I think it's immensely cool that John Carmack releases the source to his older engines, but I'm incensed when some asshole demands that he release the source to, say, Quake Arena.
  • I agree that id's main source of income is licensing the engines. I don't really agree with that as being a valid source of income.

    Isn't that pretty fucking rich? It's not like John Carmack is pimping 5-year-old sex slaves on the Internet, he's writing code and selling it. We're not even talking about hogging the code to some vital Operating System API, just the code for a game, which only other licensees hang onto.

    I think that the fact that many companies have licensed both the Quake and Unreal engines, but nobody seems all to interested in developing actual games around any of the many Open Source engines out there rather speaks for itself on whether engine licensing is a legitimate source of income.
  • Let's see: 1.) Had fun 2.) Met some cool people There is more to life than money. In fact, psychology has shown that people will come to appreciate what they do less if they are paid to do it.
  • Is there something really so wrong with a business trying to make money? Making money and supporting OSS aren't opposite ends of the spectrum, after all.

    I'm just a bit confused as to why you're latching onto the fact that they're a business. Are any of the other business making money off of or through open-source efforts also just as evil?

    This sounded like a wonderful event. Loki didn't create and doesn't own Civ:CTP, so a fully open-source situation isn't available to them. They're dealing with Activision (Another money-making company, but without OSS roots), so I'm really impressed by what they were able to accomplish. A decently large group of people had a great time hacking on the code, and you're upset because it was sponsored by a company rather than a non-profit group?

    Don't get me wrong, I'm not trying to flame you, I'm just trying to understand. I just don't get it when some /.ers get terribly upset when money is mentioned, as if it's necessarily detrimental to open-source.

    I welcome private replies, but during an ISP switch yesterday, my DNS got hosed. No ETA for recovery yet, so here's an alternate address:

  • It is quite simple to keep people from cheating. Well, to a limited degree, anyway. Do it the MUD way - all processing is done on the server, the client only sends commands and displays the information it receives. It would be quite easy to see to it that this is mostly free from possibilities for abuse. This puts quite a heavy strain on the server, though, especially if you want to use 3D graphics (the server must do much of the calculations needed to determine who can see what, for instance, or seeing through walls becomes easy), and it might also increase latency.
  • Sure. The engine is not the game. The engine is also not necessarily the cheat.
    I'm personally developing some enginelike stuff as GPLed free software: currently it's some terrain generation [airwindows.com] and universe generation code and ideas. (end plug ;) )
    As far as open source gaming is concerned, there are some things becoming apparent. The actual direction of a game has to be 'steered': I've seen projects that worked and projects that tanked and the difference is leadership and the willingness to say 'No, your idea is rejected', particularly in the realm of artistic decisions. If you go with pure committee-like democratic rule, you lose: someone has to be the hatchetman, and you have to pick people capable of fulfulling their roles.
    Given that, the question is kind of like 'if you can get the source to Apache and hack it, doesn't that make all Apache web sites insecure dead meat?'. Certainly not- it's a question of what sort of API you let a client use to communicate with a server. Ideally you work things out very carefully, and also make _no_ allowance for anybody to 'adjust' the game, not even the game authors. With a hidden API for adjusting player parameters, you're toast- in fact any critical data that you store on the client is toast, somebody will hack it even if it has to be done by hex editing. So the concepts that are important are keeping vital data on the server, and implementing no way of adjusting this data except by the normal playing of the game. Basically, if you the game developer can do it then somebody else can, with sufficient determination, even if that would mean getting physical access to the machine, social engineering etc, bribery or whatever. This does require that the game mechanics be really thoroughly worked out in advance, particularly areas that could be abused.
  • 48 hours on a 500k line program would be a waste for a contractual programmer. Maybe if you needed them to change the splashscreen or something - you simply cannot get familiar with the code in that amount of time.

    Also a contractual programmer wouldn't be given the task of 'do something really cool, here is $100,000'
  • I'll do it again if asked... I'll crash the party if not. ;) (It's supposed to be at a tropical type place next time)

    I entered on a whim, never thought I'd get picked. I got picked and never thought my company's legal group would let me go. Then I worried because I had never played the game so I ran out and bought a copy to get a few hours on before the trip, I don't hardly know how to play. Then I got there and had a wonderful time, meet a lot of cool people, hopefully did some good for something or somebody somewhere, and now it's too sureal and I almost can't believe it just happened.

    I was a little stressed initially, I didn't want to win so much as not look really bad. Then we just started talking and hanging out and I meet a lot of really cool people and had fun for a couple of days. Loki was 100% class, they kept us fed and were very friendly. (good meals too) It wasn't a competition and that's why it was so much fun. There was desire to do well but there was also desire to see each other do well and we helped each other. The biggest problem was the length of time, if we knew each other before hand we probably would have helped each other much more, it took about 6-10 hours for people to really start talking a lot.

    As for exploitation and some of the Opensource/freedomware debate issues. It is very clear to me that loki is committed to opensource, we had several "waiting-for-the-build" chats where those philosophical issues were discusses and Scott seemed to be as much an opensource advocate as anyone. I work for a major corporataion, it's part of my job to advocate progressive trends within the company and explore things, I admit that I'm working for the enemy in some ways but I also think I'm doing my part to try and make things better. I think Loki is doing the same thing, Civ is their business, if feeds them and they don't own it so they can only do so much, and they made some huge steps toward the community, they have real tangible results to show to Activision. in 48 hours some real improvments were made to the game, it's pretty remarkable, I watched Opensource in realtime. I don't think there was any exploitation, and if there was then I'm all for it because I had a great time.

    Ian Nelson

  • A programmer who, by the sweat of his or her brow, produces a piece of software, owns that fruits of that labor. It belongs to them. End of story.

    You're missing the point here. Does being the author of a program give you a right to restrict other people's right to share it? Conventional copyright law says yes. RMS says no. You need to distance yourself somewhat from the current legal framework to see the strength of RMS' arguments. A read through the GNU website [gnu.org] is always worthwhile. Note the emphasis on the rights of the user, not the programmer. This is what Stallman cares about. You may not agree, but you can at least take the time to understand.

  • True, that's not ownership, but that's not a lease either. You don't make periodic payments (except for most Microsoft and a few other companies' products which have regular upgrades) and don't have to return it at the end. Of course, yeah, if it were ownership you'd be allowed to do whatever you want with it.
    "'Is not a quine' is not a quine" is a quine.
  • Because of the nasty arrangement of everything, it wouldn't have worked very well. The Loki guys had already tried to split everything up into a bunch of .so files but the only thing they could really do it to was the map generator. Which helped me a lot, since my builds were only 5 seconds. :)
    "'Is not a quine' is not a quine" is a quine.
  • I meant the ACLU's headquarters. I was referencing a satirical bit in The Onion [theonion.com] a while back where the ACLU was petitioning the Nazis' rights to burn down the ACLU's headquarters as an expression of free speech.

    Incidentally, I only managed to hand out two resumes, and they were to Scott and Sam. :)
    "'Is not a quine' is not a quine" is a quine.

  • (Note: at the risk of now having my three different identities tacked together, I'll state that I'm the one who wrote the article, though I had asked Roblimo to use my real name throughout the post...)

    ESR was unable and unprepared to do any of that hack. It wasn't due to his level of skill, but due to the fact that he spent probably a total of 4 hours in the hack room. :) Instead, he ended up just fine-tuning the existing civilizations, specifically fixing various inaccuracies in the real civs' city names. There was a nice while where we were having an impromptu capitol city quiz while he was trying to get as many real cities in the database as possible. :)
    "'Is not a quine' is not a quine" is a quine.

  • (at the risk of having my various identities all exposed in tandem, I'm the person who wrote the article.)

    This is exactly what I was thinking after the contest, and exactly what I was chatting about most with Scott and other various Loki folks... basically, a game's sourcecode should be free, while the content can be commercial. I have no problem with paying for the package of the binaries and the game data, but if I could fix the problems in Quake 2, for example, I would. Someone who pays $50 for a RedHat or Debian box pays mostly for the manual and tech support, not for the media it comes on. Similarly, I think a game's content is the part which is really the creative aspect which requires protection; these days, most games would be so much better if they could just build on other peoples' engines, rather than having to reinvent the wheel constantly. That is, of course, the whole ideal behind opensource software. If the source is open, everyone benefits, but if it's closed, very few people do.

    Maybe I'm just a pinko leftwing communist hippie at heart, but I believe that opensource is the way to go in almost every situation. (Granted, there are many cases where the ideal breaks down, such as the case of console gaming where the hardware is sold well below cost and the manufacturer makes up for it in licensing the development kits and publication.)
    "'Is not a quine' is not a quine" is a quine.

  • Oh, were you at the contest too? ;)
    "'Is not a quine' is not a quine" is a quine.
  • Well, since we weren't allowed to take any of the code out of the room, we'd have to recode it anyway, making it a moot point. As far as the algorithms/concepts/ideas used in building that code, no, Activision doesn't own any of that either. Technically, Loki and the various hackers own the modifications to the code, but since the code is mostly derived from Activision's code, we're not allowed to release any of that. (One of the programs which I hacked up was for converting PPMs to CTP's proprietary internal image format so that I could add in my civ's diplomat image, and that was completely Loki's code, but it does no good outside of the proprietary context.)
    "'Is not a quine' is not a quine" is a quine.
  • (Pascal Q. Porcupine == Magenta Hari Nezumi == Joshua Shagam, as I've pointed out in each of my various posts so far. I'll point it out again. :)

    Yeah, it was mostly header parsing and linking which took the long bits of time. The whole contest, people were whining about gcc's lack of incremental linking or compiled headers. :) It's the one point everyone could agree on where MSVC was actually better than gcc/egcs.

    So, I take it you're one of the original Activision programmers? :)
    "'Is not a quine' is not a quine" is a quine.

  • 1. I don't know, I never actually saw the hack in action. From what I understand, basically it just writes stuff out to a file as it happens, so you'd need to write some CGI frontend to parse it or whatever. I believe that the hack only publishes turns as they're made, which means that yeah, all that information would be exposed. I think Ryan was assuming that it'd be up to monitoring servers to filter out all the juicy bits. Though granted, even publishing moves at all does expose quite a bit of what's going on, and this just gets back to the honor system. Unfortunately, there's seldom honor among thieves these days, as it were. :/

    2. Who doesn't? :)
    "'Is not a quine' is not a quine" is a quine.

  • I agree that id's main source of income is licensing the engines. I don't really agree with that as being a valid source of income. Really, when I buy a Quake-engine game I want to buy it for the game, not for the engine behind it. I bought Quake for the game, not the technology. I haven't bought Quake2 because I don't like the game. Quake3 I might buy because deathmatch is fun, but Unreal Tournament looks like it's going to handle it better. If id didn't have the code-licensing revenue stream, they'd have to actually make a compelling game again, like they did back in the Commander Keen and Wolf3D days.

    I imagine you're referring to Crystal Space regarding the full-featured rendering engine. I have some issues with that particular engine, but it can't prove itself in a commercial setting until it's had a commercial setting to be proven in, and there's a few games which are being written using it but, of course, haven't hit the shelves yet. Notice how lots of people are already waiting to pay their $50 for Quake3 and it's not even done yet? It's further along than any CrystalSpace-based game is.

    Writing a decent rendering engine really isn't that hard. Portal engines can be downright easy, especially when done in OpenGL by a competent programmer. (Hint: render the camera-containing room and the objects in it, use the feedback mode to render the portal surfaces, and then recursively render the visible portal surfaces. Not That Hard.) The only real purpose I can see for licensing someone else's engine is for a software renderer, and in that case, you can use something like, say, Project Spandex [tzo.com] as your rendering backend and use the exact same engine that you use with OpenGL. Again, Not That Hard.

    Having the code for a licensed engine available does enable the developer to be creative. Having the code for an opensource engine available also enables the developer to be creative, except then the developer doesn't have to shell out millions of bucks in licensing fees and so they can be creative with even more higher-quality artists which they can now afford to hire.

    "'Is not a quine' is not a quine" is a quine.

  • Yeah, that's basically how you could describe it. A coding lanparty. It was nothing but a lot of fun and cooperation. I probably spent more time helping other people than working on my own stuff.
    "'Is not a quine' is not a quine" is a quine.
  • Aside from your obvious sarcasm, I'll still respond anyway.

    The hacked version of the game will be available as various unsupported patches downloadable from Loki's site. Some of the hacks might be incorporated into the main game (and I know that my replacement splashscreen most likely will be). Loki will also try to assemble what Scott likes to call (in his somewhat Californian speak) a "Mondo Hack," which is as many thrown together in a single binary as possible. Hopefully most of them should work together, if not in interesting ways. :) Future plans for the hacks are unsure. Future plans for some of the presently-unemployed hackers (such as myself) should be very interesting. :)
    "'Is not a quine' is not a quine" is a quine.

  • The problem is that you still have to do a final linking pass. The binary still has to be generated from scratch from still separate libraries. All that a .a file is is a collection of .o files. Incremental linking solves this by only relinking the part of the binary which has changed. In the case of Civ:CTP, where half of the data seemed to be in global variables and half of the function calls seemed to be to other modules, linking was icky, at best. Incremental linking would have helped us out a LOT.
    "'Is not a quine' is not a quine" is a quine.
  • Okay, let's take these points one at a time, tired as I am (just got back from a They Might Be Giants concert :)

    Paying employees is different than sponsoring a contest. There are taxes and legal things (aside from the NDA) and stuff to deal with.

    I hope they're successful too, but you knew that. :)

    No idea what their gross income is. Nobody ever asked, Scott never told. *shrug*

    Yeah, I know, id software makes shitloads of money and they're even smaller than Loki, blah blah blah. Loki's not been around that long, and they only just now got products on the market. I don't think they even know their yearly gross; I don't think they've had one yet.

    I just find it laughable that /. people tend to be quick to assume things about company motives. Sometimes they're right, sometimes they're wrong, but they usually end up looking like the ACLU defending the Nazis' rights to burn down their headquarters (which is the kind of thing they'd do).

    Why they sponsored such an event? Well, to gather awareness for their product, of course, but also to gather corporate awareness for opensource development (even if it was a bastardized controlled version of such), and to have fun. Scott is, as far as I can tell, a very fun-loving guy, and he radiates it about himself. Fun was probably his first motive; I'd imagine that his first words about it to anyone else at Loki were something like, "Hey, guys, wouldn't it be fun to have a competition at ALS where we get a bunch of coders to try to hack neat stuff into CTP?"

    It was the Loki folks (by this I mean Scott and Sam) who blatantly stated that most likely the hacks would remain separate hacks, though they would look into integrating some of the neater ones into the commercial product. They also asked me specifically if they could use the splashscreen I did in the commercial version.

    And your defense mechanism is understandable. If I hadn't read Scott's post on the original Loki Hack article, I'd probably have felt the same way and not entered. If I weren't currently unemployed and needing a fun diversion for a week (not to mention a convenient means of possibly getting my foot in the door at a job somewhere - hence why I printed out 20 resumes to bring to ALS with me :) I wouldn't have entered, and would probably feel the same way. I'd rather try to explain my views on the matter than to take offense at someone who wouldn't have any way of knowing.
    "'Is not a quine' is not a quine" is a quine.

  • The nonduplication of effort inherent in open source doesn't negate finding a better way to do things, it just means that nobody should have to, say, reimplement a generic linked list except as a learning exercise.
    "'Is not a quine' is not a quine" is a quine.
  • Since when do you lease a piece of software?
    "'Is not a quine' is not a quine" is a quine.
  • Not everyone reads posts in the same order that you do. And I've stopped now that it's pretty well established. It's just that there's no direct link between my posting identity and my authoring identity, and I'm too lazy to create another account. :)
    "'Is not a quine' is not a quine" is a quine.
  • Oh, come on! It's not like they blew their life savings on crack. They spent a few hundred bucks and a few days of their life to do something fun with some other people. At worst, it was a vacation. And at best, it was a job interview. Sure sounds a lot better than sitting on a beach with a margarita and a glazed look in the eye.

    For many of us, it was both. :)
    "'Is not a quine' is not a quine" is a quine.

  • Eh? What profile? Regardless... in person, he's a neat guy. I wish he'd drop this whole infantile vendetta against Bruce Perens, but aside from being outspoken and sticking to his convictions, he's not a bad person. Certainly not twit-ish at all. He didn't act or care to act as an important celebrity-type person. He even went out of his way to let me use his notebook when I desparately needed to access my email for some important information which I'd accidentally left at home. I'd hardly call that behavior that of 'a twit.'
    "'Is not a quine' is not a quine" is a quine.
  • We showed them that they could put their trust into us. We showed them that opensource development can work, even on incredibly broken source. Maybe it helps that Civ:CTP is fun to hack on. But it also will hopefully show them that their closed-source methodologies only work when their programmers don't hate what they're doing. (One of the hidden veiled comments in the source basically boiled down to the game designer stating that he didn't like strategy games. Doesn't exactly sound like a good match, that.)

    Just the potential for opensourcing from Activision isn't the whole of what made it fun, though. Did you try reading the article? It was fun to get together with 20 other people and hack, for the sheer joy of hacking. It's the embodiment of opensource in that. We weren't doing it for prizes or for money or for glory but for the sheer sake of having fun and hacking. We weren't out to destroy anyone or pretend to be uberleet or any of the things that motivate wannabes. We weren't trying to be different, or better. We were simply having fun doing something that we found to be fun.

    What I did was sit down with a number of people and did some incredibly cool hacks to a non-free, closed-source program.

    Isn't that exciting on its own merit?
    "'Is not a quine' is not a quine" is a quine.

  • Well, then, I'm glad Roblimo convinced me to write it. Heh. :) (Yeah, these kinds of articles normally annoy me too. I was afraid of writing Yet Another Fluff Piece. Glad it didn't seem to come out that way.)
    "'Is not a quine' is not a quine" is a quine.
  • Well, I wasn't hoping to convey that we got better code, just more of it, and that it was cooler. :) Many of the hacks which happened were quite befitting of the state of the original code, and looked like, well, the original release of Mozilla, put into a blender on frappé, shoved into a toaster oven and let to sit on medium heat for a few days, and then microwaved. Nobody did anything like even attempt to poke at restructuring any of the existing code to make it better. Most of the code was tacked onto the original code; even my hack (the quasi-multifractal landscape generator) was horribly hacked in. There were lots of things I would have liked to have done better with it, but I didn't have the time or energy (hey, YOU try being altruistic when you're operating on 2 hours of sleep for the last 3 days - no, I didn't get any sleep on Sunday night before the contest). I wouldn't want to even imply that getting better code is a primary reason for open source. Just more fun code. :) Of course, for a longer time period, it could easily become better/cleaner/etc. code.
    "'Is not a quine' is not a quine" is a quine.
  • Yeah, that was an issue for me as well, but fortunately I live close enough to Atlanta that I got a round-trip ticket for $188.50, and also reserved a hotel room which was within walking distance of the convention center for $70/night (and I managed to end up splitting that with someone else at the last minute anyway), and I only needed the room for 3 days (I just took advantage of Loki's generous rental of a room for the one time that I just *had* to crash on a bed and take a shower). Most of my food was provided for me by Loki and/or various ALS folks. So, my total trip cost was something on the order of $300. Not bad, all in all. Though yeah, missing class would really suck.

    Scott openly expressed regret at being so last-minute with everything, and he will definitely try to make any future such competitions much better in that regard.
    "'Is not a quine' is not a quine" is a quine.

  • Speaking of which, Scott was very relieved to hear that you made it home safely. He was quite worried that the penguin mints wouldn't be enough to keep you awake for the whole drive.
    "'Is not a quine' is not a quine" is a quine.
  • Compiler writing is just a *bit* more complicated than adding random silliness to a game, you know. :)
    "'Is not a quine' is not a quine" is a quine.
  • Funny you should mention that. Scott mentioned that he was hoping to make this an annual event. Specifically, next year he wants it to be on one of California's many wonderful beaches. The working title is "Loki Hack 2000: Hex on the Beach." :)
    "'Is not a quine' is not a quine" is a quine.
  • It's very hard to believe Scott Draeker when he says that he's all for opensource unless you've actually talked to him in person about his feelings towards opensource. Yes, Loki is a company, yes, they're out to make money, but that's not all they're out to do. They're out to show that opensource programming can still make for a viable business model, and they intend on being a very successful company which uses and contributes to opensource projects. Note that SDL, SMPEG and SMJPEG are all their projects, developed on their company time and paid for with company money, but are out there as Free software under the GPL. They'd have opensourced CTP if they were legally able to. Call me gullible, but I honestly do believe that, especially after the time I spent with the various Loki people. I have yet to see any reason to mistrust them.

    Go reread the various comments in the original Loki Hack article [slashdot.org]. Notice how all the naysayers' comments have so far been wrong, regarding Loki's intentions and the potential for NDA issues and the like. Of course, that's no basis for a proof, but it's impossible to adequately describe the gut feelings that one gets when actually talking to someone, in person, about such matters. Scott Draeker's intentions are definitely, at this point, good, and I believe that Loki Entertainment will surprise the naysayers, who will, of course, still believe it's some big conspiracy.

    And BTW, Loki isn't a multi-million dollar corporation. They don't even have two dozen employees right now.

    As far as the job: This is assuming that the motivation in coming to the competition was being paid, which it wasn't, but let's see. 48 hours of labor from 25 programmers at $20/hour (let's assume a 40-hour workweek and $40k/year) is $24k. That's probably a lot more money than what they spent - in money - on the food and hotel rooms. However, think about the amount of time they invested in setting it up, pulling it through, getting sponsors (who didn't pay them anything, but just provided space and computers and prizes), and one can easily imagine it getting somewhere in the same vicinity. But again, the point of the competition wasn't a short-term employment. This seems to be a fact people keep forgetting. If Loki had wanted to actually get people to improve the game for a week and pay them a salary for that week, they'd have just hired a bunch of contractors instead, but that wouldn't have been any fun, now, would it?

    Also, remember that the hacks won't necessarily end up in the commercial product. Most likely they won't. The hacks will just be available as separate unsupported downloads.

    And I don't feel cheated in the least, and I had a very good time. I'm sure everyone else who participated will agree. So thus, you may be content.
    "'Is not a quine' is not a quine" is a quine.

  • That would be cool- I'd love to see Civ:CTP continue to evolve into the game it could have been, or see what people will think of for MythII. More power to Loki for trying hard to be creative within the bounds of their Activision contracts.
  • Sometimes, it simply takes a fresh perspective. When you have the same people looking at the same code for months on end, it's pretty easy to overlook something which you perceive to be "correct." All it takes is someone new to say "Hm. Well, this might work better this way..." and try it out. If it works better, great! Implement the code. If not, well, go back to the old code. That's the beauty of OSS!

    I'm sorry. What I meant to say was 'please excuse me.'
    what came out of my mouth was 'Move or I'll kill you!'
  • Writing a decent rendering engine really isn't that hard.

    That could just possible be true if the definition of "decent" didn't keep changing. Last year, you could write a 3D maze-style portal engine with basic animation, using algorithms you read about 3 years ago in Dr Dobbs (mainly available there because id put them there) - this year you can't. This year you'd better have dynamically adaptive geometry, detailed physics, skeletal animation, etc. etc.

    The easiest thing to do is to write a game engine over again that's already been written. Maybe that's a good strategy for the OS, as proven by Linux, but it just doesn't fly for game engines. In short, be prepared to make a massive investment in your game engine, or start thinking about using somebody else's.
  • Maybe the learning experience is enough for the first 2 years of a hacker's life but eventually you want to expand your goals to not just learning but producing something you can use after you're done coding it.

    The two are not mutually exclusive. You can get a job and still have fun and learn things on the side. There would be no reason for anyone (even outside of the computer world) to live if that weren't true.

    And I'm disapointed by your estimate that a hacker would only want to learn for 2 years. Are you really that far out of touch with the nature of hacking? I am personally certain that you are off by at least one order of magnitude, and I hope you're off by two.

    You have to start looking at costs and benefits of doing these things more and more and coding just for the experience less and less. Loki's programmers all have degrees in CS and very high grades, and whatever open source projects they did in the past were a tiny blip when they got hired.

    (Ooooo, that was close. [Sloppy deletes several angry lines of text.] I almost took the experience-is-irrelevant flamebait. Good thing I noticed just in time. Whew!)

    So as your student loans default one by one you're going to need to think more and more about where you put your volunteering.

    Oh, come on! It's not like they blew their life savings on crack. They spent a few hundred bucks and a few days of their life to do something fun with some other people. At worst, it was a vacation. And at best, it was a job interview. Sure sounds a lot better than sitting on a beach with a margarita and a glazed look in the eye.

  • This project was originally titled Altima, for alternative-to-Ultima. I have been following the mailing lists for most of a year since it started, and it is amazing the level of work that is being accomplished. They have not only code, but artwork, music, and other media that are all being licensed either under the GPL (the code) or related licenses (for the other media). Any of you who have interest in this type of thing can go see them at Worldforge [worldforge.com]. You will be impressed.
  • If I read this article correctly, the only restriction given was the actual _use of code_. There was no restriction mentioned regarding disclosure or discussion that I could see. All in all, it seems to be a great oppourtunity for open source, (as a potent example of the power that can be brought to bear, even under restricted circumstances, by opening the source)and I think it would be foolish to codemn in any way this type of activity by a company (Loki) that has a solid track record of releasing the source to things they develop themselves. (such as the motion JPEG library and installer)If nothing else, it seems like they are just trying to help others see the value in of open source.
  • If it's such a success, why couldn't this become a yearly event?

    We already have linux conventions, why not extend the idea to source conventions? I think it'd be a neat idea if someone picked up the ball, and started a yearly convention where companies could set up booths with computers, and programmers could mill around looking at the different companys' source. I can see several immediate benefits here.

    First of all, you've got more people looking at other peoples' source code, which I think is a good thing. People can look at the code, offer suggestions...even implement their suggestions in person. (To a degree.)

    You've got good pre-exposure for job-hunting programmers. Hey, I'd personally love to look at the source code I'll be working on at a particular company. You can learn a lot about the way a company's run, and the type of people who work there, by looking at the code. (And especially from reading their comments. :)

    Another plus is the pride aspect. Think about it; would you code sloppily, and put your name on, something that's going to be viewed by the general public? Your potential new employer? Thought so.

    Programmers, getting tired of telling your PHB how that code should /really/ be implemented? There'd be a whole mess of programmers out there, looking at your code, noticing the same problems you've been noticing. Just make sure to keep that suggestion box near those consoles!

    If you're planning on an upcoming release of an extensible game engine, and your wondering how it's going to be recieved, this'd also be a great place to get feedback. Do we really need this feature, or can it wait until the gold edition/bugfix/service pack?

    There are tons of other benefits, but I can leave that to others to discuss. (We've heard them all before, anyways, from those advocating open source software.) What I should probably also address are the copyright problems that would be associated with such an event.

    Personally, I think if you had everyone entering the convention sign an NDA, that'd do it. Sure, there'd be a little bit of intellectual property getting out, and it'd probably be used in other products, but then again, your company'd benefit just as well as the competition. And if you're really worried about a particular piece of code staying proprietary, just only allow access to the compiled version.

    Honestly, I don't see why this couldn't be done. It'd be of real benefit to all, and it might even cause a few of the more actively anti-open source-minded companies to rethink their position.

  • Somehow I missed this being announced on Slashdot. It amazes me that this would even happen. It is such a good idea. It is very utopian. I can see this as the way of developing code in the future. I can see inviting 20 people to polish off some code over the weekend. Of corse, I can also see springing for the airfare and giving each hacker a check too. That is, if it was a comercial release. I love the idea. Anyone up for hanging out in San Diego Holloween weekend?
  • This is one of the things Corel is paying Cygnus to work on [cygnus.com].

    It will be up to the GCC maintainers to decide when the code gets integrated into the mainline releases.


  • OK, Loki may have paid for food, but food is a minor expense. What are loki getting from the people involved in the contest? How much money are they going to make from this - improved game now? Lots.

    Therefore, there was no reason why loki should not have paid for more expenses such as hotel bills. Providing a single room, thats a bit tight fisted. Paying for travel, would have been really generous.

    The total costs of expenses would be minimal compared to the amount they are going to make out of this game.

  • ..why software is not like a skyscraper (sorry for the cheap shot, Signal 11.. I'm sort of bored today ;).

    10) Bill Gates doesn't have a monopoly on skyscrapers (..yet).

    9) GNU doesn't produce any tools with which to build a skyscraper (..yet).

    8) You can't "compile" the blueprints to create a fully constructed building.

    7) When the building "core dumps", the garbage is much harder to run through a "debugger".

    6) When software "core dumps", it is much less likely to cause the death of several hundred people (unless it has to do with an air control tower..).

    5) When Y2K hits the building won't suddenly "crash".

    4) You can't make a major structural change to the blueprints and simply "recompile" a completed building.

    3) The media doesn't tend to refer to "architects" as "demolitionists".

    2) You can't ftp a skyscraper onto your pr0n/warez server.

    1) Hax0rs can't crack open a skyscraper from the comfort of their bedroom after just getting home from school, filled with angst over being rejected by the ugliest girl in school.

  • It's very hard to believe Scott Draeker when he says that he's all for opensource unless you've actually talked to him in person about his feelings towards opensource.

    I'm not questioning his motives. I am only suggesting that if a company can afford to pay programmers, they should.

    They're out to show that opensource programming can still make for a viable business model, and they intend on being a very successful company which uses and contributes to opensource projects.

    And I hope they're successful.

    Call me gullible, but I honestly do believe that, especially after the time I spent with the various Loki people. I have yet to see any reason to mistrust them.

    I believe you and trust your instincts.

    And BTW, Loki isn't a multi-million dollar corporation.

    I have no idea what their gross income is, what is it? But I suspect it's enough to have paid these 30 people well.

    They don't even have two dozen employees right now.

    This does not necessarily relate to their potential or actual gross income.

    Scott Draeker's intentions are definitely, at this point, good, and I believe that Loki Entertainment will surprise the naysayers, who will, of course, still believe it's some big conspiracy.

    As I said, I am not questioning his motives, nor am I a naysayer, just slightly cyincal. I find it healthy to question everything. But on a side note (and please forgive me) but I find it very rude when people throw the word "conspiracy" out in an intellectual discussion. It has always been used tactically in the past by people who are attempting to immediately dismiss their opponent (for lack of a better word) out of hand as some sort of UFO, alien-abduction, "Oswald didn't act alone," nutcase. While I am certain that is not what you're doing, I do find it a distraction.

    If Loki had wanted to actually get people to improve the game for a week and pay them a salary for that week, they'd have just hired a bunch of contractors instead, but that wouldn't have been any fun, now, would it?

    Well this then begs that obvious question, "Why did they sponsor such an event?" I am a little suspicious of the idea that THEY did it to have fun. And from what I read (and I did read the original article) their code was a mess. All in all it appears to me that they benefitted greatly, and the hackers got some t-shirts, food, 1/30th of a hotel room, and some fun. What would an outsider reading this thread for the first time gather from the facts at hand?

    Also, remember that the hacks won't necessarily end up in the commercial product. Most likely they won't. The hacks will just be available as separate unsupported downloads.

    I'm curious if this is just a suspicion of yours, or something they told you. It sounded to me like you fellas wrote some cool code. To me it would seem foolish not include such code in the final product.

    And I don't feel cheated in the least, and I had a very good time. I'm sure everyone else who participated will agree. So thus, you may be content.

    Excellent. There's nothing quite like the feeling of a job well done. I support open source and am ultimately glad that such an event took place. In my case (and in defense of my 2 posts regarding this topic) warning flags tend to go off when I feel that corporations are taking advantage of talented people. Especially talented people within circles that I tend to frequent. It's only a defense mechanism. Forgive me if I've offended anyone. :-)


  • Hmmm... let me add this up:

    1. Drove from Daytona Beach, FL to Atlanta and back: Three tanks of gas @ $15.00 per tank.

    2. Used the single hotel room reserved by Loki: Free.

    3. Ate meals provided by Loki: seven meals @ about $6.00 per meal (certainly more than that, being from a hotel).

    4. All the snacks and soda you could pack down: $15 (being VERY conservative).

    5. Two free T-shirts: $25.

    6. Three day pass for ALS: $300.

    Total money spent: $45.00
    Total value gained: $382.00

    Not even counting the free software and prizes given to the contestants, I would hardly say we were working for "free". Besides, most of the practical knowledge gained from the event goes a bit towards increasing your earnings potential, now doesn't it?

    Andrew Henderson
    Runner-Up, Loki Hack '99

  • by On Lawn ( 1073 ) on Saturday October 16, 1999 @10:01AM (#1608696) Journal
    Actually in my opinion this was the biggest waist. It could have been a good idea, but instead I think it just shows some of ESR's misguided beliefs. From this Loki [lokigames.com] source the libertarian government he envisioned was...

    Libertarian goverrnments will not be able to move military units outside of their home territory, but will receive large science and production bonuses. Once a libertarian government is chosen, all fascist and communist civilizations will immediately declare war on it.

    What kind of cinderella notion of Libertarianism does that represent? I'm a libertarian, and it seems to me that the main cost of libertarianism is more civil unrest, and less population growth, and much less production and wealth. Unless the populace is very educated. Think of all the drug addicts, and other things this society would have since it didn't consider anything as evil if it only harmed the person doing it (as proliferated in the current Libertarian platform).

    If anything the Ecotarian "back to the earth" society is already a pretty much a good embodyment of Libertarianism of that order(IMHO). But it could be extended...

    If one wanted to grant the benifits ESR suggested they should be more costly. It should require the same happiness level as a democracy (if not more), but require even more education to maintain a productive society. Potential rebellion would be greater also.

    And definately, I don't think that communist and fascist governments really care about a libertarian order next door. It would be much easier to conquer a country where no one had to join the military anyway. In fact they tend to come in and fill a vacuum left by the lack of leadership from a week government. Remember the Articles if Confederation?

    (Btw, not to sound like I'm haranging my party. I am Libertarian because I believe a government is a collaberation inside a society built to preserve the liberties of those in that society. And that less is more when it comes to government on average. Not becuase of unrealistic beliefs that if the government removes its laws and consequences then we can truely be free and without law.)

    And kudos to those who did enter, on the most part I really liked hearing about the cool things they did with the code.
  • by heroine ( 1220 ) on Saturday October 16, 1999 @09:18AM (#1608697) Homepage
    Well no programmer of Loki's ever wrote 100,000 lines of code that they couldn't leave the showroom with and got hired by Loki. Maybe the learning experience is enough for the first 2 years of a hacker's life but eventually you want to expand your goals to not just learning but producing something you can use after you're done coding it.

    You have to start looking at costs and benefits of doing these things more and more and coding just for the experience less and less. Loki's programmers all have degrees in CS and very high grades, and whatever open source projects they did in the past were a tiny blip when they got hired. So as your student loans default one by one you're going to need to think more and more about where you put your volunteering.
  • by Sinner ( 3398 ) on Saturday October 16, 1999 @05:14PM (#1608698)
    Now where does this "right to share it" come from, please.

    I suppose it comes by extension of the right to share anything else. If I want to let a friend live in my house rent-free, I do not expect the builder to be knocking on my door saying "sorry, you can't do that, you're threatening my livelihood". Yet software builders take their ability to dictate how their "houses" may be used for granted.

    If you do not like something do not use it, full stop.

    Now you know perfectly well that this isn't always an option. If it wasn't for the work of the GNU project, those of us who wanted to share our operating systems would have no legal choice at all. Even now, Microsoft is struggling to stop this choice being a viable one. Or are you suggesting those of us who don't like to be blackmailed into shrinkwrap contracts shouldn't use computers at all? That wouldn't leave us in a very good position in the 21st century.

    We are not talking about things like medical drugs here, something no-one really considers worth to make free for countries in need of, but "just" software.

    RMS himself has made it clear that he doesn't expect free software to save the world. But software freedom is an issue important enough to him that he has decided to devote his life to it, and I think it's worthy of our attention.

    At the end of the day there is not just right or wrong but quite a lot in between.

    Absolutely. I am not saying I think that Stallman is correct, I am saying that we should consider his arguments. Perhaps there is a moral imperative for free software.

  • by Pascal Q. Porcupine ( 4467 ) on Saturday October 16, 1999 @10:16AM (#1608699) Homepage
    That is correct. (I'm the author of the article. Roblimo mismatched the pronouns and name for the context. Oh well.) We're only restricted to using/distributing the physical code for the next five years. Since we weren't allowed to make any printouts or otherwise get any code out of the room in the first place, this is a moot point. The NDA specifically allowed for usage of what we remembered. The NDA was basically a giant loophole which was only in place to keep Activision's lawyers happy. Loki flaunted this fact. :)
    "'Is not a quine' is not a quine" is a quine.
  • by Pascal Q. Porcupine ( 4467 ) on Saturday October 16, 1999 @10:59AM (#1608700) Homepage
    Basically, everyone won. The judges could only decide the five best in order (I was number five). After that they declared a formal tie. The only one with any designation (that is, getting a neat dual-processor workstation rather than some piece of hardware of the winner's choice) was Christopher Yeau (not sure about the spelling), who found and reactivated a lot of features which Activision took out for some reason, including being able to spy (in detail) on a city, various units (including killer cows), and a lot of other stuff. It didn't involve much code, but the point to the contest was to improve gameplay as much as possible, and I don't think anyone else was willing to touch Activision's disabled code with a 10-foot pole. (There must be a reason they took it out to begin with, right? :)

    As far as other places, the only other one I can remember is Ryan Gordon who came in second for doing the aforementioned server-publishing hack.

    BTW, I wrote this article a couple hours before winners were announced. (Roblimo put me on a pretty tight schedule. :) My attitude was unchanged after the award ceremony, except that I was disappointed that I didn't win the machine. :)
    "'Is not a quine' is not a quine" is a quine.

  • We joked about that quite a bit during the contest. :)

    I can't speak for everyone, but I'm still recovering from that first 48. :)
    "'Is not a quine' is not a quine" is a quine.

  • by Pascal Q. Porcupine ( 4467 ) on Saturday October 16, 1999 @11:32AM (#1608702) Homepage
    Went through my email, and found this 'beta' version of the NDA. It's virtually unchanged since then. (Note that by code they mean physical code, not concepts and algorithms.)


    This Nondisclosure Agreement ("Agreement") confirms an agreement between
    Loki Entertainment Software (the "Company") and _________________________
    (the "Receiving Party"). In consideration of the Receiving Partys
    participation in the Loki Hack 99 programming contest (the "Contest")
    and any access of the Receiving Party to Proprietary Information of the
    Company and its licensors, the Receiving Party hereby agrees as follows:

    1. The "Receiving Party" understands that the Company has disclosed or
    may disclose information relating to the game Civilization: Call to Power
    (including, without limitation, drawings, designs, specifications, data,
    manuals, know-how, formulas, computer software, source code, algorithms,
    data structures, scripts, application programming interfaces, protocols,
    processes, ideas, inventions (whether patentable or not), schematics and
    other technical information), which to the extent previously, presently,
    or subsequently disclosed to the Receiving Party is hereinafter referred
    to as "Proprietary Information."

    2. The Receiving Party agrees (i) to hold Proprietary Information in
    strict confidence and to take all reasonable precautions to protect such
    Proprietary Information (including, without limitation, all precautions
    the Receiving Party employs with respect to its most confidential
    materials), (ii) not to divulge any such Proprietary Informa-tion or any
    information derived therefrom to any third party who is not a registered
    participant in the Contest, (iii) not to make any use whatsoever at any
    time of such Proprietary Information except as necessary to participate
    in the Contest and (v) not to copy or remove from the Contest location
    any such Proprietary Information. Without granting any right or license,
    the Company agrees that the foregoing shall not apply with respect to any
    information five (5) years following the disclosure thereof or any
    information that the Receiving Party can document (i) is or becomes
    (through no improper action or inaction of the Receiving Party) generally
    known by the public, or (ii) was in its possession or known by it without
    restriction prior to receipt from the Company or (iii) was rightfully
    disclosed to it by a third party without restriction, or (iv) was
    independently developed without use of or reference to any Proprietary
    Information. Without granting any license to any copyright or patent
    rights, nothing in this Agreement shall restrict the Receiving Partys
    use or disclosure of such Proprietary Information may be retained in
    intangible form in the Receiving Partys mind after the conclusion of the

    3. Immediately upon the conclusion of the Contest at 3:00 p.m. E.S.T on
    October 13, 1999, the Receiving Party will turn over to the Company all
    manifestations of Proprietary Information of the Company and all
    documents or media containing any such Proprietary Information and any
    and all copies or extracts thereof. The Receiving Party acknowledges and
    agrees that it may not remove at any time any Proprietary Information
    from the controlled facility where the Contest takes place.

    4. The Receiving Party acknowledges that its participation in the Contest
    is solely for the purpose of creating a modification, addition or other
    alteration to the game Civilization: Call to Power (the "Hack") and
    agrees to assign and hereby does assign to the Company all of the
    Receiving Partys right, title and interest in and to the Hack and all
    trade secrets, copyrights, patent rights, trademark rights and other
    intellectual and proprietary rights therein. The Company agrees to
    release the Hack in binary form for free download on the Internet;
    provided, however that nothing herein shall require the Company to
    release any (i) defamatory, libelous or obscene material, (ii) materials
    which compromise the anti-cheating facilities of the game Civilization:
    Call to Power, (iii) material which infringes any trade secrets,
    copyrights, patent rights, trademark rights or other intellectual and
    proprietary rights, or (iv) any Proprietary Information.

    5. This Agreement applies only to disclosures made during the course of
    the Contest. The Receiving Party acknowledges and agrees that due to the
    unique nature of the Proprietary Information, there can be no adequate
    remedy at law for any breach of its obligations hereunder, which breach
    may result in irreparable harm to the Company, and therefore, that upon
    any such breach or any threat thereof, the Company shall be entitled to
    appropriate equitable relief including, without limitation, injunctive
    relief (without the requirement of posting any bond) in addition to
    whatever remedies it might have at law. The Receiving Party shall not
    export, re-export or remove from the U.S. any Proprietary Information or
    direct product thereof in violation of any U.S. or foreign law,
    regulation or other order; this obligation shall survive termination of
    this Agreement. In the event that any of the provisions of this Agreement
    shall be held by a court or other tribunal of competent jurisdiction to
    be illegal, invalid or unenforceable, such provisions shall be limited or
    eliminated to the minimum extent necessary so that this Agreement shall
    otherwise remain in full force and effect. This Agreement shall be
    governed by the law of the State of California without regard to the
    conflicts of law provisions thereof. Notices hereunder will be effective
    only if in writing and upon receipt or three (3) days after deposit in
    the U.S. mail, first-class postage prepaid. The prevailing party in any
    action to enforce this Agreement shall be entitled to costs and
    attorneys' fees. No waiver or modification of this Agreement will be
    binding upon either party unless made in writing and signed by a duly
    authorized representative of such party and no failure or delay in
    enforcing any right will be deemed a waiver. This Agreement supersedes
    all prior discussions and writings and constitutes the entire agreement
    between the parties with respect to the subject matter hereof.

    "'Is not a quine' is not a quine" is a quine.
  • by Signal 11 ( 7608 ) on Saturday October 16, 1999 @07:19AM (#1608703)
    I have mixed feelings about this review. On one hand any chance to meet talented fellow hackers is a Good Thing.. even if you can't talk about what you did for 5 years. And even if the code they sat down to write that fine afternoon is never used.. the experience and contact(s) gained may likely spill over into a joint-effort between the two at some future date. Maybe even a free software release. But on the other I keep hearing echos of the gpl in my ear telling me that it's a moral imperative to not support proprietary software.. and a waste of one's effort to do so anyway.

    I guess my unanswered question is - should you have fun even if the people you associate with would disapprove of it? For me, the answer would normally be yes. But the moral dilemma found with the free software / open source philosophies leave me with a bad taste in my mouth.


  • by Signal 11 ( 7608 ) on Saturday October 16, 1999 @01:09PM (#1608704)
    FYI, I am a programmer (of sorts *g*). While I respect the right of people to release their software under restrictive licensing, I'm not going to support that choice. It produces an unnecessary duplication of effort, for one. Let me give you an example - if the blueprints of every skyscraper built were kept secret, you'd have no way of suggesting to the engineer(s) ways of improving it. You'd also be unable to determine that they only used half the parts they should have to built it - and that as a result it could literally fall apart! What's worse, you couldn't easily tell what works and what didn't.. so you may need to build several skyscrapers before you find one that stands upright. Software is the same way - if you keep the blueprints secret everybody suffers. What's worse, the effort you put into creating the program (or building!) don't work to advance the state of the art.

    Imagine if you couldn't build your house without paying somebody else because they already patented the idea. Now you see why I despise proprietary software so much - it restricts my ability to further the state of the art.

    This is what I mean when I talk about a moral imperative - because that is the result that has, and will continue to, happen until we make a conscious effort to stop it.


  • by robinjo ( 15698 ) on Saturday October 16, 1999 @11:07AM (#1608705)

    Wow, you guys really did some cool work in only 48 hours. Could I ask for another 48 hours with the source code [freeciv.org] of Freeciv [freeciv.org]?

    I'm drooling when I'm thinking what such a talented bunch of coders could do to my favourite game. :-)

  • by rde ( 17364 ) on Saturday October 16, 1999 @07:20AM (#1608706)
    This elegant essay may well ended up being cited widely as one of the primary reasons for open source code; you get better code. This is a fact everyone reading this is aware of, but there's a much, much wider audience out there that equates open source with free beer. What's needed to convice these people is, well, this.
    There've probably been a whole bunch of projects that benefitted significantly from opening their source, but this is an excellent real-world example that should be enshrined in history.
    Here's hoping, though, that no Activision PHBs look at this as evidence that opening the source -- even temporarily -- invites pillory as well as improvement.
  • by rde ( 17364 ) on Saturday October 16, 1999 @08:07AM (#1608707)
    it's a moral imperative to not support proprietary software.. and a waste of one's effort to do so anyway
    Whatever about your feelings about proprietary software -- and in general I agree -- the claim that sitting down with the source for a game like CTP for a day is fallacious in the extreme. Hac gratia hactis is the rationale for many; but this is far from the only reason.
    Activision may have gone into this for the publicity, but if they see how a game can be improved so dramatically in one day by a [collective term for] open sourcers, then they may reconsider their position, however slightly.
    If you're going to win the hearts and minds of proprietary software CFOs, you've got to do it by example, not by pious posturing. And however much you point at software like Apache, the message won't be driven home until they see a demonstrable effect on their own products. That's what they saw here.
  • When I signed up for Loki Hack, I figured I had no chance in hell of being selected to go. Something like this, it seems, would be seen as just an opportunity for programmers to gain visibility, allow Loki and Activision some free advertising, and give CivCTP a boost in sales ("Free mods done by real open source programmers!"). I found out that this was quite far from the truth when I was selected to go.

    The first few hours of the competition were spent scanning the 500,000+ lines of C++ of CivCTP, with little said between the contestants. Then we all began talking to each other to see if someone had seen some object or another anywhere during their travels through the code base. Before you knew it, it wasn't a competition any more. It was a big knowledge swap meet.

    Why did we all sign up? I don't know. My personal reasons were a chance to check out the structure of a commercial game and also to get a chance to meet the other folks who had more experience than me. I only really wanted to learn more about game programming. After all, I think just about every coder has the deep-down desire to create games, right?

    Perhaps Loki gained some free advertising from the event. I can tell you from being there that extra press was a necessary side-effect. The Loki staff were more interested in talking to the contestants. Was this for the screening of potential Loki coders? Perhaps. Was it for learning more about different areas of code development we weren't that familiar with. Most certainly. If you even made mention of some topic of programming or of a particular library that others weren't familiar with, you suddently found that you had an audience of 5-10 people, hanging-off your every word and wanting to learn more.

    Just about everyone there was an expert in some area. Just a quick glance showed people that were very high in the food chain in many open source projects: Clanlib, GGI, GCC, and many others. Were they there to get more their names plastered all over press releases? They didn't need it. They were already well-known within the Linux community.

    I had the opportunity to talk to several other of the programmers there, as well as with Loki's staff. It wasn't the lure of job offers or being mentioned on Slashdot ( ;> ) that drives these folks. Its the idea that more than one viewpoint produces a better final result. Which, last I checked, was one of the big reasons for open source in the first place.

    While it was true that testing of our hacked code wasn't very robust, it wasn't meant to be. Loki and Activision aren't going to just scoop up our code, merge it together, and then repackage it to sell another million copies. Some features that we developed may be taken under consideration by Activision for a later Civ release, but it would be the concepts that we created, not our code.

    I'm afraid that people have gotten the notion in their heads that this whole event was a chance for Loki to grab the spotlight, Activision to make some money, and a few hackers to be abused by some corporate machine. Far from the truth. It was a chance for Loki to use their leverage to let the open source movement to gain some steam and for some talented folks to show Activision that open source works. The result was a resounding success.

    ... and I think I learned more about "real-life" coding in 48 hours than I did in four years of college ;>

    Andrew Henderson
    Runner-Up, Loki Hack '99

  • by Hendersa ( 103381 ) <hendersa.icculus@org> on Saturday October 16, 1999 @09:32AM (#1608709) Homepage
    Loki was very sly when they dealt with Activision on this one. The NDA was an amazing piece of work. It basically broke down to:

    1. No showing of the code to anyone for five years (no printouts).

    2. ALL code seen during the competition may be discussed with anyone. So, if you want to know what is inside CivCTP, just ask someone who went.

    3. ANY knowledge gained by a programmer by looking at Activision/Loki's code may be used for that programmer's IMMEDIATE monetary gain if desired.

    Hardly a standard corporate NDA, hmmmm? ;>

    Andrew Henderson
    Runner-Up, Loki Hack '99

  • by Joe Rumsey ( 2194 ) on Saturday October 16, 1999 @09:38AM (#1608710)
    It's not every day one's own code gets reviewed on slashdot! I really like what Loki did, but I saw the particular reaction to the code presented here coming a mile away. I don't want to sound too defensive. I'm more amused than anything else, in fact. I'm not offended. I agree with magenta's assessment. Trying to make the map zoom smoothly would have been a particularly awful thing to try to trace through, that was an unfortunate choice. I'm glad you found something else interesting to do.

    Without DCOM, COM is for reference counting. That's absolutely correct. The windows version isn't really any different in how the code for the map generator plugin works. The only reason I used COM as an interface is that I happen to be familiar with it from a previous job (which also included plugins on Unix systems using COM, there really isn't anything to it)

    Anyway, thanks for the review. What doesn't kill us makes us stronger, eh? I'm glad the experience on the whole was a positive one.

    On a tangent, I hate to ruffle anyone's feathers , but the compile times on windows are quite a bit faster than Linux. A complete build from scratch on a P2/450 takes less than an hour, and linking just a minute or two at most (much less for non-full builds). I'm guessing the major factor is precompiled headers. EGCS doesn't have them. If we turn them off on windows, it takes hours there too. Incremental linking also helps. With the linux version, the whole program has to be linked from scratch every time. VC however just relinks the object files that have changed, when possible. I'd really like to be able to write games using emacs and GCC again, but the compile times for large projects really need to come down.
  • by Pascal Q. Porcupine ( 4467 ) on Saturday October 16, 1999 @10:10AM (#1608711) Homepage
    I've been working on such a system in my spare time. Things have interestingly turned out in such a way that I might be getting paid to do it eventually. :) (I'm the author of this article. I don't want to say too much, but one of the other consequences of this contest is that I have some interesting job leads now.) In any case, my idea for the system is very MUCK-like; open system, all server-side actions (it's not for realtime gaming, but for action-oriented such as in, well, a MUCK). Some people have the ability to write scripts (which will be C or something C-like compiled on the server), the scripts can have certain permission levels, and really the client will be a glorified text parser which ends up rendering a 3D representation of the current visible state. (I'm oversimplifying, of course.) I plan on making it entirely opensource. Such a project could be funded through a variety of means:

    1. Content - for the base content to properly connect to a server (prefabs, standard character models, etc.), the server owners sell a CD for, say, $5 which is the price of admission.
    2. Caching - one of the potential features of my architecture will be distributed storage, but there will still need, for practicality purposes, to be a server-side repository of cached player information. $1/MB/month for such a cache seems reasonable; you can play without it, but it'll annoy other users when they keep seeing placeholder graphics instead of your custom avatar and environments while it takes forever to download your real data. (Of course, if you use only prefabs, rental of a cache will be completely unnecessary. Also, it'd be very possible to specify a different source for the data, so if you already have a high-bandwidth webserver, the cache would also be unneeded.)
    3. Subscriptions - maybe a player just needs to pay $5/month to be allowed to use the service, or otherwise just use a guest account with a maximum number of guest connections at any given time. Of course, other people could run services out of the kindness of their hearts (look at dyndns.org vs. dyndns.com). It'll all be open, and people can run servers however they see fit.
    So yes, I think something much, much grander than EverQuest could easily be both opensource and a commercial success. Hopefully I'll be able to actually get started on writing up initial specifications soon. :)
    "'Is not a quine' is not a quine" is a quine.
  • by onethumb ( 4479 ) on Saturday October 16, 1999 @07:36AM (#1608712) Homepage
    I'm a games developer myself, and am in the process of starting a new games technology company (which, of course, will make incredibly fun games as well as technology :) and it's really heartening to hear that a games-related OSS event went off so smoothly with such positive results.

    I know that many game companies consider their code to be very proprietary and treat it like their only chest of gold. Which, of course, is common to many software companies today, and isn't necessarily an invalid reaction, but I really love what I've been seeing over the last few years in Open Source.

    There are some game programmers in our field that, while not being exactly open-source, do share their views and opinions with each other, especially among the Dallas developers. I've always throught it was really great how John Carmack (id) would chat with Mark Dochtermann, Jim Dose, Jack Mathews (all three at Ritual), Gary McTaggart, Charlie Brown (both at Valve), Billy Zelsnack (late of Rebel Boat Rockers) and Corrine Yu (3DRealms) about what they were all doing. While not a totally free-flow of ideas, and certainly not source hacking together, it was nice to see things get loosened up a bit.

    The idea that's popping around in my head is to do something like id does with their test versions (QTest, Q3Test, etc), but somehow combine it with a similar OSS event to the one described above. Maybe a month or so after releasing the test, host an event over a weekend where qualified folks can come and hack on the source to make any modifications they think would be cool after playing the test version for a month.

    Any thoughts on this? Any other ideas? I know for a fact that going purely open-source with our new technology won't fly past my other partners, and I'd even have to stop and think really deeply about it myself even if I were alone in this venture, but I really do believe that the open source model provides some wonderful benefits that I'd love to foster.

    I'd love to receive email replies, but during an ISP change yesterday, I lost DNS and have no idea when it will be back up. Here's an alternate if you're interested in discussing this privately:
  • by Jerenk ( 10262 ) on Saturday October 16, 1999 @07:37AM (#1608713) Homepage
    Well, I received my invitation to go to the Loki Hack, and I was quite shocked. My initial reaction was, "Huh? Me? Why?" I then shifted moods to, "Wow! I should go!"

    But, then I came to a dilemma. Loki only notified us on October 1st (the contest began Monday, the 11th). My biggest problem was a) finding a cheap ticket on such short notice and b) I'd have to miss a week of classes here at UC Irvine. I could live with missing classes (it wasn't the best of times though, but I could have done it), but I thought it was unfair that we had such short notice to plan our trip. I searched around the web and ended up at CheapTickets.com. I could find a flight that kind of got me there for around $300. However, if you've dealt with CheapTickets, they want to send your ticket via snail-mail and it MIGHT have been there by that Friday (I was supposed to leave Sat. morning - cheapest flight out was then!). However, after emailing Kat from Loki about my dilemma, she suggested that I could pick up the tickets from CheapTickets's office in Fullerton (about 30-40 min away by car). Only problem is that I don't have a car. So much for that. I was not going to spend $300 and have even the slightest possibility that I was not going to get my ticket. I don't believe that that was fair. I'm not even going to broach the hotel rates ($69/night for the cheapest room). Again, Kat suggested that I might be able to find someone who was willing to open up their room for me (or I could sleep in the Hack room). Neither possibility excited me greatly. ;-)

    Then, I stopped and thought about it for a while. I have been flown to interviews before on 2-day notice (as evil as everyone thinks Microsoft is, they did that for me...) and they paid all expenses. Now, you have to be silly to think that Loki will not try to hire some of these people that they liked from the Hack (they even admit as much on their Hack FAQ). My thought was, "Why should I pay $500 to give somebody some good PR?" ($500 includes all misc. expenses and is a conservative number). The answer of course is that I got to play around with some cool Linux game source code. But, is $500 worth this honor? In the end, I decided that it wasn't.

    As some people suggested to me, if I had already been going to ALS, then this would have been a no-brainer and I would gladly have done it. But, that was not the case. In perusing Loki's pages about the Hack, it is quite interesting to note that there are a substantial amount of students were from the Atlanta area (Ga. Tech, etc.). The "older" people appeared to be employee of companies (who get a salary and can probably afford $500 more than a starving college student).

    It would have been a great experience, but I passed it up. I have a feeling there will be more opportunities. In fact, Loki has mentioned that since I live in their neck of the woods (in Orange County), that they may look to hire me for some open positions. Cool. I would not have a problem working for them. The difference is that I'd be getting paid. That's the difference. I'll hack all you want if you pay me. If I am doing it out of my own free will, then I guess that I have certain restrictions that I place upon myself.

  • by SideshowBob ( 82333 ) on Saturday October 16, 1999 @08:09AM (#1608714)
    I'm so sick of this "if its not free its evil" b.s.

    A programmer who, by the sweat of his or her brow, produces a piece of software, owns that fruits of that labor. It belongs to them. End of story.

    If, he or she, out of pure nobleness of heart, decides to share the work with the rest of the world by releasing the source under one of the free licenses, we should applaud loudly.

    But if a programmer chooses to release it under a non-free license, we should support their right to do so. That, to me, is what freedom is all about. The ability to decide for yourself how your work is disemminated to the rest of the world.

    Anyone who claims that open source is free like speech should recognize the parallels to speech here. If you are a supporter of free speech you have to support an environment where people feel safe to express ideas and opinions that not everyone else agrees with. If you start denigrating some forms of expression, then the environment as a whole is no longer free.

    Stop this "moral imperative" nonsense. Its noones moral imperative to try to dictate licensing conditions for someone elses work.

    (sorry for the rant)
  • by Viking Coder ( 102287 ) on Saturday October 16, 1999 @08:01AM (#1608715)
    This brings up an interesting chain of thought in my mind : could a game like EverQuest [everquest.com] (a Massively Multiplayer Roleplaying Game) be developed by the OpenSource community, without people trying to take advantage of the fact that they could hack the rules of the game?

    Undoubtedly, some people would bend or break the rules of the game, either just for the joy of hacking, or in an attempt to gain skills or items in the game that are beyond their current means.

    So, the next question is : is that a bad thing? I suppose that it is, under many circumstances, but I can imagine a game where part of the fun is to see how far you can hack the rules - within certain limits.


    (Man...I wish I had seen this a few hours ago! :) )

    Uh, hi. I was runner-up #2. My name's Ryan. I wrote the "server mod", which isn't really a server mod, and I'll explain in a minute. First, I want to discuss Loki Hack and ALS.

    I wasn't going to ALS at all, originally. It was another Linux conference that I couldn't schedule into my life (like all Linux conferences...sigh...) but I saw Loki's advertisement for the 'Hack on Slashdot, and figured "Hhm...no prayer of beating the Slashdot masses with MY application, but I'll enter it anyway." I actually screwed up my 'Hack application, referring to the contest as "48 contestants doing 30 hours of programming" ...my bad. :)

    So, needless to say, I was somewhat shocked when I checked my email one Friday night to find that I was invited to participate.

    I later found out that there was only ~31 entries...20 of which agreed to show up. So much for that Slashdot effect, eh? Realistically, it was VERY short notice to put a lot of demand on a contestant's time and money...I suspect next year this may be less of an issue.

    Still, I quietly took a week off from work (I wonder if I still have a job? Oh well...) Transfered some flow to my check card, and hopped in my little blue Saturn to make the drive from Charlotte to Altanta...only 3.5 hours down I-85 South. Not bad at all.

    One contestant was there before me, having "hitchhiked" from Salt Lake City. Smart guy...works for MyComputer.com. Met Scott Draeker and Sam Lantiga of Loki, got my case of CD's flipped through quickly by the security guard (which was the extent of the "police harrassment" any of us got...which was MUCH less than expected by me...but I'm paranoid.)

    So I popped in my custom CD-R of important data: source to FTE, glibc reference in HTML, Limp Bizkit in MP3. :) Copies of every relevant webpage I could find; the original slashdot posting, Loki's homepage, SDL's documentation...

    Others began to arrive. The guy next to me noted there was a nametag waiting for a contestant named "Eric Raymond." As the contest started, Mr. Draeker annouced that whomever was the contestant from IBM, he need not worry; IBM's lawyers said the NDA was okay for him to sign. After a (VERY) brief overview of the code ('the "gfx" directory is for graphics, "ui" is the user interface, etc...any questions?'), we all went around the room and introduced ourselves and what we wanted to do to the code. There was a contestant from Zendragon software, who was an old-school XFree86 hacker. There was a guy from Cygnus software. Someone else was from Creative Labs. San Mehan from VA was there. Eric Raymond was not, yet. One person wanted to port to Clanlib. One wanted to redesign the tile properties to include stealth, etc. for "more realistic" tank warfare (he was a programmer from Florida working on defense contracts or something). Others talked about AI, GGI cubes, and other more-than-impressive stuff. And they were all confident this would be accomplished in 48 hours.

    Needless to say, my little punk ass was feeling more than slightly underqualified at this point.

    "Uh, hi. I'm Ryan Gordon, I'm a programmer in Charlotte, NC, and I haven't the SLIGHTEST clue what I'm going to do with Civ, yet. But it'll be REALLY cool when it's done."

    I gave a goofy smile and a thumbs up. Everyone (myself included) probably considered the possibility of mental retardation.

    Admittedly, I'd played the Win32 version of Civ:CTP for the first time the previous night. Never the Linux version. I hoped they were similar. Remarkably, they appear to be identical, minus a splash screen from Loki at the start of the Linux port.

    NDAs are passed out. They are a JOKE. We may not physically remove the source from the room, but we may discuss it at our leisure publically. Anything we retain IN OUR MEMORY can be used for personal, public, commercial, and non-commercial uses. I interpret this to mean that if my memory was good enough, I could leave the hack, type in 0.5 million lines of code, and legally own it. Maybe I'm wrong. Scott Draeker is a software licensing lawyer when not running Loki, and he called the document an "Anti-NDA." He had never seen the memory clause before, and suspects he never will again. No one knows why Activision allowed that one to get by. Somehow, I don't see myself as a threat to their business, though.

    The hack begins. We tore through code like we tore through the cases of Pepsi. No one says much beyond the standard jokes about the quality of the code.

    A word about that. The code to Civ:CTP is...well...I've seen worse. But it wasn't great. There wasn't any documentation (but comments in the code existed...I wish there was more, and an overview or whatnot would have helped a lot...) Specifically, internally, a good portion of Civ is scripted using the "slic" engine...no documentation exists for this engine at all, in source comments or printed form; indeed, Loki didn't have this either. Script syntax and usage could only be grokked from the source code itself. This principle applies to the entire codebase. Loki developers noted to me that it took them three days to get a dialog box to draw using the aui (activision? abstract? user interface) code from civ:ctp. I didn't have that much time, but being stubborn, spent about 30 of my hours trying to grok it. I failed on that one. :) This was my biggest tactical mistake, for those that really believed this to be a contest.

    This brings us to a good point. It occurred to us all, subconsciously and early on, that the best help resource was not Loki's developers (who didn't know where to point us for the REALLY obscure details we needed for really strange hacks) but rather EACH OTHER.

    Okay, group hug.

    Seriously, we found that the obscure details we needed were usually found by someone else, or that they were willing TO STOP WHAT THEY WERE DOING, and help us search. Amazing. Anti-contest.

    Eric S. Raymond -DID- show up, and gave up on adding a new government type...no one (especially Eric) has that much free time to spend on something of that magnitude. Later on, he added more cities to the game, but mostly had other things to do with his time. I can't say I blame the man...Linus Torvalds himself would have more free time than Eric at ALS.

    So the contest continued. I found myself asleep under the food table at one point around the 18 hour mark...crawled out from under there and back to my seat blurry-eyed to continue working...no one thought this was unusual. :)

    Around 24 hours, Cartman (the quad Xeon, 1 gig RAM build server) crashed. It took forever to get it back, and the solution seemed to be disabling NFS, as it was devouring memory for those multiple copies of 80-megabyte debug binaries and such...we continued then by telnetting into Cartman and doing our work there instead of exporting the devel directories to our individual boxes. That seemed to fix it.

    As the contest reached the 10-hour-left point, I -FINALLY had a good way to do my hack. The original idea remained: I wanted to play Tetris (or pong...or whatever) in between network game turns. In a 32 player game, you have TIME TO KILL between turns. I thought I'd add this to the game in a Civ:CTP dialog box. You see the failing? Writing tetris from scratch in 48 hours seemed trivial in comparison. In reality, it probably was trivial in comparison.

    Also, a friend had previously suggested to me that I add an "addiction meter" to the game. Something like a popup that says "You've been playing for 6 hours and 19 minutes...this rates you as: -JUNKIE-" ...

    So I used an old Unix philosophy: why make one BIG program, when you can have a bunch of little ones that exec() each other?

    So here's my hack: I added code to Civ that will spawn external programs at the beginning and end of the local player's turn. These are specified by the environment variables CTPBEGINTURN and CTPENDTURN. The values of those variables are the file to exec(). If the variables don't exist, then no fork()/exec() is done.

    But wait, there's more.

    At the start of each turn, Civ can now dump out a text file of game state information. This includes network game info (can I dynamically join this game?, etc) and player info ("Brian Boru", isAlive, etc...)...uh, and other little things, like if anyone's built a space city yet.

    Nothing too insecure for cheating's sake.

    This file is written to $HOME/.civctp/civchain.txt (or wherever you specify with $CIVCHAINFILENAME), before the process is spawned. The spawned code can be anything with the executable bit set; a shell or perl script, binaries, etc...

    This leads to a primary benefit: extensibility BEYOND the hack. Users in the open source world can add new features, roughly, through a rough interface to the game. It sure as hell isn't ideal, but it's better, in my opinion, than a slightly improved, but hereafter untouchable, AI algorithm would have been.

    Some uses for this?

    1) The user can spawn xtetris/xbill/xcetera at the end of his turn, and have a shell script kill off the game when his turn comes around again.

    2) The user can run a program that reads civchain.txt and pops up a dialog if he's been at it too long (the addiction rater I mentioned before.) The difference is now that this isn't limited to closed-source, and it's not limited to C++ and the AUI classes.

    3) The user can parse the details of civchain.txt to a pretty HTML file, and dump that onto a webserver so people can see the current status of a game by hitting the website. Indeed, I wrote this program as proof-of-concept during hour #48.

    There are deficiencies, and even bugs, especially in the civchain.txt creation, but it's usable. Email me for details. My address is at the bottom of this reply.

    Thanks for reading this far if you just wanted the details of the "server hack." :)

    Eventually the judges came around. I apologized to Hemos for not having any Nanotechnology in my hack. :)

    Lots of cool was created. Eric got all the US capitals added to the game (and we all stopped to help...taught us all how piss-poor our georgraphy skills were...we couldn't even think of all fifty states for quite awhile...of course, we were mostly on our third day without good sleep.) Daniel, who later kicked my ass at BattleTech at Dave and Busters, ported (miraculously and without a prior test run before judgement) the program to clanlib. The dude from Creative Labs got Civ:CTP running on a side of the infamous GGI cube. Joshua got a bunch of cool things done. There was a lot more, but these were the ones I remember best.

    As for the future use of these, obviously the Clanlib and GGI guys should be crapping their pants when they hear about the port, and the Aztecs are a great (re)addition to Civilization. I hope my addition is at least flexible enough for some creative soul to make use of...many things (like the addition of a porcupine race...sorry, Josh!) will probably NOT be folded back into the game, but some details (like the wandering players hack) could even make it as far as the next win32 release...who knows? I doubt Loki could even be ACCUSED of getting "free labor" out of this...but Activision and Loki definitely got "free ideas"...and that's cool. Open Source isn't about code so much as good suggestions from peer review...fresh perspectives...maybe Activision will see that Intellectual Property is expanded in a new way much more so than it is diminished in the common ways through open source.

    But maybe not. That's okay too; I had fun. Call me a selfish detractor from the open source movement, but I don't care if Activision opens this game up. I also don't care that I "consorted" with the enemy for 48 hours, and gave them free peer review. It was fun. I met all sorts of cool people from the Loki guys to Phil Hughes to Illiad to Eric Raymond to Liz Coolbaugh to Taco and Hemos to Scoop to that dude from Cult of the Dead Cow to...countless others. I got offered some jobs (and Scott, I'm still sending you that resume...Charlotte isn't TOO far from California, right?) by some very varied sources.

    And I learned a lot. It was a growing experience. Not only did I learn more about how (not) to manage a massively large project, but I saw what great minds do when they connect. I learned that you needn't be TOO ashamed when you've been up for 45 hours and forget how a C++ constructor works. (oops. :) )

    So in the first and last Loki Hack of the century, I'd say the result was entirely positive. The only thing I would seriously change, if I had it all to do over again, would be how I attacked the code. The best plan seemed to be to plant some hooks and get out of the code base as quickly as possible.

    As for next year, there's been some grumblings of plans for a Loki Hack '00, but nothing is definite. Let's just say if it goes anything like what we all discussed at the open bar after this year's event, it'll be a) VERY different, b) much better, and c) have wider-reaching effects and implications. I think you'll be impressed, whether you liked Loki Hack this year or not...I just don't want to promise things for Loki that aren't nearly definite yet, but you can get some hints from other replies to the original article.

    In closing, big thanks again to Loki for the opportunity. I enjoyed every moment and got so much from it...and it only cost me gas money...everything after that, I spent of my own free, impulsive will. :)

    Comments, questions, and everything else that isn't spam is welcome at ryan_gordon@hotmail.com.

    --ryan c. gordon.
    second runner-up, loki hack '99.

  • by Kitsune Sushi ( 87987 ) on Saturday October 16, 1999 @07:40AM (#1608717)
    But on the other I keep hearing echos of the gpl in my ear telling me that it's a moral imperative to not support proprietary software.. and a waste of one's effort to do so anyway.

    While I'm not precisely a big fan of proprietary software (about the only non-GPL stuff I ever bother to use are PICO and PINE.. which I see no real benefit to GPLing in the first place =P), I've never been all that concerned about non-free game software. Most of the software that I prefer be free are general purpose or otherwise a means to an end (and most especially device drivers ). I don't really care about the newest Quake being free software the moment it comes out any more than I am drooling all over myself to see the PlayStation 2 get "open sourced" (as someone complained that it wasn't.. the argument against closed consoles was quickly follow by retorts of "is something worthless because you can't program it? just because your toaster isn't open source you're not going to use it?" or something like that..).

    I guess my unanswered question is - should you have fun even if the people you associate with would disapprove of it? For me, the answer would normally be yes. But the moral dilemma found with the free software / open source philosophies leave me with a bad taste in my mouth.

    When it's just a game (especially since most games have a short life expectancy), I really don't see a problem with it. I don't really think generating proprietary software in general is "evil" per se, but I certainly wouldn't waste much time on such things (aside from games.. ;). While it might be nice to see id release the code for their games a while after they come out, I don't see it as any sort of pressing issue that they be free software to begin with, or at all. Stuff you sort of have to rely on, like your operating system or other damn useful tools, I see a problem with helping along proprietary systems that simply don't work like they should (and yet get marketed as the best thing to happen to the world since.. um.. sex..? ..certain religious orders apt to disagree.. ;).

    Ok, now that I've beaten my point to death and just about bored myself senseless.. Loki really isn't that bad of a company (haven't they been releasing libraries and other tools they used to create games as free software?), and since games are only for play, it's not quite the same as pushing along "the corporate machine". Now, if a bunch of hackers were invited to Redmond to get all the wrinkles out of Windows 2000 and were offered a neat new computer to the one who did the best work (and lots of notable individuals actually accepted!) then you'd have much more cause for that bad taste in your mouth.

    Until then, focus on what's more important. ;)

"You can have my Unix system when you pry it from my cold, dead fingers." -- Cal Keegan