============== DINGEN TE DOEN ============== Freeciv is behoorlijk volgroeid en we denken dat het een schitterend spel is, maar er zijn altijd dingen om toe te voegen of te verbeteren. Dit document somt enige nieuwe voorzieningen op waaraan wordt gewerkt of die gepland zijn of gewoon gewenst. (Zie ook het bestand BUGS.nl voor enkele bekende zwakheden). TEDOEN: ======= - Server-zijde spelers scripttaal - Diplomatie: * Senaat * Een KI die met diplomatie overweg kan - Betere afbeeldingen voor stadsstijlen. - Betere internationalisatie (verhelp enige problemen, wijzig die Engelse zinnen die niet goed vertaald kunnen worden in de meeste andere talen, betere GUI afhandeling voor woorden van verschillende lengte, gemengde taal client/server, meer complete vertalingen, meer vertalingen). - Maak de spelregels voor Stadsverbeteringen en Wonderen flexibeler. - Maak de code gezichtspunt-agnostisch: verwijder alle aannames over welke vlakken geldig zijn. Bijv. de aanname dat de kaart doordraait in de x-richting. Dit kan gedaan worden door de code gebruik te laten maken van macro's als whole_map_iterate en square_iterate. De functies map_adjust_x() en map_adjust_y() zouden verwijderd moeten worden en code die er gebruik van maakt moet gebruik maken van normalize_map_pos(), is_real_tile() of een macro. Het zou ook fijn zijn als de aanname dat de x-waarden lopen van [0..map.xsize] verwijderd kon worden, aangezien een isometrisch nummeringsschema die eigenschap niet heeft. Wanneer alle code geconverteerd is, kan de hele freeciv server aangepast worden voor het gebruik van een vlakke kaart, een isometrische kaart, een cilindrische kaart or misschien zelfs een hexagonale kaart, allemaal met slechts een kleine hoeveelheid code op de juiste plaatsen. Merk op dat de KI op diverse plaatsen de vlakken niet goed aanpast, zelfs niet in het huidige nummeringsschema. Merk op dat de conversie terugwaards-uitwisselbaar is, zodat hij in kleine stappen gerealiseerd kan worden. Geen mega-patches graag. - Laat de server stoppen met het versturen van tekst naar de clients. In plaats daarvan zou hij een enumeratie moeten sturen en enige waarden, die de client omzet in een bericht om aan de gebruiker te tonen. Dit zal de client meer informatie verschaffen over het bericht, noodzakelijk voor bijv. een KI aan de kant van de client. Het zal ook inhouden dat de berichten automatisch in de juiste locale vertaald zullen worden. Merk op dat deze nieuwe berichten ook soms stadsnamen zullen moeten bevatten. De mogelijkheid van het versturen van tekstberichten zou wel moeten blijven bestaan, om uitwisselingsproblemen te voorkomen wanneer op deze server wordt overgegaan. - Maak een nieuwe "ocean" variabele in de tile struct, analoog aan de "continent" variabele. Hij heeft ondersteunende functies nodig om bijgewerkt te blijven in zowel client als server. Hij zou ook een geassocieerde functie is_oceans_connected(oceaan1, oceaan2, speler) moeten hebben die teruggeeft of er een stad is die de twee oceanen voor deze speler verbindt. - Documenteren/opschonen KI code. Hernoem variabelen naar meer sprekende name dan deze: int a=0, b, c, d, e, m, n, v, f, b0, ab, g; (uit from ai/aiunit.c:find_something_to_kill()) Ik zou in het bijzonder graag het gebruik van de amortize() functie in servers/settlers.c gedocumenteerd zien. Ik zal patches accepteren zelfs als ze slechts een enkele variabele hernoemen - Implementeer goto (ga naar) in de common code. VERDERE INFORMATIE: =================== Informatie over andere projecten en de Freeciv ontwikkelings "wegenkaart" zijn beschikbaar op het Freeciv website: http://www.freeciv.org/