Subscribe to:

The Kiwi's TaleWitchBlasterDerelict Blow Stuff Up

Syndicate content

Simplified acceleration in games

In some genres of games (Such as FPS, Platformer etc) the player's character usually has an acceleration to it's movements. I assume that for the vast majority of games this acceleration is arbitrary, and not actually based on real world physics as this would be cumbersome and artificial.

Somewhere I stumbled upon a Blitz3D sample that I believe might be the best example of a simplified acceleration formula. In pseudo-code it might be rendered as:
 
Speed += ((MoveDirection * MaximumSpeed) - Speed) * AccelerationFactor
 
Where:
  • Speed is the current speed the entity is travelling at on the current axis.
  • MoveDirection is the direction the entity is trying to travel in on the current axis, 1 is forward, 0 is still and -1 is backwards. All values in between are allowed.
  • MaximumSpeed is a constant determining the fastest that the entity can travel on the current axis.
  • AccelerationFactor is a constant between 0 and 1 that represents the rate of acceleration and deceleration. 1 is instant, and 0 will never move.
The beauty of it is that it works equally well for travelling forwards and backwards, and acceleration is curved rather than linear. That said, it's still not perfect, for instance you can't define a specific acceleration rate.
 
Any suggestions for improvement would be gratefully appreciated.

The Kiwi's Tale in New Zealand PC World

New Zealand PC World has begun running a 'Indie game spotlight' feature, with the intention to showcase the best indie (Preferably local and freeware) games on offer.

The first game that they picked was The Kiwi's Tale, which appears on the June 2010 Coverdisk. They had this to say about the game:

"This charming 2D playformer is packed with retro style, and thanks to a (sometimes maddeningly) high difficulty level, can provide several hours of entertainment."

I'm stoked to see another one of my games grace the pages of PC World, and this is certainly a good omen for the future. I certainly need to pick up the pace if I ever want to make it as a successful indie though.

WitchBlaster PC World extended DVD review

Unfortunately (or perhaps fortunately?) I don't have any terrible unfinished games for release this week, my main project for the week was to port WitchBlaster to XNA and see if I can get it running in a browser via SilverSprite. It's about 80% of the way there.

Anyway, PC World reviews editor Harley Ogier generously gave permission to post the entire extended review that appeared only on the April 2010 coverdisc. Here it is here.

 

PC World's DVD-Exclusive Review

I grew up playing platform games and side–scrollers, shareware titles I picked up from friends on floppy disk. In those days, shareware games were generally a respectable length: far better than the half-hour demos of today (that often take half a day to download).

Witch Blaster reminds me of those days: though it consists of only four levels, I’ve already spent two or three hours flying around on a broomstick. My side–scroller skills aren’t what they used to be, and the game provides a considerable challenge.

Were Witch Blaster a full–length title, I’d criticise the difficulty level as being too high. However, the difficulty stretches out the game’s four levels by preventing you from sailing right through on your first attempt. If you’re incredibly skilled and finished the game in four minutes flat, I expect you’re an exception to the rule.

The enemies are varied and challenging, from swarms of bees to snakes with jetpacks. Jetpacks. The power–ups are worth attaining, turning your basic Fireball attack into an unstoppable 180–degree barrage of flame. There’s an element of strategy involved, as it’s easy to lose your power–ups: sometimes it’s better to cloak yourself and avoid further conflict once you’ve fully upgraded your fireballs, as they can be invaluable in the level–end boss fights. However, stop taking out enemies too early and your score is sure to suffer.

The graphics have a pixelated charm, and would look completely at home on a 386. Witch Blaster has a very professional, polished feel. While it looks antiquated, it really does look like something that you would find on an old floppy disk stuck down the back of a drawer.

If it were a shareware game, Witch Blaster would be impressive. As a game put together in 48–hours, it’s even more so. If you play one game from the PC World DVD this month, it should be this one.

— Harley Ogier

BETTER THAN: 8MB RAM
WORSE THAN: The ATI Radeon
A retro classic with a good layer of polish.

 


8.5

Achieving Inbox Zero on Gmail

The 'Inbox Zero' theory is part of the GTD task management framework (Which I have been dabbling in for the past few years).

