Live data from Hacker News

Why Cities: Skylines 2 performs poorly

blog.paavo.me

491–500 of 593 posts

Re: Why Cities: Skylines 2 performs poorly

#491

Making a AAA game sounds horrible. And making one in Unity sounds doubly so. All of these things sound like fixable issues. They'll likely be fixed. Hopefully the developers made these oversights because they focused on what makes the game worth fixing to begin with: that the gameplay is fun. In many recent games I feel developers have focused on the wrong things and totally forgot the core, meaning if they fix the b…

> then it just shouldn't ship Part of the problem is that AAA is just (IMO) too big and expensive. Devs might actually have to ship a broken game around holiday time just to get enough sales to survive. And the other extreme can be dangerous too, like how Mass Effect Andromeda's development dragged on forever, and EA let it happen because its such a golden IP. I think the ultimate solution is to just scale down most…

It's not like this is unique to AAA. Unless gamedev is your hobby and not full-time job you simply have no choice other than ship game and try to fix it.

Any small indie studio have to deal with it.

Re: Why Cities: Skylines 2 performs poorly

#493

Perf issues also basically killed the SimCity franchise on PC. Hope they are able to fix things up

That's not entirely true. SimCity 4 was the last of statistical city simulators. That is to say, if you put down something like a distressed Ong Condos, the game would go "okay, here's 20,778 people in this node in the transportation network, do some network flow and figure out where they work." Newer titles, including the ill-fated SimCity (2013), are agent-based, where they essentially drop in a person and tell the…

>SimCity doesn't lend itself well to multiplayer functionality

You make a lot of great and accurate points (including blaming EA instead of Maxis). But I disagree that SimCity doesn't lend itself well to multiplayer functionality. (And perhaps EA isn't the right company to pull it off properly, being more focused on competition and violence than collaboration and education.)

I agree that it would be difficult to adapt SimCity to competitive play without over-complexifying and spoiling it, but SimCity is ideal for collaborative play, and constructionist education (as envisioned by Seymour Papert and Alan Kay)!

I designed and implemented a collaborative multiplayer version called SimCityNet that I released online in 1993 (with node locked and floating DRM, but that worked offline or on a private network), including text chat and shared whiteboard overlay and voting dialogs and pie menus, which I described in my other post:

https://news.ycombinator.com/item?id=38155984

Multi Player SimCity for X11 is now available from DUX Software!

http://www.art.net/~hopkins/Don/simcity/simcity-announcement...

SimCityNet: a Cooperative Multi User City Simulation at InterCHI '93:

http://www.art.net/~hopkins/Don/simcity/simcitynet.html

Multi Player SimCityNet for X11 on Linux:

https://www.youtube.com/watch?v=_fVl4dGwUrA

Back when ActiveX was a thing, Mike Perry at Maxis produced a web browser plug-in version of SimCity that was simply integrated with a text chat window, so although you were playing your own local copy of SimCity, you could chat with other users playing their own cities in their own browsers, brag and gossip about your city, ask questions and help each other. It was a huge hit relative to the amount of effort it took to implement, and despite its clunky stripped down user interface, but it demonstrated how essential and engaging communication between players was, even if they couldn't actually affect each others games or share save files.

https://en.wikipedia.org/wiki/Mike_Perry_(game_developer)

http://www.andywest.org/pr/simcity/misc/introduction.html

>Meanwhile SimCity Classic did not die: Maxis/EA has transformed it into a Web game you can play from your browser (after registration). The Web SimCity plays just like the computer game, except that it does not have every feature. Also, since the game is an ActiveX control, you must use Internet Explorer to play it.

I also designed and produced two different educational versions of SimCity/Micropolis, one an OLPC XO-1 Laptop interface for kids (X11/Cairo/PyGTK/Sugar) and one a web client/server interface (Python/TurboGears/AMF/OpenLaszlo/Flash) for an online community around shared multiplayer games and a storytelling platform. I completed MVP first-cuts, shipping the single player X11 version on the OLPC, and a web interface supporting multiple players sharing simulations running on the server.

https://github.com/SimHacker/micropolis/blob/master/turbogea...

https://github.com/SimHacker/micropolis/blob/master/laszlo/m...

I haven't fully completed the long term plans for the web based version, because Sugar never panned out then Flash died, and I didn't have the resources or support.

Finding support for developing educational software is tough, and I'd rather contribute new stuff to a truly free open educational community inspired by Seymour Papert's philosophy, like Snap!, than sharecrop on EA's intellectual property.

https://snap.berkeley.edu/

I believe Seymour Papert's collaborative constructionist educational ideas can be applied to other city simulators, many other types of games, and especially visual programming environments like Snap!

It's fortunate that SAP supports Jens Mönig to continue building on top of the block based visual programming ideas that he, Brian Harvey, John Maloney, Yoshiki Ohshima, Alan Kay, the MIT Media Lab Scratch project, and others developed:

