Pieter Germishuys

Game Architecture and Development

It's always fascinated me... I have blogged about it in the past and will start blogging about it again in the following days to come. I always find it interesting when I sit down to develop a small game, how I am going to set things aside and plug them into place. I've always had a very flat approach to Game Engine Architecture. The Engines (as I like to call them) in a single layer. I am going to try and dig up the Game Architecture Class Diagram that I have lying somewhere and post it.

But the basic idea was ...

- Top Layer -         [World / Game Object Manager]
- Middle Layer -     [Rendering Engine][Physics Engine][Input Engine][Other Engines]
- Lower Layer -         [Direct3D][OpenGL]

This is not complete but just gives you the basic idea of what the class diagram looks like.

Posted by pieterg | with no comments

SubSonic – All your database are belong to them

For quite some time now I have been using SubSonic. It's such an awesome tool and I suggest those who have not tried it, to just have a look at it J. It's easy to setup.

Posted by pieterg | with no comments

Proper variable naming...

I know recently Pieter had a couple of very good and nice to read posts on code. I recently had the privilege of having a look at another Developer's code and although the code was very good, the readability was horrid.

I cannot stress the importance of helping other developers when you are writing code. The main purpose is not for you, but also for another developer who might have to change or add to your code.

e.g.
DataSet dsCon = new DataSet();
DataSet connectionsDataSet = new DataSet();

Posted by pieterg | with no comments

Blogging from Windows Live Writer 2009

I have finally gotten back to the just of things. I have settled in my new job at Interactive Solutions as a Senior .NET Developer.
I have also been recently appointed as the Afrigraph Industry Liason.

There is a new game development competition running which is at Boring Games Are Dead. I encourage all budding game developers to hop on over and check it out!

Posted by pieterg | with no comments

The Super Caption Application - a Silverlight / Facebook Application


Add the super caption application if you have a facebook account.
I would really like your feedback on it.

The designer is built using Silverlight 2.0 Beta 1.
The Super Caption application was built by Intervate Solutions.

Thanks alot!

Posted by pieterg | 2 comment(s)

XNA/DirectX at NMMU (29th April) and Rhodes University (30th April)

I will be giving 2 talks on XNA /DirectX at NMMU and Rhodes in Port Elizabeth. I am extremely excited and speaking to these students and faculty is really something I like to do.

The talks will introduce the students to XNA and how easy it is to build games using XNA Game Studio. I will post the slides and the code samples once I have done the talks.
 

Posted by pieterg | 3 comment(s)

DirectX MVP 2008

This would not have been possible if it wasn't for the people in the community.

Thank you to everyone, SADeveloper.NET, Gamedev.net and the XNA community over at http://creators.xna.com/. These are the communities that have made this possible! Thank you!

If you would like me to come and present a session on XNA or Game Development concepts, please don't hesitate to contact me!


Thank you once again to everyone! 

Posted by pieterg | 7 comment(s)

What an awesome company

I recently moved to Intervate and I cannot be happier. The people here are extremely intelligent and all have good people skills. I am currently doing research on Silverlight and it's really going well. It's a lot of fun too!

The company is extremely supportive of my extra curricular activities such as my involvement with the XNA community and my MVP efforts.
Thank you Intervate!
 

Posted by pieterg | with no comments
Filed under:

Intervate's Robit - What is it?

 

"Hey! Do I look like a tool to you?? I’m not a tool, I’m an ASSISTANT! Get it?

I represent the future of human-computer interaction. Let’s face it, you’re only human, and you have no idea how computers actually work. Me on the other hand, I live in one! I interface with other systems on a daily basis! In fact, I eat APIs for breakfast!

Go ahead, ask me something! I’m here to assist. I don’t have any buttons so you can’t click me. If you need something, just talk to me! You can reach me via Instant Messenger, SMS or email. I also keep a small WebPart on Sharepoint where you can find me.

Right now, I’m pretty new, so don’t expect miracles! I can help you apply for leave, search for contacts in Active Directory, submit timesheets, get news headlines and you can also teach me things so that if anyone asks me something I don’t know, I’ll be able to answer.

I’m also upgradeable, so you can feed me some .NET assemblies and I will absorb their functions and let you tap into them!"

This is a framework that our Research Lab has developed that allows a new level of interaction with our computers.
For example, everybody knows how boring it is to complete timesheets, with this framework you are able to develop a function for the bot to consume that will allow you to say something like:
You : "Hey Robit, I would like to book some time in my timesheet"
Robit : "Sure, give me details about the timesheet entry such as hours worked, project worked on and if it's billable or not"
You : "8 hours, Project Northwind, not billable"
Robit : "Booked, thank you"

