GSoC Ingame lobby

From Spring
Revision as of 16:15, 12 March 2010 by Brain damage (talk | contribs)
Jump to navigationJump to search

GSoC idea: Basic ingame lobby

Why

External lobby programs are powerful but confusing. There's a need for a simple lobby client that works in-game and to launch spring.

What

All existing Spring interfaces (lobbies) are either difficult to customize for game developers or have a different look 'n feel from the game itself and require focus switch from the game itself to operate.

A new, Lua scriptable, lobby should be implemented with customization and control in mind, possibly integrated with spring codebase and/or running as a separate process overlaying the game's UI.

Optionally, the engine's start screen should be replaced and integrated with it.

Required skills

  • Knowledge of C++
  • Knowledge of Lua
  • Knowledge of Lua API/C bindings
  • Knowledge of basic OpenGL programming

Difficulty

Estimated: hard

Technical details

  • ensure Spring can clean up properly
  • ensure Spring can change mod during program runtime (requires that some singletons be converted to Spring's *handler pattern)
  • The lobby API should reuse/be identical to spring's LuaUI where possible ( GL calls, access to game infos )
  • to prevent Spring <-> lobby crash propagations they should run as separate processes, with lobby overlaying on top of Spring's UI, the only exception could be made for start screen.
  • create a new Lua context or initalize current context earlier in the code and rewrite Spring's start interface using Lua scripting.


Possible Mentor(s)

FORUMLINK

Google_Summer_of_Code_2010