Free Game Downloads -- Sodaware.net

Free Game Downloads -- Role Playing Games, Puzzle Games and Action Games.

Browsing Date Archive: 2006 July

25 Jul, 2006

What’s going down…

As many of you will know, hot weather and software development do not go together. The last few weeks have seen temperatures in Britain hit the high 90s, which wouldn’t be so bad if I had air conditioning. Suffice to say, my productivity hasn’t been as high as I’d like it. Still, at least I have a mild sun-tan.

Here’s what’s been cooking (almost literally) over the last few weeks:

Flexible Resource System

So far this has turned out to be a huge time saver. Instead of altering code every time a new resource should be loaded, the application will scan the resource directory and load resources as required.

The current system uses XML to define which resources should be loaded. XML makes the whole system nice and flexible, and it’s easy to read and modify. Every resource used by the game can be loaded using this system, and each resource file has a namespace to avoid naming collisions.

Future improvements will add a “load on demand” system and a resource cache to help lower memory consumption.

Debugging System

Debug log preview

The standard Blitz debugging system is somewhat lacking. It does the trick if you’re running your program from the IDE, but once it’s in the wild it’s useless. Naturally, I had to write my own system.

The logging component is quite simple, uses XML for storage and XSL to make it look pretty. It’s not particularly powerful, but it’s useful for getting system information and tracking function execution times. So far it’s saved me from a few problems, and helped me to smooth down a couple of time consuming functions, so it’s powerful enough.

Debug Console

I created a Doom style console that allows the user to manipulate game objects using a command line. It can also display internal information that can be useful for debugging purposes. It’s the sort of component that isn’t vital, but is super handy when it’s there. Just the ability to spawn objects manually is worth the time it took to create.

An Object / Entity System

This is easily the most time consuming thing I’ve worked on, and it’s also the most complex and frustrating. It’s still not finished, but it’s usable.

The main idea is to have a “pluggable” object that will be given different behaviours. At the moment, each object is made up of States, and each State is made up of Triggers. These triggers fire “Actions” when they are activated. For example, a treasure chest would have two states (“Opened” and “Closed”). A chest with the “Closed” state would have an “onInspect” trigger, which would run several actions when the character inspected it. These actions could include giving an item to the character, as well as playing sounds, animations and changing the state of the chest to “Opened”.

BlitzPlus doesn’t support true Object Orientation, so the whole system has been a bit of a battle. I’ve been using the “Blitz Virtual Machine” to script behaviour, and it’s working nicely so far.

Some Flexible Tools

To save time, I created an automatic build script that will build resources using a simple script. At the moment it’s a series of batch files and smaller tools, but I’ve started writing a Blitz builder that’s loosely based on nAnt.

The Blitz Builder uses an XML script to build the application and its resources, and each script can have various configurations. It’s quite simple at the moment, but it’s being built in a flexible way so new commands can be added easily using plugins. It also has much better output, so the full build process can be built and timed. No prizes for guessing what file format the output logs use…

Other Bits and Pieces

Other tasks I’ve been working on include designing a nice website for the project, trying out various project management tools and cleaning up some of my code libraries so they can be released at a later date.


07 Jul, 2006

Fixing the Office 2007 error – “Document could not be registered”

As I’ve mentioned before, I’m currently running the Office 2007 beta. Recently I’ve been getting the error “The document could not be registered” every time I create a new document, change the style set and at other times.

Apparently the problem is due to the “DCOM Server Process Launcher” service not starting. I was unable to start it manually, but after setting it to start automatically I was able to repair the Office installation and get things running as normal. It also fixed a problem I was having with the MSI installer service, which had stopped me from updating Windows as well as running most installers.

Fixing the DCOM Server Process Launcher

First of all, you need to open the “Services” manager. You can do this either by selecting “run” in the start menu and typing “services.msc”, or going to “Control Panel”, then “Administrative Tools” and selecting “Services”.

You should see a window similar to the following:

Windows XP - Services Manager

Select the item named “DCOM Server Process Launcher”, right click and select “Properties”. This should bring up the following dialog:

Windows XP - Enable Services Dialog

Select “Automatic” from the “Startup type” drop down, and then select “OK”. Close the service manager, and then you’ll need to reboot.

Repairing the Office 2007 Installation

Once you’ve rebooted, you should be able to repair your Office installation. Go to the control panel, select “Add or Remove Programs” and select the entry named “Microsoft Office Professional Plus 2007 (Beta)”. Click the button called “change”, and then select “repair” from the options. This should then start the repair process. It took quite a while for me, so you might want to make a cup of tea or knit a jumper whilst you’re waiting.

Once it’s finished, it’ll ask you to reset. Once you’re reset your machine, everything should be back to normal. Phew!

Update: Jack and Mike have both found that giving the document file a shorter name can solve this problem too. Cheers!

Updated 2: Al Simon also encountered this problem, which was caused by a corrupted file. You can view his solution in the comments below.


03 Jul, 2006

My favourite WordPress plugins

One of my favourite things about WordPress is its extendibility. It’s very easy to add new functionality with the plugin system, and it makes for a really powerful application. Here are a few of my favourite WordPress plugins:

  • Akismet – If it wasn’t for Akismet, I would have turned comments off a long time ago. I’ve been running it on this blog for about three weeks, and it’s caught nearly 400 spam comments. That’s a lot of spam for a small blog like this, and it was a major time consumer before I installed Akismet.
  • WP-PageNavi – This manages the navigation between pages at the bottom of each page. I find it a lot easier to navigate sites that use this as opposed to the default WordPress “Next Page / Previous Page” setup.
  • Related Posts – Shows the related posts at the bottom of each page. It’s almost essential for any blog that has more than a handful of posts, as it allows readers to find a lot of older posts that may have remained hidden to them.
  • Smart Archives – Used in conjunction with “Exec-PHP”, it produces the archives I use on this blog. It’s another “must have” for anyone with more than a few posts.
  • StatTraq – Shows me where people are visiting from, and what they’re reading. It’s not particularly heavy duty, but it gives a good overview of what’s happening.

You can find plenty more plugins at http://wp-plugins.net/.


Complete Archives

 


Browse By Date

Adventures in Shareware

Welcome to "Adventures in Shareware", the blog of an indie software business known only as "Sodaware". Learn all about indie games, the people that make them and how you can improve your own indie business.

Download Free Computer Games | Site Map | Links | Contact Us

© 2005-2007 Sodaware. All rights reserved. About Us | Privacy Policy