How cool is that? This can be done through a series of communication channels, and communication channels can be added. Some of the communication channels include SMS, Messenger and email.

It really wouldn't feel like work anymore, it would feel like you are communicating to a person, but with instant results.

 

Stay tuned for more!
 

 

Posted by pieterg | 12 comment(s)
Filed under: ,

XNA Game Development - Prototype Class Diagram

So, what I did in the last 2 days was took a step back to prototype the game we as a community is going to build.
I want to get your feedback as the community so that we can fine tune the following class design.

Let's get going, post your comments and suggestions! Times like this I wish I could launch a discussion board right underneath my blog post.
Here is a thumbnail of the Class Design for Xilath2.0 which we are going to build from XNA 2.0.


Posted by pieterg | 31 comment(s)

Game Development 101 - Some Progress

So, the game development diary continues.

So last night I sat and thought, wouldn't it be cool to start from the ground up, basically that means, building a console system so that we can actually at runtime create objects and log errors to the console etc...

A console is a little platform for interacting with your game. So this is what I have so far as structure of the game

Xilath.Debug (This is the game but used for debugging right now)
Xilath.Utilities (This will include little utilities that will help us along the way)
Xilath.Objects (Includes terrain and the other renderable objects I mentioned in my previous post)
Xilath.GUI (Heh, this will contain components such as the HUD (Heads Up Display) and controls that are found in windows such as text boxes and combo boxes)

So with the Xilath.GUI.Console, we have a Texture that will be used to represent the container that is the Console. This texture can be any texture you want, give it a nice alpha or manipulate it at runtime. Then we need a font.

Ziggy has an awesome FontRenderer so get it here

I will post the code later tonight, stay tuned. But for now, have fun and see what you can come up with.

If you would like to post any comments, please do so here, if you have any screenshots, i'd love to see them too!

Posted by pieterg | with no comments
Filed under:

Game Development 101 - The Start

So, the start of the diary begins.
I decided to start off by just prototyping and just getting the general feel of the game going. So... what are we going to do?
The best way for is to always get something on the screen first.

Here is what I did last night.

First I created a solution and properly decided what I was going to do, the game will be a simple strategy game, but with some nice twists which will become clearer as we move on.

Next, I kinda got some of the classes going, we don't really need to abstract anything yet, maybe we can raise the abstraction level later. For now I just have the following objects.

Terrain
We need a terrain for our tanks and soldiers to walk on, so a terrain object was necessary.
Soldier, Tank
We need soldiers and tanks that will walk on our terrain, this goes for us and the enemy player.
Skybox
We need to create a world and this is what the Skybox will be, some people prefer a skysphere, but we will just use a box and this will contain our atmosphere (we need to breath) :)
Input
We need some way to control our players don't we?
GUI
We cannot live without this, we need to be able to give commands to the players by clicking on a command and ordering our troops to get going with whatever command we gave it.

Right now the objects contains no code other than the definition of the class. Tonight we will take things from the top down and get going with implementing terrain.
Stay tuned!

Posted by pieterg | 5 comment(s)
Filed under:

Game Development 101 - The Series on XNA-GSE

So, after a series of discussions with community members, it seems that I will be doing a series on XNA-GSE. I am starting tonight and will blog my progress as I continue. Think of it as a game developer blog. I am thinking of creating a cute and fun game to play.

The game won't be intense with physics but I think it will be an awesome adventure and the game will evolve as you guys (the community) add your comments. I want you to interact with me and tell me what you want to see.

The plan is to start tonight and blog my progress as well as the tools I am going to use and so on.

Currently, I am going to use C# Express and XNA-GSE, there will be a physics library used but we will see later what that entails.

Stay tuned... :)
 

Posted by pieterg | 5 comment(s)
Filed under:

TechEd Africa 2007 - Meeting and Spending some time in the community lounge

I just have to start off by saying, what an awesome crowd. I have the pleasure of meeting Willie (SADeveloper.NET Lead - Durban) and Craig (SADeveloper.NET Lead - Gauteng). What an awesome bunch of people. I decided to spend my time at TechEd in the community lounge and interacting with the people.

It was great to see the enthusiasm around the communities and how well the lounge was used. Great job guys!

For all of those who came to my What is XNA - GSE session, thank you very much. You were a great crowd and I hope you enjoyed it as much as I did.

Posted by pieterg | 2 comment(s)
Filed under:

Silverlight Controls

As Silverlight currently doesn't ship with controls apart from the controls contained inside the Silverlight 1.1 Alpha SDK,  it makes it somewhat tedious to develop UIs. I came across this awesome set of controls from Netika.

I would definitely urge any Silverlighters to take a look.

Posted by pieterg | 3 comment(s)
Filed under:
More Posts Next page »