Original Post
I am going to be working on a 2D game engine that will be geared towards a top-down RPG style of game. Ideally, I would like to abstract as much as possible to create less dependencies. I have a few different options as to where to place common RPG attributes such as HP, MP, Strength, Intelligence, Dexterity, etc, each of which has its advantages and disadvantages: * Place it in the engine itself Advantages: Reusable behavior, less work for game/script programmer Disadvantages: Largest dependencies, attributes hard-coded into behavior * Place it in the game code that is using the engine Advantages: Reduces dependencies, engine can be reused for other games Disadvantages: Not sure if it is possible to create a cohesive RPG engine with such a large part of it removed * Place it in game scripts, and access them in script via events such as OnHit, OnTouch, etc. Advantages: Allows the most customization, very little dependencies Disadvantages: Lots of work for the game/script programmer, slower, having to "re-invent the wheel" for each script Any thoughts or references? Thanks in advance.