Roadmap
From SfzWiki
see also the now obsolete OldRoadmap2006
see also Notes
Contents
simple multiplayer
target : just fly around together, blowing up asteroids and each other
-
load ships saved in editor as nodegroups -
extend cRobRenderOp::ConvertToMesh in robrenderable.cpp to add submeshes to existing meshes -
(load ships saved in editor as mesh) - (generate LOD meshes for ships)
-
remove inner faces of ships -
server : open tcp listen socket (net_L.cpp : NetListen, PopAccepted) -
client : open connection to server socket (net_L.cpp : NetConnect) -
send simple tcp messages : e.g. chatline (main.lua:232:SendChat , net_L.cpp NetReadAndWrite) -
server : send spawn-messages for stuff created after join to client -
server : send spawn-messages for world on playerjoin -
server : send-resync-stuff (prepared in in location_L.cpp : SendResyncs) -
client : receive-resync-stuff (prepared in in resyncreceiver_L.cpp) -
client : send mouse/rotation/turn quaternion to server (udp) -
client : send key-changes to server (tcp, accelerate, fire weapon) -
server : receive player turn and keys -
server : send effects (laserbeam on weapon) to server -
server : ray/sphere hit detection : laser destroys ship or asteroids -
server : respawn killed clients when space key is pressed - server : detect and handle create-listener error
- client : detect and handle connect error
- server : detect and handle client-disconnect
- select shiptype and enter name before join (reselect shiptype for respawn?)
-
sounds effects - maybe http://jamendo.com background- and mainmenu-music
-
third person cam ingame - weapon icons with range and damage indicators, and recharge indicators
- gui : target lists
-
gui : select targets with mouse click directly - tactical hud elements indicating weapon range
- powerups/health packs in asteroids ?
- design decision : newton physics or not ? not might be better for combat
coop multiplayer
- (to be planned) defending a space station
- (to be planned) enemies arriving in waves
- (to be planned) buying/salvaging equipment and ships between waves
spaceship interior
-
draw inverted ship mesh as interior background -
switch between inside and outside view -
tile-based walking inside ship - meshes and textures for indoor stuff
-
couch - chair
- cockpit seat
-
multi-part-engine -
engine -
grate -
ladders - stairs
- handrail
-
computer consoles -
table -
flowers -
door - locker
- soda machine
- refrigerator
- lamps (wall, ceiling, floor)
- elevator (=door + moving platform)
-
-
menu for placing items inside ship - save items inside ship to file (ingame save and/or mapedit save)
- shipeditor : toggle between inside/outside
- interior : align cam to outside cam on switch
untitled
- gui : nicer dialog frame (white text on black background, corners a bit round, buttons different from dialog frame)
- gui : nicer menu look
- gui : generic list dialog (for cargo, shop, etc...)
- buy weapons and equipment
- missions : delivery (special cargo, jettison fails mission (or not possible?), mission dialog)
- namen vor dem login
- savegames : collective property : everything in mothership, not individual players
- transfer cargo from fighters to mothership on docking
- collective money ? avoid if possible to avoid grinding, rather rewards for missions, like gather 100 iron to get weapon.
- return-to/approach mothership button for fighter/space-suit
- pickup jettison box
- missions : navpoint displayed in hud
- missions : objectives displayed in hud
- pickup jettison box content
- pirates : the whole group should counterattack if one of them is attacked (requires group system)
- auto generate doxygen for sfz and lugre (cronjob or commit hook)
gui widgets
- excel table (autosort on header click, updatable, cellrenderers, see java,gtk,cegui,qt,win32api, has scrollpane?)
- treeview (hierachies : trade categories like vegastrike ?)
- tabpane
- scrollpane
- scrollbar
- cliprect of parent also affects childs
- table layout html like, starts as hack with proper interface
central info server
- http lib for lua
- get and display message of the day
- option to announce game in internet when hosting
- list announced games
- version check
- usernames
- lobby chat
- irc lib ? announce opened games in irc
- host game : max player limit
- host game : description text
inter-stellar travel (jump)
- load system from file
- list of all systems
- jump to other system
- limit to adjacted systems
- map displaying system positions graphically (debug:display coordinates under mouse)
inter-planetary travel (space-folding)
requires large scale systems, e.g. distances between planets in a somewhat realistic scale. this will require some form of space-folding-travel mode to remain playable, we'll keep that for later, other things are more important first.
- gui : hud : distance display, on mouse over : name, type
- larger system, spec travel
- 2d system layout (orbits, but not moving)
- gui : system map (render to texture, mousepick, click selects planet, planet has stuff orbiting, hierarchial)
tutorial/story
maybe a small story as intro/tutorial to game :
- deliver something to a nearby station/planet (basic controls) (problem : 1 player ?)
- targetting practice : shoot some debris/junk(Aquanox) /Astreroids/ old-junk-space-ship(EV)
- destroy some drones that have run amok (hacker,FOF-malfunction,...)
- bounty hunt : destroy some pirates , reward : jump-drive
- sientist sensor tutorial : search for right materials, reward : construction plans (weapons, shields...)
- asteroid mining tutorial
- crafting tutorial
- explore mission ? (nearby systems, some other sientist needs help, delivery..)
- capture some animals on planet, planet personal weapons tutorial
bugs
- you can zoom out with no limit, you can even see the skybox.
- when you are in writing mode you cant zoom in/out only move the camera
- you can shoot yourself writing your name in select/by name and shooting.
- keyboard input does not work in fullscreen on some machines...
- bad situation in editor : click new, rightclick , problem (last block gone)
-
trac-bugtracker is currently unusable (permission denied) - the sun can be clicked from within the spaceship ? (check click detection for cross location stuff)
- hudmarkers (edges) and name display is totally broken (related to location system)
- changing ship and going inside should close cargo dialog
- w-a-s-d accelleration is not very intuitive, should not only add to current velocity, but also try to redirect the movement into the pressed direction
- e.g. currently wrong : when going forward it goes right diagonally, not directly
- sun, additive blending z-sorting bug
- shipeditor culling is broken if not started with -se commandline option
- i can resize the window! but when i do it. the chat bar and the interface dont move! i should not be able to resize
install help
these problems should be automatically detected (see also troubleshooting in INSTALL)
- check if scons is available in makefile
- scons : check ogre version (1.2 leads to LINKER errors, see sfz thread in free gamer forum)
- scons : dpkg info for ogre version? 1.4.0 or later
- scons : check lua version, 5.1 leads to errors
- scons : plugins_linux.cfg : "locate libOgreMain | grep .so" folder + OGRE/ for plugins
- scons : detect fmod or openal automatically
- scons : openal esd trick/warning if alsa
- scons : /etc/ld.so.conf : add a line with "/usr/local/lib" (where ogre is) and run /sbin/ldconfig
- scons : check all libs, vorbisfile, with pkg ? etc..
- check runtime shared object files : libfmodex.so libOgreMain.so