Roadmap

This is the place to discuss the Wiki contents, forum issues, themes and to propose site-related features and ideas.
Locked
User avatar
lgromanowski
Site Admin
Posts: 1193
Joined: 05 Aug 2011, 22:21
Location: Wroclaw, Poland
Contact:

Roadmap

Post by lgromanowski »

pogzy wrote: Hi,

I've started to write a roadmap, which is quite empty for now. I've just set the item from the devlog to the next current version.

We need to fill it, i.e. to set 3 main steps (v0.7 v0.8 v0.9) that will be major steps before the v1.0.

The key major features should be listed now, then sorted and dispatched on these steps. We will update the wiki once a rough agreement will be found, then time to time the roadmap will be updated.

Main features list, thanks to complete to the v1.0 (Morrowind vanilla system, which are a must have that we can run over)
  • - complete C++ port => v0.7
    - complete terrain rendering => v0.?
    - complete combat system => v0.?
    - complete journal system => v0.?
    - complete quest management => v0.?
    - complete magic effects => v0.?
    - complete weather system => v0.?
    - complete water implementation => v0.?
    - complete NPC displacement => v0.?
    - complete mod reading engine => v0.?
    [/list:u]
    Bye
Zini wrote: Sorry, but I have to partially disagree with this approach. I fail to see the usefulness of this kind of roadmap in this particular situation.

Obviously we want 1.0 to be a complete replacement for Morrowind (minus the bugs), but with no new features. It might even be useful to sort new features into distinct milestones after 1.0. But ordering features to be implemented pre 1.0 into separate versions (0.8, 0.9, ...) would be completely arbitrary, since the order in which they are implemented is mostly unimportant (apart from dependencies between features).
Also, if you really manage to attract new developers they would most likely want to work on those features they are most interested in or that are touching areas, that they are already proficient in. Chances are, that these features would be spread out all over the roadmap.

What I think is needed, is a complete list of all features to be implemented. This list should contain status information (not started yet, in progress, complete) and who is working on it.
Ideally each entry should have an associated wiki page, that can be used for collecting information/research about the feature.
Also, it might be useful to have a forum thread per feature (linked from the list too).
Furthermore a comprehensive dependency analysis is needed (e.g. to implement feature A, features B, C and D must be completed first). This could go into the per-feature wiki-page. Obviously a more graphical representation would be more useful, but it sounds like a lot more work too.
Zini wrote: Anyway, here is my take on a feature list for 1.0:

terrain rendering

water rendering

sky rendering

- sun
- 2 moons (including moon colour change)
- clouds

other weather effects

- rain
- snow
- fog
- bight
- lightning

regions

global variable management

This should include special variables, that are managed by Morrowind (e.g. Day).

a virtual machine for interpreting compiled MW script code

a script compiler

The compiler is needed because AFAIK dialogue scripts are not pre-compiled by the CS.

NPC stats management

- includes attributes, skills, volatile values (e.g. health)
- must handle temporarily changes (buffs, debuffs) as well as permanent changes
- The player stats would be a specialised version of this.
- This would include the leveling mechanism.

container system

- ordinary containers as well as NPC/player inventories
- must implement weight limits
- support for automatic stocking up (like merchant inventories or guild chests)
(actual container representation in the 3D world would be a different item)

mapping system

- keep track of which areas have already been seen and which haven't
- two types: local and global

HUD

- stats display (e.g. health)
- selected weapon/spell display
- status window
- inventory window
- other container window (trade/container-access)
- spell window
- map window
- dialogue window
- journal
- book/scroll

"out of game" GUI-elements

- main menu
- save window
- load window
- configuration windows
- death window

character creation windows

- name
- race
- method selection window (through series of question, pre-defined classes, custom class)
- class-question window
- class (predefined)
- class (custom)
- birthsign
- summary window

basic dialogues

- topics
- greetings
- voices
- speechcraft skill

advances dialogues

- quests
- journal entries

races

classes

factions

pathgrid

non-combat NPC-AI

- Wander
- Travel
- Escort
- Follow
- NPC perception

NPC equipment rendering

- putting clothes/armor onto the NPC (actually replacing body parts)
- putting weapons and shilds in a NPC's hand

NPC animation

other animations

thievery and crime level

- includes prison marker implementation

melee combat

ranged combat

magic combat

combat AI

magic effect representation

- visual
- sound

teleport magic

- mark/recall
- teleport to marker (two types)

buff/debuff magic

- any kind of non-combat magic, that can affect an NPC (including the player)

stealth, magic cloaking

companions

- summoned and regular

enchanting

- this would include soul gem handling

spellmaking

- building actual spells from magic effects

repairing

- item repairing by NPC
- manual item repairing
- item degradation (in combat)

levelled item lists

interaction with world objects

- opening containers
- opening/closing doors (regular and teleport-doors)
- reading books/scrolls
- activators
- picking up misc, weapon, armor, ingredients and a few other types

locks, keys and traps

alchemy

inventory item usage
- equip/unequip
- eat ingredients/drink potions
- use of misc-items
- read books/scrolls

swimming/diving

- includes breath-management implementation

flying/levitating

- includes fall damage implementation

Vampires

Werewolfs

creature spawns

- respawning
- despawning of corpses
- levelled lists
pogzy wrote: Hi,

My English is not good because I do not disagree at all with you. :)

Roadmap is not a complete list of features; it is a short list of key features associated with a version number. If not it will be an endless discussion about the exact definition of particular sub-feature and where it will take place. The main interest is to share a vision of the content of next coming revisions.

It is quite clear that the closer from now the version is, the better we can describe it content. So the next version can be described with more details, next ones won't have so much details.

Look at the whish list, too much things, and too many details. What are the key points to keep? We shouldn't do that way to the roadmap if we want to keep it useful. Keeping something compact with only key features could be helpful.

If the v1.0 is a complete replacement of Morrowind with no new features, there is no special need to list Morrowind features. The interest of the roadmap should be to tell us which features will be coded when, before the v1, and after the v1.

I hope to help coding OpenMW ASAP (when the code will be plain C++). I will code the features I like, even if they are beyond the v1.0, there is no issue if they are not in conflict with the v1.0 and if a global switch can force the Morrowind strict compliance. Don't be afraid, I will ask before coding stuff, and it could be better if there is somewhere a list of features to implement first.

There is the whislist for the version after the v1.0.
Could we focus on the key features of the versions prior the v1.0?

May a word from Nicolay could help us to share his vision.
Vance987 wrote: *please delete* (idk how)
Vance987 wrote:
levelled lists


PLEASE no leveled lists.
Below wrote: I think it would be much easier to draw up a detailed todo list just for the next minor-release (0.7 version?) and work on it.
pogzy wrote: from <FIXME - OLD LINK> http://openmw.com/forum/viewtopic.php?f ... p=303#p303:
I'm not sure if an issue tracker or a roadmap you're after now.
FreeOrion's Roadmap might be worth a look: http://www.freeorion.org/index.php/Roadmap
An issue tracker will be needed at one point or another if the project grows it will be needed as soon there will be more than 2 dev to work together without disturbing each other.

The Roadmap I was thinking of is the one like FreeOrion, and from now the only one who can set it up quickly is Nicolay.
Locked