Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > dc961633e8199690ddd4febf27e4f85b > files > 7

nil-000516-24mdv2010.0.i586.rpm

These are a few of the things that need doing in NiL

+-----------------------------------------------------------------------------
| Network 
+-----------------------------------------------------------------------------

DONE: * Have a go at making the Tcp_server_connection multithreaded again. 
DONE: * Make the net protocol async.
* Tweak the network protocol to work better over high latency links (>50ms)


+-----------------------------------------------------------------------------
| UI stuff
+-----------------------------------------------------------------------------

* Create a simple menu system for setting up the client, like Quake...
* Create a ncurses terminal UI for the server (so that you can telnet to
  server_port+1 and log into the server for prodding interesting server things.
* A built-in server config tool (telnet) for the client would be nice.


+-----------------------------------------------------------------------------
| Graphics stuff
+-----------------------------------------------------------------------------

DONE: * Create a sprite animation engine and the language to drive it.
 * Player skin renderer (so different players have different colors) 

DONE:* Implement a nice antialiased font system
DONE:  (pre-render a ttf font and just handle the letters as Graphics)
 * Improve ttf renderer to do the ttf work jit in NiL (no prerendering)
   (Should allow for bitmap fonts, for very small sizes)
 
* Create a UI for the client, preferably one ontop of Raw_surface
 * Configuration of keys. 
 * Configuration of player name+color. 
 * Configuration of screen resolution. 
 
* Create a smarter alpha blending system, using C++ templates for speed
  and flexability

 
+-----------------------------------------------------------------------------
| Datafile stuff (Loader class) 
+-----------------------------------------------------------------------------

DONE:* Implement lump file-handling in the loader, only seperate files are supported now.
DONE:* Make a data file lump gennerator. 
* Make the Loader class capable of automagicly downloading missing files from
  the server in a sepperate downloader thead, useful for skins and new map decor.
* Have the Loader_source_directory malloc one huge lump of memory for all
  the files that are loaded in stead of mmap()'ing each file individually
  
  
+-----------------------------------------------------------------------------
| General cleanups
+-----------------------------------------------------------------------------

DONE:* Seriously clean up (rewrite?) the Commandline class.
* Implement a better bounce algorithm, the current one sucks, Obj_base::bogo_bounce() 
* Drop having two arrays for real and anon objects (in World and Clientworld)
  Use a single multiset/hash_multiset for storing all objects.
  (ff: partially done)
* Create a system for removing singular pixels from the map (they get in the
  way) and turn them to dust, combine with an earthquake effect?  
* Drop the titan lib for loading and saving png's implement save_to_png()
  and load_from_png() in Raw_surface using libpng directly.
* Figure out a better way of handling the Raw_surface class than to copy it to
  the rgbf directory (maybe put it in a lib of its own)
* The hook should try harder to grip a pixel once it hits something.
* Interpolate fire direction and other parameters when fireing.
* Remove #includes from headers and predeclare classes in stead.


+-----------------------------------------------------------------------------
| Sound stuff
+-----------------------------------------------------------------------------

* A sound system, the SDL mixer looks about right for this.
* Some way of having objects start sounds without worring about wether they
  are on the client or the server
* Move the actual start_sound() routines to a separate class.

+-----------------------------------------------------------------------------
| Misc stuff
+-----------------------------------------------------------------------------

* A Meta server so it's easy for players to find servers to join. 


+-----------------------------------------------------------------------------
| Ideas
+-----------------------------------------------------------------------------

* Energy shield
* Laseraim on railgun


+-----------------------------------------------------------------------------
| Artwork stuff (gfx+sound)
+-----------------------------------------------------------------------------
 
* Create new graphics for everything, the current ones are ripped from Liero... 
* A tux skin and a bsd daemon skin, we already have the M$-maggot:)