An email inbox is effectively a collection of tasks allocated to you by other people. The tasks can generally be divided into three categories.

  1. The ones you don't need to action (eg Junk mail, newsletters)
  2. The ones you do need to action (eg Emails from friends, clients)
  3. The ones you need to archive for future reference (eg Receipts)

However, leaving all of the kinds of tasks jumbled together in the inbox, which most people do, is bad management. It's akin to leaving all of your mail piling up on the table after reading it. Each email in your inbox unnecessarily draws your attention as you know you might have to do something with it, but haven't committed to anything, and the unimportant items obscure the important ones.

Fortunately, Gmail offers some great tools for achieving Inbox Zero. This is how I manage it.

First off, go to the Google Labs section and enable the 'Send and Archive' button.

Now, process your mailbox. This should ideally be done at least once a day:
 

  1. Read the first item in your inbox.
  2. Do you really need to do anything with it? If not, delete it immediately.
  3. If you want to keep it for future reference and like using labels, label it now.
  4. If the email requires an action and you have time, do so and then click Archive (Or 'Send and Archive' if you reply).
  5. If you don't have time to do what the email requires, "Star" the email, and then click Archive.
  6. Repeat until your inbox is empty.

All done. You now have a freshly cleaned, good-as-new inbox again. The starred folder has now become a list of actions that you have committed to doing, so make sure you return to there when you have time to deal with them.

There is also an added bonus for having an empty inbox: Gmail conveniently provides a link to Google Reader in the empty space.

Tags:

WitchBlaster PC World scan

Here it is, the editor's choice winning review of Witch Blaster from New Zealand PC World, April 2010. Special thanks goes to the editors at PC World for allowing me to publish this free of charge.

Garbage Collection 3: Traffic Department 2192 remake

Time for the third game in the Garbage Collection, my aborted attempt to remake the shareware classic Traffic Department 2192.

Overview

First off, if you haven't already played the original through, don't download my remake. Instead go and download the original game at Classic Dos Games and run it through DosBox. The author has generously re-released the game under a Creative Commons license so it's all legit.

The original TD:2192 is a shoot-em-up that was released in the early 90s. Quite unusual for a game of that genre, it's main feature is a richly plotted Sci-Fi tale of revenge and redemption. While the core gameplay is mostly unchallenging, the storyline has kept me hooked from start to end through multiple replays.

The intention of myself and my collaborator Michael Haythorpe was to update the game for a modern audience, overhauling the gameplay and graphics, introducing voice acting but keeping the original story completely intact. Although we made some good progress (Such as bringing all of the graphics and cities across from the original data files) unfortunately for various reasons the project ran out of steam and ground to a halt.

The first five missions are in this release, and the first mission even has complete voice acting for Vel, Carl and Satair (Unfortunately I don't know who the voice actors are so I can't give credit! Sorry!). The gameplay sections are playable but throughly unfinished. If you are a hardcore fan of the original game then you might find this to be an interesting peek at what could have been.

Instructions

Move and turn: Cursor keys
Ctrl: Shoot

Download

The game can be downloaded from the Garbage Collection page or here.

CeltX review

CeltX is a brilliant application that I used to write my ScriptFrenzy entry, and I strongly suspect it was used by most other ScriptFrenzy winners too.

Far more than just a simple text editor, CeltX is specifically designed for producing scripts for Film, Television, Plays, Radio, Comic Books and more. Since it has built in script formatting, with a single keystroke you can switch between writing action, dialogue, scene headings, character names, shot directions etc.

CeltX creates a 'Project' file for your work, that contains not only your Scripts but character and prop catalogues, shooting schedules, story boards and so on. There's even a commercial service to allow for real-time script collaboration over the Internet. Although the huge number of options can be daunting, there are a few sample project files that help explain things.

CeltX is free and open source (albeit with commercial plug-ins) and is available for Windows, Mac and Linux. It can be downloaded from the official website at http://celtx.com/

Tags:

Random Dungeons

 

 

A couple of years back Joshua Smyth created a blog post explaining the algorithms he used to generate the randomised levels of his browser RPG Caverns of Underkeep.

Special thanks goes to Josh for not only allowing me to repost it here, but for updating the article with new screenshots.

Random Dungeons

 

