Friday, August 29, 2003

Now KingTools seem to be in there too, which provide a handy little shortcut for using Doxygens Commenting system.
My programs, or at least the latest incarnatins work with 2003 .net.
I'm unintalling Visual Studio .net, I just hope it doesn't break my current installation.
Upgrading to .net 2003.
In some ways its good that MS has become involved in our Uni.
Currently its a good Uni that teaches strong Computer Science i.e. a lot of mathmatics no vendor specific crap.
There's also a large Unix lab and thats what our OS course is based on, I don't think increasing MS involvement will harm this, infact I think they're merely looking to do a little brain farming.

Wednesday, August 27, 2003

Trying to document the Engine class, actually the run up to the Engine class - but the names of the projects are not ordered and trawling through them is all a bit random. I have so many different projects where I may have been proving something, or trying to do something and failing, or doing something as a step to be carried on by other projects. They need to be sorted and named.

Which brings me to my Uberbase, if I created this these things probably wouldn't be a problem.

Monday, August 25, 2003
Wonder is this might fit the bill.
My Time classes are working well. They need a bit of polishing, a bit of extending but basically they're good and working. The documentation is good too, it could do with some examples but apart from that I'm happy.

The question comes what to do next?
I have part of a design doc on another system and scattered round various books.
The engine is documented on s number of random sheets of paper and notebooks but that needs to be brought togetther.
Currently everything is still simple and reasonable modular.

I think intergrating the Time and Engine into a new solution would be a good idea. Then get a globe that has more than one block. Give each block a detailed map with a number of textures. Then see how it handles the scrolling across it. Then adjust the globe and maps sizes to see how roboust it is.

So I need new tiles 32X32.
I'm not going to spruce up the Texturer and this point, all new tiles will be hardcoded in. If I see a good way to automate this I will make note of it.
Then create some setup function that will get everything moving, and allow me to experiment.
I still need to learn how to use Doxygen effectively with C# or C' internal commenting system.
I have been on the look out for tiles but I've ben having a little trouble.
I'll have a look now, then I might start arranging my documenation and start consolidating some of the Engine stuff.

Saturday, August 23, 2003

Yesterday I wrote my some of the more tricky bits of my time code and then started to document / explain it. That way I won't forget how it works for now i'm just writing a xhtml file that steps me through the code.

Friday, August 22, 2003

Tools I'm Using

C# through the IDE
DirectX 9.0 api
Notepad for design documents and the like written in xhtml
Doxygen for all my commenting needs
A blog from blogger to record my progress

Graphics and music are just stand bys until I get to a stage where I need to start making these look a little more professional.

References Used


Software Engineering For Computer Games - see book recommendations for more detail info.
Special Effects Game Programming with Direct X, despite the name this is a resonable introduction to Direct3D and I've found it quite useful.


MSDN Library DirectX - offical DirectX docs
BuffPortion - Handy information about creating a full screen DirectX app using C#
Enginuity - GameDev tutorial about creating a 3D engine from scratch, using C++
Extreme .Net Forums - slow forum about game design using the .Net framework

2D Engine using 3D API info

2D Rendering in DirectX 8 - GameDev article uses C# and an early version of DirectX but still very handy.
... I had a number of these links but it seems I've failed to save them all.
To use handy Doxygen plugin tools I need to updgrade to 2003 bah.

Thursday, August 21, 2003

Book Recommendations

Book name hyperlinks goto Amazon where you can check the reviews and whatnot.
Also note that I'm affiliated! All the links open in new windows.

I read a lot of books these are the books that I consider having something special or having a direct effect on my game programming techincal ability, the books that I want recommend / force other people to read.

Game Programming

Tricks of the Windows Game Programming Guru, this book is recommended a lot and it is good but there are drawbacks. Its not up to date, even in the second edition you'll be using DirectX one or two versions old. It only covers 2D games using the no longer supported DirectDraw library. Despite these drawbacks its full of good information, about graphics, sound, ai, networking, optimization ... its a game programming opus magnum and if you are new to game programming it is a must buy. Note that it is assumed you are able to program C\C++.

Software Engineering and Computer Games:..., garish front cover, title that mentions MFC - this sounds like an awful book. It is not awful though its a very useful book - if your looking for a book about how to program and design a game or its engine this book has the lessons. How to add a physics engine easily into a 3D world. Important OOP patterns for use in game programming. There is a lot of good stuff in here. The author uses his own frame work to take you through it and you will learn a lot. The frame work that the author creates is a little too general for most games but with the implementation details from 'Tricks of the Windows Game Programming Guru' (or the web or your own knowledge) you should have no trouble applying the lessons taught here.

