Jump to content

NotAnyoneSpecial

Member
  • Content Count

    15
  • Joined

  • Last Visited

Community Reputation

36 Rising Star

About NotAnyoneSpecial

  • Rank
    Sophomore

Recent Profile Visitors

101 Profile Views
  1. How to Unlock the Amusement Park?

    Just want to update this thread, because far too many people just keep pointing to the Prima guide (despite being repeatedly wrong in places) and this endlessly bothers me with nobody ever bothering to ever give the correct information. The FULL requirements for the Theme Park Reward are: Residential Population be at least 80,000 Sims, AND The Tourist Promotion Ordinance to be Active, AND At least 6 Developed Airport Tiles on the map Although I'm not too sure about any Aura requirements, as far as I know there simply isn't any. I'm not exactly even sure what "100 Aura" is supposed to mean.
  2. I wish to report a bug with 9a causing the whole process to crash, the exception is caught in the IDA debugger with this: The instruction at 0x4138D600 referenced memory at 0x4138D600. The memory could not be executed -> 4138D600 (exc.code c0000005, tid 9244) The way to trigger and reproduce this bug is simply decline the Military base proposal prompt. It happens every time.
  3. Also for "cutting room floor content" and another possible bug SimCity 2000 does have more "milestones" beyond the 120,000 city population "final milestone". But it's not practically reachable and nor does it unlock any new content since only real city population not those found inside Arcologies count towards city progress. It would seem at one point the designers envisioned SC2K's Arco pops to also add to city progress along side the city's real population, perhaps in config options this can be enabled again. Practically however the real limit for "real population" is around 382,000 sims (which incidentally I wish to submit as my personal "high score" for real population ).
  4. Hello again, its good to see a deployment of a scripting language although it definitely feels like "feature creep" to me Do people have any thoughts on how to begin on a barebones framework for proper OpenSC2K or Micropolis2K code base? I definitely want to see these talented devs put their input into where to go from here. Anyway, I bring everyone the SC2K Land value system demystified:
  5. Excellent release but I have 2 bugs to report to be looked into for r10: Bug 1: Possible roads for selection in this situation should be it should be either 0x1F or 0x20 in all cases for 0x109 terrain . Also road "drawing" sometimes gives up immediately. For the DOS/Apple versions, the original road drawing algorithm is not very "aggressive" and is very happy to give up at the first difficulty (leaving bare terrain and moving on to the next possible tile). So those 8 runway cross tiles are VERY RARELY all there due to the requirements of an Army base needing a terrain change (1 level increase in elevation) at the "edges" of the base. This is why I suspect the "true" number an army base should have is at least 5/8 for "1 full runway" worth of ComCap relief: Bug 2: The Naval Zone placement algorithm often tries to default into a default style of 8x8 or something. Not sure how you implement it and what calls you can make to peek terrain but it should always be 4 tiles "out" from a salt water tile along the Y axis. For 4 x 10 (40 tiles) of Naval Base. Anyway amazing work for a couple weeks bringing back these two missing bases! For the last 30 years there wasn't even an attempt to draw the roads or place naval bases. As an aside can SC2K Network Edition enjoyers confirm that Military bases DON'T exist in the network edition as a feature? I am getting the feeling that the Windows Devs of SimCity 2000 really didn't like the Military Bases feature, so intentionally neglected them.
  6. In my attempt unpack the land value calculator, the less I understand of it. I haven't tried to see if this behavior happens in the Mac OS release. The Coal power plant somehow really helps land value on the other side of the map. The City Center effect is real and properly calculated though in all versions, even if incorrectly displayed in DOS (but correct in Win3.11)
  7. Can I confirm that it does check for a IsCoastal Map flag first? Because I can only see Naval Bases being selected in DOS for maps with that flag set (offset:004C94C0 for the Win95 version) not sure where it's stored in DOS but it's offset for the save file is MISC+0E44 for anyone who wants to do a little hex-editing magic.
  8. Glad to hear it! How does the DOS version decide where to place the base? at least to your reading of the code? Is it an initial RNG call to decide that the city itself is suitable for a naval base if it's a coastal map and then try to place 10 lots of 4 tiles along a coast? or is it the random placement code landing on a salt water tile or something and deciding that it should plant a naval base nearby? or something else? I suspected exactly this but I didn't see this behavior in the DOS version or Apple version. I'll need to double check again. But indeed this is exactly what it seemed they were going with to me. The random airport cross tiles capping the ends of the roads gave me a clue though! There seems to be an inverse relationship between military dispatches and economic benefit for bases. The Army base has the most dispatches but the least benefit: 8 tiles which translate to just 1.6 runways which only count for "1 runway" (if you add 2 more road connections to add up to 10 tiles, you get the full 2 runways though) with 5 dispatches, the Naval base with usually 3 cranes (industrial caps) and 3 dispatches and the air force base with as many as 4 runways and 2 dispatches. The Missile Silo is intentionally by design bad so gets no benefit. As an aside, if possible for an additional Quality of Life feature can the bulldozer tool be changed from single tile only tool to some sort of "area demolition" tool like the zoning tools or even the current way the Dezoning tool works. So it may be possible to drag and click across entire areas to demolish in one action? SimCity 2000's current bulldozer tool is quite tedious for large areas that need to be rezoned!
  9. Oh Sorry, none. Those two are interchangeable. The "industrial population" of a city represents the total number of jobs those zones provide to the residential population. Strangely too despite that all those "population"/jobs will for some reason exist in the EQ and LE sub system. Since the raw sum of the populations bar graphs adds up to City Pop or the total combined population of all the RCI zones. Populations inside Arcologies are weird. They don't "really" exist or influence this demand system or require education/hospital services, so can easily be ignored for these purposes.
  10. Indeed, in the EQ and LE model of the game if there is too much "stability" it's extremely possible to max out both EQ and LE. I don't think there is in fact a "natural decay" for either. Mechanically the only natural decay for EQ comes from the lack of the Pro-reading ordinance being passed. While for LE the only real factor dragging it down is the city-wide pollution statistic. The real "Secret" to maximizing EQ and LE is to avoid "zone churn" as much as possible, as when new pops move in they automatically receive the SimImmigrant stats of 85 EQ and 65 LE which will bring down the average for the entire population. Mechanically speaking all those bar graphs in the population, LE and EQ screens aren't the real numbers like: Age 20-25 has a 87 EQ. Instead the raw numbers in their respective arrays are total aggregate sum of the entire age group's LE or EQ, where the totalEQ for the entire 20-25 group is "495726" and to get the average, it must be divided by the population for that age group 495726 / 5698 = 87. Anyway, I have some formulas to the RCI/Demand/Economic model for those interested and to answer people's questions about "the golden ratio": First the "Projected Demand" is generated/calculated. Also it's best to assume the "Industrial Factor" is anywhere from: 0.02 to 0.05 and not worry too much about it. It's needlessly overcomplicated and I don't know what the designers were thinking with it. I would love to have any of those guys be able to speak about this game again, this is the one question I want to ask about this. Why does a city get a boost from the "single industry" factor? Is Fred Haslam still around? (edited: "Residential's Commercial" requirements were too low due to misreading, internally these numbers are 1/10th: 15000 residents -> 1500 "internally") This demand is then possibly limited by the Demand Capacity for the City. Stadiums and Zoos are worth 24,000 Res Capacity. Marinas are worth 13,500 Res Capacity. Big Parks are worth 4,500 Res Capacity. From a meta gaming angle, the Zoo is always the superior option as it's cheaper and doesn't pollute (unlike the Stadium.) Marinas are good too since they take advantage of otherwise unusable sea space. The Ratio between the Projected Demand and Actual demand "consumed" by the city is what drives the actual RCI bars in the little display. Here's the full Tax Bonus table: The Actual RCI bars are values from -2000 to 2000 for each zone. The +/- Change alters these values/bars once a month every "cycle", I think it's the 22nd day (out of 25 days monthly) as stated earlier. The Delta/change is: ([ProjectedPop /ActualPops] - 1) x 600 + TaxBonus. where "i" is an index lookup value that corresponds to the zone's "effective tax rate" as altered by ordinances, generally it's just the tax rate. So for example, for a residential calculation: For "Projected"/Demanded Population: 110,000, Actual Residential Population in city: 100,000 = (110,000 / 100,000) = 1.1 "Normalized Demand" (1.1 "Normalized Demand" - 1) x 600 "Tax Scale Constant" + 50 (the value of TaxBonus[5]) = 0.1 x 600 + 50 = 60 + 50 = +110 to whatever value is in the RCI bar for that zone (those variables are called "Valves"). It's capped to +2000 and -2000. And finally this should provide a full overview of the "ratios" that can exist in a city. (edited: minimum commercial requirements were too low) Players can make a strategic choice on whether they wish to keep to endless Industrial expansion or transition into better and cleaner, but more tricky Commercial zoning. I only went to 400,000 City population, since that's already at the practical limit for normal RCI zoning based cities. I want to say though that the supposed rule of 1:3 Commercial to Industrial for under 100,000 and 3:1 Commercial to Industrial does in fact exist but the additional multipliers from Difficultly level and the industrial factor does meddle with it making it far less clean. Here's a graph with the additional multipliers factored out to showcase the proper "ideal" relationship: edited due to some caps were wrong.
  11. Excellent. I might throw up my CT symbols file here/there once i've cleaned it up, my commenting is messy and i want to explain a bunch of functions better for myself and I've given up on trying with IDA/Ghirda for now. I have three bug reports for the game, that maybe you could look at. Really just one i think that can be fixed. the EQ/LE/Pop Graph window for some reason doesn't update the Workforce label properly. Maybe it needs to be forced to repaint itself. Can the dll try to force a refresh on the whole window not just the little graph area? In my search to answer what's the city center exactly, I discovered that in fact the game does paint a red cross hair on the Maps Window when Land value is selected. Apple and Windows 3.11 display it correctly, DOS and windows does not. This is the way it should look. Occasionally you can see this in the Win95 version but I don't know exactly how it works. . the LE and EQ subsystem is generally borked in a fundamental way. Creating a situation where the last age group endlessly accumulates population if LE is good enough, given enough time they will be almost everyone. Also in cities where's no schools or colleges or pro-reading ordinance, the EQ decay will become so bad it will cause an overflow: Luckily the EQ/LE subsystem doesn't effect much. Also I didn't mention it before, but I do want to confirm that Libraries and Museums don't do anything (As far as I can tell). They have no effect on the Educational model, at least I don't see them doing anything to the EQ Array. So it's pointless waste of space to build any, other than for aesthetic reasons. Museum and Library Tiles do get counted in the yearly update to the MicroSimulators though but nowhere else. The Pro-reading Ordinance does though lessen EQ decay, so at least that is worthwhile. Pretty much all of them except: Police stations and Fire Stations. They check power and will function at half effectiveness (police power, fire power). The airport is strange though, it will function perfectly well without electricity (at least for the economy simulator), once developed but it won't respawn the helicopter (if needed) or summon/take off any more planes.
  12. I can confirm that indeed, the SimulationProposeMilitaryBase function does in fact do all the work with the roads and those special airport cross-runway tiles. Here's a fresh army base the moment it's been placed by the simulation. If this base is burned down by a disaster those special tiles will never be able to be rebuilt by the simulator. Also I have more insights about the DOS version to help anyone understand the code more. It seems that the game in DOS decides always decides to try and place a base in one particular spot on the map across multiple save/loads of the city (as long as its the same game session in DOS). Perhaps the PRNG isn't seeded or something, or its set exactly once when the game is first launched because it changes that spot if SimCity is restarted. Anyway, it's at this one spot it chooses that ultimately decides what's going to be there. If this 8 by 8 spot is flat, the game designates it suitable for an airbase. Done. If there happens to be a terrain slope change in that area (just 1 level up? on the edges?) then it's suitable to be an army base, try to draw the roads and the little airport tile cap. Done. Finally if that 8x8 spot has too much terrain slopes or elevation changes in it, it gives up on trying for an army base and plants a small 3x3 missile silo instead and scatters it around 5 more silos around. Done. I don't know how Navy Bases work but it bears mentioning the game may just try to check for a "IsCoastal?" map variable instead and then decide to to plant a naval base towards the "Ocean" neighbor's side. Naval Bases are fairly common if the conditions for them are right (the map was generated as a coastal map). A newly planted undeveloped Army base in SC2000(DOS):
  13. At this point I think it might be better off to simply re-implement the game in a whole new engine and renderer. Like the OpenTTD project, cannibalizing the old Cytopia's project's code (+ opensc2k?) SimCity uses some weird "palette based" animation stuff and the Win95 port feels rushed, so many weird bugs in the LE and EQ system and with zones (also the 140 arco launch thing is painful to endure). Your use of code injection to bugfix the game with winmm.dll never fails to impress me but I don't know how far it can really go adding new features like zones, seems like an incredible amount of work on top of an old code base. Maybe 256 tile maps are possible though? Here's a repository of known info about SC2000's save file, MIF/sprite data and the simulation. Some of it is slightly wrong (the wind power calc) but the power system is spot on. https://github.com/dfloer/SC2k-docs/tree/master I find that going through the publicly released SimCity 1.0 source code provides excellent insights on what the designers at Maxis were thinking with their simulation subsystem and philosophy for the game's internal structure/loops. https://github.com/SimHacker/MicropolisCore/tree/main Oh the Missile Base code placer is there. I've spammed Gilmartin far too many times only to see 6 nicely planted completely empty 3x3 spots dotted across the map never to develop haha. I'm not sure HOW it gets there really because I wasn't focusing on that function. But araxestroy is correct and probably knows better than me. I'm not quite sure how it decides enough times is enough (40 times?) before it gives up trying to place the base ("We couldn't find a spot. SALUTE!!!") or goes with placing down missile silos instead after failing to find an empty "enough" 8x8 spot. Oh yes this is by design. the Missile Silos are actually the worst type of base for this reason, they're not supposed to give any military dispatches. Also to respond to your thoughts about how to implement the game's supposed "increased revenues to commerce" from military bases, I always suspected that the bases were "supposed" to give free comCaps and indCaps via the Airforce's runway tiles and Navy base's crane tiles. Not sure how the Army Base is supposed to provide for the city though (is it Runway tiles at the end of the roads? if so there can only be a max of 8 of them or "1 airport runway" worth for comCap purposes), it does have the unique and oh so mysterious Hanger 1 tile though. It has to! I'm pretty sure the MilBase placer function/SimulationProposeMilitaryBase finds a suitable spot, does the criss cross of roads as best as it can AND then plants down the Cross-runway tiles. edit: Also Maxis Man shows up in 2 instances, actually now I look at it. the first is actually if the city has no police/fire dispatches (like when the national guard shows up) and no military base. There's a 1/4 chance Maxis Man will show up and "save the day". And also if the military base was declined/no suitable site for a base was found.
  14. I am currently going through the whole game in a debugger but i'm not any sort of expert. But to answer your question. there is actually no path. the RCI function is at SimCity.exe+68150, I suspect you found it already "Day 22: Update RCI demands." The Offset for the MilBase placer function is at SimCity.exe+142C0 in memory. In the function it literally never can set the MilBase value to 04 for Naval base. 03=Airbase, 02=ArmyBase, 05=Missile Silos, 01=Declined/Cannot find spot, SALUTE! I'll try to describe the function as best I can (for everyone else wondering, like i did), first it fires a messagebox dialog allowing the user to decline the base and set Milbase type to 01. Then it actually begins, firstly it tries to find a suitable empty spot on the map that's mostly? undeveloped. Not sure how many times it loops, but it tries a few times. Once it finds a suitable spot it checks if it's "flat enough" and if it is it zones down a 8 by 8 military zone, sets the type to "03" (airbase) and it exits with a message. If that 8 by 8 spot has a terrain altitude change, such as half of it 1 step higher or lower it sets the type to "02" (army base) and exits with a message. If the terrain placer fails too many times? these are the conditions for a Missile Base (type: 05). There is nowhere where there is even an attempt to place naval bases. Honestly it seems sort of half finished, maybe it was commented out it in the source code and simply never got into the compiled game. If so it would explain why it's entirely absent in this build. Incidentally, the Army Base's implementation here is not consistent with the DOS or MacOS versions. The Army base SHOULD look something like this (a criss-cross of roads in the middle capped with runway crosstiles and a random mix of special army buildings and mil parking lots): But it doesn't even attempt to plant roads or the runway crosstiles at the end of the roads, as far as I can tell. Instead what we see is a completely empty 8x8 patch of military zone and it's done. (more accurately it first decides whether it's an airbase or an armybase and then plants it and then its done). the Military Base placement code feels so half finished and rushed by Maxis almost like the 3.11 and Win95 build was half done and not play-tested at all. SimCity 2000 seems to just be a Mac OS game with a DOS and Windows port, since they don't suffer from any of these bugs like the save/load rail connection bug or the military base issues. A lot of what you wrote down is actually spot on and mostly correct. It's rather impressive the amount of work you put into all that by trial and error experimentation alone, especially with the water model and solving the treatment plant question. Not even sure how you figured it out actually, but yes treatment plants hidden capacity of 2000 "used water tiles" is indicated nowhere in the game or even given a hint at. You found the exact formula for water pumps and desalination too! Also very impressive work with the RCI tax analysis, you're actually exactly correct with your deductions - a 1% increase in commercial taxes has the same effect as the Sales Tax ordinance because thats what it does internally. Same with Pollution Controls, it has the exact same effect as 1% increase in Industrial taxes for demand purposes. the "Golden Ratio" is Residential Population and Jobs, little else matters. Also yes, for the purposes of SimCity only those four industries count as "polluting". Basically the game has an internal hidden number called the "Pollution Divisor", it divides the pollution on every tile/2x2 parcel across the map: Pollution Divisor = [4 - IndustryMix + Water Treatment Bonus + Pollution Controls]. "IndustryMix" is a part of that, it ranges from -1 to +2. Cities that are mostly filled with those 4 dirty industries as seen in the Industries Window will have a "+2" for it while for cities where they're mostly absent will have it as "-1". Adequate water treatment grants +1 and so does the pollution controls ordinance (+1) - which also heavily penalizes those dirty industry's growth btw. Also fun fact due to a probable oversight cities that do not have any water generated (and no water supply) also enjoy the "Water treatment bonus" automatically! I will try to write up more of the game's internal mechanics and have pretty little formulas describing them soon enough.
  15. I am so glad to see this SimCity 2000 effort being revived , especially in wake of the OpenSC2k project being abandoned. Thank you araxestroy for all your GENUINELY amazing work, especially with the bugfixes <3 - that save/load bugfix on DOS/Windows for industrial demand capacities not being properly loaded for reloading saved cities was annoying me for 30 years now! Same with the military base bugfix, I was originally going to try and figure out how learn how to do de-compiling and disassembly stuff to actually try and fix it myself and you did it for me. Thank you again. I was hoping there would be a Community effort to revive SimCity 2000 in the future and try to assemble a FOSS tileset to replace the existing copyrighted one and revive the OpenSC2k project anew. I have a lot of documentation compiled for anyone interested in a proper and improved bug free re-implementation for something like OpenTTD project but for SimCity. I've been tinkering away at SC2000 for my guide for about 1 year now, so I have a lot of findings to share for any interested. The lack of good info on SimCity 2000 available and even WRONG info everywhere is what caused me to begin this effort.Tthe SimCity 2000 manual lied to me and a lot of Nick Dargahi & Michael Bremer's book "SimCity 2000 - Power, Politics, And Planning" is either entirely unhelpful and explains nothing (how the simulator models actually work, even what military bases and treatment plants do) or is simply wrong (Junior Sports doesn't do anything despite what it says). Spoilers ahead:
×