Earlier quoted context omitted.
Excessive use of arrays can be a sign of many things, but not of being a java developer. Perhaps a sign of having been a java developer at some point in time before 2004 but not having touched the language ever since.
An array can be much more performant than a list in many circumstances, but I agree it's a little strange to completely avoid lists.
Convert SimCity 2000 cities into Minecraft worlds
141–150 of 154 posts
Re: Convert SimCity 2000 cities into Minecraft worlds
#142By God I loved SimCity 2000 as a kid. Did anyone else build a "hydro mountain" in every city (basically a pyramid covered in water, to which you could keep adding hydro power plants as the city grew, was all the electricity you ever needed), or was it just me? To this day, whenever I'm stuck in traffic, I say out loud: "Sim Copter 1 reporting heavy traffic". My addiction still hasn't cooled, as the main game I play t…
Re: Convert SimCity 2000 cities into Minecraft worlds
#143Earlier quoted context omitted.
Modders have done so; I believe the Minecraft map data structure, at least for the Java version (because it can be decompiled), is pretty well understood. The client/server protocol as used nowadays (?) was actually developed as an open source project at first, because the open source server software ended up being better than their own in-house one.
There is Minetest, which has at least one configuration that attempts to mimic vanilla Minecraft, but I'm not certain how accurate it is. The stored data structures are well understood for both versions. See for example https://www.amuletmc.com/ (Editor, Python) or https://github.com/df-mc/dragonfly/tree/master/server/world/... (Code, Go)
Re: Convert SimCity 2000 cities into Minecraft worlds
#144Earlier quoted context omitted.
But where can we play simcopter? I need the ability to dangle my passengers out of the helicopter in a threatening way. It’s been awhile.
Someone actually went and created patches and installers to work with modern Windows for both SimCopter and Streets of SimCity. http://krimsky.net/patchers.html
Re: Convert SimCity 2000 cities into Minecraft worlds
#145Pretty cool! If people are still interested in playing city builder games, I am in the middle of developing one right now. I cleared the CPU hurdle of path finding via developing my own algorithm ( old demo here: https://www.youtube.com/watch?v=7q0l87hwmkI ). Here I am pathing around 300,000 units to their own unique destinations. Unfortunately I dont have a video update yet, but my game's graphics are now isometric…
Wil Wright did research into city dynamics and turned that into a series of games. And even if the sources he used weren't perfect (even questionably neoliberal), what he did was unique and nobody seems to be trying to replicate what he did with better information, better research and a better understanding of people/psychology/sociology.
Re: Convert SimCity 2000 cities into Minecraft worlds
#146Earlier quoted context omitted.
An array can be much more performant than a list in many circumstances, but I agree it's a little strange to completely avoid lists.
True, and "circumstances" basically means "if and only if we are taking about arrays of primitives". Outside of specific niches like http clients, I'd go so far as considering code written to deliberately tap those performance benefits as "written by people who ceased to be java developers" ;)
My understanding with array performance is that if you need to frequently read and write to a large, fixed-length enumerable (or if you can rework your problem as such), then an array of structs is often much faster. It's certainly on my mental list of things to try when dealing with large sets of data in hot loops.
Re: Convert SimCity 2000 cities into Minecraft worlds
#147Earlier quoted context omitted.
I recently got into Minecraft due to kid reaching Minecraft age. I keep meaning to write an intro for technical parents, because it's very confusing at first. The original was written in Java, and people decompiled and reverse engineered it almost completely, so there are tons of mods that reach in and change things deeply. They then created MCPE (pocket edition) which was a "cut-down mobile edition". That evolved in…
> IIUC, there seems to be a vague consensus that Bedrock is probably the future, for several reasons: I doubt it. First of all, usually the workflow is that the Mojang team implements new features in Minecraft Java, and then the remaining Microsoft teams follow along on the Bedrock versions. Secondly, and most relevant one, throwing away the Java edition means throwing away a large subset of the userbase that will ne…
Re: Convert SimCity 2000 cities into Minecraft worlds
#148Earlier quoted context omitted.
True, and "circumstances" basically means "if and only if we are taking about arrays of primitives". Outside of specific niches like http clients, I'd go so far as considering code written to deliberately tap those performance benefits as "written by people who ceased to be java developers" ;)
I will take your word about java, having never actually worked with it myself! My understanding with array performance is that if you need to frequently read and write to a large, fixed-length enumerable (or if you can rework your problem as such), then an array of structs is often much faster. It's certainly on my mental list of things to try when dealing with large sets of data in hot loops.
The intuitive expectation about performance difference between array and a generic collection is that it's about method call overhead, because in practice, unless "no duplicate entries" set semantics are required what you call "enumerable" will be an object wrapping an underlying array almost ten out of ten times. But that's something JIT optimization excels at dealing with. The real advantage of arrays is memory proximity and in absence of project valhalla future VM features, that advantage only exists for arrays of primitives like int, float, double. Everything else will be a reference to some arbitrary heap address anyways, even if it's reference in a bare array (instead of references in an array wrapped by an object).
What you can do is rework your data into a form where multiples of something have the primitives of their logical fields in shared arrays, but that's not array of structs but struct of arrays. And I've never seen code like that in the wild, not outside a hobby project that I never even got to the point where I could verify the approach by profiling. I do believe that the pattern must exist, I some codebases, but I can't even think of a name people would recognize.
Re: Convert SimCity 2000 cities into Minecraft worlds
#149Earlier quoted context omitted.
> Playclassic.games does not intend to violate any copyright or violate any license of a game. I thought there was a chance this site might have arranged licenses from the original publishers, funded by revenue from the (many) ads, but no, it appears to be good old fashioned piracy. Edit: I tried Settlers, which has one of those copy-protection systems that involves entering information that can be found in the print…
Plus, intent isn’t relevant. If the copyright holder doesn’t pursue, you’re fine. If they base their decision on “intent,” then fine. Infringement is infringement, intentional or not.
Copyright laws are nuts too, and I'm very empathetic to game preservation efforts, but this kind of boilerplate is legally nonsense. Don't make the mistake of thinking this in any way protects you, folks. It does nothing. If anything, you're indicating that you knew that the content was under copyright protection at the time you posted it and that you knew you didn't have permission to use it.
(* Not saying they're equivalent offences, just equally nonsensical defences!)
Re: Convert SimCity 2000 cities into Minecraft worlds
#150Pretty cool! If people are still interested in playing city builder games, I am in the middle of developing one right now. I cleared the CPU hurdle of path finding via developing my own algorithm ( old demo here: https://www.youtube.com/watch?v=7q0l87hwmkI ). Here I am pathing around 300,000 units to their own unique destinations. Unfortunately I dont have a video update yet, but my game's graphics are now isometric…
My biggest issue with modern Simcity-likes is this blind focus on traffic simulation. I want a realistic simulation of a city, the traffic is a secondary effect of everything else, and that's where games are dropping the ball. It's crazy we haven't seen anything surpass Simcity 2000 even now. Wil Wright did research into city dynamics and turned that into a series of games. And even if the sources he used weren't per…
I have up to three options I am considering implementing.
e.g. The player could set a fixed percentage of units that teleport to their destination.