I’ve been working on algorithms for randomly generating dungeons.

 

cou_caveMy project Caverns of Underkeep is a Roguelike, and one of the features of all roguelikes is that they have randomly generated dungeons. there are two flavors of random dungeon generation in Caverns of Underkeep and I’ll explain how they work in this article – Surprisingly the simplest algorithms can often produce the best results.

Here is a screenshot from a typical Cave map

 

 

The way this type of dungeon is generated is as follows:

  • Start with a completely unwalkable surface, then draw some randomly sized circles in random places – These circles are going to be water areas.
  • Perform a couple of random walks from the centre of the map, if we fall off the side of the map stop walking.
  • Locate tiles that are dead ends. (Any tile that has only one walkable tile as a neighbour) At these dead ends place a circular style room. Use a basic turbulence* algorithm to alter the shape of the room.
  • Locate a few other tiles that are part of a corridor – And not part of a room (To do this just work out how many unwalkable tiles are in the area immediately surrounding the tile you selected – If the number is greater than 2, then the tile must be part of a room and not part of a corridor) and randomly place some more circular rooms at these locations.

turbulence*A basic turbulence algorithm for drawing a shape is if say – You are going to draw a rectangle, then draw it as normal but determine randomly if you are going to draw N more rectangles with slight x and y offsets to give a more interesting shape to your rooms. See the image below for an example.

 

cou_castleThe second type of map is a Citadel – A typical screenshot is bellow.

 

This algorithm is pretty much the exact opposite of the one above.

  • Instead of starting with some random walks, I divide the map into 10×10 sections. Doing this gives it that more deliberate man made look to it.
  • Determine if I want to place a room here – If I do, note it’s location in a big list of rooms.
  • Draw a random rectangular room (with turbulence)
  • Once all the rooms have been drawn, consult my list of rooms. For each room draw a corridor between that room and the nearest room. Once a corridor has been drawn from a room, remove it from the list of candidates for nearest neighbour (otherwise we could get stuck in an infinite loop)

Both algorithms are guaranteed to be completely connected – Which is a really important thing to have in a roguelike. There’s nothing worse than not being able to complete the game because of the random generator – Bad computer, no biscuit!

cou_sewerIn Caverns of Underkeep I also take a hybrid approach to generate the sewer levels. Basically I combine the two algorithms to produce another style of dungeon – See if you can work this one out for yourself :)

 

Garbage Collection 2: GunCat

Time for the second unfinished game for the Garbage Collection: GunCat.


 

Overview

A few years back the Auckland Game Works team were collaborating on a game called GunJet, which was meant to be a StarFox styled shooter and our first game. Unfortunately for various reasons the project was never completed, and we ended up making The Kiwi's Tale instead.

GunCat is a tech demo that is an absurdist parody of GunJet (Allegedly developed by AGW's German rivals) that I whipped together in a day or so to demonstrate the viability of porting the project from C++ to Blitz3D.

I brought some of the art and sound across from the GunJet project, unfortunately the title screen features some of the worst anime art ever attempted (I take the blame!). The game itself, despite only being one level long, is actually reasonably challenging and playable. It might not be 'fun', but it isn't hard to see how it could be with a bit of work. Except for the final boss (See if you can recognise him) the 'enemies' in the game are tributes to early shoot-em-ups.

It's possible that I might one day turn GunCat into a fully fledged game. The basic concept is that the GunCat was a catgirl robot made by aging Japanese professor (For less than morally sound reasons) who becomes the Earth's last hope against an invasion of giant insects. Doubt I'll ever get around to it though!

Instructions

Move - Cursor keys
Shoot - Space bar


Download

The game can be downloaded from the Garbage Collection page or here.

Launchy review

Launchy

Launchy is one of those rare applications that should be part of every installation of Windows. That's how great it is.

The idea of Launchy is simple, by pressing Alt+Space it provides a simple text field that you can use to enter the name of an application you want to run. As soon as you start typing part of the name of the application, Launchy makes a best-guess from it's catalog (A list of shortcuts scanned from the Start Menu, Desktop etc). When you see the application you want, press enter and it will run it. Simple, elegant, and a brilliant time saver.

Launchy is both free and open source. You can find it at the official website http://launchy.net/