Jump to content
  • Advertisement
  • entries
  • comments
  • views

Exploring Software Architecture

Sign in to follow this  
Trapper Zoid


I've moved back into software architecture design for a bit. I have spent some time running through some requirements for my Diagonal game system. The code I have for Ice Slider was okay to begin with, but after some aimless feature adding it turned into what I believe is termed a "big ball of mud". This time round I am going to try to focus on fleshing out the architecture to a significant degree first, and then getting to the coding. Admittedly that's the same thing I tried last time, but this time I'm going to stay on task. Well, more on task next week after daylight savings ends and I get that precious extra hour of sleep. I'm having big second thoughts on this experimental "wake up at 5 a.m. every day for the next month and see what happens" policy I've been running over the last fortnight.

I've been skimming through Jeff Plummer's master thesis, kindly provided in a post by Agony to another poster's question. In his thesis Plummer describes a data focused approach that helps with keeping all game components nicely compartimentalised and decoupled, something I really want with my system as I experiment with different plug-in libraries. Ideally I want to be able to chop and change with third party libraries to deal with all the dirty work for me, but not have to put too much effort into rewriting code if I need to make a change.

My present strategy is to store all the game related data in structures that are totally independent of the hardware and third-party code, and use an interface between these and the extra library modules to run the game. At the moment though I have not thought of the best way I can store this data and more importantly access it in a fashion that is friendly to all the extra systems I want to throw at it. I like message passing systems and plan to implement one for things like the user interface, control and audio systems, but I don't know if such a level of indirection will be efficient enough for more data hungry systems such as graphics and AI.

I've tried searching around on the forums, but I think I'm not using the right terminology. Every time I try searching for anything it seems my own journal fills up half of the top ten results, which irritates me to no end.

I'm going to thrash out this problem a bit more until the end of the week with the help of a few on-line and off-line resources, and then see if I can pose an intelligent question to the forums. I'm sure there's a bunch of software engineering examples out there if I just knew what to look for.
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!