I love taps. Turn one, and out comes fresh drinking water. Turn the other one, and out comes hot water for doing the washing up. Great stuff!
The only problem with taps is that they aren't very interactive or flexible. Great for providing water, but not much use for anything else. You don't get any control over where your water comes from, or what chemicals are added to it. Personally I'd love to have a tap that provided iced green tea instead of water, but I don't have that option.
Rivers, on the other hand, are immensely powerful and flexible. You can walk along their banks, swim in them, build houses next to them, drink from them, or use them to transport goods and irrigate fields. The possibilities are endless, but so are the risks. Rivers can be messy, dangerous, and unpredictable. They can flood and wash away your house. They can dry up and bring drought to your crops. They contain snakes, crocodiles, and nasty little parasites that will make you very ill indeed if you drink their water without proper purification.
When designing a framework like XNA, it is important to decide where you fall on the spectrum from controlled drinking water to untamed river.
We knew we wanted to make things as easy as possible, but also that we didn't want to get into the business of providing a standard game engine. Some games are just so unusual that they need to do things in a very particular, specialized way (and this sort of interesting game is exactly the sort of thing we want to see on our platform!). Also, some people enjoy the challenge of writing their own engine, and we didn't want to deprive them of that pleasure. We decided a healthy platform ought to support engine authors as well as game programmers, and should encourage many varied engines being built on top of it.
So if we aren't writing a full game engine, how are we intending to make life easier?
Our goal is to dig a canal. We pick the route. We dig the channel, and control the water supply to prevent floods. If there are mountains in the way, we blast tunnels through them. But then it is over to you guys. You build the boats. You decide whether you want to go kayaking, or on a pleasure cruise, or buy some freighters and start shipping industrial goods.
(actually that's not quite true: we will throw in a few basic boats for free to get you started)
Wow. That analogy lasted longer than I expected! My next post will be more specific, I promise 🙂