I would like to announce that my new web development site is online. It can be found at http://www.madcowcoder.com. I am sorry to say that the new location for my blog is not online yet.
I have never been much of a writer.
Posted in Uncategorized on December 10, 2009 by AengusMy new websites are currently in the content writing stage. Sadly I am not much of a writer so this stage is proving to be far more annoying than coding any of the html, css, php or javascript that has gone into it. I have gotten about half of the writing done so far but I am considering publishing the website before the pages are completely filled and than just making revisions as time goes on.
I recently got the book Game Engine Architecture by Jason Gregory and it has been pretty good. Unlike Game Coding Complete it doesn’t go over the creation of a full game engine, instead it focuses more on the different ways of doing the different parts of a game engine with a couple code examples from some game/rendering engines out there like Quake game engine, the Uncharted game engine, Unreal game engine, and Ogre3d. Over all this is a good read and if you have been wanting a new book but don’t know what to buy definitely consider this one.
BTW sorry I haven’t posted in a while. Like I said, I’m not much of a writer and I was having a hard time deciding what to write about.
New websites in the works.
Posted in Uncategorized on November 22, 2009 by AengusFor this weeks(very short) post, I would just like to announce that I am currently working on two websites. One is a new location for my blog so I don’t need to continue hosting on wordpress.com, and the second is going to be a website for the new web development company I am want to start. Expect these sites to be online in the next couple months. I am thinking of hosting on Bluehost or Fatcow, any recommendations?
Starting a Game Design Document in Microsoft Word
Posted in Video Games with tags GDD on November 14, 2009 by AengusI believe I mentioned in my last post that a couple weeks ago I started a GDD so today I have decided to write a bit about how I would recommend starting one in Microsoft Word.
Step #1 Creating a GDD directory.
Step 1 is pretty simple, all you need to do to start off is create a folder to hold all of the separate documents that make up the GDD. Just create a folder in the Documents directory (or anywhere else you want) and name it something like [Game Name] GDD.
Step #2 Creating a Template.
I would recommend that you start off by creating a template so that all of your documents share a similar structure. I personally like to create a three page template, a snazzy title page, a table of contents, and a blank page that to actually start off the document when using the template.
So open up Microsoft Word and Document1 will automatically be created. Then go to the insert tab and select Cover Page and select whichever one you want, I chose the Mod design. Insert a second blank page by going to Insert->Blank Page. At this point you should be able to zoom out using the bar in the bottom right and see a title page and two blank pages. Select the first blank page and go to the References tab and select Table of Contents and select which version you want, I chose the Automatic Table 2. Go to the Home tab and select change styles and choose a setting for each of the three options, I chose the Fancy style set and the Civic colors and fonts. You may also want to add in some text in the title page fields. At this point in the process your document should be similar to this:
Now go to Save As->Word Template and save it under a name like [Game Name] GDD Template or something like that. You don’t need to store this in the GDD folder you created so use the default location.
Step #3 Using the template.
Now we are going to use the template to create the first pages of the GDD. While in Word go to New, select the My Templates tab on the left side of the window, select the template that you just created and press OK. In the field that says [Type in the document title] just enter in [Game Name]. After filling in that field if you click save as it will automatically name it the same as your document title. So go to save as and save it under the folder you created for the GDD. Now you can start filling in the document.
This document will be a top level overview of the game. It will be a way to get a quick overview of what the game is about, some of the game mechanics, quick overview of how the world would look, etc. It will also be a way to get easy access to the other documents in the GDD through hyperlinks in each of the subsections. I believe that this structure will make it much easier for the development team to find the information they need.
Now for a little bit about how the document will be structured content wise. My recommendation is in the primary document to create four or five sections(using the Heading 1 text style) and some of these sections will have a bullet list of subsections(use Heading 2 or 3) that have a quick one or two sentence summary and links to another document for more information(these other documents should also be stored in the GDD folder and created with the same template). There should be an Introduction section that just gives a quick briefing of what the game is all about, this wouldn’t have any subsections, a Game Mechanics section with a bullet list of subsections for each of the primary game mechanics(aka. tradeskills, combat, leveling, etc..), one or more sections about the World, Population, Lore and Environment, a Bibles section with links to all of the different needed Game Bibles(story bible, character bible, item bible, asset bible, etc…) and then possibly a technologies section if you have any software or hardware requirements or ideas.
Try and make this first document relatively short. This needs to be more of a pitch document than anything else, a reader should be able to read this and get a good idea of what the game is all about without being bogged down with everything else. But along with that make sure that the development team can also load up this document and have easy access to the other documents of the GDD so they don’t need to try to hard to find the info they need.
I hope that this article will help somebody who has been interested in making a GDD, if anyone wants me to extend this article or elaborate on anything I have said please comment and I will start try and satisfy your questions.
I’m still alive.
Posted in Uncategorized on November 6, 2009 by AengusHey just letting all you readers out there know that I apologize for not updating in a while. After my last post I had sort of started losing motivation about actually developing my Game Engine (I am definitely better about researching stuff than not doing anything about it : p) and writing on the blog but from here on out I will try and remember to post something every week even if it is just about the fact that I have been having a blank as to what to do. : )
Quite a bit has been happening in my life lately. My birthday was a little while after my last post, I started doing a martial art called KaJuKenBo(Karate-Judo/Jujitsu-Kenpo-Boxing), I became a lighting design apprentice with a teen acting program in my area, I almost completely lost interest in OS design : p, Unity indie became free and I got that, I started a MMO GDD,I developed an interest in mmo architecture and started looking into web server software like Glassfish or Tomcat, I just had an amazing Halloween and I am annoyed because day-after-tomorrow I have to take the SAT : (. pant pant pant
Like I said I will try and keep everyone better posted from here on out and after I dig a little deeper into mmo architecture and web servers I will try and make a tutorial on using a web server with Unity.
Guide to starting a game engine. Part 2.
Posted in Game Engine on August 1, 2009 by AengusWelcome back to my series of posts on starting a game engine. In part 2 i will go over setting up a visual studio solution with a dll engine project and a console application for Unit Tests.
First of all I am using UnitTest++ for my unit testing framework. So you can get that here(along with a tutorial to get you started), or you can try to port the guide to the framework of your choosing, or you can skip unit testing all together and just make the console application run like a normal app. Unzip UnitTest++ to the directory of your choosing, load up the build solution, and build it. In the UnitTest++ debug directory there should now be a file called UnitTest++.vsnet2005.lib.
Step 1. Now that that is done you can create the projects. Create an empty dll project(this will be the engine so name it correctly) and select create directory for solution. To the same solution add a empty console application(for either the unit tests or just as a test game). Open up the directory where the dll project is located. Add three folders: src, include, and lib. Open the directory where the console application is located. Add a src and an include folder. Now open visual studio again and to the dll project add EngineRoot.cpp and EngineRoot.h(make sure that you add the .cpp to the src folder and the .h to the include folder). To the console app add either Tests.h/.cpp or Main.h/.cpp(same as before with the folders).
If this will be a Unit Test project also add a 3rd_party folder in the console application directory alongside src and include, to that 3rd_party folder add a include and lib folder. Now go to the location where you built UnitTest++ and copy the .lib file from the Debug folder to the 3rd_party lib folder, now copy the entire contents of the UnitTest++ src directory the the 3rd_party include folder.
Step 2. Time to setup both projects settings. First to setup the dll project settings. In Configuration Properties->General set both Output Directory and Intermediate Directory to _Debug for the debug build and _Release for the release build. In Configuration Properties->C/C++->General add include\ to Additional Include Directories. Under Linker->General set Output File to ..\_Build\$(OutDir)\$(ProjectName).dll.
Now time to setup the console application. To start right click on the console app and select Set as Startup project, then go into the console app properties. Under Common Properties->Framework and References press Add New Reference and select the dll project. In Configuration Properties->General set both Output Directory and Intermediate Directory to _Debug for the debug build and _Release for the release build. In Configuration Properties->Debugging set the Environment to PATH=..\_Build\$(OutDir) . Next you will need to go into C/C++->General and under Additional Include Directories add ..\(dll project name)\include;3rd_party\include. Then under Linker->General change Output File to ..\_Build\$(OutDir)\$(ProjectName).exe and Additional Library Directories to 3rd_party\lib. Don’t worry almost finished, now you need to go into Linker->Input and under Additional Dependencies add UnitTest++.vsnet2005.lib. Lastly you will want these tests to automatically run after you build so go to Build Events->Post-Build Event and under Command Line enter $(TargetPath) and under Description enter in a description like Running Unit Tests…
Step 3. Now you should probably test everything out with some prerequisite code. Open up EngineRoot.h and enter in the following code(or equivilant):
#ifndef ENGINE_ROOT_H
#define ENGINE_ROOT_H
class __declspec(dllexport) EngineRoot
{
public:
bool Run(){return true;}
};
#endif
Open up EngineRoot.cpp and enter:
#include "EngineRoot.h"
And then open up Tests.cpp and enter:
#include "UnitTest++.h"
#include "EngineRoot.h"
TEST(HelloUnitTest++)
{
CHECK(true);
}
int main()
{
return UnitTest::RunAllTests();
};
If you build this it should compile and there should be output similar to this in the visual studio output window:
1>Running Unit Tests...
1>Success: 1 tests passed.
1>Test time: 0.00 seconds.
If there are any problems just post a comment and i will try and help.
Thanks for visiting my blog and i hope you are enjoying my guide to starting a game engine. Please give feedback and come again.
New guide to getting started on a game engine.
Posted in Game Engine on July 27, 2009 by AengusI am starting a guide to making a game engine. Please feel free to check it out and comment on the article here.
Long Time Overdue Post
Posted in Game Engine on July 24, 2009 by Robert
This image has been sitting on my hard drive for a while now. It’s the Blender monkey drawn from a mesh file. I worked on it so that we have something showing on the screen.
For the next couple of weeks, I’ll work on the scene graph. It’s a subject that interests me a lot so I’m very excited about it.
Multi project acquisition syndrom.
Posted in OS Development on July 6, 2009 by AengusHas anyone ever had a major problem sticking to a single project? On my recent vacation to California i was bored and wasn’t able to do any developing. But I did have access to the internet every now and then. Because of this combination about a week into the vacation i was bored and decided to check out Operating System development. I started doing some research and was hooked. So basically what i am saying is, expect to see both posts about the game engine as well as my ventures into OS Development and Assembly language from here on out.
Guess who’s back.
Posted in Personal on June 30, 2009 by AengusMy vacation is over. After three long weeks of climbing, hiking, camping, hotels and a awesome day at Great America i am finally home. I plan to try to make up for the lost weeks of posts(bows to you and begs for forgivenis for leaving my poor readers hungry) by going over any of my recent decisions and development updates over the next few days.