Difference between revisions of "Roadmap"
From SfzWiki
Ghoulsblade (Talk | contribs) (→tutorial/story) |
Ghoulsblade (Talk | contribs) (→untitled) |
||
Line 82: | Line 82: | ||
* transfer cargo from fighters to mothership on docking | * 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. | * 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) | ||
+ | |||
+ | == 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 | ||
== inter-stellar travel (jump) == | == inter-stellar travel (jump) == |
Revision as of 23:31, 16 August 2007
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)
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
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)
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