StendhalObjectives

From Arianne
Revision as of 13:55, 21 October 2005 by imported>MiguelAngelBlanchLardin (Release 0.01)
Jump to navigation Jump to search

This documents wants to be a guide to understand what are stendhal's objetives and motivation, so we can try to achieve it in a easier way by doing only the simplest possible thing to make it work.

Goal

Our goal is to create a multiplayer game with several zones in which players can move, chat and fight. Fighting is to gain experience points that can then be spent on new equipment which will be available at shops on one of the zones where the city is located.

The main point on developing stendhal is to stress-test the engine so that we can identify black points and areas that need to be improved.

Please keep in mind that we want it simple, we want it fast and we want it now. Big complex features need to wait for the next iteration of the project.

Roadmap

Current version in development is: 0.40

Stage 6

This final stage refactor game to allow simple modding by other developers.

Release 1.00

  1. New GFX:
    1. Replaced Tilesets
    2. Replaced sprites

Stage 5

This stage introduce trading and economy into world and RPG rules. This stage create a global world into gameplay.

Stage 4

This stage mainly consists on adding items to gameplay and modify existing parts, GUI and RP, to allow the correct operation of items.

Release 0.40

  1. Add shops
  2. Add GFX sprites for combat
  3. Add new zones:
    1. Dungeon2Doc
    2. City
    3. Port

Release 0.31

  1. Fix bugs
  2. Complete GUI
  3. More maps

Stage 3

This stage should players to customize thier characters. It also improve the overall RPG experience, improve creature AI and improve the way of finding paths.

Release 0.30

  1. Add items
  2. Add follow on combat
  3. Add trade

Release 0.20

  1. Add character customization
  2. Improve GUI
  3. Add new zones:
    1. Harder and bigger dungeon
    2. Forest

Stage 2

This stage should provide initial AI support and introduce new entities into gameplay: sheeps, buyers, sellers, and other npcs. And of course, this stage adds monsters.

Release 0.11

  1. Give correct RP values to entities
  2. Code actions on server
    1. Heal
  3. Make bigger zones
  4. Implement algorithm to enter houses or things
    1. Houses
    2. Trees
    3. etc
  5. Improve GFX

Release 0.10

  1. Expand GUI to support these features.
  2. Implement RP rule system.
  3. Give correct RP values to entities
  4. Define actions that can be applied over entities.
  5. Define what happens on death
  6. Add GFX feeback for combat
  7. Add Wolf
  8. Better sheep movement

Release 0.03

  1. Add A*
  2. Fix collisions areas
  3. Add better Sheep movement and NPC interaction

Release 0.02

  1. Add basic AI framework
  2. Add NPC to server
  3. Allow interaction with NPC
  4. Create tasks for players
  5. Allow completion of tasks
  6. Fix collisions with objects

Stage 1

This stage, once we chose the Java2D platform, consists on allowing players to move, collide with world and chat with other players.

Release 0.01

  1. Complete missing points of 0.00
    1. Add a GUI to client
  2. Code actions on server
    1. Attack
    2. Chat
    3. Heal
  3. Add proper animation for actions
  4. Allow player move slower: add acceleration
  5. Make zone change more intuitive.
  6. Write proper maps based on design proposal
  7. Allow Player to use Mouse to:
    1. Move
    2. Inspect
    3. Attack

Release 0.00

  1. Code first server logic
  2. Implement a client that render the background
  3. Add a GUI to client
  4. Split pixel units of arianne units
  5. Add static Game objects to client
  6. Add static objects on server map.
  7. Create accesibility map for server and client ( 0 free, 1 blocked )
  8. Code collision detection system knowing that:
    1. Tiles can be of any
    2. Sprite can be of any size
    3. Bounding boxes is enough
  9. Add collision detection to server
  10. Add dynamic game objects to client
  11. Implement rendering system where sprite center is not 0,0 but any other defined by user.
  12. Allow player to send actions
  13. Refactor code for sending actions to server
  14. Code actions on server
    1. Move
    2. Chat
    3. Change zone
  15. Test change zone action
  16. Code actions in client
  17. Add animations to sprites
  18. Expand GUI to support these actions
  19. Add proper animations for actions
  20. Screen follows character smoothly
  21. Create build.xml file for allowing Stendhal to be compiled
  22. Create automatic method of building released

Stage 0

This initial stage was not really released and just was an approach to model the client using different languages. We tried Python and Java2D.