Recommended Tech Reading

The Code Book: The Secret History of..., this is a very easy to read book. It introduces cryptography in a very accessible way and gives the interesting history behind its use. Even though this book is for the casual reader, it gives plenty of technical information that could be applied to your programs. It also has a very good reference section.

A New Kind of Science, hotly debated book but very interesting. It talks about creating complexity from simple rules. This has direct interest to me and i'm sure other games producers. He demonstrates much of this through cellular autonama, but the theory is not restricted to them. Despite the misgivings of experts in several fields this touches, I believe this does have some worth and brings something new to the table. For some more info there's a rather interesting article here.

Computer Graphics: Principles and Practice, this is the computer graphics text. I have no doubt it is on the shelf of the Maya, 3DSMax, Lightwave Designers shelves. It is quite technical, you need to know your maths and your computer notation but its the major reference book.

Fuzzy Thinking: The New Science of Fuzzy Logic, a great and very easy introduction in to the world of fuzzy thinking. It has a great number of applications in games. Fuzzy logic is covered a little in Tricks of the Windows Game Programming Guru but this book makes it far clearer and simple. It will help you design programs that appear more intelligent.

Godel, Escher, Bach: An Eternal Golden Braid, very much a must have book. It revolves around consciousness and how this might be produced in a computer. It mixes fields from music, maths, art, zen, ancient Greece ... it is very readable and enjoyable.

Creativity / Inspirational

The Art of Looking Sideways, much like 'Godel, Escher, Bach: An Eternal Golden Braid', this book covers a lot of topics, infact it even mentions 'Godel, Escher, Bach: An Eternal Golden Braid' a number of times. It is in no way technical but it is an indescribably wonderful book that pulls things from everywhere.

Recommended General Reading

While these may not directly give insight to computer game programming, it is beneficial to broaden your mind to other ways of thinking.

Dance, Dance, Dance, or anything by Haruki Murakami. His books feel like poems and leave you in awe.

The Unbearable Lightness of Being, a book that will effect you, has some of the dreamness quality of Murakami but greater emotional effect. How could a game ever produce these kind of feelings?

This entry is used as a reference page.
2003 (c) Daniel Schuller.

Tuesday, August 19, 2003

Got some of the Time stuff done.
My progress has been stalling slightly, attributed slightly to playing lionheart and lack of visual feedback from my project.

Friday, August 15, 2003

In my c# windows programming book I'm now on the Timer and Time. Yay! This is hat i'm about to start messing with in my game os that came together nicely.
I finally finished font, I skimmed the last part of it. It tells you how do a lot of stuff. Stuff I won't remember and stuff that I'm quite unlikely to use, but if I ever need to I know its there.

Thursday, August 14, 2003

I've gathered all my Time knowledge together in a new Solution File (the little of it there is)

Currently I need to document the tile engine but for this I need a book that gos over the commenting niggles of C#, its seems there might be something clever there. If not, them I'm going to have to work out Doxygen.

Also loosing momentum a bit. So I'm going to focus a tiny bit more on my reading and learning.

Monday, August 11, 2003

Among other things I'm currently writing out my design doc in digital ink.
Using xhtml, clean and simple. I can spruce it up later with cascading stlye sheets.
Page about links in xhtml, this will be useful later.

I've fixed my code so it works now, more than one block will require a little bit of tinkering. But for now I think I've finished this section and I'll move on to time.
I need to read some articles about it and do some console apps until I have a framework that I'm happy will be easy to work.
So close to the end stage of this part of the engine.
It crashes ... but at least it is now crashing for the right reasons.

Sunday, August 10, 2003

Some of the functions have assumptions I'm not meeting.
I wish I could remember where the assert command was hiding.

Its also so hot, even now its overcast my curtains are shut and I can feel a shean of sweat.

Wednesday, August 06, 2003

Scrolling up now wraps for globes greater than one block ( i assume not tested)

The TextureMachine is currently inelegant and needs to be refactored in later.

Tuesday, August 05, 2003

And thats the intialisation code all done!
Lack of current progress has to be blamed on Britains unsual heat wave and in no way my irreproachable self discipline.

Currently doing some of the globe classes intialisation functions, which went wrong and have now become a bit more generalized and useful.

Saturday, August 02, 2003

I've started to fix up the globe class.
Once this is done I have my base.
The magic numbers in the wrapping code, need to become a little more magically so they work correctly on the Right + Down axis.

next I will do time probably using a console output.
Then I really should test my base for extensibility and make sure its really solid.