nicholas-ochoa / OpenSC2K

OpenSC2K - An Open Source remake of Sim City 2000 by Maxis
GNU General Public License v3.0
4.98k stars 88 forks source link

Main Menu #8

Closed cursorial closed 4 years ago

cursorial commented 6 years ago

We should create a main menu with the following options to replicate what we see in SimCity when the game starts up.

The options should include:

Some of these options won't have implementations behind them yet, such as loading scenarios, although they could at least be created for now. It would be good to create a button component system here that can also be used for the GUI in game to keep everything consistent across the codebase.

After taking a look at the code I've noticed that we're missing some stuff, we'll need some form of game state management - it may be worth looking into using a game library of some sort so we don't have to implement that ourselves. I'd suggest Phaser. This would also help us to structure the code a bit better since currently it looks like there's a lot being handled in game.js

These are just the options from the original game, it may be worth adding other options - for example a 'Settings' option for selecting resolution/changing in-game volume, etc.

Another potential would be to set up some way for people to share maps that they've created, scenarios, assets, etc. See: OpenTTD. Would be good to allow for mods, etc.

Finally, it would be cool to see a multiplayer version of the game, not sure how far we want to move outside the scope but OpenTTD also allows for multiplayer online, it could be cool to see similar here.

nicholas-ochoa commented 6 years ago

Some of the initial framework is in place for this (the title.js scene and ui/ui.js scene. Ultimately, I'm planning to use Vue along with the iView UI Toolkit to build much of the interface. I explored doing a UI entirely within the game engine but the performance considerations (even using Phaser) make that less of an option - better to spend those cycles on the simulation or somewhere else.

cursorial commented 6 years ago

This is actually a much better idea to be fair, no point running it through a rendering engine.

On Mar 1, 2018 2:44 PM, "Nicholas Ochoa" notifications@github.com wrote:

Some of the initial framework is in place for this (the title.js scene and ui/ui.js scene. Ultimately, I'm planning to use Vue https://github.com/vuejs/vue along with the iView UI Toolkit https://github.com/iview/iview to build much of the interface. I explored doing a UI entirely within the game engine but the performance considerations (even using Phaser) make that less of an option - better to spend those cycles on the simulation or somewhere else.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/rage8885/OpenSC2K/issues/8#issuecomment-369613586, or mute the thread https://github.com/notifications/unsubscribe-auth/ACKQrgoFAoFowYw30i8e0sRLiUSmTY59ks5taAlQgaJpZM4R6Iwb .