stratagus-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Stratagus-devel] Some Potential Tasks for new developers.


From: Russell Smith
Subject: [Stratagus-devel] Some Potential Tasks for new developers.
Date: Mon, 29 Sep 2003 19:31:57 +1000
User-agent: KMail/1.5.1

Hi all,

Given there seems to be a number of newish people wishing to contribute to 
stratagus, I have attempted to come up with a list of projects that might be 
suited to those type of people.  By no means is this an extensive list of 
things to do, but I'll give it a go. :)

1. Replay Log
Currently the replay log is stored directory on disk, so when you load and 
save a game, you are unable to retrieve the replay log.  So you cannot replay 
that level.  It would be good to buffer :) all of the commands in a small 
format in memory as they happen, then if the replay is to be saved, then it 
can be.  Either into a save game, or at the end.  It should continue to save 
the default replay logs, as well as the option to save a different one.

Places to start
----------------
src/network/commands.c  The whole file is a good read.


2. Minimap Rewrite
Currently the minimap is calculates everything once every second.  This is 
costly on FOW calculations and just in general cycles.  The terrain should be 
a bitmap that is updated everytime something on the terrain changes.  The 
units should be calculated on a bitmap, maybe updated each time they move, 
get removed/get put on map.  And the fow needs to be calculated faster.  
Maybe change the fog tile from on to off for each move, place,remove of a 
unit.

Places to start
----------------
src/map/minimap.c   The whole thing :)
src/map/map_fog.c: MapMarkTileSight, MapUnmarkTileSight, IsTileVisible


3. Create User friendly resource names as well as ccl ones.
Currently Resource names are the same as their ccl tag.
sugar, from 'sugar
wood, from 'wood
gold, from 'gold
This does not account for space in name, and makes for not such good looking 
resource information.  A ccl tag, and coresponding engine internals should be 
changed to create and use a name that is nicely visible.
"Gold" for gold
"Food Scraps" for food-scraps.

Places to start
----------------
ui/mainscr.c: DrawUnitInfo
clone/ccl.c:586 CclDefineDefaultResourceNames


4. FIXME

There are a large number of FIXME's in the code, pick one that you like and 
work out how to solve it.  Some are much harder to solve than others.  But by 
researching, you can learn a lot about the engine.

Places to start
----------------
grep -r 'FIXME' *




reply via email to

[Prev in Thread] Current Thread [Next in Thread]