StendhalObjectives: Difference between revisions

From Arianne
Jump to navigation Jump to search
Content deleted Content added
imported>MiguelAngelBlanchLardin
No edit summary
Line 1: Line 1:
__NOTOC__

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.
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=
=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.
Our goal is to create a multiplayer game with several zones in which players can move, chat, use skills and fight. Fighting is to gain experience points and money 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.
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.
Line 9: Line 11:


=Roadmap=
=Roadmap=
In order to achieve the best of each iteration we have split the project development in seven big achievements.
Current version in development is: <b>0.40</b>


== Stage 6 ==
== Stage 6 ==
Line 15: Line 17:


=== Release 1.00 ===
=== Release 1.00 ===
{{ToRelease|
# New GFX:
# New GFX:
## Replaced Tilesets
## Replaced Tilesets
## Replaced sprites
## Replaced sprites
# Sound system
}}


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

=== Release 0.80 ===

=== Release 0.60 ===


== Stage 4 ==
== 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.
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.50 ===
# Add range combat
# Add magic system
# Add more zones:
## Surroundings of Semos
## Surroundings of Ados
## River
## Dungeons
# Add new items
# Add new creatures


=== Release 0.40 ===
=== Release 0.40 ===
{{Released|
# Add shops
# Add shops
# Add items:
## Weapons
## Armors
## Shields
## Helmets
## Food
## Money
## Misc.
# Add stackable items, like coins, food, etc.
# Player inventory and bag
# Add GFX sprites for combat
# Add GFX sprites for combat
# Add new zones:
# Add new zones:
##[[Dungeon2Doc]]
##[[Dungeon2Doc |Dungeons]]
## City
## City
## Port
## Port
# Administrator commands
}}
# XML data files for:
## Items
## Creatures


=== Release 0.31 ===
=== Release 0.31 ===
{{Released|
# Fix bugs
# Fix bugs
# Complete GUI
# Complete GUI
# More maps
# More maps

}}


== Stage 3 ==
== Stage 3 ==
Line 48: Line 75:


=== Release 0.30 ===
=== Release 0.30 ===
{{Released|
# Add items
# Add items
# Add follow on combat
# Add follow on combat
# Add trade
# Add trade

}}


=== Release 0.20 ===
=== Release 0.20 ===
{{Released|
# Add character customization
# Add character customization
# Improve GUI
# Improve GUI
Line 61: Line 86:
## Harder and bigger dungeon
## Harder and bigger dungeon
## Forest
## Forest

}}


== Stage 2 ==
== Stage 2 ==
Line 67: Line 92:


=== Release 0.11 ===
=== Release 0.11 ===
{{Released|
# Give correct RP values to entities
# Give correct RP values to entities
# Code actions on server
# Code actions on server
Line 77: Line 101:
## etc
## etc
# Improve GFX
# Improve GFX

}}


=== Release 0.10 ===
=== Release 0.10 ===
{{Released|
# Expand GUI to support these features.
# Expand GUI to support these features.
# Implement RP rule system.
# Implement RP rule system.
Line 89: Line 112:
# Add Wolf
# Add Wolf
# Better sheep movement
# Better sheep movement

}}


=== Release 0.03===
=== Release 0.03===
{{Released|
# Add A*
# Add A*
# Fix collisions areas
# Fix collisions areas
# Add better Sheep movement and NPC interaction
# Add better Sheep movement and NPC interaction

}}


=== Release 0.02===
=== Release 0.02===
{{Released|
# Add basic AI framework
# Add basic AI framework
# Add NPC to server
# Add NPC to server
Line 106: Line 127:
# Allow completion of tasks
# Allow completion of tasks
# Fix collisions with objects
# Fix collisions with objects

}}


== Stage 1==
== Stage 1==
Line 112: Line 133:


=== Release 0.01===
=== Release 0.01===
{{Released|
# Complete missing points of 0.00
# Complete missing points of 0.00
## Add a GUI to client
## Add a GUI to client
Line 127: Line 147:
## Inspect
## Inspect
## Attack
## Attack

}}


=== Release 0.00 ===
=== Release 0.00 ===
{{Released|
# Code first server logic
# Code first server logic
# Implement a client that render the background
# Implement a client that render the background
Line 159: Line 178:
# Create build.xml file for allowing Stendhal to be compiled
# Create build.xml file for allowing Stendhal to be compiled
# Create automatic method of building released
# Create automatic method of building released

}}


== Stage 0 ==
== Stage 0 ==

Revision as of 08:16, 11 January 2006


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, use skills and fight. Fighting is to gain experience points and money 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

In order to achieve the best of each iteration we have split the project development in seven big achievements.

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
  2. Sound system

Stage 5

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

Release 0.80

Release 0.60

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.50

  1. Add range combat
  2. Add magic system
  3. Add more zones:
    1. Surroundings of Semos
    2. Surroundings of Ados
    3. River
    4. Dungeons
  4. Add new items
  5. Add new creatures

Release 0.40

  1. Add shops
  2. Add items:
    1. Weapons
    2. Armors
    3. Shields
    4. Helmets
    5. Food
    6. Money
    7. Misc.
  3. Add stackable items, like coins, food, etc.
  4. Player inventory and bag
  5. Add GFX sprites for combat
  6. Add new zones:
    1. Dungeons
    2. City
    3. Port
  7. Administrator commands
  8. XML data files for:
    1. Items
    2. Creatures

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.