Light And Shadow
      Copyright (C) 2001 - 2002. WOTLAS Team.

      TO DO LIST...

       Here are devel proposals for wotlas. Explanations are short so feel free to ask for more details.

Project status : non developped, assigned, under development, developped


2 - Change appearance

Status : non developped
Draft reference : none
Pre-requisite : knowledge system, RPG features

Description : Some players (Forsaken, some powerful Aes Sedai) will be able to change completely their appearance ... to turn back later into their normal look. With this changing, one could also change name as for "Lie", but here the other players won't recognize the changed player.

Development : We need to memorize visual attributes of character (hair, eyes color, class, status) plus its name and nickname. We will then enable a JDialog "Appearance" for players having the adequate knowledge. This JDialog will allow him to select his new appearance. Once validated, it will be changed client side and saved server side. Once one has changed appearance, the JDialog "Appearance" only allows to switch back to normal appearance.

It is only a starting point ... everything is possible.
See package wotlas.common.character and class wotlas.server.PlayerImpl.

3 - Map Editor

Status : non developped
Draft reference : none
Pre-requisite : none

Description : The point is to enable editing and creating new maps for wotlas. The picture of a new map (World, Town, Building) is made with Photoshop with its associated mask and imported into the editor. Depending on the kind of map, one will then be able to place MapExit, RoomLink, ... etc. One should also be able to open an already made map for editing.

Later when object management system will be done, one could also be able to add objects on maps.

Development : It is quite a big development work which should be well analysed/split to avoid chaos. Map editing could be done by steps (editing RoomLinks, creating Rooms, ...) The editor will use the GFX engine developped for wotlas.

4 - "One Power" Graphical effects

Status : under development
Draft reference : none
Pre-requisite : none

Description : The point is to create GFX effects for One Power in game usage. The first effect is a channeling person (sort of aura with fast random rotation). This effect is visible while the character channels. We can re-use what has been done with wotlas.libs.graphics2D.drawable.AuraEffect. Other effects are made between two players : the "One Power" effects are split into different color threads which oscillate and link the user with its target.
We could think of more GFX effects : explosions, birds crossing the screen, clouds, ... etc

Development : To represent the thread's GFX effect, we could use Java2D vectorial drawing capacities (see Sun's demo in jdk1.3) and add a blur or any other effect. This way we could create a generic 2D effect which is initialized given number of threads and color.

5 - 3D-engine Plug-in

Status : assigned
Draft reference : none
Pre-requisite : some adaptations to enable the add of the 3D engine. Now, each map possesses a link with its 2D representation. We'll have to add a link to its 3D representation.

Description : The wotlas user will have the possibility to install a 3D plug-in enabling to see some places in the game in 3D. Once this step done, we could see to direct integration of the plug-in inside wotlas (with Java3D API) et the increase of the number of 3D scenes. We'll have to define game characters in 3D and re-make backgrounds corresponding to those already made in 2D.

Development : Fabien. Aldiss will make a bridge server side between 3D and 2D moving system for both movement to be seen both ways.

7 - Photoshop Level creation tutorial

Status : non developped
Draft reference : none, cf mini-tutorial on the same subject
Pre-requisite : none

Description : This tutorial would add itself to the level editor to explain how to create a level for wotlas from scratch.

Development : Nothing.

8 - Object Management System

