GSoC Engine resource abstraction: Difference between revisions
From Spring
Jump to navigationJump to search
Brain damage (talk | contribs) standardized requirements |
Brain damage (talk | contribs) No edit summary |
||
| Line 4: | Line 4: | ||
So game designers can reuse engine resource system and avoid all weird behaviours caused by the hardcoded assumptions all over the place. | So game designers can reuse engine resource system and avoid all weird behaviours caused by the hardcoded assumptions all over the place. | ||
== | == What == | ||
The Spring engine has its roots in being a Total Annihilation clone. While this intent has been dropped quite some time ago, the TA resource system is largely present in the codebase being hardcoded in a lot of critical places. | The Spring engine has its roots in being a Total Annihilation clone. While this intent has been dropped quite some time ago, the TA resource system is largely present in the codebase being hardcoded in a lot of critical places. | ||
| Line 17: | Line 17: | ||
== Difficulty == | == Difficulty == | ||
Estimated: medium to hard | Estimated: medium to hard | ||
== Technical details == | |||
* The new system should completely supersede the current | * The new system should completely supersede the current | ||
Revision as of 16:13, 12 March 2010
GSoC idea: Engine level abstraction of resources
Why
So game designers can reuse engine resource system and avoid all weird behaviours caused by the hardcoded assumptions all over the place.
What
The Spring engine has its roots in being a Total Annihilation clone. While this intent has been dropped quite some time ago, the TA resource system is largely present in the codebase being hardcoded in a lot of critical places.
The old system needs to be replaced, the new one should be flexible enough to reproduce everything that the old system did and be able to imitate the behaviour of most common RTS game titles.
The engine's Lua API to fetch resources will have to be adapted to the new system and new calls will have to be added to modify its state.
Required skills
- Knowledge of C++
- Knowledge of Lua/C API bindings
Difficulty
Estimated: medium to hard
Technical details
- The new system should completely supersede the current
- Sync check should be adapted to hash the new resource system
- Hardcoded assumptions such as cost-based targeting should be removed completely