×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

SimCity Source Code Is Now Open

kdawson posted more than 6 years ago | from the but-you-can't-call-it-that dept.

Programming 360

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!"

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

360 comments

All of a sudden... (5, Funny)

Anonymous Coward | more than 6 years ago | (#22017618)

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

Re:All of a sudden... (0)

Anonymous Coward | more than 6 years ago | (#22018074)

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

Craptastic Code? (5, Insightful)

DingerX (847589) | more than 6 years ago | (#22017622)

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

And yet... (0)

Anonymous Coward | more than 6 years ago | (#22018026)

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

Re:Craptastic Code? (1, Interesting)

unlametheweak (1102159) | more than 6 years ago | (#22018300)

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.

Version? (5, Interesting)

Anonymous Coward | more than 6 years ago | (#22017624)

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!

Re:Version? (2, Informative)

ShadowMarth (870657) | more than 6 years ago | (#22017756)

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.

Re:Version? (1)

rustalot42684 (1055008) | more than 6 years ago | (#22017928)

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.

Re:Version? (1)

JamesTRexx (675890) | more than 6 years ago | (#22017990)

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)

Re:Version? (2, Informative)

kevlarcowboy (996973) | more than 6 years ago | (#22018390)

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.

It's stated in the article (5, Informative)

jesterzog (189797) | more than 6 years ago | (#22018064)

It actually states the history of where it's come from in one of the linked articles [donhopkins.com] (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.

Finally! (4, Funny)

angryfirelord (1082111) | more than 6 years ago | (#22017628)

My very own Linux city!

Re:Finally! (5, Informative)

Anonymous Coward | more than 6 years ago | (#22018004)

Luckily we already have much more advanced [berlios.de] 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.

Re:Finally! (2, Informative)

Realistic_Dragon (655151) | more than 6 years ago | (#22018384)

You have been able to make a Linux City for quite a while with Lincity, and in 3D with <a href="http://lincity-ng.berlios.de/">Lincity NG</a> which is surprisingly addictive.

SNES version? (1)

pak9rabid (1011935) | more than 6 years ago | (#22017630)

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

Re:SNES version? (1)

KillerBob (217953) | more than 6 years ago | (#22017794)

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)

Re:SNES version? (1)

TheThiefMaster (992038) | more than 6 years ago | (#22017894)

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.

Re:SNES version? (0, Offtopic)

KillerBob (217953) | more than 6 years ago | (#22017956)

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.

Re:SNES version? (1)

HoosierPeschke (887362) | more than 6 years ago | (#22018080)

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

Re:SNES version? (2, Informative)

k_187 (61692) | more than 6 years ago | (#22018198)

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

Re:SNES version? (1)

anti-human 1 (911677) | more than 6 years ago | (#22018224)

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...

Re:SNES version? (0)

Anonymous Coward | more than 6 years ago | (#22017954)

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

Why play simcity (-1, Troll)

Anonymous Coward | more than 6 years ago | (#22017644)

When you can play myminicity!

http://spamslashdot.myminicity.com/ [myminicity.com]

WARNING: MYMINICITY LINK (-1, Redundant)

Anonymous Coward | more than 6 years ago | (#22017806)

above poster links to myminicity....

Re:WARNING: MYMINICITY LINK (0)

Anonymous Coward | more than 6 years ago | (#22017860)

Thank you for the warning oh Master of the Obvious.

Re:WARNING: MYMINICITY LINK (0, Offtopic)

X0563511 (793323) | more than 6 years ago | (#22017864)

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!)

Re:WARNING: MYMINICITY LINK (2, Funny)

McGiraf (196030) | more than 6 years ago | (#22017876)

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

Re:WARNING: MYMINICITY LINK (0)

Anonymous Coward | more than 6 years ago | (#22017904)

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

Maybe now we can finally find out (5, Funny)

Anonymous Coward | more than 6 years ago | (#22017652)

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.

Don't destroy the church (2, Funny)

Anonymous Coward | more than 6 years ago | (#22017884)

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

port to win32 (1)

yincrash (854885) | more than 6 years ago | (#22017660)

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

Re:port to win32 (0)

Anonymous Coward | more than 6 years ago | (#22017754)

No.

Re:port to win32 (3, Interesting)

BrentH (1154987) | more than 6 years ago | (#22018186)

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.

Huh. (0, Offtopic)

sltd (1182933) | more than 6 years ago | (#22017722)

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

Re:Huh. (-1, Troll)

Anonymous Coward | more than 6 years ago | (#22017988)

someone told me you fuck sheep 100% of the time

Boo-hoo (5, Interesting)

Anonymous Coward | more than 6 years ago | (#22017766)

The plane crash disaster has been removed as a result of 9/11
This is ridiculous.

Re:Boo-hoo (5, Insightful)

Fred_A (10934) | more than 6 years ago | (#22017836)

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.

Re:Boo-hoo (-1, Troll)

Anonymous Coward | more than 6 years ago | (#22017936)

If you're going to confuse tornadoes with tsunamis and not mention Chernobyl, you might as well shut up and let someone more educated than you post a reply.

Re:Boo-hoo (0)

Anonymous Coward | more than 6 years ago | (#22018024)

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

Re:Boo-hoo (3, Informative)

Brobock (226116) | more than 6 years ago | (#22018272)

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.

Re:Boo-hoo (1)

Fred_A (10934) | more than 6 years ago | (#22018378)

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 :)

Re:Boo-hoo (1)

X0563511 (793323) | more than 6 years ago | (#22017906)

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...

Re:Boo-hoo (0)

Anonymous Coward | more than 6 years ago | (#22018376)

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.

Tried it, builds but doesn't work. (3, Informative)

Zombie Ryushu (803103) | more than 6 years ago | (#22017790)

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

Re:Tried it, builds but doesn't work. (1)

Zombie Ryushu (803103) | more than 6 years ago | (#22017870)

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.

Re:Tried it, builds but doesn't work. (1)

Bigon (881193) | more than 6 years ago | (#22018328)

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... :(

But does it... (0, Offtopic)

flydpnkrtn (114575) | more than 6 years ago | (#22017796)

run on LINUX?

Re:But does it... (0, Offtopic)

KillerBob (217953) | more than 6 years ago | (#22017888)

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

Re:But does it... (1, Flamebait)

kwark (512736) | more than 6 years ago | (#22018118)

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$

Win32 binary versions available? (2, Interesting)

Skim123 (3322) | more than 6 years ago | (#22017800)

Does anyone know if there are Win32 binaries available?

Re:Win32 binary versions available? (2, Interesting)

Anonymous Coward | more than 6 years ago | (#22018148)

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.

The Brown Sheet of Paper (3, Funny)

that this is not und (1026860) | more than 6 years ago | (#22017828)

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

Re:The Brown Sheet of Paper (1)

KillerBob (217953) | more than 6 years ago | (#22017872)

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)

Re:The Brown Sheet of Paper (1)

X0563511 (793323) | more than 6 years ago | (#22017946)

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

Re:The Brown Sheet of Paper (3, Interesting)

that this is not und (1026860) | more than 6 years ago | (#22018000)

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)

huh? (1)

wildBoar (181352) | more than 6 years ago | (#22017856)

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.

Re:huh? (-1, Troll)

Anonymous Coward | more than 6 years ago | (#22017968)

Probably just to piss elitist morons like you off who think C is the be-all-end-all for every situation.

If you read the article... (2, Informative)

jesterzog (189797) | more than 6 years ago | (#22018012)

This is actually clearly explained in one of the linked articles [donhopkins.com] :

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.

Re:If you read the article... (1)

escher (3402) | more than 6 years ago | (#22018352)

"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.

No, its worse (-1, Troll)

gravis777 (123605) | more than 6 years ago | (#22018032)

It wasn't just ported to C++, it was ported to a combination of C++ and Python. Great, so now instead of just someone putting together a binary and distributing it, I now have to install Python, and watch the thing try to compile the source code on the fly. I guess the speed of the game will now be permanately stuck on turtle, because if you speed it up, the event will be over with before Python can compile it. Hey, while we are at it, maybe we can take some old assembly code and convert it to Java!

Re:No, its worse (2, Insightful)

Zadaz (950521) | more than 6 years ago | (#22018138)

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.

Re:No, its worse (4, Insightful)

PinkPanther (42194) | more than 6 years ago | (#22018556)

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.

Re:No, its worse (0)

Anonymous Coward | more than 6 years ago | (#22018182)

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.

Re:No, its worse (5, Informative)

SimHacker (180785) | more than 6 years ago | (#22018388)

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 [donhopkins.com] .

-Don

Re:No, its worse (5, Insightful)

Sentry21 (8183) | more than 6 years ago | (#22018244)

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.

Re:No, its worse (1)

cnettel (836611) | more than 6 years ago | (#22018532)

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.

What the fuck are you talking about? (0)

Anonymous Coward | more than 6 years ago | (#22018288)

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.

Re:What the fuck are you talking about? (1)

gravis777 (123605) | more than 6 years ago | (#22018428)

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.

So where is it? (2, Insightful)

eddy (18759) | more than 6 years ago | (#22017950)

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.

Re:So where is it? (1)

samkass (174571) | more than 6 years ago | (#22018126)

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.

Re:So where is it? (1)

eddy (18759) | more than 6 years ago | (#22018542)

>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.

Re:So where is it? (0)

Anonymous Coward | more than 6 years ago | (#22018158)

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

Good (-1, Offtopic)

Hawthorne01 (575586) | more than 6 years ago | (#22017982)

There's yet to be a game/simulation that accurately simulates of the complexities of modern counter-insurgency warfare, and something like a modded SimCity could do it well.

We've got good games that reflect the military aspects of modern warfare: America's Army, Call of Duty 4 and Combat Missions: Shock Force (fun as that last title may be) all spring to mind, but they limit themselves to the "blowing stuff up" aspect of modern warfare. Shooting people is the easy stuff in COINOPS, what we've yet to see is something that accurately reflects what General Krulak called "The Three-Block War", or what Thomas P.M. Barnett calls "The Department of Everything Else", where a military unit, through civic improvements and statesmanship denies the enemy the use of the population as cover.

A game like Sim City, properly modded, could fill this gap, and give all of us armchair Lt. Colonels a glimpse into the what it takes to fight on today's battlefields.

Re:Good (1)

DingerX (847589) | more than 6 years ago | (#22018078)

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.

Re:Good (1)

Hawthorne01 (575586) | more than 6 years ago | (#22018374)

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! :)

Didn't need this for it... (1)

SanityInAnarchy (655584) | more than 6 years ago | (#22018214)

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.

PostScript (0)

Anonymous Coward | more than 6 years ago | (#22018014)

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

good news (5, Insightful)

brunoacf (1186539) | more than 6 years ago | (#22018084)

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.

No build on MacOS X (4, Informative)

Midnight Thunder (17205) | more than 6 years ago | (#22018086)

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.

Lincity Absorption (4, Interesting)

Zombie Ryushu (803103) | more than 6 years ago | (#22018194)

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.

Revamped From C to C++? Rats! (0, Flamebait)

shoor (33382) | more than 6 years ago | (#22018294)

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++!

Re:Revamped From C to C++? Rats! (0)

Anonymous Coward | more than 6 years ago | (#22018548)

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

There's a hole in the world (0)

Anonymous Coward | more than 6 years ago | (#22018420)

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

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

Anyone remember the old Simcity "skins"? (1)

cswiii (11061) | more than 6 years ago | (#22018472)

...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.

Opportunity for a more realistic SimCity... (0)

Anonymous Coward | more than 6 years ago | (#22018508)

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.

Ant Farm! (1)

Dillenger69 (84599) | more than 6 years ago | (#22018552)

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.
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...