Icefall / October 31, 2009

Controlling Gamestate

Virtually all programs have this, a central ‘game’ loop that grabs user input, updates game logic, redraws the screen. At it’s simplest possible level, it usually looks something like this: repeat Input; Update; Redraw; until Quit; The problem mainly comes in that middle section, Update. For any game, there are a variety of different states

Read More
Code / October 30, 2009

OOP Part 3: Composition

Last time, we looked at the inheritance style of object-oriented programming in detail. Now let’s look at the alternative: composition. We’ll use another example from Icefall to illustrate the differences. Icefall has a central ‘world view’ that shows the player and their immediate surroundings (items, monsters, terrain, etc). The world view also shows animations (e.g.

Read More
Amusing / October 29, 2009

Sorry, You’re Not Jade Baxter

This is all too common. You’ve developed some minor tool to meet a specific purpose, whether it’s a batch file, JavaScript, Visual Basic macro, whatever. You know other people around the office will use your tool, but it’s not worth the investment in handling real error cases or writing proper documentation. Instead, you just throw

Read More
Icefall / October 28, 2009

OOP Part 2: Inheritance

Last time, we talked about two different approaches to designing objects for a game or application: Inheritance and Composition. It’s time to look at the pros and cons in more detail. Let’s start with inheritance. Inheritance When learning OOP, inheritance is what you learn! Create a common, generic ancestor-type class, and create new classes for

Read More
Amusing / October 27, 2009

Windows 7 compatibility

I’m working on the follow up to my Object-Oriented Programming post, but in the meantime I had to share this: I tested Icefall on Windows 7 for the first time today (having developed & tested exclusively on Windows XP SP 3 up until now). It worked perfectly, in fact it ran a little more smoothly

Read More
Code / October 26, 2009

Object-oriented programming

Like almost everything else these days, Icefall is designed around object-oriented programming (OOP) principles. Specifically, Icefall uses Classes instead of objects, although the difference is not relevant for this discussion. At any given time, the game will be operating dozens of different classes and hundreds of instances of those classes, with the majority of them

Read More
Icefall / October 24, 2009

Real-time, or turn-based?

The next step in Icefall’s development was to decide whether to make the game realtime (like Diablo, Titan Quest, World of Warcraft…) or turn-based (Angband, Nethack, Ultima 1..5). This is probably the biggest decision for a role-playing game, as it dictates the entire gameplay, as well as the UI, multiplayer, everything. Initially, I looked at

Read More
Icefall / October 17, 2009

About Icefall

I am currently working on a new role playing game called Icefall, and to help maintain clear thinking, correct decisions, etc etc etc, I’ve decided to document the development journey on this website as a blog. That way, once Icefall is released and becomes hugely popular (:D), I will have a solid record of how

Read More
Uncategorized / October 16, 2009

New Look for Web site!

Paradice Software website makeover To cope with the huge expected demand for information about Icefall (hahaha), I thought it was about time I updated the website, as the old one was created in Notepad using handcrafted HTML over ten years ago, and it hasn’t aged well! I am slowly working around to migrating the site

Read More