11

As Josh Petrie already pointed out, the most important concern is performance. Not only can't you know how powerful the end-users hardware is, when you are building an engine you don't even know how people are going to use it. Maybe the game developers want to build a game which puts so many polygons on the screen that even the best hardware can't render it ...


5

First, while MMOs usually have a lot of players online at any one time, these players usually concentrate on key-areas. There are usually large parts of the world where no players are present most of the time. That means you can still use chunks and not keep those in memory which have no players near them. When you have some NPCs which need to perform some ...


5

Something not mentioned by others yet: Disabling graphics features might be a valid workaround for problems with a certain setup, unrelated to performance. Just one example, some graphics options simply don't work correctly with a given rendering engine when running a Windows game on Wine (the Windows compatibility layer for Linux). For a certain (...


5

Of course, performance. Some effects such as Crepuscular Rays, Depth of Field and Bloom are very taxing of fps, in particular in older GPUs. Also a good way to gain some extra fps is to reduce or disable reflections and shadows. Also - to repeat Artelius point - visual effects will also hit battery life. Besides that: Some effects may be glitchy. Not all ...


4

Clarity of view in competitive games Players in competitive online games may well prefer a simpler or clearer view to a more beautiful view even if performance is not a concern - many visual options add visual realism but obscure the things that players actually want to see. It may easily be that in your game it is easier to notice or target an enemy if ...


3

Can this strategy work at all? Yes. Thus, I will answer a different but related question: How can we build up to that strategy? I will cover most of what you ask. Except one detail: ECS. Why? it is a detail. Base architecture Go back to the original conception of object oriented programming. The way Alan Key expressed about it. Objects are like little ...


2

Other responses have done a good job of pointing out how to use a database, and not to use a database for communication. One other aspect that you might look into is to categorize your updates based on how the information needs to be communicated to other entities. Rather than scope communication to servers, you could distribute your messaging and use ...


2

I suspect these other games aren't updating all npcs at all times. I know the alure of the idea that npcs go about their lives whether there is someone there to see it or not is strong, but then you run in to exactly this problem with large worlds. The 2 options I can think of are to either only update chunks where a player is close and will see the updates, ...


1

I think the problem could be that your IStateEntity classes are god objects for their respective states. They know too much, do too much and get too far into details about how these things happen. You could make them a lot more lightweight and modular by delegating most of their responsibilities to other MonoBehaviours. When I use the state-machine pattern ...


1

I recommend that you use any text format that is readable enough for you and then use a decentralized source control manager such as Git. Then people can work on their own and push their changes to everyone else when ready, and with good "diff" tools etc. Look up the tool "gitk" for a GUI version.


1

Sounds like you simply want to save your files in a text format and source control to merge changes. Excel is particularly bad for cooperative work, same goes for any Office product (not just Microsoft Office). The problem being that no two people can work on the same document, at least not with lots of hassles. Plus you still have to export the data in a ...


1

Did you try to use a wiki? It's collaborative and it saves revisions. You can try https://www.atlassian.com/software/confluence which is easy to setup and costs 10$ a year for 10 users or 10$/mo for a hosted solution. Of course you can use any open source alternative like Mediawiki or something simpler


1

The general problem you are describing (Cloud deployment, auto scale-in/scale-out based on certain metrics) is usually handled by a PaaS - Platform as a Service. In general, a PaaS allows you to upload your 'application', which could be a VM image or executable files, depending on the PaaS. It is the responsibility of the PaaS to deploy the application to ...


Only top voted, non community-wiki answers of a minimum length are eligible