https://faberllull.cat/en/resident.cfm?id=38258&url=jens-mon...

Micropolis Online (SimCity) Web Demo:

https://www.youtube.com/watch?v=8snnqQSI0GE

Micropolis: Constructionist Educational Open Source SimCity:

https://donhopkins.medium.com/har-2009-lightning-talk-transc...

Plan for developing Micropolis for OLPC:

https://github.com/SimHacker/micropolis/blob/master/micropol...

Micropolis for OLCP Sugar User Interface:

https://github.com/SimHacker/micropolis/blob/master/Micropol...

    Notes on adapting Micropolis to the OLPC Sugar user interface:

    Core Ideas:

      Activities, not Applications

        First cut: 

          Integrate the current TCL/Tk version of Micropolis to run as a simple activity within Sugar. 

            Restructure the multi-window TCL/Tk code to run in a single full screen window.
            Implement a simple activity-oriented tiled window management interface. 
            Disable advanced features like multiple editor and map windows, 
            that require more sophisticated window management. 
            Instead of using a traditional multi-window management approach, 

            Make a simple wrapper around it that makes it appear in the Sugar user interface as an activity, like eToys does.

          Long term:

            Implement activity specific modes that reconfigure the user inteface (like Eclipse "perspectives").
              - build/edit oriented interface
              - query/analysis oriented interface
              - financial oriented interface
              - communication/coordination oriented interface
              - dynamic zone finder analysis
              - grid of several overall map views, each configured to show a different overlay. 
              - grid of several close-up map views, each centered on a different parts of the city (or tracking a player's cursor)

            Collaboration: Enhance multi player mode to support sharing activities.
              Both publishing your game for others to clone and play themselves (massively single player, like Spore),
              and letting others join in your game (like the current cooperative multi-player mode)). 
              Multi player inte

            Expression: Enhance chat, journaling, storytelling, and personalization aspects of the game. 

            Journaling: Record all events (both user edits and simulation events), chat messages and drawings.
              Checkpoint the game state, and implement the ability to deterministically replay time stamped 
              editing events into the simulation, so you can fast forward and rewind from any checkpoint to 
              any step of the simulation. 
              Enable players to write newspaper articles about the cities, with live links to a snapshot 
              of the simulation and a place on the map, related to the story. Other players could browse
              their published newspapers about the history of a city, and jump into that history at any time
              from any story. 

            Iteration: Checkpoint game save files, allowing players to rewind history, and try "what-if" experiments. 

      Presence is Always Present

        First cut:

          Enhance the current X11 based multi player interface to support presence, the grid network, and messaging.
          The current multi player interface runs a single Micropolis process on one laptop, 
          which connects to the local X server, and/or several other X servers on laptops over the net.
          Rewrite the "Add User" dialog to be grid-network aware. 
          Instead of asking for an X server DISPLAY screen, provide a list of friends on the network. 
          Send an invitation to play to friends on the network. 
          Rewrite the built-in chat interface to integrate with the chat system used by Sugar. 
          Improve the shared "white board" overlay, so kids can draw on the map in different colors, 
          enable and disable different overlays, save overlays with the map, add text to overlays, etc.
          Implement location based chat, by overlaying people icons and chat bubbles on the map. 
            Each player has a people icon "cursor" that they can move around the map (which follows 
            their selected editing cursor), and their chat messages show up in bubbles overlayed on the map.
            When you select an editing tool, you can type what you're doing with the tool, 
            other people will be able to watch you, and make comments on what you're doing.

        Long term:

          Rewrite Micropolis in terms of Python/GTK/Cairo, and take full advantage of the Sugar libraries and services. 
          Support sharing, mentoring, colaboration, voting, political dialogs, journaling, etc.
          Develop Micropolis into a exemplary, cutting edge demonstration of all that's great about Sugar. 

      Tools of Expression

        Micropolis is great at supporting personal expression, interpretation and storytelling, 
        and leveraging what the player already knows to make connections to new knowledge,
        and stimulating conversation, debate and analytical thinking.

        Develop a web based "Wikipedia" oriented interface to Micropolis, supporting colaboration, discussion, 
        annotation, history journaling, and branching alternative histories. 

      Journaling

        The "Micropolis Journal" could be realized as a web-based
        newspaper-like interface.

        Expose the multi player user interface through the web, instead of
        using X11.

        Automatically generate a newspaper for any particular time in a
        city's history, from the simulator events and state, combined with
        user written articles and chat messages.

        The newspaper has sections that present automatically generated
        snapshots of the information displayed in the various dialogs
        (graph, evaluation, chat, notices, etc), and stories about
        significant events (both user-generated and simulation-generated).

        Enrich the city save file with metadata including the chat and
        event journal, overlays, snapshots at different points in time (in
        a branching "what-if" tree structure), etc.

        In the Python version of Micropolis it will be easy to implement a
        web server based interface that lets users read the city's
        newspaper through the web browser, automatically inserting
        pictures of the map corresponding to particular events in time. An
        article about pollution going down could show a before and after
        overall map with the polution overlay, and stuff like that.

        Plug in modules to the simulator that analyze the state of the
        city and generate events for the newspaper to write articles
        about, including interesting stastical information and other
        parameters to insert into the story template. 

        Implement "online surveys" that let newspaper readers vote on proposals
        (expose the voting interface to web based users).

        Use OpenLaszlo to develop a rich graphical AJAXian web service
        based Micropolis interface, eliminating the need for the X11
        interface, and enabling all kinds of interesting interface
        customizations and mash-ups with other web services.
