Jump to content

Roadmap/ToDo


Waywocket

Recommended Posts

I've been thinking about ways to increase activity on GemRB, so here's the difficulty I've been having.

 

Some problems are simply bugs where it's obvious what needs to be done (if not how to do it :p), but more of what's needed is feature additions or enhancements.

 

For example, I was looking at how to implement pausing a while back. In order to do this, I had a look at things which depend on the global timer, and (just to see how it would work) added a flag to set the game as paused, which is then checked from a number of places.

 

Though it seemed to be working okay, this strikes me as the wrong way to go about it, since it would probably be better to modify anything which would be affected by pausing to be dependant upon the global timer without adding an extra flag - I also couldn't really figure out what the current freeze function does, exactly.

 

The point is that it would probably be extremely helpful if there were some kind of list of work that needs to be done, including some idea of what direction to work in - something a little more specific than 'implement pausing' or 'make attacking work'. This would provide more of a gentle introduction into the current code, and the development methodology - how you want it to be designed and written.

 

Is something like this ever likely to exist, or is it simply infeasible?

Link to comment
I've been thinking about ways to increase activity on GemRB, so here's the difficulty I've been having.

 

Some problems are simply bugs where it's obvious what needs to be done (if not how to do it :p), but more of what's needed is feature additions or enhancements.

 

For example, I was looking at how to implement pausing a while back. In order to do this, I had a look at things which depend on the global timer, and (just to see how it would work) added a flag to set the game as paused, which is then checked from a number of places.

 

Though it seemed to be working okay, this strikes me as the wrong way to go about it,  since it would probably be better to modify anything which would be affected by pausing to be dependant upon the global timer without adding an extra flag - I also couldn't really figure out what the current freeze function does, exactly.

 

The point is that it would probably be extremely helpful if there were some kind of list of work that needs to be done, including some idea of what direction to work in - something a little more specific than 'implement pausing' or 'make attacking work'. This would provide more of a gentle introduction into the current code, and the development methodology - how you want it to be designed and written.

 

Is something like this ever likely to exist, or is it simply infeasible?

Most things that could be paused should depend on the global timer, and the pause flag should be checked by the global timer tick function, you cannot avoid the 'paused' flag.

Actually i think it is even saved in some engine versions.

All other stuff might either check if the flag is set (if that is convenient), or simply be triggered when the timer reached a point.

 

Right now, I try to implement the wallgroups. Which is on the TODO list.

I agreee the TODO is quite vague sometimes, but if it would be more exact, it wouldn't be needed.

Actually, i think the 'implement pausing' is a good and straightforward directive.

Also a good and straightforward directive would be: implement streaming ambients, also on the TODO list :)

'make attacking work' should be broken into smaller pieces (and some of it already works).

The to hit stuff should be implemented in a way that 2nd/3rd ed. rules could be added without hardcoding anything. Python script callback is allowed.

Link to comment

The current freeze flag actually works the same way, but it ISN'T the pause flag.

The freeze flag pauses everything the pause flag should freeze, but it does during dialogs and probably movies/textscreen (the latter two isn't implemented, and may not be needed).

The only difference is that the pause flag could be undone by the player via the pause key (space, etc).

Link to comment
The current freeze flag actually works the same way, but it ISN'T the pause flag.

The freeze flag pauses everything the pause flag should freeze, but it does during dialogs and probably movies/textscreen (the latter two isn't implemented, and may not be needed).

The only difference is that the pause flag could be undone by the player via the pause key (space, etc).

I need to look at timers in rather more depth since I found their usage a little difficult to follow, unfortunately term's now started and I'm going to have rather less free time if I want to actually get a degree :p.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...