Thoughts on Game Programming

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

Happy New Year

Hello everyone,

We here at Gobble Studios would like to wish you all a happy new year. We hope 2011 will be a good one for you and hope to welcome you back soon on this humble page.

You can of course expect more updates on our ongoing projects and other developments around Gobble Studios.

Yours,

The Gobblers

With Renewed Energy

Hi everyone, After having let everyone in the dark about our projects, I hereby promise you, that there will be an update in the next few days to shed some light on our doings in the last few months and in the future.

Stay tuned, The Gobblers

Update on Space Shooter

We’ve made a lot of progress since the last time we updated you about the space shooter, so we made a new videos that demonstrates the functions we already implemented. The game doesn’t seem smooth but that is the fault of the capturing software. Now some explanation of the things you see. The first thing you see is the menu, it is not finished yet but you can see the clean style we use. The second thing is the ship selection you can see how it will work, at this time it is actually the same ship, but we haven’t created others. Then the real work begins: the actual gameplay. The two things that are most important to notice are: the gravity and the size changing when the bullets hit. The gravity is best visible when the bullets miss their target but bend around it, it is real simulation not programmed. We’re still very early in development, but progress is steady and we’ll keep working on the project.

Keep synchronized: Windows Live Sync

As we have to work in groups quite often at our University course as well as for Gobble Studios we needed a tool that would make it possible for us to keep the files of our project synchronized. We need to make sure that every time we are working on our files we have the newest version and that after we are finished the adaptations should be send to all of the members working on the project.

At one point we were working on a project for a University course and the dreadful problem of working on different versions of the files by accident occurred. We set out to find some kind of way to keep this from happening. We thought of using online storage but thought this would be too much trouble. Furthermore the possibility of us working on old versions would still be there. After some searching we found a pretty nice application developed by Microsoft.

Windows Live Sync

This program is installed on every machine you want to sync with your folder. On the website you can the specify a new folder and choose which folder on your PC will be synchronized. You can invite other group members to your shared folder. To sync a folder the members each need to specify a folder on their machine. The program installed requires you to sign in with your Windows Live ID and will then keep the folders between the different machines in sync. Every user can choose to either automatically get the newest files or he can choose to get the files when he chooses to.

If you are afraid that if you are editing a file while not connected to the internet, don’t worry the program will take this into account. If for example someone else also edited the file while you were not connected, and then you do connect, both files will be kept (the Windows Live ID of the owner is placed in the name).

The thing you should probably keep in mind though is that if you are both working on the project make sure that you don’t work on the same files. Not only will it conflict in your work but you can’t be sure which version will be saved eventually. Therefore you should always communicate what you are working on to your project members. Not only will this help with your development but it will also make your communication run more smoothly.

The current version of Windows Live Sync is soon to be replaced by a newer version which will enable you to save file on your Sky Drive online storage. For more information and a beta version of the new Windows Live Sync we refer you to this post.