[... lots more at:]

OLPC-Notes.txt:

https://github.com/SimHacker/micropolis/blob/master/Micropol...

PLAN.txt:

https://github.com/SimHacker/micropolis/blob/master/micropol...

Re: Why Cities: Skylines 2 performs poorly

#494

Earlier quoted context omitted.

Huh, I never knew Unity used its own CLR implementation. Any idea why?

Unity is older than the Core runtime. They had to use Mono as their base.

Assuming they had C# or .NET as a constraint. I'd wager not, they just wanted something that would work for "scripting".

Re: Why Cities: Skylines 2 performs poorly

#495
post #412

Earlier quoted context omitted.

Let me introduce you to the world of PI planning where two days of every quarter are spent with approximately 100 people (developers, program managers, etc) for each line of business to plan out the next quarter of work - even if 90% of it is continuing the work from the last quarter...

Two days sounds lucky. I've been in SAFE plans where it took an entire week to plan things, it was unreal. Like you I met people I've never seen or heard of from the company all giving their input on software I'm creating. I'd never see them again until the next SAFE planning, only this time it felt like 1 SWE out of maybe 15 (yes there were only 3 teams of 5 devs, put 100+ in these SAFE meetings) contributed anythin…

Ugh, I still shudder at our weeklong SAFe planning. At least I got a couple free trips to Europe for the meetings.

Re: Why Cities: Skylines 2 performs poorly

#496

Unity has been stalling on it's DOTS and network stack re-implementation for like 5 years now. There is no excuse other than leadership are cashing the checks and squeezing the juice out of the company until they close it, which would make sense looking at their semi-recent merger and poor behavior by the CEO. Seriously, I was looking into Unity at the start of Covid while laid off, and DOTS was "around the corner" e…

>I was looking into Unity at the start of Covid while laid off, and DOTS was "around the corner" even THAT far back!

to be fair, DOTS 1.0 did "release" in 2022 I believe. IIRC the core came out and the biggest ommision was DOTS animation. But many core parts of DOTS has been deemed "production ready" for about a year now.

>They still don't have an answer for a network stack, and now LOD is broken

broken implies that Unity had a robust LOD system to begin with. That's always been very primitive since Unity's most successful projects were mobile or 2D.

But yes, the Netcode has been in absolute shambles for years. Very confusing since that is the backbone of mobile. I'm guessing there's some popular 3d party they defer to that integrates well with Unity.

Re: Why Cities: Skylines 2 performs poorly

#497
post #77

It sounds like these issues are relatively fixable. It's a classic victim of the Unity engine's tech debt though. I use Unity myself and they desperately need to decide on how they want people to make video games in their engine. They can't have three rendering pipelines and two ways of adding game logic that have a complicated matrix of interactions and missing features. And not great documentation and a bad bug rep…

[deleted]

Re: Why Cities: Skylines 2 performs poorly

#498
Unity has built in profilers that show exactly what Renderdoc + NSight do, and far more. The blame lies squarely with the studio for failing to do basic optimization that is required for any game. The many issues with Unity's engine development and features are unrelated.

Re: Why Cities: Skylines 2 performs poorly

#499
post #362

Earlier quoted context omitted.

> Because it is one of the 1,000,000 things to pay attention to in game development. This is a cop-out. This doesn't seem like an oversight but rather blatant incompetence. You don't just "not pay attention" to this.

you call it incompetence, devs call it "publishers told us to ship now". You'd think a technical community like this would sympathize with such mandates given across the industry.

Call it incompetence on the part of the management, then?

Re: Why Cities: Skylines 2 performs poorly

#500
post #440

Earlier quoted context omitted.

> even though they are AAA Says who?

They have a large publisher (Paradox Interactive) who prescribes their schedules. They also made bet bookings from Cities: Skylines that put them quite evidently in AAA. Finally, they release the games for all major platforms. All together, this describes a AAA game developer. In contrast, an AA developer would work with publishers like Annapurna Interactive, Devolver Digital or Team 17, while a III game would have a…

Those don't seem to be strong reasons for categorizing Colossal Order as a AAA studio?

And what is 'sealioning'?

Post reply on HN