Status : under development
Draft reference : part 2.4.2 page 17
Pre-requisite : none, but this may be linked to objects editor (#16)

Description : The aim is to add various objects to wotlas' universe. Addition of generic objects formats : breakable objects, unbreakable objects, different magical objects, etc. We should also add the possibility to create an object library in text format (via the persistence engine).

Development : Before starting this development, we should well prepare the structure of it. The aim is to be able to add new objects to wotlas by creating them in text format from persistence manager (for precisions on this subject : Aldiss, Harry, Petrus). We would probably have to add methods to wotlas.common.PersistenceManager to enable loading/saving objects in the base. Another point : some objects will have GUI associated (a book will show an interface when used).

Starting idea for the devel :
Create a new package for object management, an ObjectManager which concern itself with loading the library and a standard objects database : keys, books, magical objects ... These objects instances (key c234, book "On the art of writing", ...) will be saved in text format via the persistence engine and will only be loaded when needed. We could consider that the loading/unloading of the game's objects will be done by ObjectManager.

9 - Knowledge Management System

Status : under development
Draft reference : part 2.4.3 p19
Pre-requisite : none

Description : The knowledge management is central in wotlas. ALL game actions will be conditionned by a knowledge use and learning. It is a subject well developped in draft which is to be consulted for further informations.

Development : We find again the same pattern as in OMS : generic knowledge objects, knowledge library saved on disk in text format, and a knowledge manager to load them in memory on demand. The aim is again to be able to add new knowledges without recompiling any line of code.

An idea on the development sequence :

  • Create 'knowledge' objects described in the draft
  • Create the knowledge manager
  • Create some generic knowledges

    10 - Reading/Writing in books

    Status : under development
    Draft reference : part 2.3.8 p12
    Pre-requisite : OMS

    Description : To allow the players to read/write in 'book' objects they could pick up. We could go further with WritableObject/ReadableObject interfaces declaring object types on which you can read or write ... In short, any idea would be welcome and the more because the study in the draft wasn't totally finished.

    Development : To be studished. Books would be saved server side (text or html ? via persistence engine ?). A GUI is to be done client side.

    11 - Adding the log book

    Status : non developped
    Draft reference : part 2.3.8 p13
    Pre-requisite : none, but may be linked to books (#10)

    Description : The possibility for players to own a personal note book. Possibility to put in meeting one have done in the game (name + key), which would enable to send them mail (see #41).

    Another possibility would be to create a contact list : to keep players infos and to find them again in the world.

    Development : The data from this log book would be saved client side ... which means no network messages. Since, the idea is to create a simple dialog window (JDialog) which could be accessed via an icon above chat window et which would load/save text from/to a file myPersonalNotes.txt. For those who would do more, any idea of interface is welcome.

    12 - Rearranging the account creation. Adding quizzs.

    Status : developped (cf wotlas.libs.wizard) - only the quizzs parts left to do
    Draft reference : part 2.6 p29
    Pre-requisite : none

    Description : To enable game enlarging with new types of chars, we must be able to do it fast. Rather than developping 1500 different screens for account creation, we could use generic steps :

  • a step with label, text input, label, text input, info text
  • a step with label, text input, info text
  • a step with label, JList (to allow a single selection among multiple choices)
  • a step with label, JList with Timer (to allow a single selection among multiple choices in limited time for quizzs)
  • a step with info text (to display an information)

    Development : Once these steps created, account creation could be described by a set of text files. Each text file references a set {step type,texts to display,previous,next}. The JAccountWizard does link the different steps.

    An important problem should be resolved : how do we store retrieved data for account creation. Data will have to be sent to server and be used for account creation (generic network messages ?). Furthermore, roll back ability should be studied.

    13 - Account creation editor

    Status : non developped - would it really be useful ?
    Draft reference : none
    Pre-requisite : Rearranging account creation

    Description : To allow easy maintenance of the account creation system.

    Development : To be studied.

    14 - Adding RPG features (Role Playing Game)

    Status : non developped
    Draft reference : part 2.4.1 p14
    Pre-requisite : none

    Description : Adding all characteristics : Force, Dexterity, Health, ... in wotlas.common.character.Human.

    Development : Adding getters/setters. (I know it is heavy coding, put the least javadoc possible). But also getMinForce()/setMinForce() & getMaxForce()/setMaxForce() giving min and max for each characteristic for the character class.

    15 - Adding character classes.

    Status : developped - has to be completed with more classes but main work done
    Draft reference : wotlas-team
    Pre-requisite : RPG features, rearranging account editor, knowledge system

    Description : Adding new char classes to wotlas.

    Development : If all has been well done, nothing to add, just text files and pictures.

    16 - Object editor. Adding generic objects.

    Status : non developped
    Draft reference : none
    Pre-requisite : OMS (may be done in the same time)

    Description : To make adding/editing objects in the game easier, we could create a simple editor allowing to create/edit/save an object.

    Development : We can also think on an integration of this tool in the map editor (for objects layout in the game).

    17 - Character Inventory.

    Status : under developpment
    Draft reference : part 2.4.2 p17
    Pre-requisite : OMS

    Description : Adding management of the objects owned by a player : from their picking up (clic on the object or nearby), to their use and drop on the ground of a map or gift to another player.

    Development : cf draft

    18 - Knowledge System Interface.

    Status : non developped
    Draft reference : part 2.4.3 p19
    Pre-requisite : KMS

    Description : Follows project #9. The point is to develop the Swing interface for handling the knowledges of the client as described in draft.

    Development : The classes are to be added to wotlas.client.gui.

    20 - Adding basic knowledges

    Status : non developped
    Draft reference : some ideas in part 2.4.3 p19
    Pre-requisite : KMS

    Description : Depending on the char classes we'll add, we shall add a whole lot of linked knowledges (stealing, fighting exercise, ...)

    Development : Nothing if well done before ... just text files to add. We could even let this job to the char classes specialists.

    21 - Managing characters animations

    Status : non developped
    Draft reference : none
    Pre-requisite : none

    Description : For the moment, wotlas' characters just walk around and the current system is based on only one kind of animation. We should see to new animations/states for characters. (in class PlayerImpl & interface Player) :

  • lying on the ground (wounded, sleeping, etc)
  • walking armed with a sword (or another big weapon)
  • hitting with a sword
  • hitting with a dagger (the dagger is invisible when the char walks)
  • walking with a bow
  • firing a bow
  • running

    Development : Add getters/setters to change player's state (byte playerState with macros WotCharacter.WALKING_WITH_SWORD, ...), apply this state change to the wotlas.character.WotCharacter to be able to require the new image lib to use for anim. It is the WotCharacter which stores persistence for the char's state.
    We shall also see to creating new pictures for anims (remind Aldiss). We shall also see how client side the user will make his char run/crouch/lay ... (keyboard ? mouse's right button ?)

    22 - Automatic response. Fighting in wotlas.

    Status : non developped
    Draft reference : see part 2.4.4 p26
    Pre-requisite : anims

    Description : Adding the possibility to attack somebody and to do a sequence of fight movement (knowledges) during fights. Allowing to any player to specify what his char shall do when attacked (reddition, attack, flight, ...)

    Development : To study. Lots of things to do in this topic !

    24 - Rumors

    Status : non developped
    Draft reference : part 2.4.5 p27
    Pre-requisite : none

    Description : Adding a rumor system to wotlas. See draft for more details.

    Development : cf draft.

    25 - Displaying the player's health

    Status : non developped
    Draft reference : none
    Pre-requisite : RPG feature : health

    Description : Adding a GFX effect showing the player's health, possibly his breathing too (the more someone is out of breath the less he can move and the more he needs a rest)

    Development : Create a LifeDrawable linked to main char (DataManager.getMyPlayer()) and add to GraphicsDirector on connect.

    26 - Adding GFX effects linked to maps

    Status : non developped
    Draft reference : none
    Pre-requisite : none

    Description : A map could possess a GFX effects list : bird flying over at random, clouds, rain, ...

    Development : An InteriorMap could possess a list of XXXDrawable to use. These XXXDrawable would be added to GFX engine on map load. The BirdDrawable would show an animation of a bird flying over the map for instance.

    27 - Adding SFX linked to maps

    Status : non developped
    Draft reference : none
    Pre-requisite : none, linked to musics

    Description : Like with GFX effects, we could set a list of SFX to loop on certain maps (seashore background for instance in Tear or Illian or Tanchico ...)

    Development : Edit wotlas.common.universe.InteriorMap and wotlas.client.InteriorMapData. Add an option to the sound library to enable looping a sound.

    29 - In-game Money management

    Status : under development
    Draft reference : none
    Pre-requisite : OMS

    Description : Adding money to the game as objects (coins, purses). Study possible use : selling advice, buyings, placements, wages, ... etc. Knowledges linked to money (merchant, ...)

    Development : Depending on what has been decided.

    30 - Moving on the world map. Means of transport.

    Status : non developped
    Draft reference : none
    Pre-requisite : OMS, money

    Description : Study et modify the current system of moving on the world map. Study makability. We started thinking travels would be very slow on the world map (as in reality) and this to reinforce the space and travel notions. When a player disconnect himself, the started journey is stored since 1.0 on server. This implies when the player reconnect later, his journey has continued. What we must see is the possibility to choose a travel method : by foor, on horse, on carriage, on a wagon train, ... We could then make the by foot travel very slow (2 days to cross the map) but much faster on horse.

    Development : Display the remaining time to destination on world map, find a way to propose a choice of mean of transport to the player (add a special map Transports on the town map ? choice when starting travel ?). In short, all ideas are welcome ...