I really wish I had a pretty picture but I don’t. Sadly it’s a problem with grunt coding tasks is there is very little pretty to show for it. In fact most of my work today has been in the Content Pipeline which runs at build time. So its not even runtime code.
XML Data
The XNB system in XNA is great but I had a few hiccups with it. I still don’t think I’m using it in the best way possible. However after ripping up tons of pages of notes I’ve gone with the best solution I can currently think of which no doubt has loads of problems, besides some of the ones I’m already seeing.
Model View Controller
Soooo sooo easy to be a naughty coder. However as this is an academic project and I can be slightly OCD even with production code I’m following it as MUCH as I can. The controller is slightly too coupled to the state which it controls but de-coupling is more messy.
Always always realise the so called “rules” of software engineering are generalisations and guidelines. You should never break a rule without first understanding it. They need to be flexible and you need to be flexible because the key factor which makes someone an engineer is a way of thinking, analytical problem solving.
A decent education in engineering is mostly about how to think. The tools you use are easily learnt but it’s the process and thought model which is hardest. I think that’s why you see so many true engineers have cross disciplines.
Tomorrow’s Tasks
Well now that a lot of grunt work is in place. The goal for tomorrow is to have the following working.
- Tree Prop - Loaded from Data, Go through full life cycle and interaction
- Oven Prop - Loaded from Data, Go through full life cycle and interaction
Bigger than it sounds :)