Free Sky: Objects in Space
This is a part of "Free Sky: Objects in Space".
Series contents:
For a comprehensive RPG like Free Sky, we’re going to need a good object system. This system should be no more complicated than necessary, allowing for easy design of game objects and quick overhauls when the game design changes. This mini-series will be a quick sketch of my thoughts toward this end.
Some principles, before I get started:
- Enable data-driven object construction
- Build persistence in at a fundamental level
- Favor flat tagging over hierarchical categorization for metadata
- Favor composition over inheritance
- Favor interfaces and duck-typing over static typing
- Test everything.
I spent a good year prototyping an object system that matched all these requirements. Because I spent a good amount of that time learning as I went, that system became large, unwieldly and brittle to any further changes. I am now attempting to rewrite the system using what I’ve learned.
In this mini-series, I’ll take each of the above principles and explain how it applies to my new design. I’ll also highlight some of the useful Python packages that I’ve discovered, and techniques that I’ve learned, that will make this system possible.
Possibly related:
![[del.icio.us]](http://newstalk.eykd.net/wp-content/plugins/bookmarkify/delicious.png)
![[Digg]](http://newstalk.eykd.net/wp-content/plugins/bookmarkify/digg.png)
![[Reddit]](http://newstalk.eykd.net/wp-content/plugins/bookmarkify/reddit.png)
![[StumbleUpon]](http://newstalk.eykd.net/wp-content/plugins/bookmarkify/stumbleupon.png)
![[Email]](http://newstalk.eykd.net/wp-content/plugins/bookmarkify/email.png)
