spatialos / gdk-for-unity

SpatialOS GDK for Unity
https://gdk.improbable.io/spatialos-gdk-unity
MIT License
355 stars 77 forks source link

Module Request - 2d World (library + hard problem solving) #75

Open leland-creswell opened 6 years ago

leland-creswell commented 6 years ago

Overview

I would like to make a request for a GDK module that includes code running on SpatialOS handling 2d game worlds, and the hard problems that sometimes crop up while creating them, especially with multiplayer involved.

The 2d-based game has come back to the fore as a highly active section of the overall games industry. It has advantages in the ability to use simpler code to achieve basic game functionality, as well as dramatically reduced budgets for visual assets, allowing small teams, or even solo developers (as was mostly the case with Gungeon), to create amazing experiences based on core gameplay, without the millions of dollars required in a typical AAA game.

However, massive multiplayer (and even simple multiplayer) networking is still an extremely hard problem, especially if the code is written from a publicly available library. Most successful 2d games, especially those created by smaller teams, either do not have a multiplayer component, or rely on (vastly overpriced, imo) simple multiplayer plugins/components usually bought via the assets store.

There is an incredible amount of gameplay, revolving around people working together/against one-another, and building things alongside each-other, that is simply not able to be tapped due to the lack of an easy way to get massive multiplayer going at a reasonable price for a smaller team.

References

Gungeon: gungeon example

Dungeon Crawl Stone Soup: dcss example

Dwarf Fortress: dwarf fortress ex


Requirements

The module should include the following (not an exhaustive list, just the things I can currently come up with):

(All I can think about for now.. would love to hear additional ideas if anyone has them..)

martinzlocha commented 6 years ago

Thanks for the detailed report @leland-creswell. We really liked some of the ideas and provided examples. Unfortunately we are focusing on 3d support right now because that usually requires more physics computation which aligns well with our product and is usually harder to solve. We won't be able to work on this feature request for the foreseeable future but once we get more time to work on other feature modules we will revisit this and update you on our plans.

Davidvp commented 6 years ago

In addition, the 2d components of Unity work with the X and Y axes. Any chance this will be supported in the near future?

ElleEss commented 6 years ago

Tracking this issue with JIRA ticket UTY-841.