Slashdot Mirror


SimCity Source Code Is Now Open

Tolkien writes "Source code for SimCity has been released under the GPLv3. For legal reasons the open source version was renamed Micropolis, which was apparently the original working title. The OLPC will also be getting a SimCity branded version that has been QA'ed by Electronic Arts. Some very cool changes have been made by Don Hopkins, who updated and ported what is now Micropolis. (Here is an earlier Slashdot discussion kicked off by a submission Don made.) Among other things, it has been revamped from the original C to using C++ with Python. Here is the page linking all the various source code versions. Happy hacking!"

360 comments

  1. All of a sudden... by Anonymous Coward · · Score: 5, Funny

    ... a big scream was heard, as if a thousand hours had suddenly been lost.

    1. Re:All of a sudden... by Anonymous Coward · · Score: 0

      What you heard wasn't a scream, it was Don Hopkins' server imploding...

    2. Re:All of a sudden... by imipak · · Score: 1

      God I must be old... I just installed it, it runs perfectly, has a lovely dated earlyu 90s style U but I have no fucking idea how what to do or how to do it. I've clicked away and tried to "bulldoze first" but nothing happens on the main map display. Mebbe it's time I stopped hanging around here and left it for the kids...

    3. Re:All of a sudden... by RLiegh · · Score: 1

      What's that you said ? Slashdot has hit the skids? What?

    4. Re:All of a sudden... by Tore+S+B · · Score: 1

      I think it's a bug, actually - the graphics view doesn't render - you're trying to construct stuff over stuff, but you can't. The stuff is invisible.

      --
      toresbe
    5. Re:All of a sudden... by Anonymous Coward · · Score: 0

      Oh, I've been waiting *years* to say this:

      Get off our OUR lawn, you old fogey! :-)

    6. Re:All of a sudden... by Tolkien · · Score: 1

      Heheh.

      My first accepted submission (of 2, heh). Wow, I never knew editors modified /. submissions. Makes sense though, being "editors" and all. Oh well, close enough. :)

    7. Re:All of a sudden... by fodi · · Score: 5, Funny

      There's nothing wrong with the copy at all. This is just the open source version. To get it working:

      1. Reinstall your OS, taking note of which libraries you compile into the kernel and which you merely reference as modules (this will be used later).

      2. Scan all the ansi files in the download and replace references to other hardware with the .c files representing those in your own system. Re-Make the game and the installer and install it to a folder accessible by all users on your system, unless you're the only user and have a separate partition for your /usr path and wish to install there.

      3. Start the game, turn off sound and network options (don't kid yourself; it's for the best) and start a new game.

      4. If it runs too slowly, go back to step one and change the kernel\module mix to something more suitable.

      Yes, this was an OSS troll and a superficial attempt at light humour... take a breath, count to ten, then mod me down.

      - fodi
      5. Play !!

    8. Re:All of a sudden... by Anonymous Coward · · Score: 0

      ha ha ha ha! My god that was funny! Well done you.

    9. Re:All of a sudden... by JulieHo · · Score: 1

      This is great news and a great game. This should pose as an example for future scenario and IA programming. I cant wait to check this out.

    10. Re:All of a sudden... by Anonymous Coward · · Score: 0

      It's funny 'cause it's true

  2. Craptastic Code? by DingerX · · Score: 5, Insightful
    FTA:

    There's still a lot of craptastic code in there, but the heart of the software (the simulator) hasn't changed.


    I dunno, from the QA side in 88/89, the results were darn clean. The simulation would crash from time to time, but the interface, never. To all those who point to multi-threaded apps and say it's too hard for coders to do, I'd suggest that really good programmers are hard to come by.

    So maybe somebody can point to what's being complained about here. Back in the day, we didn't have the luxury of infinite space for code and variables. But from a quality-of-product point-of-view, very little could match (and can match) SimCity
    1. Re:Craptastic Code? by unlametheweak · · Score: 1, Interesting

      Sim City and all the Sim games worked very well on my High Res black and white Mac Plus. When I tried the Windows versions, in colour no less, they looked and felt so cheap and amateurish (back in the DOS and Windows 3.1 days).

      The Mac seemed such a natural platform for Maxis in those days.

    2. Re:Craptastic Code? by chgros · · Score: 3, Informative

      But from a quality-of-product point-of-view, very little could match (and can match) SimCity
      Well, except for the use after free bug that required a special case in Windows 95 so that the game would keep working.
      See e.g. here (look for SimCity):
      http://www.joelonsoftware.com/articles/APIWar.html

    3. Re:Craptastic Code? by ddrichardson · · Score: 5, Funny

      Slashdot, the only place one can make a flippant remark regarding the state of 20 year old code and successfully find someone who worked on it.

      --
      A thistle is a fat salad for an ass's mouth...
    4. Re:Craptastic Code? by osu-neko · · Score: 1

      Frightening, ain't it? Old coders never die... and they're reading what you write right now. :p

      --
      "Convictions are more dangerous enemies of truth than lies."
    5. Re:Craptastic Code? by DingerX · · Score: 1

      Cool page. Thanks for that.

      Now, the PC version of SimCity was released 5 years before Windows 95 broke. And, as much as I loath the Mac horde around here, SimCity was released on the Mac first (Micropolis may have been developed for the C64, but I only remember Raid on Bungeling Bay as a Will Wright genius game. And yeah, don't knock it until you spend fifteen minutes watching fighters land, refuel and rearm. Before ROBB, all we had were threats coming right at us. In that game, those evil dudes we'd try to shoot down, they stood up and said "we have a life outside of you." Trivialize it if you will, it was revolutionary).

      So, yeah, SimCity = Macintosh game. The PC Port was just that (and I remember working on it, but not more than a few hours). That Microsoft would make an accommodation six years later doesn't strike me as an instance of bad coding - heck, if you present most game developers today with the choice of the "right way" or an expedient that works much better, and caution that the expedient will only work for six years, what do you think they'll pick?

      (Yes, I am a hacker. It is an article of faith to me that the revolution will only come through information technology provoking a new awaking. And the only way that can come about is by implementing shortcuts designers hadn't thought of, or even had thought undesirable. Yes, we need to change with every version, but the revolution ain't never gonna be legacy, babe!

    6. Re:Craptastic Code? by jericho4.0 · · Score: 5, Funny

      My personal favorite /. moment was someone telling John Carmack he didn't know what he was talking about.....

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    7. Re:Craptastic Code? by Anonymous Coward · · Score: 0

      Do you have a link to that discussion? It's never to late for new memories..

    8. Re:Craptastic Code? by anss123 · · Score: 2, Insightful

      The PC version was in all likelihood ported from the Amiga, not the Mac. The Mac and Amiga versions came out around the same time (1989) with the PC version coming out months later.

    9. Re:Craptastic Code? by jericho4.0 · · Score: 2, Informative

      Sorry, no link, and /. search is no help. He was talking about OpenGL and why it's worth supporting, IIRC.

      --
      "A language that doesn't affect the way you think about programming, is not worth knowing" - Alan Perlis
    10. Re:Craptastic Code? by jensend · · Score: 5, Informative

      That would be this.

    11. Re:Craptastic Code? by bakes · · Score: 1

      I'm pretty sure that the guy knew exactly who John Carmack was. His post was (deservedly) rated up to 5-Funny very quickly.

      (I had a bit of a look, I couldn't find a link to the post either)

      --
      Ho! Haha! Guard! Turn! Parry! Dodge! Spin! Ha! Thrust!
    12. Re:Craptastic Code? by zonker · · Score: 0

      You "loath (sic) the Mac horde"? Just curious does that include CmdrTaco?

    13. Re:Craptastic Code? by Anonymous Coward · · Score: 0

      I don't think he meant official QA with the "from the QA side" comment, it could just as well have been a joke, ie. he spent a lot of hours playing the game and so observed the quality of the code first hand.

    14. Re:Craptastic Code? by fightthefud · · Score: 1

      Thankyou! That just sent me on a long journey reading through all Carmack's slashdot posts. Really interesting, enlightening stuff!

    15. Re:Craptastic Code? by tuxic · · Score: 2, Interesting

      One of the things I remember from playing the sequel, SimCity 2000, is that the GUI looks like it's been ported from the Mac.

      --
      "People are stupid. Persons are smart" -- Agent K, MiB.
    16. Re:Craptastic Code? by Jussi+K.+Kojootti · · Score: 4, Insightful

      That Microsoft would make an accommodation six years later doesn't strike me as an instance of bad coding- heck, if you present most game developers today with the choice of the "right way" or an expedient that works much better, and caution that the expedient will only work for six years, what do you think they'll pick?
      Using memory after releasing it is bad coding, however you spin it. It's also bad coding even if "most game developers" would do it. It's pretty much guaranteed that even the DOS version crashed because of this: it just didn't do it everytime. So the "works for six years" excuse is probably bollocks (although if you did QA for that version too, you probably know better :)).
    17. Re:Craptastic Code? by DingerX · · Score: 1

      Clarification: It was a long time ago, and all I did was some pre-release testing on contract to Maxis. No code was looked at by me, but my impression from dealing with software (=number of bugs we found per hour put in the game) and the developers was that the code was very clean. Also, the way the producers talked about the program showed that they had a very clear idea of how it worked, how solid it was, and how much love they had for it. By the time we saw the Mac version, it was practically perfect. Now the PC version's interface, on the other hand, had issues...

      Professionalism + Love = Solid Work. The equation's that easy, but antithetical to an endeavor that seems to spawn either hackers (lots of love, little professionalism) or suits.

    18. Re:Craptastic Code? by ConceptJunkie · · Score: 1

      Kids, these days. They think all you need to do is divert 10's of millions of cycles to some bloated library that does all the work for you, and there's nothing wrong with your software requiring a hundred megabytes and a multi-gigahertz processor to do the same thing some of us were doing on an 80286 running at 10MHz or even a 6502 running at 2MHz with hundreds or even tens of kilobytes of RAM.

      SimCity was a great accomplishment. I spent many an hour with the Amiga version back in the day.

      --
      You are in a maze of twisty little passages, all alike.
    19. Re:Craptastic Code? by Anonymous Coward · · Score: 0

      Ok, sorry for the misinterpretation of your comment, and thanks for your efforts - I certainly did enjoy the hours I spent playing the game.

    20. Re:Craptastic Code? by cromar · · Score: 1

      We (Mac users) had a lot of good games back then, it's true.

    21. Re:Craptastic Code? by edwdig · · Score: 1

      Using memory after releasing it is bad coding, however you spin it. It's also bad coding even if "most game developers" would do it. It's pretty much guaranteed that even the DOS version crashed because of this: it just didn't do it everytime. So the "works for six years" excuse is probably bollocks (although if you did QA for that version too, you probably know better :)).

      I can tell you exactly what the error is, as I ran into the same bug in a project I worked on. It's easy to say it's a bug, but there really wasn't much wrong with doing things that way at the time.

      When you used expanded memory on DOS, you allocated memory in 16 KB pages. There was a 64 KB buffer somewhere under 640 KB that the pages were mapped into. Programs would allocate pages, and ask the memory manager to swap the appropriate pages into the buffer. In a pure DOS environment (especially in the old days when expanded memory was found in addon cards rather than emulated), when you freed expanded memory, you were just telling the memory manager to put that page back into the list of free pages. If that memory happened to be in the page frame at the time, it was supposed to stay there until you requested otherwise.

      Win9x changed this behavior - if you released an expanded memory page, not only did it free the handle, but it also immediately unmapped the page from the frame buffer. Is that behavior valid? I don't know. But it is different from every prior implementation of expanded memory.

    22. Re:Craptastic Code? by Tulisin · · Score: 1

      Note that Godwin's rule is in full effect despite the fact that the reply wasn't even about politics. I fully expect that "Hitler" would've popped up shortly had the discussion continued.

    23. Re:Craptastic Code? by cuantar · · Score: 1

      I came along a little later than black-and-white Macs, but I played Nethack, Spacestation Pheta, and Oxyd on a greyscale Powerbook. Even into the 90's, though, classic Macs still had something I play periodically today: Escape Velocity. http://www.ambrosiasw.com/games/ev/ That game will always hold a special place in my memory.

      --
      Legalize it.
  3. Version? by Anonymous Coward · · Score: 5, Interesting

    I can't see anywhere stating the obvious, what version is it? Simcity classic, 2000? 3000? 4000?

    I'm assuming the classic, which is a shame as I felt 2000 was one of the few times a sequel actually made the game better. Unfortunately 3000 and 4000 continued to suggest otherwise however.

    Even if it's just classic however I'm sure I remember even that had some differences between platforms.

    Perhaps I'm just blind but it'd be interesting to know which version this is!

    1. Re:Version? by ShadowMarth · · Score: 2, Informative

      Apologies for the unnecessary correction, but it's Sim City 4, not 4000. Just nitpicking, I'm afraid. Honestly, though, I thought 3000 was the best. Sim City 4 is just entirely unforgiving.

    2. Re:Version? by X0563511 · · Score: 5, Informative

      had you looked at the links, you would see this screenshot.

      Looks a lot like Classic.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    3. Re:Version? by X0563511 · · Score: 3, Informative

      And, because nyud.net is slow-as-hell, here is a direct link.

      (there is a larger version on the website but I'm trying NOT to set fire to his provider's systems)

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    4. Re:Version? by rustalot42684 · · Score: 1

      I liked Sc4 with Rush hour the best. The 'drive-it' or whatever thing was pretty lame, but I liked the way you could do more realistic transport systems etc. I thought the "Region" idea lifted SimCity4 high above SimCity 3000. What I'd like to see is the ability to have streetcars, and, most importantly, curved roads.

    5. Re:Version? by JamesTRexx · · Score: 1

      The only thing I'm missing from 4 is the government buildings-only view. Now I can't hide the tall buildings to be able to get at that subway or bus station next to it. (and in my layout I have a lot of those)

      --
      home
    6. Re:Version? by __aawdrj2992 · · Score: 2, Informative

      My gripe about SimCity 4 was money. It was really hard to have any sort of budget that profited money for projects and expansions. (And I've played my share of SimCity). This is something that worked much better in SimCity 3000. I did however love the regions, the way the transport systems built, the better graphics, and the ability to rotate the camera as I see fit. My $.02.

    7. Re:Version? by Workaphobia · · Score: 1

      SimCity 2000 was easily the best of the series, and in my opinion the best game of any of the Will Wright games. It pretty much had everything I wanted, putting me at exactly the level of control I wanted to be at. The SCURK definitely helped too. And then you have SimCopter and Streets of SimCity. The latter got lousy reviews, looking back on Wikipedia, but I had a heck of a lot of fun with both of them.

      --
      Evidently, the key to understanding recursion is to begin by understanding recursion. The rest is easy.
    8. Re:Version? by shoptroll · · Score: 1

      Yeah, Maxis/EA dropped the ball big time on things like that. Sad because it was a really good looking game and was a decent simulation, but the lack of post-release support really killed it for me. Then again, it's really hard to beat the old Simcity 2000.

      --
      Insert Sig Here
    9. Re:Version? by toddestan · · Score: 2, Insightful

      I thought that SimCity 2000 was the best myself. I tried SimCity 3000, and while it was cool and had some awesome ideas, all the micro-managing eventually got annoying (a common flaw it seems with strategy/simulations game sequels as computers get more powerful, the Master Of Orion series also suffered from this). I want to design and lay out my city, not having to constantly run around replacing the dozens of bloody water pumps as they wear out. A close second might be SimCity for the Super Nintendo, which was very well done and had a nice amount of polish on top of the PC/Mac versions of the game, with the only real flaw being that the game ran pretty slow on the SNES's CPU.

      I admitedly never have tried SimCity 4, for fear it was going to be like 3000, only even more annoying.

    10. Re:Version? by The_mad_linguist · · Score: 1

      The SNES Simcity doctor is confirmed for Brawl!

    11. Re:Version? by cbreaker · · Score: 1

      You can't rotate the camera in SC4.

      SC4 is a challenging game and if they had made it easy to get money it wouldn't be. Besides, it's not entirely difficult to make money, and the regions help with that a lot. But, if you still find it too hard, there's some great mods that help out. One fixes the toll booths, giving them the proper capacity (and therefore more money) and another one increases the capacity of industrial buildings.

      The hardest part of SC4 is the first city. Once you have a viable first city, it's easier to expand on it into other cities in your region.

      I think SC4 is the best Sim City game that's ever existed. The attention to detail, the expansive regions, and the Rush Hour pack make this game unmatched in the genre.

      Don't even bother with that abomination called SimCity Societies. It's got the name, but it has nothing to do with Sim City. It's not even good on it's own, if you have no expectations of playing a Sim City game.

      --
      - It's not the Macs I hate. It's Digg users. -
    12. Re:Version? by cbreaker · · Score: 2, Interesting

      You can switch to Zone view and you'll see bus stops, subways, etc but not buildings, and you can also view different types of buildings and they get highlighted. For instance, you can click Health and all the hospitals show up bright green on the map.

      I never found it to be a big problem.

      --
      - It's not the Macs I hate. It's Digg users. -
    13. Re:Version? by cbreaker · · Score: 1

      Yea, Rush Hour is really a necessity. It adds a whole new dynamic to the game - not only does it allow for much more transportation, it lets you click any road, building, or station and see what's going on. It helps you deal with the problems like "Building abandoned due to high commute time." With Rush Hour you can actually click to see where people are driving and what types of transportation they're using. You can then adjust your transportation system accordingly or build more zones appropriate to what's required.

      SC4 is mesmerizing. It's an amazing game.

      --
      - It's not the Macs I hate. It's Digg users. -
    14. Re:Version? by JamesTRexx · · Score: 1

      Then I wonder which version of 4 you're running. Zone view hides everything, except for the zones of course.
      Version 3000 still showed all that was not R, C or I in zone view.

      --
      home
    15. Re:Version? by cbreaker · · Score: 1

      It says 1.1.610.0. It still won't show all "function" buildings in zone view but it does show terminals - bus stops, etc. To see hospitals and other things you need to view normal but select the appropriate filter such as health or education. Then, it makes these items bright green.

      It would probably be nice to have a "hide all zoned buildings" but I never really found the lack of it to be a big problem.

      Overall I'd say SC4 is a rare case of a decent EA game, and it's possible that because the staff at Maxis still had a hand on building it. Sim City Societies, on the other hand, is all EA and it shows. Man, I wish EA never existed.. We might actually get a decent NFL game if someone else were making them too.

      --
      - It's not the Macs I hate. It's Digg users. -
    16. Re:Version? by atrizzah · · Score: 1

      Streets of SimCity was flawed but awesome. That's one game I wish they had made a sequel of.

    17. Re:Version? by DragonWriter · · Score: 1

      Sim City Societies, on the other hand, is all EA and it shows.


      I was under the impression that EA had little to do with SimCity Societies other than selling it, that it was developed out-of-house by Tilted Mill.
    18. Re:Version? by cbreaker · · Score: 1

      Yes, you're right. But it was a typical EA project. GET 'ER DONE. YESTERDAY. Tilted Mill was just outsourced programming; EA still ran the project.

      Horrible game. That, and they used .NET to program it. While pretty neat what you can do with .NET, it's slooooooow.

      --
      - It's not the Macs I hate. It's Digg users. -
  4. Finally! by angryfirelord · · Score: 3, Funny

    My very own Linux city!

    1. Re:Finally! by Anonymous Coward · · Score: 5, Informative

      Luckily we already have much more advanced clones on Linux than the old original whose code has been opened.

      Though their move is still good, and interesting just to dig into the code.

    2. Re:Finally! by Realistic_Dragon · · Score: 2, Informative

      You have been able to make a Linux City for quite a while with Lincity, and in 3D with Lincity NG which is surprisingly addictive.

      --
      Beep beep.
    3. Re:Finally! by RonnyJ · · Score: 1

      Make sure you turn disasters off.

    4. Re:Finally! by Ailure · · Score: 4, Interesting

      Lincity is a clone of Simcity?

      Hell, it's more similar to SimIsle than Simcity actually. Lincity was too much of a "everything is a consumable resource" game, which was rather silly...

      I would say that Simcity 4 is the most advanced simulator I played so far, that is also playable as a game.

      Though in terms of open source simulation games, nothing beats openTTD. :) Simcity, might be a good competitor though.

    5. Re:Finally! by Anonymous Coward · · Score: 0

      I just tried lincity-ng on my dual-monitor setup. "lincity-ng -S 2560x960" stretches across both monitors while leaving the kde taskbar fully visible. VERY nice!

  5. SNES version? by pak9rabid · · Score: 1

    So, is this like the SNES version? If so, BAAAAAAAAAD AAAAAAAAAAAAAAAASS!!!!

    1. Re:SNES version? by KillerBob · · Score: 1

      The SNES version was a port of the PC version, with a few changes.

      If you're looking for a legal/legit version of the SNES version, it's 500 Wii Points on the Nintendo Wii VC. :) (that and the Internet browser are first on my list for when I get off my butt and buy a points card)

      --
      If you believe everything you read, you'd better not read. - Japanese proverb
    2. Re:SNES version? by TheThiefMaster · · Score: 1

      At least here in the UK, you can use a credit/debit card to buy points directly through the Wii Shop. No need to buy a points card unless you find it cheaper. Or don't have a credit/debit card, I suppose.

    3. Re:SNES version? by Anonymous Coward · · Score: 0

      No, but you could try to make it like that.

    4. Re:SNES version? by KillerBob · · Score: 0, Offtopic

      Oh, I can too. But I'm having too much fun with the games I have, and I have a birthday in a month so I'm rather hoping somebody will take pity on me and buy me one. :P

      That, and I am actually waiting on a new VISA card. They upgraded me to a new card, which means issuing a new number. It hasn't arrived yet.

      --
      If you believe everything you read, you'd better not read. - Japanese proverb
    5. Re:SNES version? by HoosierPeschke · · Score: 1

      Did something change, I got the web browser for my Wii free, it was on the shop channel but it cost 0 points...

      --
      Mr. Universe: "They can't stop the signal, Mal. They can never stop the signal."
    6. Re:SNES version? by k_187 · · Score: 2, Informative

      Yes it did. I believe it was in June or so of last year. Now the browser costs 500 points.

      --
      11 was a racehorse
      12 was 12
      1111 Race
      12112
    7. Re:SNES version? by anti-human+1 · · Score: 1

      It was free when it was in 'beta', and it was free for a short time after it was fully released. It now costs a little money. I got mine for free, and its great for what it is. But lets face it, there's a reason people don't have WebTVs anymore. Reading web text on a TV suuuuuucks. For the record, my Wii alternates on a regular 480i CRT, to a 60" DLP 480p widescreen (its been on the DLP since xmas, where I got a component cable). There's a real media center box downstairs so the Wii doesn't browse much...

    8. Re:SNES version? by Constantine+XVI · · Score: 2, Insightful

      Unless you live in some alternate universe, (where I would like to move), SNES games are 800 points ($8 US).

      --
      "I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
    9. Re:SNES version? by webmaster404 · · Score: 1

      The SNES version is 800 points as *most* SNES games are.

      --
      There is no "disagree" moderation, and troll, flamebait and overrated are not valid substitutes
    10. Re:SNES version? by Dan541 · · Score: 1

      In my universe SNES games are free :)

      --
      An SQL query goes to a bar, walks up to a table and asks, "Mind if I join you?"
    11. Re:SNES version? by mightyQuin · · Score: 1

      Agreed. I'm glad I got the browser when it was free as I find it's a fairly unsatisfying experience: no search within a page, no tabbed browsing and the text never seems to fit horizontally at a viewable size. I guess it'd be good in a pinch though.

      --
      Now, if you'll excuse me, I've got some idea balls to remove from a manatee tank.
  6. Maybe now we can finally find out by Anonymous Coward · · Score: 5, Funny

    why it is that commercial zones placed more than a certain distance to the left of the city center never developed. I wonder if it was some kind of subtle political commentary on how leftist policy hurts business or something.

    1. Re:Maybe now we can finally find out by Animats · · Score: 4, Informative

      left of the city center

      Probably because they borrowed some of the code from SimAnt, which had less ant growth towards the upper left due to a processing order issue in the updating algorithm. It's one of those problems where step N+1 is computed incrementally from the current state, rather than from a frozen copy of step N.

    2. Re:Maybe now we can finally find out by Anonymous Coward · · Score: 0

      I belive that SimCity is older than SimAnt.

    3. Re:Maybe now we can finally find out by toddestan · · Score: 1

      The version for the SNES had "penalties" for zones placed near the edge of the map, which made it a little harder for them to develop. I assumed that it was in there to mimic how the land is more valuable in the center of a real city. It was somewhat subtle, and hard to see on a normal map, but it was pretty obvious on the "Free City" scenario map with no water or other features that had a big effect on land value.

    4. Re:Maybe now we can finally find out by Anonymous Coward · · Score: 4, Interesting

      Seriously, reading shit like this kinda freaks me out. This is a phenomenon only found on /.. Not only does some dude go around remembering that an ancient game had problems with stuff happening left of the city center (which makes me slightly worried regarding his mental health), but someone else comes up with an answer to it (which makes me really worried about his mental health). And this isn't just some kind of "I wanna post, just to post", bullshit, kind of answer, he actually seems to know what the hell his talking about. I think I should change my thesis to discuss this, and name it "Slashdot, we're all freaks, and we have the GPL'd code to prove it".

    5. Re:Maybe now we can finally find out by bdjacobson · · Score: 1

      Seriously, reading shit like this kinda freaks me out. This is a phenomenon only found on /.. Not only does some dude go around remembering that an ancient game had problems with stuff happening left of the city center (which makes me slightly worried regarding his mental health), but someone else comes up with an answer to it (which makes me really worried about his mental health). And this isn't just some kind of "I wanna post, just to post", bullshit, kind of answer, he actually seems to know what the hell his talking about. I think I should change my thesis to discuss this, and name it "Slashdot, we're all freaks, and we have the GPL'd code to prove it". Somehow I imagine you would find the idea less terrifying if it were instead some 60 year olds remembering their favorite football game from 1964.

      There's nothing wrong with being smart.
    6. Re:Maybe now we can finally find out by Anonymous Coward · · Score: 0

      You are a fucking sociopath. Yeah, you're worried about people's "mental health" because they're good at or interested in other things than you are. Lets lock them all up, and be left with a society of you-clones, because obviously anyone who isn't exactly like you is a sick freak.

    7. Re:Maybe now we can finally find out by thenerd · · Score: 1

      Wasn't Sim Ant created after Sim City?

      --
      The camels are coming. I'm in love.
  7. Sweet! by betterunixthanunix · · Score: 0, Redundant

    ...that just about says it all.

    --
    Palm trees and 8
  8. port to win32 by yincrash · · Score: 1

    anyone going to make a gpl port of micropolis to win32?

    1. Re:port to win32 by Anonymous Coward · · Score: 0

      No.

    2. Re:port to win32 by BrentH · · Score: 3, Interesting

      You can pick up Simcity4 for like 5 euro, and (especially with Rush Hour) is a _much_ better game and you don't need supermodern hardware to play it.

    3. Re:port to win32 by yincrash · · Score: 1

      I actually have SimCity 4 with Rush Hour. It is a lot of fun. I was just curious.

    4. Re:port to win32 by Chandon+Seldon · · Score: 1

      You can if you want to.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    5. Re:port to win32 by kestasjk · · Score: 5, Funny

      You can pick up Simcity4 for like 5 euro I can't afford to pay US$60 for a game
      --
      // MD_Update(&m,buf,j);
    6. Re:port to win32 by Anonymous Coward · · Score: 0
  9. Huh. by sltd · · Score: 0, Offtopic

    Someone told me Bill Gates owned, like, 50% of EA.

  10. Boo-hoo by Anonymous Coward · · Score: 5, Interesting

    The plane crash disaster has been removed as a result of 9/11 This is ridiculous.
    1. Re:Boo-hoo by Fred_A · · Score: 5, Insightful

      The plane crash disaster has been removed as a result of 9/11 This is ridiculous. I hope fires have also been removed as a result of California fires, tornadoes as a result of the Indian ocean tsunami and the big monster invasion as a result of Cmdr Taco. Other wise it wouldn't be very respectful for the victims you know.
      --

      May contain traces of nut.
      Made from the freshest electrons.
    2. Re:Boo-hoo by X0563511 · · Score: 1

      Keep in mind that was removed from the version EA released. I bet it won't take long for someone to patch it back in...

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    3. Re:Boo-hoo by Anonymous Coward · · Score: 0

      he was comparing variable types not their values. Take your own advice.

    4. Re:Boo-hoo by Brobock · · Score: 3, Informative

      The plane crash disaster has been removed as a result of 9/11

      This is ridiculous. I hope fires have also been removed as a result of California fires, tornadoes as a result of the Indian ocean tsunami and the big monster invasion as a result of Cmdr Taco. Other wise it wouldn't be very respectful for the victims you know. Let us not forget:
      Nuclear meltdown because of Chernobyl.
      Earthquakes because of California, Kobe Japan, and Pakistan.
      Alien Invasion because of Orson Welles war of the worlds radio broadcast.
    5. Re:Boo-hoo by Anonymous Coward · · Score: 0

      Just get a decent graphic artist. I don't want to see a sausage-shaped metal dildo with two crappy wings buzzing around my city.

    6. Re:Boo-hoo by Fred_A · · Score: 1

      Alien Invasion because of Orson Welles war of the worlds radio broadcast. Damn I had completely forgotten the alien invasion... It's been ages since I last played a SimCity.
      I'm glad I should soon be able to remedy to that :)
      --

      May contain traces of nut.
      Made from the freshest electrons.
    7. Re:Boo-hoo by Anonymous Coward · · Score: 0

      Well, it is open source now, just re-create it! The plane crash disaster, not 9/11...which will almost certainly end up happening in some form or anonther.

    8. Re:Boo-hoo by jollyreaper · · Score: 1

      The plane crash disaster has been removed as a result of 9/11 This is ridiculous. Did they remove the hurricane because of Katrina? Enjoy the rampaging monster disaster while you can, Cloverfield is coming out on the 18th.
      --
      Kwisatz Haderach
      Sell the spice to CHOAM
      This Mahdi took Shaddam's Throne
    9. Re:Boo-hoo by Anonymous Coward · · Score: 0

      Just put it back in...

    10. Re:Boo-hoo by webmaster404 · · Score: 0

      It is GPL'd, It shouldn't be too hard to add.

      --
      There is no "disagree" moderation, and troll, flamebait and overrated are not valid substitutes
    11. Re:Boo-hoo by Agilo · · Score: 1

      I hope fires have also been removed as a result of California fires, tornadoes as a result of the Indian ocean tsunami and the big monster invasion as a result of Cmdr Taco. Other wise it wouldn't be very respectful for the victims you know. Quoted for truth.
      --
      - Agilo
    12. Re:Boo-hoo by Anonymous Coward · · Score: 4, Funny

      It had to be done because a bug was found that meant the players could then take any action, and it would have no affect on public mood, aslong as it was justified by the plan crash somehow!

    13. Re:Boo-hoo by Anonymous Coward · · Score: 0

      ...tornadoes as a result of the Indian ocean tsunami... Do you even know the difference between a tornado and a tsunami? They are in no way related.
    14. Re:Boo-hoo by X0563511 · · Score: 1

      I could probably get you a decent 757-like airplane myself, if it comes to that.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    15. Re:Boo-hoo by jon787 · · Score: 1

      Why limit yourself to subtle disastor relationships?

      SimCity Classic:
      * San Francisco 1906 Earthquake
      * Firebombing of Hamburg in 1944 are both scenarios!

      SimCity 2000:
      * 1991 Oakland, CA Firestorm
      * 1989 Hurriance Hugo in Charleston, SC.

      --
      X(7): A program for managing terminal windows. See also screen(1).
    16. Re:Boo-hoo by kc32 · · Score: 1

      It's not necessarily a bad thing they took out plane crashes. SimCity pilots are the worst pilots on the face of the planet - every 5 minutes one of them crashes, and it's always in the business district.

    17. Re:Boo-hoo by Bluesman · · Score: 2, Funny

      It's GPL, we can add it back.

      And we can add in kidnappings and beheadings. Everyone wins!

      --
      If moderation could change anything, it would be illegal.
    18. Re:Boo-hoo by DrWho520 · · Score: 1

      Hello, GPL'ed! If you want it, put it back. Or make it a UFO crash disaster!

      --
      The cancel button is your friend. Do not hesitate to use it.
    19. Re:Boo-hoo by nova_ostrich · · Score: 1

      Agreed. Planes crash for more reasons than as a result of terrorism. What about the over 18,000 people who have died as a result of tornadoes in the US since 1875? Surely the grief of families who have lost loved ones to tornadoes is just as important. If 9/11 is a valid reason to remove a plane crash disaster, there are equally valid reasons to remove the others.

      --
      It's scary being a Flash and Flex developer on Slashdot. You guys are unnaturally rabid.
    20. Re:Boo-hoo by Anonymous Coward · · Score: 0

      No, they were in fact listing pairs of similar events until the tsunami/tornado comparison came along.

    21. Re:Boo-hoo by tighr · · Score: 1

      Sim City on the SNES already included a Las Vegas UFO Attack scenario. The SNES version was my favorite incarnation of Sim City Classic, if I must say so myself.

    22. Re:Boo-hoo by Chandon+Seldon · · Score: 1

      But that only works for X years after the disaster, where X appears to be a number larger than 7.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    23. Re:Boo-hoo by Anonymous Coward · · Score: 0

      That's a good thing otherwise Al Quiada will soon have an edition with nothing but air crashes

    24. Re:Boo-hoo by steelfood · · Score: 1

      GTA-style car chase scenes, only this time, you're playing the police.

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    25. Re:Boo-hoo by BoberFett · · Score: 1

      Yes, but you can use that feature longer if you type in the cheat code 'Rudy'.

    26. Re:Boo-hoo by BosstonesOwn · · Score: 1

      I thought the cheat code was "G0D_Sp0ke_t0_m3" ?

      That of course is not as powerful as the code "GW_is_KinG"

      --
      This package Does Not Contain a Winner
    27. Re:Boo-hoo by Anonymous Coward · · Score: 0

      The plane crash disaster has been removed as a result of 9/11 ... and has instead been replaced with a "Liberation from America" disaster.

    28. Re:Boo-hoo by Anonymous Coward · · Score: 0

      The tsunami was an earthquake related event that had absolutely nothing to do with tornadoes. I do agree with your overall point though.

    29. Re:Boo-hoo by SuiteSisterMary · · Score: 1

      They already did that, it was called 'Streets of Sim City.' Also, SimCopter. And SimCity 4 (or possibly it's expansion pack) let you drive around your city as well.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
  11. Tried it, builds but doesn't work. by Zombie+Ryushu · · Score: 3, Informative

    It builds, but you get to the loading screen and then you can't actually start a game. It Freezes.

    1. Re:Tried it, builds but doesn't work. by Zombie+Ryushu · · Score: 1

      Let me claify. The game actually starts, but you can't type anything in the dialogue boxes, you can't click any of the buttons.

    2. Re:Tried it, builds but doesn't work. by Bigon · · Score: 1

      On my ubuntu hardy machine, I can start the game(get the minimap and the buttons) but the map on the right doesn't show anything... :(

    3. Re:Tried it, builds but doesn't work. by jimdread · · Score: 1

      Same here, on Ubuntu, it starts and you can click to "zone residential" or something, but the big map on the right doesn't update. You can just see things happening on the mini map, like you can bulldoze the forest, but nothing shows up on the big map.

    4. Re:Tried it, builds but doesn't work. by axeme · · Score: 1

      I have the same problem with Fedora 8. A frozen front end. Tried compiling it and tried the binary download and both have the same problem.

    5. Re:Tried it, builds but doesn't work. by Anonymous Coward · · Score: 0
      That's exactly the same problem I have (Fedora Core 6). The game starts, the overview map has stuff in it, but the main map is empty except for the occasional plane, rocket (?), or helicopter flying by.

      Any ideas?

    6. Re:Tried it, builds but doesn't work. by Anonymous Coward · · Score: 0

      If you disable num-lock you can start the game. The BUGS file mentions a problem causing Tk not registering mouse-clicks properly with num-lock on. Unfortunately there seems to be another problem: The maps seem to be disabled, nothing gets drawn in the main screen.

  12. But does it... by flydpnkrtn · · Score: 0, Offtopic

    run on LINUX?

    1. Re:But does it... by KillerBob · · Score: 0, Offtopic

      You didn't RTFA, clearly... it runs on Linux, and *not* win32....

      --
      If you believe everything you read, you'd better not read. - Japanese proverb
    2. Re:But does it... by kwark · · Score: 1, Flamebait

      Actually it doesn't (debian-amd64/unstable) /tmp/MicropolisCore/src$ make
      cd TileEngine ; make
      make[1]: Entering directory `/tmp/MicropolisCore/src/TileEngine'
      cd python ; python setup.py build
      running build
      running build_py
      running build_ext
      building '_tileengine' extension
      gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I. -I.. -I/usr/include/cairo -I/usr/include/pycairo -I/usr/include/python2.4 -c tileengine_wrap.cpp -o build/temp.linux-x86_64-2.4/tileengine_wrap.o
      cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
      tileengine_wrap.cpp: In function 'void init_tileengine()':
      tileengine_wrap.cpp:4529: warning: deprecated conversion from string constant to 'char*'
      tileengine_wrap.cpp:4529: warning: deprecated conversion from string constant to 'char*'
      gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I. -I.. -I/usr/include/cairo -I/usr/include/pycairo -I/usr/include/python2.4 -c ../tileengine.cpp -o build/temp.linux-x86_64-2.4/../tileengine.o
      cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ ../tileengine.cpp: In member function 'void TileEngine::renderTiles(cairo_t*, cairo_surface_t*, int, int, PyObject*, int, int, int, int, int, double)': ../tileengine.cpp:215: error: 'Py_ssize_t' was not declared in this scope ../tileengine.cpp:215: error: expected `;' before 'tileMapLength' ../tileengine.cpp:221: error: 'tileMapLength' was not declared in this scope ../tileengine.cpp:229: error: 'tileMapLength' was not declared in this scope ../tileengine.cpp: In member function 'void TileEngine::renderTilesLazy(cairo_t*, PyObject*, int, int, int, int, int, double, PyObject*, PyObject*, PyObject*)': ../tileengine.cpp:356: error: 'Py_ssize_t' was not declared in this scope ../tileengine.cpp:356: error: expected `;' before 'tileMapLength' ../tileengine.cpp:362: error: 'tileMapLength' was not declared in this scope ../tileengine.cpp:370: error: 'tileMapLength' was not declared in this scope ../tileengine.cpp:395: error: expected `;' before 'tileCacheLength' ../tileengine.cpp:401: error: 'tileCacheLength' was not declared in this scope ../tileengine.cpp:409: error: 'tileCacheLength' was not declared in this scope ../tileengine.cpp:497: warning: deprecated conversion from string constant to 'char*' ../tileengine.cpp:516: warning: deprecated conversion from string constant to 'char*' ../tileengine.cpp: In member function 'void TileEngine::renderPixels(cairo_surface_t*, cairo_surface_t*, PyObject*, int, int, int, int)': ../tileengine.cpp:620: error: 'Py_ssize_t' was not declared in this scope ../tileengine.cpp:620: error: expected `;' before 'tileMapLength' ../tileengine.cpp:626: error: 'tileMapLength' was not declared in this scope ../tileengine.cpp:633: error: 'tileMapLength' was not declared in this scope
      error: command 'gcc' failed with exit status 1
      make[1]: *** [TILEENGINE] Error 1
      make[1]: Leaving directory `/tmp/MicropolisCore/src/TileEngine'
      make: *** [all] Error 2 /tmp/MicropolisCore/src$

    3. Re:But does it... by flydpnkrtn · · Score: 0, Flamebait

      I'll give it a show on the openSUSE buildservice

      Also.. the "does it run on linux" thing is a /. meme... I wasn't seriously asking the question

    4. Re:But does it... by Anonymous Coward · · Score: 0

      that's not running... it's building!

    5. Re:But does it... by flydpnkrtn · · Score: 0, Offtopic

      Wow look at this whole thread... the mods are on crack...

      Maybe anonymous people moderating posts doesn't actually work in practice?

    6. Re:But does it... by KillerBob · · Score: 1

      Also.. the "does it run on linux" thing is a /. meme... I wasn't seriously asking the question

      Oh, I know... I've been around a long time.... But you're supposed to be asking that about things like new video games that get announced, or some great toaster that's being marketed.... Asking it about something that's actually a Linux project... *shrugs*

      And clearly, some moderator has a bug up his butt, because neither your post nor mine were offtopic. *shrugs*
      --
      If you believe everything you read, you'd better not read. - Japanese proverb
    7. Re:But does it... by Anonymous Coward · · Score: 0

      Try Python 2.5

  13. Win32 binary versions available? by Skim123 · · Score: 2, Interesting

    Does anyone know if there are Win32 binaries available?

    --

    I could not justify my existence if I were a turkey farmer. Would I terminate myself? Undoubtably, yes.

    1. Re:Win32 binary versions available? by Anonymous Coward · · Score: 2, Interesting

      No. This code is heavily dependent on Xlib. You could try compiling it with Cygwin and running it with one of the X servers for Windows, but word on the street is that this is unsuitable. Your best bet is to just install Linux, and run it on that.

    2. Re:Win32 binary versions available? by MindPhlux · · Score: 1

      I am personally holding out for the 64 bit version.

    3. Re:Win32 binary versions available? by rsmith-mac · · Score: 2, Informative

      Ditto to this. The original version of SimCity Classic for Windows technically runs, but besides not working under 64bit versions of Windows (no 16bit compatibility layer) it runs far too quickly on modern machines. It would be great to have it playable on Windows again.

    4. Re:Win32 binary versions available? by Aggrajag · · Score: 1

      I am trying to get it compiling with Cygwin, it's a start at least. I am not sure if the version of tcl/tk included is compatible with Cygwin.

    5. Re:Win32 binary versions available? by Anonymous Coward · · Score: 0
    6. Re:Win32 binary versions available? by Anonymous Coward · · Score: 2, Funny

      okay, just what really geeky street do people talk about Xlib, cygwin, and X servers for windows like the latest gossip? I want to find this mythical "geek street" that you're telling me about! Is it the east downtown Tokyo ghetto? IT IS, ISN'T IT!

    7. Re:Win32 binary versions available? by Constantine+XVI · · Score: 1

      Actually, from a few of Don's posts, it sounds like the important part (the actual simulation) is completely separate from the graphics code. If someone wanted to write a WinForms or Qt frontend, the porting would be relatively easy.

      --
      "I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
    8. Re:Win32 binary versions available? by Nimey · · Score: 1

      The MS-DOS version of Simcity Classic is freely available, and so is the DOSBox emulator. I suggest the dbgl (DOSBox Game Launcher) front-end.

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    9. Re:Win32 binary versions available? by The+-e**(i*pi) · · Score: 1

      I still have my original copy... somewhere ... if that counts as a binary

    10. Re:Win32 binary versions available? by n3tcat · · Score: 1

      Yeah. www.ebgames.com

    11. Re:Win32 binary versions available? by Futaba-chan · · Score: 1

      There's a Win32 emulator for the OLPC, and you can grab the OLPC SimCity-branded version and run it in that. Also, the future tense "will be getting" isn't warranted here in the OLPC case -- I currently have the game installed on my XO, and it runs just fine.

  14. The Brown Sheet of Paper by that+this+is+not+und · · Score: 3, Funny

    Now, if they will only open-source that dark brown piece of paper with the glyphs printed in black on it...

    1. Re:The Brown Sheet of Paper by KillerBob · · Score: 1

      funny thing about the source code being open source...

      somebody can go to the copyright check function and change it to something like this:

      boolean is_valid_copy() {
          return TRUE;
      }

      (or just comment out the copyright check in the first place)

      --
      If you believe everything you read, you'd better not read. - Japanese proverb
    2. Re:The Brown Sheet of Paper by X0563511 · · Score: 1

      Or, if you wanted to be REALLY silly, create a counter-function that will generate a key, and feed it back in.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    3. Re:The Brown Sheet of Paper by that+this+is+not+und · · Score: 3, Interesting

      True, but did they open-source the expansion packs??

      (historical note- there was an early binary edit 'exploit' for SimCity that worked for bypassing the 'Brown Paper' copy protection, but as soon as you bought and installed an Expansion pack it quit working)

    4. Re:The Brown Sheet of Paper by that+this+is+not+und · · Score: 1, Offtopic

      A comment about the history of copy protection on SimCity is off topic in a discussion of the open sourcing of Sim City? Unbelievable.

    5. Re:The Brown Sheet of Paper by Anonymous Coward · · Score: 0

      A comment about a comment about the history of copy protection on SimCity is off topic in a discussion of the open sourcing of Sim City? Even more unbelievable!

  15. huh? by wildBoar · · Score: 1

    Why all the effort to port to C++ ? C rocks !

    If the whole thing is designed, and written in C... and it works... then leave it alone.

    I guess following on from the Java as a first programming language discussion that there just aren't enough good C programmers left in circulation :-) So it had to be ported to something if it was going to be developed.

    1. Re:huh? by that+this+is+not+und · · Score: 5, Funny

      Why all the effort to port to C++ ? C rocks !


      It needed to be updated, because it ran too fast on modern hardware.

    2. Re:huh? by wildBoar · · Score: 1

      Ahhh, that did make me chuckle :-D

    3. Re:huh? by Wormholio · · Score: 1

      Why all the effort to port to C++ ? C rocks !
      It needed to be updated, because it ran too fast on modern hardware.
      :-)

      Actually, it seems to run a little too fast on the OLPC, compared to how I remember it. The planes fly around too fast, things happen a little faster.

      --
      "Education is not the filling of a pail, but the lighting of a fire." -- William Butler Yeats
    4. Re:huh? by Hucko · · Score: 1

      Yeah, that is Lisp's job.

      --
      Semi-automatic amateur armchair Australian philosopher; conjecture ready at any moment...
    5. Re:huh? by nekozid · · Score: 1

      It was a design choice to make sure it wasn't bug for bug compatible. Thusly making sure there will be save files that refuse to load correctly if saved on the original version.

      Don't rewrite what can be ported, it's 10x the effort wasted that could have been spent making it work 10x better and faster.

  16. Re:WARNING: MYMINICITY LINK by Anonymous Coward · · Score: 0

    Thank you for the warning oh Master of the Obvious.

  17. Re:WARNING: MYMINICITY LINK by X0563511 · · Score: 0, Offtopic

    above poser does not hide it.

    (poser was a typo for poster, but i just can't find it in myself to correct it! so perfect!)

    --
    For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
  18. Re:WARNING: MYMINICITY LINK by McGiraf · · Score: 2, Funny

    Who would have known? Thanks for the warning I almost got close to maybe think about clicking the link, you saved me!

  19. Don't destroy the church by Anonymous Coward · · Score: 2, Funny

    The godless atheist Linux crowd can now eliminate the 1 line of code that creates a tornado every time you bulldoze a church.

    1. Re:Don't destroy the church by Anonymous Coward · · Score: 1, Funny

      That code should never have been there. A realistic simulation would create a bomb every time you bulldoze a mosque.

  20. Re:WARNING: MYMINICITY LINK by Anonymous Coward · · Score: 0

    Above poster must be a script. Would a human post this in seriousness?
    And I agree with op. myminicity is better than simcity.

  21. So where is it? by eddy · · Score: 2, Insightful

    Contrary to the title, this doesn't seem to be the actual SimCity source code. I'm interested in source code like this, but I want the 'original', not something that has been mashed up and modified by a middleman. This is as useful for historical insight a klingon version of the new testament.

    --
    Belief is the currency of delusion.
    1. Re:So where is it? by samkass · · Score: 1

      Since when is the goal of open source software "historical insight"? It looks like they're actually interested in getting some folks hacking on it.

      --
      E pluribus unum
    2. Re:So where is it? by Anonymous Coward · · Score: 0

      The New Testament is the Klingon version of the New Testament.

    3. Re:So where is it? by eddy · · Score: 1

      >It looks like they're actually interested in getting some folks hacking on it.

      I'm sure it'd help if it wasn't a frankensteinian mix of c, python and c++ then.

      I'd take the pure c or 6502 assembly version (I assume the C64 version wasn't written in BASIC) over that any day.

      Secondly, I never expressed any such "goal of open source", don't know what kind of never-logic land you got that from.

      --
      Belief is the currency of delusion.
    4. Re:So where is it? by Anonymous Coward · · Score: 0

      Secondly, I never expressed any such "goal of open source", don't know what kind of never-logic land you got that from.
      What about the part where you said, "This is as useful for historical insight a klingon version of the new testament."? Sounds like you have a goal of historical insight to me!
    5. Re:So where is it? by jollyreaper · · Score: 4, Funny

      This is as useful for historical insight a klingon version of the new testament. I don't understand. Wouldn't you want to read it in the original?
      --
      Kwisatz Haderach
      Sell the spice to CHOAM
      This Mahdi took Shaddam's Throne
    6. Re:So where is it? by Chandon+Seldon · · Score: 1

      I'm sure it'd help if it wasn't a frankensteinian mix of c, python and c++ then.

      Most non-trivial programs end up being a mix a lot like that. It's not frankensteinian at all - that's how one normally develops software. You use Python (or Perl, or Ruby, or TCL, or Lua) for non-performance critical sections to save programmer time, and you use C/C++ for the performance critical sections or the sections that involve interfacing to anything that wasn't written in your high-level language of choice.

      --
      -- The act of censorship is always worse than whatever is being censored. Always.
    7. Re:So where is it? by SL+Baur · · Score: 1

      Since when is the goal of open source software "historical insight"? Maybe not the goal, but a goal? Probably always.

      A couple weeks ago, someone ported Linux 0.01 to build on a modern toolchain. http://kerneltrap.org/Linux/Dusting_Off_the_0.01_Kernel

      Freedom rocks.
    8. Re:So where is it? by julesh · · Score: 1

      This is as useful for historical insight a klingon version of the new testament.

      I don't understand. Wouldn't you want to read it in the original?

      It's the old testament that was written in klingon. The new testament was written in romulan. Any fool knows that.
    9. Re:So where is it? by samkass · · Score: 1

      Secondly, I never expressed any such "goal of open source", don't know what kind of never-logic land you got that from.

      You specifically used the phrase "historical insight", and was complaining that the open-sourcing of a SimCity implementation was useless without it. Or did I misunderstand you, and you find Klingon translations useful and was making a different analogy than I thought?

      --
      E pluribus unum
  22. If you read the article... by jesterzog · · Score: 2, Informative

    This is actually clearly explained in one of the linked articles:

    In the long term, Micropolis can be recast from C to C++ classes, so it's possible to define clean interfaces between software modules, and make multiple instances of the simulator that don't interfere with each other, as well as easily interfacing it to Python using the SWIG interface generator. That should be done in a language-neutral way, so you could plug the simulator engine into many different languages and programming systems. Then more work needs to be done to open it up, and make it re-vectorable (plug-ins, events, callbacks, hooks, aspect oriented programming, etc), so you can replace and extend the various modules with the host language(s), eventually re-implementing most if not all of SimCity in another language.

    1. Re:If you read the article... by escher · · Score: 1

      "Micropolis can be recast from C to C++ classes, so it's possible to define clean interfaces between software modules, and make multiple instances of the simulator that don't interfere with each other"

      You can do that in C, too.

    2. Re:If you read the article... by johannesg · · Score: 1

      You can do that in C, too.
      And assembler! Never underestimate the power of well-crafted assembler code! Especially good when savoured as hex codes, its truest form!
    3. Re:If you read the article... by SimHacker · · Score: 5, Informative

      You can do anything in C you can do in C++, but it's a total pain in the ass. Why, you can even write a C++ compiler in C that compiles C++ into C, and call it CFront.

      If you want to see what happens when you try to simulate C++ interfaces in C, then look at Microsoft's COM header files, which do exactly that.

      The reasons I translated the C code to C++ were: 1) eliminate all global variables, so multiple simulators could exist simultaneously without interfering with each other, 2) define all interfaces in one place so it's easier to work with and evolve the code, 3) enable SWIG to automatically generate an object oriented wrapper for any of a large number of scripting languages, like Python, 4) Impose some sane programming conventions on the code, for reliability and readability's sake.

      I hate C++ as much as anyone else does, probably more than most. But I know when it's better to use C++ than C, and this is one of those times.

      -Don

      ``The more important question of whether or not systems like C++ and X-Windows cause actual permanent brain damage in humans, will have to wait for the autopsies of human brain doners. That won't be soon, since they're still only in the animal experimentation stages. But I think it's reprehensible how they're exposing all those poor innocent bunnies to shoddy static class libraries without garbage collection, and high doses of raw Motif.''
      [From comp.lang.functional, ``Re: Effect of programming languages on thought'', Don Hopkins]
      --
      Take a look and feel free: http://www.PieMenu.com
    4. Re:If you read the article... by QuoteMstr · · Score: 1

      The reasons I translated the C code to C++ were: 1) eliminate all global variables, so multiple simulators could exist simultaneously without interfering with each other, 2) define all interfaces in one place so it's easier to work with and evolve the code, 3) enable SWIG to automatically generate an object oriented wrapper for any of a large number of scripting languages, like Python, 4) Impose some sane programming conventions on the code, for reliability and readability's sake.


      You can do all these things with C or hell, any language that has structures and function pointers. Object orientation is a state of mind, not a programming language feature.

      Just look at GTK+. It's good, clean, modular code with better bindings than SWIG will ever crap out.

      Furthermore, COM does a whole lot more than C++ does, and saying it's the result of trying to "simulate C++ in C" is disingenuous. Furthermore, given how much it does, COM isn't even all that bad!

      If C++ has any killer feature, it's the templating system. And Common Lisp did that better back in the mid-eighties.
    5. Re:If you read the article... by SimHacker · · Score: 5, Informative

      In order to modify a C program to use structures and function pointers instead of global variables, you have to meticulously modify almost every line of code. And that is simply far too much work to do, and would be extremely tedious and error prone.

      The one thing C++ is really great at, is taking a C program with global variables and global functions, and easily transforming it into a C++ class that encapsulates all the variables and functions, without disrupting every line of code. Because "this" is an implicit argument. Because member references don't have to explicitly go through "this".

      But if you did that kind of a transformation on C code by hand, you would have to rewrite every function signature to take an explicit "this" argument, and rewrite every variable or function reference to go through the "this" pointer.

      Actually, I really dislike GTK's Python binding mechanism. It's horribly complex, totally undocumented, and very brittle. It doesn't handle other languages, either. SWIG is a much more advanced, much easier to use tool. I also don't like GTK's "yet another object system". It accounts for most of the time spent by OLPC Sugar python applications initializing. It takes a horribly long time for GTK to initialize, and it's not Python's fault, it's GObject's fault. There's nothing worse than having several object systems, especially when some of them are slow, non-standard and difficult to work with.

      Have you ever looked at or used the COM macros for generating C++ vtable layouts? It's attrocious! Actually, I really like COM for what it is (I use XPCOM at work, since we use xulrunner to implement TomTom Home), but COM's C bindings are total crap. It's much easier to use from C++ with templates, ala ATL (ActiveX Template Library), WFC (Windows Foundation Classes), etc. The MFC COM and OLE stuff is much worse, but not as bad as the C stuff.

      C++ templates can't hold a candle to Common Lisp macros. C++ templates are a totally different animal, totally inferior to the macros that Lisp has had for many years. The arcane C++ syntax makes it impossible to support the kind of high level metaprogramming macros that Lisp so easily supports.

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    6. Re:If you read the article... by QuoteMstr · · Score: 1

      Point conceded. I hadn't thought about implicit 'this' making porting easier. (I'm generally a fan of explicit 'this', like in CLOS and Python.) Also, I personally haven't had any problems with GObject startup.

      As for COM -- yes, using the C bindings directly is complex. But that complexity results from the impedance mismatch between C and a distributed component model. The COM people could have done better, but not much better. :-)

    7. Re:If you read the article... by OrangeTide · · Score: 1

      "I hate C++ as much as anyone else does, probably more than most. But I know when it's better to use C++ than C, and this is one of those times."

      No you 1. apparently do not hate it more than most 2. you don't know when it is better to use C++ than C, because the answer is: almost never, unless someone is paying you.

      Basically many of us feel you have wasted your time porting to C++. And I for will will totally disregard your utterly useless effort to "improve" source code by translating it to a slightly different but generally the same language.

      If you want to port Micropolis to another language, why not pick a next generation language with some real features? C and C++ are old and are (I would argue) basically the same crap. Otherwise I don't see a point in annoying the entire community with your silly ports that just cause incompatible forks of a project. The easy route is to just leave it in C and make the existing code better/faster/cleaner/sexier.

      (maybe I should port it to ObjC. and then you could see what it feels like to watch someone waste their time annoying you)

      --
      “Common sense is not so common.” — Voltaire
    8. Re:If you read the article... by LKM · · Score: 1

      maybe I should port it to ObjC.

      While you're at it, make it run on the iPhone. I'm still missing Sim City from my Palm days :-)

    9. Re:If you read the article... by Anonymous Coward · · Score: 0

      Yes! Let's Open Source SimCity then immediately hobble it by re-writing it in an "advanced" "new" language that makes it less portable[1] than a concrete block, because the idea gives you a stiffy.

      I'm sure your pet language is the best thing since sliced bread and you can do all sorts of spiffy things with it no one cares about.

      [1]: It'll run on both platforms: Windows and Linux!

    10. Re:If you read the article... by SimHacker · · Score: 1

      I've posted here an on my site why I chose to use C++. Since you're so motivated to waste my time by annoying me by porting Micropolis to another language (and you're really sure it will annoy me), then go right ahead! Get started! What are you waiting for? Stop wasting your time on slashdot! Please report back when you're done, and I will pretend to be annoyed, if that is what truly motivates you.

      For inspiration and ideas, you might want to read some of the stuff Alan Kay and I were discussing about opening up and programming SimCity with visual languages, ala Robot Odyssey, on my blog.

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    11. Re:If you read the article... by DES · · Score: 1

      Actually, I really like COM for what it is (I use XPCOM at work, since we use xulrunner to implement TomTom Home) So, when can we expect a Linux version of TomTom Home? I love my ONE, but I hate having to run Windows to keep it up-to-date (+ run engine diagnostics and access my electronic repair manual)
    12. Re:If you read the article... by OrangeTide · · Score: 1

      Luckily understanding rhetoric is not necessary for you to rewrite everything in to C++.

      --
      “Common sense is not so common.” — Voltaire
    13. Re:If you read the article... by OrangeTide · · Score: 1

      that's the point really. What is so advanced about C++ that people feel the need to rewrite code for it? Might as well pick one of the other new languages while you're at it. Or bang your head into a wall. I can think of a number of things that can be done. It's sad that I have to explain this, but this is slashdot after all.

      --
      “Common sense is not so common.” — Voltaire
    14. Re:If you read the article... by SimHacker · · Score: 1

      By "understanding rhetoric" does that mean "understanding that you don't mean what you say"?

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    15. Re:If you read the article... by OrangeTide · · Score: 1

      Point proven. Go back to changing the world by rewriting everything.

      --
      “Common sense is not so common.” — Voltaire
    16. Re:If you read the article... by Anonymous Coward · · Score: 0

      I hate reading C++ code written by people who hate C++. Because usually the code won't be constructed or written in an idiomatic fashion, with proper attention to object design and data encapsulation, and with ignorance or disregard for subtleties of the language such as const correctness, implicit conversions, and compiler-generated constructors and assignments.

    17. Re:If you read the article... by SimHacker · · Score: 1

      I'm so glad to hear you mean what you say! So when should I expect you to post the Micropolis source code rewritten in Objective C? How is that work going? What's your "lines of code written" / "words spoken" ratio so far?

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    18. Re:If you read the article... by OrangeTide · · Score: 1

      Being thick is not as an effective defense mechanism as you may think. Rather transparent.

      Why would I rewrite micropolis when it's already written in C and apparently compiled fine on my machine. (thank you for that work).

      --
      “Common sense is not so common.” — Voltaire
    19. Re:If you read the article... by SimHacker · · Score: 1

      Because you complained that I already translated it to C++, and said you wanted to rewrite it in Objective C to waste my time and annoy me. Don't let me stop you! How's the rewrite going?

      Have you been following the discussion I've been having with Alan Kay?

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    20. Re:If you read the article... by OrangeTide · · Score: 0, Flamebait

      waste my time and annoy me. Already successful there. Not sure why you insist I rewrite it in C++ when Haskell is so obviously the better choice.

      The only interesting bit about your discussion with Alan was the mention of Robot Odyssey. Sorry if I don't have a huge amount of respect for someone to continuously responds to my trolls on slashdot. (or someone who makes up BS excuses to port perfectly good software to C++).
      --
      “Common sense is not so common.” — Voltaire
    21. Re:If you read the article... by SimHacker · · Score: 1

      You're never going to annoy me until I see you actually write some code. So far all you've done is talk, and your talk isn't impressive nor coherent. You can't hold up your side of the argument, nor address any of the points I've raised. I hope your code isn't as bad as your rhetoric. So how's your project rewriting Micropolis in Objective C going? Or have you finished that, and started rewriting it in Haskell? (Have you ever written a line of Haskell in your life? Show me!)

      How much respect do you think you've earned from me or anyone else, by all your talking and complaining and trolling, without having produced any code? Talk is cheap, kiddo. And your cheap talk isn't even interesting nor realistic. You sound like you have a broomstick up your butt, but you haven't ever gotten laid and really need it bad. Your profile says you hate slashdot, but you yourself are the epitomy of what's so horrible about it. You ARE slashdot!

      I'm not annoyed, but quite amused. :)

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    22. Re:If you read the article... by SimHacker · · Score: 1

      I'd like to make a couple more remarks to clear up some of the misinformation that OrangeTide is spreading. (Not addressed to OrangeTide, but anyone else who's read the hillarious stuff he's been posting).

      Haskell is a wonderful language. Just because OrangeTide says he likes it doesn't mean it sucks. I would love for somebody to rewrite Micropolis in Haskell. I just don't think OrangeTide is capable of doing it himself let alone understanding how much work it would be.

      Rewriting Micropolis in C++ is the first step towards rewriting it in other better languages. There is only one thing worse than C++, and that's C. And it just happens to be quite easy to translate C to C++, without heavily modifying it or changing its meaning, because "this" is implicit. And it also makes it very easy to use SWIG to integrate the code with many different scripting languages. That's why I used C++ instead of a vastly superior and DIFFERENT language like Haskell. I would rather open Micropolis up to many different scripting languages, than locking it into one esoteric one that doesn't have industrial quality tools and support. (This is not a slam on Haskell -- it's just that the reality is that C++ is so much more widely supported and universal, at this point in history.) Eventually we can rewrite all of Micropolis in an easier to understand and maintain language like Python, and put a high-level kid-friendly visual programming language interface over it, but the first step is to clean up and rationalize the existing code base.

      OrangeTide said "Not sure why you insist I rewrite it in C++", but I'm not asking him to help, because he hasn't offered any useful criticism or suggestions. But I would certainly like other people to help! I already did the first cut of cleaning up and C++-ifying the code, but there is lots more work that needs to be done before the new MicropolisCore code is a playable game.

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    23. Re:If you read the article... by OrangeTide · · Score: 1

      /* simcity.c : the following software is licensed under GPLv3,
        * unless you are Don Hopkins then you have exclusive worldwide rights. */
      #include
      #include
      #include
      #include

      #ifdef LOLCATS
      const char msg1[]="\nYour city is on fire!\n";
      #else
      const char msg1[]="\nur city haz a fires!\n";
      #endif

      static void s_update(int s) {
          write(0, msg1, strlen(msg1));
          alarm(5);
      }

      int main() {
          char cmd[48];
          signal(SIGALRM, s_update);
          alarm(5);

          while(printf("command> "),fflush(stdout),fgets(cmd, sizeof cmd, stdin)) {
              printf("Unrecognized command\n");
          }
          return 0;
      }

      --
      “Common sense is not so common.” — Voltaire
    24. Re:If you read the article... by OrangeTide · · Score: 1

      "Rewriting Micropolis in C++ is the first step towards rewriting it in other better languages."
      assuming other, better languages have the same object model as C++.

      "There is only one thing worse than C++, and that's C."
      Does that mean perl and assembly rank higher than C/C++ ? Or were you exaggerating for effect.

      The thing I wonder about SWIG is how many scripting languages does a person really need. If every scriptable app is a mix of python, ruby and lua I start to have serious doubts of the maintainability of such a constellation of source code. But it seems to work for open source projects where every person is an expert on every language.

      --
      “Common sense is not so common.” — Voltaire
    25. Re:If you read the article... by mcvos · · Score: 1

      What is so advanced about C++ that people feel the need to rewrite code for it? Might as well pick one of the other new languages while you're at it.

      The point is that C++ is so un-advanced that you do not have to rewrite most of the code to for it. Apart from classes and a few other minor details, C++ is pretty much identical to C. Yet encapsulating tons of junk in classes restricts scopes in an understandable way and generally makes it a lot easier to maintain.

      Personally I think C++ is just as obsolete as C for anything other than low-level system stuff, but if you've already got C, C++ is the obvious choice. Exactly because C++ == C + optional extra structure.

      (Yeah I know, I'm responding to a troll in an ancient discussion. I happened to still have it open, and felt the need to make this point clear.)

  23. PostScript by Anonymous Coward · · Score: 0

    A vector-based UI in 1989? Awesome! Aero eat your heart out.

    1. Re:PostScript by SimHacker · · Score: 4, Insightful

      NeWS was like AJAX, but with PostScript instead of JavaScript for programming, with PostScript instead of DHTML for rendering, and with PostScript instead of XML for data representation.

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    2. Re:PostScript by morkk · · Score: 1

      Thanks, Don, for putting all these johnny-come-latelys into perspective!

      And a big fuck-you to IBM, HP, et al, for forcing X onto us 'coz they were scared Sun would repeat the success of NFS with NeWS.

  24. And yet... by Anonymous Coward · · Score: 0

    And yet... still no plans for Lunix support.

    1. Re:And yet... by Anonymous Coward · · Score: 5, Funny

      What the hell is this Lunix thing that so many keep talking about?

    2. Re:And yet... by Leftist+Troll · · Score: 5, Funny

      Lunix is one of the most powerful contraceptives evar ....It is an operating system that was the result of really crappy reverse-engineering efforts to create a free version of UNIX. Linus Torvalds and Alan Cox are the perpetrators behind this travesty. Tons of people use it, especially hippies, and no one really likes it except the terminally uncool. Most of them use it in violation of SCO's intellectual property rights. To use Lunix legally, one must pay a $699 license fee to SCO for each processor that runs the Lunix kernel.

    3. Re:And yet... by tepples · · Score: 5, Funny

      And yet... still no plans for Lunix support. Lunix runs on an 8-bit Commodore computer. Programs written in C or in C++ generally don't run fast on 8-bit machines, in part because C and C++ make heavy use of a data type called int, whose size varies from compiler to compiler but must be at least 16 bits.
    4. Re:And yet... by vuffi_raa · · Score: 1

      I think it's a cartoon, something about a penguin or something

  25. It's stated in the article by jesterzog · · Score: 5, Informative

    It actually states the history of where it's come from in one of the linked articles (emphasis added):

    • The original version of SimCity was developed by Maxis on the C64, and ported to various platforms, including the Macintosh. Maxis licensed the Macintosh SimCity source code to DUX software, to port to Unix.
    • DUX Software contracted me (Don Hopkins) to port SimCity to Unix, and I developed "SimCity HyperLook Edition", while working at the Turing Institute on HyperLook with Arthur van Hoff. The user interface was written in PostScript, which ran on the NeWS window system on Sun workstations, and it supported multiple zoomable views, pie menus, annotating and printing maps, and many user interface improvements.
    • After Sun canceled NeWS, DUX Software contracted me to rewrite the HyperLook user interface in TCL/Tk for X11, and I developed a multi-player networked user interface using the X11 protocol. The TCL/Tk version of SimCity has been ported to various Unix and non-Unix platforms, including SunOS, Solaris, Irix, HP/UX, OSF/1, Quarterdeck Desqview/X, NDC X Terminals, Warp, and Linux. The contract to sell SimCity for Unix expired after ten years, so the TCL/Tk version was no longer commercially available.
    • OLPC SimCity is based on the TCL/Tk version of SimCity. SimCity is a trademark of Electronic Arts. Don Hopkins adapted SimCity to the OLPC, thanks to the support of John Gilmore. OLPC SimCity will be shipped with the OLPC, and it has been run through EA's quality assurance process and reviewed for integrity. EA reserves the right to review and approve any version of the game distributed under the name SimCity.

    So it looks as if it's some kind of mutated version of SimCity Classic which dates back to the C64 version.

    1. Re:It's stated in the article by jd · · Score: 1

      Now to see if NeWS is ever Open Sourced. That's one of the few major interfaces from the time that hasn't been.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  26. Re:Good by DingerX · · Score: 1

    Nate man, what have you been smoking? We're talking SimCity here. You know, the game where all you need to do is build one rail square next to a building development and its transportation needs are taken care of, even if that railway leads to nowhere. It's predicated on the grid system of urban planning -- a system that was in disrepute when the game was made. COINOPS? Yeah, okay, what you need is a modded SimCity backend wired into an Armed Assault/VBS2 FPS frontend.

    hey wait a minute, that might just work.

    someone give me a contract.

  27. good news by brunoacf · · Score: 5, Insightful

    That's amazing. It would be very nice if the code of other titles were released also. Many old (but good) softwares were forgoten because their sources were not available to maintain it's life.

    1. Re:good news by ilikepi314 · · Score: 1

      I personally enjoyed many of the older Sim games; they tended to be very entertaining and original. I hope others, such as SimLife, SimEarth, etc., being nearly as old, will get open-sourced as well.

    2. Re:good news by chad_r · · Score: 1

      I would love it if SimEarth were open. It's still playable after all these years, and is also educational. But the graphics and update speed are miniscule.

  28. No build on MacOS X by Midnight+Thunder · · Score: 4, Informative

    Because someone is likely to ask it, this does not yet build on MacOS X, even if you are willing to accept X11 as the interface. If anyone has any success it would be worth knowing.

    --
    Jumpstart the tartan drive.
    1. Re:No build on MacOS X by stargo · · Score: 5, Interesting

      Success :-)
      My patch agains micropolis can be found at: http://rmdir.de/~michael/micropolis_mac-osx.patch
      This patch also seems to fix graphic problems on Linux with a 24 bit X server.

    2. Re:No build on MacOS X by Anonymous Coward · · Score: 0

      How do you use this patch?

    3. Re:No build on MacOS X by redwoodtree · · Score: 2, Informative

      Wow, thanks stargo!

      In regards to patching the files...

      Just download the source and unzip/untar it, put it in /tmp, download the patch that stargo put together, into the /micropolis-activity directory.

      Then execute the patch command, like this for example: patch < micropolis_mac-osx.patch. The the paths are off, it will ask you what file to patch, take a look at the "diff" line and simply supply the file name from there, for example (src/tclx/ossupp/makefile), or whatever the right path is for you to that file.

      Then run make from the src directory (assuming you have the developer tools installed of course).

      Then, assuming it compiled with no errors, run make install (you don't need to be root to do any of this by the way).

      Then launch X11 (assuming you have it installed of course) and from the top level directory run ./Micropolis.

      Works great so far!

    4. Re:No build on MacOS X by Anonymous Coward · · Score: 0

      Good job. Thanks.

    5. Re:No build on MacOS X by the_humeister · · Score: 1

      Thanks for the patch. The tcl/tk version compiles under Linux as well now. One problem: the game is too large for my screen! I'm running at 1024x768 and the game looks to be slightly larger, but I can't tell what resolution it requires.

  29. hammered to death? by cwg_at_opc · · Score: 1

    or am i the only that can't get to the donhopkins server?

    --
    "...that's as white as it gets; all the bits are on..."
  30. Re:No, its worse by Zadaz · · Score: 2, Insightful

    Hunh. And here I was thinking that my 2Ghz computer could run-time compile code faster than my old 4Mhz computer could run native code.

    Glad you set me straight on that.

    C++ & Python does seem to be a weird and cumbersome choice though. But when all you have is a hammer everything looks like a nail. I hope at least the core simulation is all one language.

  31. Re:No, its worse by Anonymous Coward · · Score: 0

    Agreed. In fact it's worse: it's a port to C++, Python and Tk.

    Python and Tk? O.K, I'll be fair: this is a version based on the TCL/Tk port, so the Tk bit makes sense. Adding Python...less so.

    What I really want to see is a cleaned up port that a) Removes the Python dependency b) Ports to SDL. Using SDL instead of a mishmash of different toolkits and bindings would make this infinitely more portable.

  32. Lincity Absorption by Zombie+Ryushu · · Score: 4, Interesting

    So lets have the Lincity project absorb this project. Lincity NG is graphically on par with Simcity 2000, but its playability is lower and it misses features. Simcity 2000 was just a graphically enhanced Sincity Classic with a few playability enhancements and more structures. I see no reason why the LinCity project can't just assimilate this project, call it Super Lincity, and use the nessessary areas from Metropolis to fill its deficencies.

    1. Re:Lincity Absorption by Mooga · · Score: 1

      Lincity has their own working code. I see NO reason for Lincity to take over the Micropolis project. I think Micropolis should split off and be it's own project. I'm actually very surprised there isn't a SF.net project for this yet...

      --
      ~ Mooga
  33. Didn't need this for it... by SanityInAnarchy · · Score: 1

    There was at least one open source Sim City project before this. Probably more than one.

    That's assuming you think it's the right game for the job.

    --
    Don't thank God, thank a doctor!
  34. Awesome by MoxFulder · · Score: 1

    Now I won't need that stupid red code sheet to avoid frequent Godzilla attacks. Hooray!!

    1. Re:Awesome by Workaphobia · · Score: 1

      "SCRRReeeee-Crraoo-Ehhhhhhhhhhhh" - as if there were an onomatopoeia for that sequence of tones. I think I recall having some sort of hacked version that didn't require the code. Ah, the olden days, when piracy, anti-piracy, and anti-anti-piracy ran rampant at the speed of real-life, geographically-bound communications.

      --
      Evidently, the key to understanding recursion is to begin by understanding recursion. The rest is easy.
    2. Re:Awesome by MoxFulder · · Score: 1

      Hehe... I was about 9 when I played the original SimCity. A friend of mine and I "shared" a copy for a while. Whenever he needed a code, he'd call me up and I'd look it up for him.

      Ah, those were the good ol' days before scanners, color copiers, and the Internet:-)

  35. Re:No, its worse by Sentry21 · · Score: 5, Insightful

    Your post shows a deep lack of understanding of how and where Python is used, and for what purposes. As an example, Civilzation IV is written partially in Python (the user interface, as I recall), and EVE Online has a significant portion written in Python as well. Considering that a lot of what Python does is I/O bound, and a lot more can be done in outside libraries (e.g. DirectX), using Python in game development can make things a lot easier, and a lot easier to modify down the road.

    Put aside your prejudices and you may actually learn something.

  36. What the fuck are you talking about? by Anonymous Coward · · Score: 0

    What the fuck are you talking about? Many major games today use Python as the scripting language, and they run just fine. Civilization IV is one of the most notable. But there's also Battlefield 2, EVE Online, Robot Arena 2: Design and Destroy, and Vampire: The Masquerade - Bloodlines.

    And Python uses a form of precompilation. The first time a Python module is loaded, it's compiled into Python bytecode, and stored in a .pyc file alongside the source code. Further invocations use the bytecode. Python's bytecode compiler is blazingly fast, and that's why it's suitable for the modern 3D games listed above.

    You clearly know next to nothing about Python, let alone computer programming in general. Please refrain from making such blatantly incorrect and, well, just plain stupid comments in the future.

    1. Re:What the fuck are you talking about? by gravis777 · · Score: 1

      And Python uses a form of precompilation. The first time a Python module is loaded, it's compiled into Python bytecode, and stored in a .pyc file alongside the source code. Further invocations use the bytecode. Python's bytecode compiler is blazingly fast, and that's why it's suitable for the modern 3D games listed above. You make a statement about bytecode, then claim its blazingly fast? Granted, it is faster than an interpereted language, but its nowhere near the speed of compiled language.

      While your 2 GHz processor may be more than fast enough to run Python code, it will NEVER be as fast as a compiled binary. So while your quad core processor running at 3.2GHz will run these products just fine, you will probably find that it chokes on a 133 MHz Pentium machine in Python when the original sorce, written in C, ran just fine on your old 33 MHz 386.

      Please refrain from making such blatantly incorrect and, well, just plain stupid comments in the future. Thanks for proving that as long as something is open source, people will defend it even if its not the best option.
    2. Re:What the fuck are you talking about? by SimHacker · · Score: 5, Insightful

      The original SimCity code written in C ran just fine of an 8 bit 1.02 MHz 6510. And I've optimized to run even more efficiently since then. So worrying about Python slowing SimCity down is totally lacking in perspective -- penny wise but pound foolish. SimCity is already many orders of magnitude faster than it needs to be. Anyway, the core simulator is written in C, so Python doesn't slow it down at all. You should learn more about Python programming, developing Python modules in C and C++, and using SWIG for integrating Python and native code, and using Python as an embedded application extension language, before "making such [...] comments".

      Using Python drastically speeds up the software development process, which is a great thing when software developer's time is so expensive, and computers are so fast. Python is also is a much easier language for kids to read, learn and program -- and the OLPC is an educational project, not a laptop project.

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    3. Re:What the fuck are you talking about? by Tim+Browse · · Score: 1

      You make a statement about bytecode, then claim its blazingly fast? Granted, it is faster than an interpereted language, but its nowhere near the speed of compiled language.

      Of course, he actually said that the bytecode compiler was blazingly fast. He never said that the bytecode interpreter was :-)

    4. Re:What the fuck are you talking about? by wildBoar · · Score: 1

      Tis a good point, although I do feel some people stretch the point a tad far - although I am not saying that this is a case in point.

      Just because modern hardware is incredibly fast and has copious amounts of memory is no reason to abandon the idea of writing efficient software. Microsoft and their ilk are masters of making a blazingly fast machine run like a dog on it's last legs (ie the PC I had 5 years before).

      As SimHacker has pointed out the Sim City port is not a case in point as it runs ridiculously faster than it needs to, so please don't take my words as an attack in that particular direction. In fact in the right context I am quite happy to use a scripting language, you know, something like Java for instance ;-)

    5. Re:What the fuck are you talking about? by SimHacker · · Score: 5, Interesting

      Agreed. But Java isn't exactly what I'd call a scripting language. What I expect from a scripting language is the easy ability to interact with it on a command line or interactive interpretive interface (like Smalltalk). (It doesn't actually have to be interpreted, just compiled fast enough that I don't notice, like many Lisps and OpenLaszlo implement their interactive command line.) Java's problem is not just that the compilers and tools aren't set up for interactive evaluation, but also that the syntax makes it extremely tedious and required typing a lot of boilerplate structural crap. Of course there are some good interactive interpreted languages like JavaScript (Rhino), Python (Jython) and Groovy implemented in Java.

      The great thing about integrating C++ modules like micropolis with Python is that you can play around with it from the keyboard, test and debug it easily, and get it to work quickly. Immediately after I compiled the micropolis module for the first time, I was able to import it, make a simulator, load a city, set the tax rate, and run the simulation loop, all from the keyboard! Then I copied that code I typed into a python file, and I had the first test framework.

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    6. Re:What the fuck are you talking about? by Teckla · · Score: 1

      Java isn't exactly what I'd call a scripting language. What I expect from a scripting language is the easy ability to interact with it on a command line or interactive interpretive interface (like Smalltalk).

      Perhaps you would like BeanShell

    7. Re:What the fuck are you talking about? by Anonymous Coward · · Score: 2, Funny

      Hey, dipshit. It doesn't matter if this game only runs at 30000 FPS on your 4 GHz quad-core Core2 Duo just because it uses Python, rather than the 80000 FPS it would achieve were it completely written in C. I mean, your goddamn fucking eyes and brain don't even notice any difference once you exceed 40 FPS. What the hell is wrong with you? Your ignorance of Python makes you look like a shitfool.

    8. Re:What the fuck are you talking about? by Taulin · · Score: 0, Troll

      It's funny how text book hackers get so involved in making 'the best code' with 'the best language' they never actually get anything 'on the market'.

    9. Re:What the fuck are you talking about? by wildBoar · · Score: 1

      Sorry the Java line was meant to be tongue in cheek. A little bit of humour directed towards the envangelists out there.

      I guess I should make some effort to take a look at Python sometime as it is used in quite a few interesting places. I've also had a few Java types tell me that Groovy is very good.

      Too little time, too many programming languages ;-) I must admit that since I became a family man that I struggle to keep up with it all - oh well, thats my exscuse anyway.

    10. Re:What the fuck are you talking about? by Anonymous Coward · · Score: 0

      Given that current computers are 2^10 times faster now than they were 20 years ago, wouldn't it be possible to write the core of the simulation in languages like Python, Perl, or Lua?

      Or, perhaps have a very thin layer of C code, but the most part written in scripting languages?

    11. Re:What the fuck are you talking about? by sploxx · · Score: 1
      Hi Mr. Simhacker,

      The original SimCity code written in C ran just fine of an 8 bit 1.02 MHz 6510. I'm really curious: What compiler was used to compile that simcity C code to 6502 assembly?
      I'm sometimes playing around with various OSS compilers for 6502/10 (lcc, cc65, sdcc, ...) and they all produce really bloated machine code compared to hand-optimized assembly.
    12. Re:What the fuck are you talking about? by SimHacker · · Score: 1

      I was using the Aztex Manx C compiler on the Apple ][ back around 1982 or so, but I don't know which C compiler Will Wright used on the C64. I will ask him some time. Manx C did produce really bloated code (it had to -- the 6502 has 8 bit registers, and adding two shorts took 7 instructions: CLC LDA ADC STA LDA ADC STA), but back then people wrote C code very differently than they do today with optimizing compilers.

      Every line of code you write, you had to understand and think about how the compiler was going to translate it into machine language, and write it as efficient as possible, readability be damned. SimCity had a bunch of code that went like "register z = 0; foo = z; bar = z; baz = z; z++; one = z; z++; two = z;".

      Nobody writes like that any more (for a good reason: maintainability is much more important than hand coded optimization, which has hit the point of diminishing returns because the optimizers are so smart now). There is no advantage to programming that way any more, because now days the compiler deconstructs your code and applies all the optimizations automatically, using as many registers and optimization tricks as possible. Modern compilers won't let you declare a register variable with no type, and there is no longer any advantage to declaring register variables, or initializing variables from other variables instead of constants.

      Designing good efficient algorithms is what's important, not typing them in so as to spoon feed a stupid compiler that can't figure out how to use registers or initialize variables efficiently. And good efficient algorithms should be written in clean maintainable readable code, so people can understand them, and bugs are easy to fix.

      To paraphrase the introduction to Abelson Sussman and Sussman's "Structure and Interpretation of Computer Programs": Computer programs should be written first and foremost for people to read, and only incidentally for computers to execute.

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    13. Re:What the fuck are you talking about? by SimHacker · · Score: 1

      Of course it's possible to rewrite the simulator in any other language. It's just a question of how much work would it be, and how sure you would be that it did the same thing.

      It was comparatively little work to rewrite C code in C++, because that's exactly what C++ was designed to do: take old C code with global variables and functions, and encapsulate it in a class with a well defined interface. Because C++ has the implicit this parameter to each member function, and it's not necessary to explicitly specify this when accessing member variables and methods, you don't have to change C code very much to translate it to C++. A different language with explicit this (or self) would require meticulously changing every line of code, and that would be orders of magnitude more work.

      The first step to translating a big pile of C code to another higher level language is understanding and strictly defining what it does. Translating it to C++ is the first step in that process. That gives the code a lot more structure and coherence, without disrupting how it works.

      The next step is to clean it up and toss out everything that isn't relevent -- all the old user interface and operating system hacks that no longer are necessary and have nothing to do with the simulator.

      Once you have a clean core of code that verifyable works with well defined interfaces and without any irrelavent crap in it, it's much easier to start rewriting it in other languages like Python or Lua. (I would NOT suggest using Perl, though. That is a horrible, dead end language, antithetical to teaching kids how to program.)

      Alan Kay and I have been having an interesting discussion about how to rewrite SimCity in much higher level languages than Python and Perl, specifically visual programming languages like eToys, Star Logo, Max/MSP, KidSim (Stagecraft Creator), Bounce (Body Electric), SimAntics, etc, along the lines of Robot Odyssey.

      What we want to do is to open up SimCity to the Python scripting language as a first step, and then write a high level visual programming language in Python, easy enough for kids to use, but powerful enough for real programming.

      Here are some references:
      Ideas for Sugar development environment from HyperLook SimCity
      OLPC Visual Programming Languages for Education
      Discussion with Alan Kay about Visual Programming
      Discussion with Alan Kay about Robot Odyssey
      OLPC Visual Programming Language Discussion with Guido van Rossum and Alan Kay
      Alan Kay on Programming Languages
      The Shape of PSIBER Space: PostScript Interactive Bug Eradication Routines
      Kurt Schmucker (inventor of the C++ Barf Bag ;-) at Apple wrote "A Taxonomy of Simulation Software"
      Tim Smith at Anglia Polytechnic University in Essex wrote "A review of simulated and micro-world environments"
      Brad Myers: Taxonomies of Visual Programming and Program Visualization

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    14. Re:What the fuck are you talking about? by Anonymous Coward · · Score: 0

      no games run at 30000fps, you've got to do your networking, physics, ultra high resolution photorealistic rendering algorithms, ai neural net simulation all in 16ms. that may be a lot of cpu cycles but the os is using up some, the python vm will take a some too etc etc. we should go back to writing everything in pure assembler, you weak minded prick.

    15. Re:What the fuck are you talking about? by sploxx · · Score: 1

      Thank you alot for your post!

      Of course I know the modern style and work of a compiler and the programmer, and that this quite different to what existed in the 80s :-)
      Out of pure interest, I'm still looking for a really good C compiler (which is very probably a cross-compiler :) for 6502.

    16. Re:What the fuck are you talking about? by Anonymous Coward · · Score: 0
      The original SimCity code written in C ran just fine of an 8 bit 1.02 MHz 6510.

      Woah, which C compiler did you use for 6510 back in 1989? I seem to remember them being rather ropey back then.

      Any links would be helpful! Mind you, C wasn't even standardised properly until 1990.

      After all most (not all) SNES games were written in assembly (and it had a faster CPU than C64!) though the Genesis could handle C almost fast enough.

      Modern GCC on hardware with enough registers is cool, but back then with just A,X and Y - I would have thought it was a nightmare!

      Hmm, I think I used to know Tony Hartley/Lill (the Amstrad/ZX spectrum porter) I wonder if he can remember anything (not got his number anyway...).
      I would be pretty sure he did those versions in straight Z80.

      It looks like Will Wright backported it personally to c64 from the Amiga/Macintosh version (1989) which was developed from the c64 prototype (1985)

      has details.

      I would guess that the original (1985 and 1989) C64 versions were pure assembler, and possibly Apple2 and Atari400 versions could be ported from that, and only the later versions from 68000 (macintosh/Amiga/Atari ST) onwards were in C.

  37. Revamped From C to C++? Rats! by shoor · · Score: 0, Flamebait

    I know C, but I don't want to learn C++ (I gave it a try once.) I'm willing to try learning Python though (or a functional language, they intrigue me), but not C++!

    --
    In theory, theory and practice are the same; in practice they're different. (Yogi Berra & A. Einstein)
    1. Re:Revamped From C to C++? Rats! by Anonymous Coward · · Score: 0

      Yeah well, this probably means you are an idiot. (No, slashdot, this is not a freaking bot, I do type this fast, damnit)

    2. Re:Revamped From C to C++? Rats! by Anonymous Coward · · Score: 0

      Depending on your needs, you may find that you can modify the behaviour to your specifications by changing mostly the Python code, with little to non C++ hackery.
      Additionally, I understand it that the choice of C++ is mostly for encapsulating the C state with minimal editing of the original C code, so I'd guess that the code is still very C-like and done without heavy use of C++-isms, though this is mere speculation on my part.

  38. Re:Good by Hawthorne01 · · Score: 1

    Think about it. The purpose of SimCity is to get a populace to like your administration, and to make the town as productive as possible.

    The purpose of a counter-insurgency, from the Brits in Malaysia to the Marines in Anbar, is to deny the enemy the use of the populace as cover by getting the people to want to turn them in. Sometimes it's shooting the bad guys (and making darn sure you shoot JUST the bad guys), sometimes it's building a school or making sure they get power.

    Sounds like that could be easily modded. Heck, when I think about it, 9/10ths of SimCity is already good COINOPS strategy. All that's missing is off-board artillery! :)

    --
    "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."
  39. Re:No, its worse by SimHacker · · Score: 5, Informative

    To clear up some confusion: The old version of SimCity/Micropolis uses TCL/Tk to implement the user interface. That is the version currently being distributed on the OLPC. The new version is rewritten in C++, and has all the TCL/Tk and user interface stuff ripped out of it. I converted it to C++ for the reasons I described in other posts (quoted above), so it is now modular and can be run through SWIG to integrate it with many different scripting languages.

    But the core simulator is independent of Python, and runs extremely fast (the TCL/Tk version can run more than a year a second on the relatively slow OLPC). The OLPC uses Python as its standard system wide programming language, and all of its important libraries (like Cairo and Pango) are integrated as Python modules. So it makes the most sense to use SWIG to cast Micropolis into a Python module, first. Of course SWIG also makes it easy to integrate it with any other scripting language.

    If it's not immediately obvious to you (or even if it is), why anyone would want to integrate SimCity with a scripting language, instead of just writing the whole thing in C, then you should read some of the discussions I've been having with Alan Key about that topic, on my blog.

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
  40. There's a hole in the world by Anonymous Coward · · Score: 0

    Release the code to Simant! Anyone else love that game?

    I'm waiting for SimBarber, the musical slasher sim.

  41. Anyone remember the old Simcity "skins"? by cswiii · · Score: 1

    ...this, of course, probably back before they called anything "skins".

    But I remember a friend who found various themes for his Simcity -- there was an "old west" style theme, and a futuristic one and one or two others. The game itself wasn't any different, but instead of, say, gas stations, you'd have horse pastures or something.

    I should probably JFGI (again), but I have tried in the past to find anything about them and have been unable.

    1. Re:Anyone remember the old Simcity "skins"? by stinerman · · Score: 1

      Yeah, I had those skins on my copy of SimCity that came with a Packard Bell my dad bought around 1996.

      I haven't heard of them before or since then.

    2. Re:Anyone remember the old Simcity "skins"? by tighr · · Score: 1

      With Sim City 2000, I got a copy of something called the SCURK (Sim City Urban Renewal Kit). This was back in the early days of the interwebs for regular people, but I remember downloading copies of buildings like McDonalds and Burger King for restaurants, or various other odd reincarnations of standard buildings. You could also make your own with the editor.

    3. Re:Anyone remember the old Simcity "skins"? by Anonymous Coward · · Score: 0

      One was the moon, and you mentioned two.

      Are we gonna get the terrain editor too?

    4. Re:Anyone remember the old Simcity "skins"? by Aug+Leopold · · Score: 1

      http://www.the-underdogs.info/game.php?gameid=4642 The add-on packs are listed here under 'extras'. However, they only worked on the DOS/Windows versions of the game.

    5. Re:Anyone remember the old Simcity "skins"? by yoden · · Score: 1

      I have the mac 'skins' on two diskettes somewhere back home... (System 6/LCIII)

      --
      Computers can make otherwise intelligent people stupid, much like slashdot.
  42. OBMeme by davidwr · · Score: 0, Redundant

    All your simulated base are belong to us simulations.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  43. Opportunity for a more realistic SimCity... by Anonymous Coward · · Score: 0

    This is an opportunity for a more realistic SimCity. One of my biggest complaints with the SimCity line was the ordinances and utilities -- notice they take a decidedly left-wing, big-government political bias. Maybe now somebody can implement certain options such as privatizing certain public services, and where merely throwing more money at a problem won't be the be-all, end-all to solving it, and will in fact complicate your city's fiscal policies even further. Finally a SimCity that can truly educate people.

    1. Re:Opportunity for a more realistic SimCity... by vidarh · · Score: 1

      Funny. When I was playing SimCity, my first reaction was what a right wing approach it took, especially with the ridiculously low limits on tax rates etc. compared to the level of taxation common in most of Europe for example.

    2. Re:Opportunity for a more realistic SimCity... by SimHacker · · Score: 5, Insightful

      From Designing User Interfaces to Simulation Games, a summary of Will Wright's talk to Terry Winnograd's User Interface Class at Stanford, in 1996.:

      Other people wanted to use SimCity for the less noble goal of teaching people what to think, instead of just teaching them to think.

      Everyone notices the obvious built-in political bias, whatever that is. But everyone sees it from a different perspective, so nobody agrees what its real political agenda actually is. I don't think it's all that important, since SimCity's political agenda pales in comparison to the political agenda in the eye of the beholder.

      Some muckety-muck architecture magazine was interviewing Will Wright about SimCity, and they asked him a question something like "which ontological urban paridigm most influenced your design of the simulator, the Exo-Hamiltonian Pattern Language Movement, or the Intra-Urban Deconstructionist Sub-Culture Hypothesis?" He replied, "I just kind of optimized for game play."

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
    3. Re:Opportunity for a more realistic SimCity... by SteveFoerster · · Score: 1

      I've always thought that about SimCity, Civilization, Birth of the Federation, and all those other micromanagement games. Thing is, it may be realistic for the city/empire/whatever to prosper more the less you do, but it's also a pretty boring game.

      --
      Space game using normal deck of cards: http://BattleCards.org
    4. Re:Opportunity for a more realistic SimCity... by kidcharles · · Score: 1

      I always thought the crime model was a bit off too. If you had high crime you could just dump a bunch of police on the problem. I think reducing crime in the real world is not that simple. Also, the crime was presumably petty street crime, while white collar crime seemed to be missing from the simulation. I guess I'm just a nit-picky left-winger but those are my observations.

      --
      Ceci n'est pas une sig.
    5. Re:Opportunity for a more realistic SimCity... by meringuoid · · Score: 1
      One of my biggest complaints with the SimCity line was the ordinances and utilities -- notice they take a decidedly left-wing, big-government political bias.

      I always found that my cities ran best with a 6 or 7% tax rate, as compared to the 30-40% rate in most advanced democracies. How is this a left-wing bias?

      --
      Real Daleks don't climb stairs - they level the building.
    6. Re:Opportunity for a more realistic SimCity... by Blakey+Rat · · Score: 1

      It's called "abstraction." Think of police not as a police officer, but as an abstraction representing all law enforcement-- beat cops, highway patrol, even the detectives working on the white collar stuff. You're getting caught up in the word "police" and missing the big picture; everything in the game is an abstraction.

    7. Re:Opportunity for a more realistic SimCity... by EvanED · · Score: 1

      Even that isn't a perfect solution, and other things affected crime, such as land values. (At least this was true in, say, SC2K.) So one solution would be to drop another police station down, but you could also plop in a few parks and hope the land value increased enough to drop crime. If the area in question was already covered by a couple police stations, the latter probably had a higher chance of success.

    8. Re:Opportunity for a more realistic SimCity... by Eric+S.+Smith · · Score: 1

      ...while white collar crime seemed to be missing from the simulation.

      As I recall, industrial areas bred crime at higher levels than commercial areas did, so that fits. It's either a slam on the working classes, or arch-hippie anti-industrialism!

    9. Re:Opportunity for a more realistic SimCity... by toddestan · · Score: 2, Funny

      I imagine that I could probably run things at a pretty low tax rate in a world where a coal power plant costs $3000, and an airport costs $10000, and I can fully fund a police station for $50/year.

  44. Re:No, its worse by cnettel · · Score: 1

    Now, I wouldn't point to Civ IV to illustrate that using Python won't hurt performance. The reasons for the performance issues (especially before the patches) were complex, but Python didn't exactly help.

  45. Ant Farm! by Dillenger69 · · Score: 1

    Ok ... now I'm just waiting for the version that runs without intervention on my part.
    I've always wanted a sim that runs like an ant farm that I can just look into and mess with.

    --
    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    1. Re:Ant Farm! by spikedvodka · · Score: 1

      Then another maxis classic might be right up your alley... sim-ant

      (and yes, "f-u-n-d" still gives you $10,000, even though you're an ant)

      --
      I will not give in to the terrorists. I will not become fearful.
    2. Re:Ant Farm! by Anonymous Coward · · Score: 0

      Slightly different genre, but you might be interested in Progress Quest ...

  46. Re:No, its worse by PinkPanther · · Score: 4, Insightful

    C++ & Python does seem to be a weird and cumbersome choice though. But when all you have is a hammer everything looks like a nail

    One person's hammer is another person's "right tool". If you read the article, it appears to me that the guy who ported the code has a clue about a few things. I'm gonna bet that his choice of Python was thought through. Likely he is leveraging some existing infrastructures that he knows, thus speeding the time-to-release. To me, that's a very handy hammer.

    The code is now open. Feel free to hack onto oblivion the design choices you don't appreciate.

    --
    It's a simple matter of complex programming.
  47. Slashdotted by noidentity · · Score: 2, Funny

    I guess a new disaster needs to be added: Slashdotting

  48. The plane crash disaster has been removed as a res by Anonymous+Homo · · Score: 5, Insightful

    The plane crash disaster has been removed as a result of 9/11

    It's official, the terrorists have won.

  49. Nice move, but... by nilbog · · Score: 1

    This is a great move. I applaud the developer for releasing the source once the game had run its course, so to speak. There are droves of mobile and embeded devices that can now benefit (legally) from this.

    I only wish more software manufacturers would do this. When the game becomes old and they aren't making any serious money off of it, they could really be a benefit to the community by open sourcing it or at least releasing it for free. Look at all the great games from the 80s and 90s that you can't get anymore because they copyright owner isn't selling them and won't release them for free... The only option is to steal games like the Quest games, Zork, the early lucasarts games, etc.

    --
    or else!
    1. Re:Nice move, but... by SimHacker · · Score: 5, Funny

      Yes, it'll be great to port Micropolis (SimCity) to embedded devices! I'd like to port it to the TomTom, and hook it up so you can operate the bulldozer or road building tool via GPS, just by driving around!

      -Don

      (Disclaimer: I work for TomTom, and this should NOT be interpreted as a product announcement!)

      --
      Take a look and feel free: http://www.PieMenu.com
    2. Re:Nice move, but... by Shados · · Score: 2, Insightful

      Im guessing part of the reason is that it takes time to release code in "open source"-able format... Often, commercial software is written assuming that no one else will ever need to use it, so it may very well have weird dependencies...stuff like, to compile it you need a machine named "JOESBUILDER" with a X drive mapping to some network ressource, and all that is hardcoded... internally it didnt matter, but when you open source it, that doesn't work.

      Cleaning up code -production code- is often not an option in the commercial world, nevermind code thats not used and doesn't return a profit anymore.

      Add to that, that a lot of games, especially more recent ones, are full of middlewares that the company doesn't own...that rules those out.

    3. Re:Nice move, but... by Anonymous Coward · · Score: 0

      That's another good reason to open source it; the dedicated fans of the game will clean it up if there is a deman for it, and if there isn't, oh well; no harm, no foul.

      Novell/caldera OpenDOS needed like 5 assemblers, 2 compilers, etc....

    4. Re:Nice move, but... by Ambiguous+Puzuma · · Score: 1

      Using GPS devices for games would be pretty cool--not necessarily for SimCity but other games like "Pac Manhattan".

  50. Re:No, its worse by Krilomir · · Score: 1

    Eve Online definitely has performance issues as well - not just on the server cluster, but also client side. The UI has always been somewhat slow, and the client has trouble handling many ships in battle. Considering the somewhat dated graphics in the "classic client", this is hardly an issue with the graphics engine alone. Patches from the last year or so has helped the situation somewhat, and as people get faster machines, it becomes less of an issue.

  51. Re:No, its worse by Anonymous Coward · · Score: 0

    How abstract is the UI? Would it be a lot of work to write an SDL GUI for it, or would one have to re-implement a lot of the rendering & event handling code to make any sense from it?

  52. Where's *my* pity? by Anonymous Coward · · Score: 1, Informative

    I'm a suicide bomber, you insensitive clod!

    1. Re:Where's *my* pity? by kryten_nl · · Score: 3, Funny

      Bro, you suck at your job.

      --
      For the perfect anti-Unix, write an OS that thinks it knows what you're doing better than you do and let it be wrong.
    2. Re:Where's *my* pity? by Dr.+Cody · · Score: 1

      Have you seen how much he posts on Slashdot? No wonder he never gets around to actually doing his job.

    3. Re:Where's *my* pity? by Anonymous Coward · · Score: 0

      You will never see the end of our onslaught! Even if I should die in my job as a suicide bomber, there will be yet another AC! The infidels of slashdot shall feel our wrath!

      *boom*

  53. Re:No, its worse by SimHacker · · Score: 4, Interesting

    The UI is quite abstract. I had to cleanly separate the UI and the simulator engine to port SimCity to NeWS, and TCL/Tk maintained that separation. The new MicropolisCore has all the UI code taken out, so all the rendering and event handing has to be implemented outside of the simulator core, in a scripting language like Python, with a graphics library like Cairo, and a user interface toolkit like GTK.

    The new Micropolis core simulator engine talks to the tile engine through efficient raw memory pointers. Micropolis hands the tile engine a pointer to its tile memory and a description of the format, and a tile bitmap and a description of the tile layout (including an indirect tile map). The tile engine uses Cairo to render the tiles. Cairo is a much more advanced imaging library than SDL, and most importantly it supports Unicode and fully internationalized text via the Pango library (OLPC activities must support many different languages). Cairo enables scaling and transformation, vector graphics, anti-aliasing, clipping, SVG, etc. It is more like the PostScript based user interface to SimCity I developed for NeWS. The Cairo tile engine supports zooming into the city, and the old NeWS version used to let you play the game at any scale. Zooming is very important on the OLPC's 200 dot per inch resolution screen, because the unscaled tiles are very small, and kids like to zoom in to look closer at the city, so it's easier to see. Another reason for using Cairo is that it's great for drawing map overlays and data visualizations, with scalable vector graphics, transparency, etc. And also, Cairo is hardware accelerated on Linux, the Mac and Windows, so it can draw extremely fast and still look pretty.

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
  54. QA by EA?? by Anonymous Coward · · Score: 0

    Quality Assurance is going to be provided by EA??? Holy hell! EA can't even correct blatant spelling errors in their own bug-festive games!

  55. Re:The plane crash disaster has been removed as a by Workaphobia · · Score: 4, Funny

    I couldn't hear you, I was busy watching the NYC episode of the Simpsons and - NOOOOooooooooo...

    --
    Evidently, the key to understanding recursion is to begin by understanding recursion. The rest is easy.
  56. SimLife? by belmolis · · Score: 1

    I don't suppose there's a chance of a Linux port of SimLife? I really liked it, but it isn't available anymore on any platform.

    1. Re:SimLife? by jd · · Score: 1
      Ditto for SimEarth. The knowledge that went into SimLife and SimEarth was limited by the machines available and the knowledge that existed. The machines are more powerful today and knowledge is much more extensive, opening up far more possibilities. It's not as if these games produce significant revenue any more and I seriously doubt either have any meaningful Intellectual Property as far as current-generation sims are concerned.

      There is another side to all of this, though. By releasing "dead" product lines under Linux - preferably Open Sourced - gaming companies can start to build up the Linux gaming market at nominal cost to themselves. The code already exists, all it would take is a quick once-over audit to clean out anything that might remain super-secret or was licensed from outside. A Linux gaming market has an unknown value at the moment, because so little exists for it. But through such experiments, it would be possible for companies to get a better feel for just how much money there is to be made via Linux. It would also be possible to build up some measure of customer loyalty prior to there being any sizable investment.

      What would such companies stand to lose by doing this? Financially, not a whole lot. The investment required to do an once-over audit is probably a couple of hundred dollars at most - and that is if it is done in-house.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  57. Where's the orig C src for this puppy? by Anonymous Coward · · Score: 0

    We'd like to start in a language about as old as the program... ;-)

    Any links to the unmodified C src, please?

    TIA

    1. Re:Where's the orig C src for this puppy? by Anonymous Coward · · Score: 0

      If you'd care to investigate the source linked to in TFA (micropolis-activity-source.tgz), you'll find C source so old that in parts of it doesn't declare a return type for functions.
      The C++ port project is a separate download from the same site. (MicropolisCore.tgz)

  58. Lisp Re:PostScript by rhyre417 · · Score: 2, Funny

    I believe I understand.
    NeWS is like Lisp, but with PostScript instead of Lisp for programming, PostScript instead of Lisp for rendering, and PostScript instead of S-expressions for data representation.

    1. Re:Lisp Re:PostScript by qbwiz · · Score: 1

      No, that doesn't make any sense at all. The key thing about NeWS and AJAX is that you can use whatever language you want on the server, but the client that actually does all the drawing has its own, different language (PostScript and JavaScript, respectively).

      --
      Ewige Blumenkraft.
    2. Re:Lisp Re:PostScript by SimHacker · · Score: 1

      And Lisp is like Lisp, except that it uses S-expressions for code instead of code, S-expressions for data instead of data, and S-expressions for macros instead of macros.

      Q: What's the difference between a duck?

      A: One of its legs are the same!

      -Don

      --
      Take a look and feel free: http://www.PieMenu.com
  59. Re:No, its worse by LWATCDR · · Score: 1

    So how hard will it be to put back in the plane crashes?
    That I I wounder if I could port it to OpenGL to make a super pretty 3d version. Yes I know it would be possible but I haven't messed with OpenGL so it maybe more than I have time for.

    Actually the hack away idea is just great. How about themes? You could have Futurama SimCity, Simpsons Sim City... you name it.
    Sound like a fun project maybe I will grab the source and compile it.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  60. they probably should have tested it before release by NynexNinja · · Score: 1

    Maybe I'm doing something wrong, but here is my initial results:

    brian@brian-laptop:~/Desktop/micropolis-activity$ ./Micropolis
    Starting Micropolis in /home/brian/Desktop/micropolis-activity ...
    ./Micropolis: line 4: 17236 Floating point exception(core dumped) res/sim $*
    brian@brian-laptop:~/Desktop/micropolis-activity$


    This is on a stock ubuntu install... I'll play with it some more and hopefully figure out why ./res/sim is segfaulting... Either way, it appears really rough.

  61. Re:The plane crash disaster has been removed as a by orkysoft · · Score: 1, Funny

    Yeah, it's the perfect opportunity to teach kids that plane crashes are bad, mkay?

    --

    I suffer from attention surplus disorder.
  62. Re:they probably should have tested it before rele by jesuscyborg · · Score: 1

    I'm also trying to run it on Ubuntu. I get the main welcome screen but I can't click on anything or type anything. The only thing that happens is when I hover over the text box at the top, the cursor inside it starts blinking. It makes me sad that I can't kill my productivity tonight with a happy game from my childhood.

  63. Same here with Cygwin by Aggrajag · · Score: 1

    I actually managed it to start but it freezes the exact same way, gonna try with Cygwin's own Tcl/Tk implementation and try to get TclX building.

  64. Welcoming a master coder by Atomic+Fro · · Score: 5, Funny

    I, for one, would like to welcome Don Hopkins: our sim-hacking overlord.

    --

    ==================
    Hippie Logger Jock
    ==================
    1. Re:Welcoming a master coder by Anonymous Coward · · Score: 0

      Heck I'd vote for him over Hillary for president any day.

  65. Re:they probably should have tested it before rele by PetriBORG · · Score: 1
    Dito that, I get this in the terminal:

    --(1951:Sat,12 Jan 08:$)-- ./Micropolis
    Starting Micropolis in /home/petri/dev/micropolis/micropolis-activity ...
    Welcome to X11 Multi Player Micropolis version 4.0 by Will Wright, Don Hopkins.
    Copyright (C) 2002 by Electronic Arts, Maxis. All rights reserved.
    sh: Syntax error: Bad fd number
    sh: Syntax error: Bad fd number
    Adding a player on :0.0 ...
    Cool, I found the shared memory extension!

    Been trying to see if I can fix it, but so far I haven't had a lot of luck. I started a thread on the Ubuntu Forums for Micropolis too.

    --
    Pete/Petri "damn, my chainsaw is clogged with 1's and 0's again." --clyde
  66. Re:Good by DingerX · · Score: 1

    Off-board artillery? Dude, that's all wrong. This is COINOPS. You know, urban areas? Off-board artillery notoriously has high-angle trajectories. For COINOPS you need realistic artillery effects (along with smoke, WP, and even those snarky SADARMS, as well as whatever terminally-guided 120mm mortar shells BOFORS is cooking up these days).

  67. Re:they probably should have tested it before rele by axeme · · Score: 1

    Same problem here with Fedora 8. Nice front end with a blinking cursor for the city name, but you can't do anything. No keyboard or mouse recognition. I have to go back to the command line and CTRL-C to kill it.

    Maybe its time to figure out how to debug python, or TCL/TK, or whatever that front end is using.

  68. DCEmu Challenge The Homebrew Community To Port it by Anonymous Coward · · Score: 0

    DCEmu have challenged the Homebrew Community across all the consoles for some of the very talentted coders to port it to as many systems as possible details here http://www.dcemu.co.uk/sim-city-source-code-released-whos-up-for-the-challenge-85355.html

  69. iMicropolis by Doc+Ruby · · Score: 1

    Where's the patch to network two running Micropolis games together, so remote players can collaborate and/or war with each other's neighboring cities in a shared world?

    And where's the SecondLife gateway patch, so a city developed in Micropolis can be inhabited from a POV in SecondLife?

    --

    --
    make install -not war

    1. Re:iMicropolis by Constantine+XVI · · Score: 2, Informative

      UNIX SimCity was actually the first multiplayer SimCity game, and Micropolis seems to hold on to this feature. Not sure how to work it though.

      --
      "I think an etch-a-sketch with an ethernet port would beat IE7 in web standards compliance."
    2. Re:iMicropolis by Anonymous Coward · · Score: 0

      Correction: I think it was
       
      Leisure Suit Larry 4: The Missing Floppies

  70. Hide teh LUnix by tepples · · Score: 2, Informative

    What the hell is this Lunix thing that so many keep talking about? LUnix is a UNIX-clone operating system for Commodore 64 computers. SimCity was developed on a Commodore 64, but not in LUnix.
  71. and yes by DingerX · · Score: 1

    I know that Copperheads are terminally guided and 120mm STRIX mortar shells are active-homing. I think I even simulated them in an FPS once...

  72. it's been on the olpc for a while now by Anonymous Coward · · Score: 0

    "The OLPC will also be getting a SimCity branded version that has been QA'ed by Electronic Arts."

    I'm confused cause the olpc already has it on it.
    is there a newer version coming out on it?
    the one already on the olpc is very very very not stable.

  73. Graphically on par? by EnsilZah · · Score: 1

    The screenshots I saw of Lincity used horrible pre-rendered 3D.
    Am I missing something?

    1. Re:Graphically on par? by toddestan · · Score: 1

      Um, that pretty much describes how Simcity 2000 did it's graphics too.

    2. Re:Graphically on par? by EnsilZah · · Score: 1

      Looking at the screenshots of Simcity 2000 I'm pretty sure it's pixelart.
      I might be wrong though, do you happen to have anything to support that?

    3. Re:Graphically on par? by toddestan · · Score: 1

      Actually, you're right. The SCURK add-on let you create your own buildings for SC2000, which you basically did by drawing them pixel by pixel. I would assume that the 'stock' buildings were done the same way.

    4. Re:Graphically on par? by Bob+of+Dole · · Score: 1

      Pre-rendered 3D! All the downsides of 2D (difficulty of scaling/rotating) with all the downsides of 3D (low information density)!

  74. Handhelds? by tepples · · Score: 1

    And here I was thinking that my 2Ghz computer could run-time compile code faster than my old 4Mhz computer could run native code. How much battery life does your 2 GHz handheld computer have?
  75. Python on small-RAM handheld? by tepples · · Score: 1

    Considering that a lot of what Python does is I/O bound, and a lot more can be done in outside libraries (e.g. DirectX), using Python in game development can make things a lot easier, and a lot easier to modify down the road. Sure, this is true of desktop PCs. But is it also true of handheld systems with 4 MiB of RAM and a 67 MHz CPU?
    1. Re:Python on small-RAM handheld? by Dr_Barnowl · · Score: 1

      I've seen a working Python interpreter on my Palm III, which has a 16 MHz processor and 2MB of RAM.

  76. How about a DS homebrew port? by Bones3D_mac · · Score: 1

    Well, after picking up the Nintendo DS SimCity title (which plays a lot like SC2K, only less impressively so), I've come to the conclusion that they really should have just ported the classic game to the system instead. The DS hardware seems like the perfect platform to breath new life into SimCity classic, and could certainly use the second screen to demonstrate just how well the game was developed in it's original form.

    For example, the touch screen could handle the traditional city building gameplay elements, while the top screen could display all of the statistical changes to your game in real-time without requiring the user to interrupt the simulation to view their progress.

    Navigation of the charts, graphs and maps could be rotated though by the L and R buttons, and value changes could be entered using the D-pad, leaving the touch screen open for further, independent interaction.

    --


    8==8 Bones 8==8
  77. Close by Mr2001 · · Score: 1

    NeWS is like a giraffe, but with PostScript instead of a long neck for eating, PostScript instead of spots for visual appearance, and PostScript instead of blood for moving nutrients around.

    --
    Visual IRC: Fast. Powerful. Free.
  78. Soon on slashdot... by Briareos · · Score: 1

    "MyMiniSimCity opens it's doors :("
    posted by yadda yadda yadda
    from the Where's-Gojira-when-you-need-him? dept.

    In Soviet MyMiniSimCity, links click disguised YOU!

    *shudder*

    --

    "I'm not anti-anything, I'm anti-everything, it fits better." - Sole

  79. John Carmack by pleappleappleap · · Score: 1

    You think you could find a link? I don't believe I've seen that.

  80. Well, it is open source now by patio11 · · Score: 1

    You could code Micropolis: True Patriot, with the added feature of plane crashes. For that matter, you could add in suicide bombings and school shootings, for extra realism.

  81. Re:No, its worse by merreborn · · Score: 1

    EVE Online has a significant portion written in Python as well.

    That'd explain why a lot of the basic 2D UI in EVE is a little unresponsive compared to your run of the mill native windows app.

    I can see arguments for using a high level language for UI, but EVE probably isn't the best example. EVE's UI is pretty remarkably clunky.

  82. Runtime compilation vs. precompiled code by LKM · · Score: 1

    You make a statement about bytecode, then claim its blazingly fast? Granted, it is faster than an interpereted language, but its nowhere near the speed of compiled language.

    As an absolute statement of fact, this is not true. Since bytecode is compiled to native code when the application actually runs, it can optimize compilation to the current target platform, and it can take current usage pattern into account when compiling. There are many cases where I would expect code compiled at runtime to be faster than precompiled code.

  83. Re:The plane crash disaster has been removed as a by Anonymous Coward · · Score: 4, Insightful

    It's free software. Put that shit back in.

    (That and I want a global thermal-nuclear war scenerio.)

  84. how about Transport Tycoon? by Anonymous Coward · · Score: 0

    How about they make good ole Transport Tycoon open source too?

    1. Re:how about Transport Tycoon? by ledow · · Score: 1

      Why bother?

      OpenTTD is a complete reverse-engineered version, compatible with virtually every GRF from "The Patch", and works just like the old one - but has reliable TCP networking, SDL graphics, SDL sound, etc. so it's portable to any number of platforms.

      Plus, it incorporates hundreds of features that TTD "should have had", such as drag-drop line placement in all directions, bridges that can span over any tile etc.

  85. BeOS version? by kosibar · · Score: 1

    Does this mean the BeOS version can finally be completed?

  86. Re:The plane crash disaster has been removed as a by boris111 · · Score: 1

    Let's take it out of Escape from New York too. Why not pretend it ever happened.

  87. Thanks OLPC by G3ckoG33k · · Score: 1

    "This game was released for the Unix platform in or about 1990 and has been modified for inclusion in the One Laptop Per Child program."

    Nice move to open it up under GPL! But sad circumstances if OLPC is dead.

  88. Way to get excellent karma in one article by Kopretinka · · Score: 1

    Not that Don would need it, I expect, but after this article, his karma is through the roof!

    --
    Yesterday was the time to do it right. Are we having a REVOLUTION yet?
  89. Re:The plane crash disaster has been removed as a by iconoclast · · Score: 1

    The plane crash disaster has been removed as a result of 9/11

    It's official, the terrorists have won.
    It's a good thing this was released as open source then! We can add the plane crash disaster back in with a patch.

    Using the GPL to fight terrorism!

  90. Re:The plane crash disaster has been removed as a by dbIII · · Score: 1

    In a bizzare coincidence that is exactly what I was doing an hour proir to the attack - well OK not so bizzare since I did it every time my city got out of control. I haven't played the game since.

  91. Nuts by jandrese · · Score: 1

    Dang. I got it to compile on FreeBSD 7 (with a bit of tweaking, there were a lot of assumptions about the locations of libraries) but it craps out with an X11 error when I try to start it.

    --

    I read the internet for the articles.
  92. It's a classic type of bug by Animats · · Score: 2, Interesting

    It's a type of bug more common back when memory was limited. Classically, it was a spreadsheet bug. The dumb way to evaluate a spreadsheet is to start at the upper left, evaluating the formula (if any) for each cell. If any formula refers to a value that's to the right or below the cell being evaluated, the spreadsheet values will be wrong. Each time you hit the recalculate key, the values propagate through one more wrong-direction dependency. Once you've hit "recalc" enough times, the values stabilize. Unless the spreadsheet actually has a dependency loop, in which case they continue to change with every recalc.

    All the early desktop spreadsheet programs (VisiCalc, etc.) used this dumb algorithm. The correct way to do it was known, but had been patented in 1969. It's also much more complicated to do it right; you have to build graphs, sort them by dependencies, and detect loops. It's so simple to do it with two nested FOR loops, and most of the time the complex algorithm yields the same answer as the dumb one.

    Anything that has in-place updates of a grid of cells with arbitrary dependencies on other cells potentially has this problem. So it crops up in games, in image processing algorithms, and in simulations now and then.

  93. Re:The plane crash disaster has been removed as a by orkysoft · · Score: 2, Insightful

    Okay, that wasn't the best post ever. But Troll?

    Anyway, the plane crash is one of the milder disasters in Sim City, so it would be teaching the kids that place crashes don't do much damage.

    Actually, I think it wouldn't remind most of those kids of anything.

    --

    I suffer from attention surplus disorder.
  94. Oh, hello again. by EkriirkE · · Score: 1
    --
    from 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    to 45 2F 6E 40 3C DF 10 71 4E 41 DF AA 25 7D 31 3F
  95. Personally I would love by Shivetya · · Score: 1

    to find Starflight and the original Wizardry... I still remember Wizardry on the IBM PC, complete with ASCII graphics.

    --
    * Winners compare their achievements to their goals, losers compare theirs to that of others.
  96. oh my god by Hsien-Ko · · Score: 1

    the whip.wav sound is non-Free!!! infact i think the only Free sounds there is in it is the voices

  97. just a matter of time... by Anonymous Coward · · Score: 0

    just a matter of time before someone gets ahold of this and makes a sexoplis or thugopolis what's like some of the turn based online games with pimps and whores... Sim City will never be the same.

  98. Re:The plane crash disaster has been removed as a by kalirion · · Score: 1

    Yup, that was Bin Laden's goal from the start - to nerf a GPL'ed release of SimCity.

  99. winner is you by Anonymous Coward · · Score: 0

    ithink he gave up. looks like you won this one grats

  100. wtf stfu by Anonymous Coward · · Score: 0

    u fail

  101. Wii !!!!! by Allnighterking · · Score: 1

    Oops sorry wrong game system ;)

    --

    I'm sorry, I'm to tired to be witty at the moment so this message will have to do.