Skip to content

Ideas 2013:Singleplayer ClientServer

otinn edited this page Mar 28, 2013 · 5 revisions

Singleplayer Mode using the Client/Server Model

Our Problem

Currently our singleplayer mode communicates events in a different way from the multiplayer mode. This leads to two problems:

  • Multiplayer mode is quite untested during development and thus very unstable.
  • Both parts have to be maintained.

Our Idea

The event communication model should be unified such that the singleplayer mode is actually just a multiplayer game with a local server and a single human player.

The hard part in this project is that it essentially seeks to replace the stable part (current singleplayer) with the less stable one (current multiplayer) while making sure that the end result is not significantly worse than the current version. This may require many fixes in various parts of the code.

What you need

  • (Very) Good Python skills (must)
  • Knowledge of networking (must)
  • Estimated difficulty: hard

What we expect

A successful proposal should describe the key problems (and possible solutions) that would be encountered in this project. It should have a concrete plan for making sure that the end result is useful even if it turns out that a complete transition to the new system is not going to get done in time.

You work together with the entire team, this entails:

  • Weekly reports of your progress at our weekly dev meeting on IRC
  • Availability on IRC when you are working on Unknown Horizons
  • Active participation in the discussions on IRC/Mailing List/Forums
  • Daily status reports to your mentor (by email)

You can shift around release goals and target dates in the planning stage as you like. Once your mentor and you agreed on a rough timetable, only light modifications should occur if there happens nothing unforeseeable.

  • No milestones from our side. Propose some to your mentors!

What you can add

In general: If your mentor agrees, you can change almost everything in our descriptions. They are just meant to provide guidance if you are not sure where to start or which way to choose.

Who looks after you

Your mentors for this task will probably be one of:

  • nihathrael
  • gscai
Clone this wiki locally