Last semester we had a course called Systems Programming, we had to program an audio streamer in the programming language C. This made me realize a couple of things regarding the space shooter project. Which is still without a name, but that will change soon.
The first thing is a simple one: I’m happier about a program when the code is clean. You may question why? The goal of programming is a program and why should it matter how the source code looks like? Well I don’t really know the answer to that. Maybe the next epiphany contains part of the answer.
I also realized that when I have a clear image of the solution, the code is easily and quickly written. While the times that I didn’t really know whether I was working towards the right solution my code was ugly and it took me longer to produce it. Every programming teacher will tell you that the first lesson, so I knew it but hadn’t encountered it myself in this way. The cause for that, I believe, is that we didn’t have much support during this assignment and only the goal was given. While in previous courses we got more support and if we made a wrong design decision they told us. So we basically knew we were heading in the right direction.
Now you may ask: what has this to do with the space shooter? Well I’m not progressing as fast as I want to. This is caused by a couple of things:
The project is way bigger than anything I have ever programmed. It is not about one solution to a well-defined problem, so I can’t work towards that none existing solution. A way to handle this is to create sub-problems, and then making solution for these. But there I encountered the next problem, which sub-problem should I tackle first? Well as you can imagine this isn’t easy to figure out and you have to do this every time you’re done with one of the sub-problems.
The game is completely simulation based. This is not really a problem, but causes many of them. That is because the simulation is a part of the complete application and those components need to interact with each other. The application needs the information from the simulation to draw it on the screen, the simulation needs information from rest of the application so it can for example handle user input.
While these problems do slow the project down, it is still being worked on. This is however also the reason why updates on this project have been scarce the last few months. But now that we have another project there will be more posts on the site. So there will be enough to keep you busy.
Yours,
The Gobblers