Posted: 21 Jan 2009 by Codehead
1 minute read
TotemBall is a free XBox Live Arcade game, only downloadable by Xbox Live Vision camera owners.
The game requires the player to stand in front of the camera and wave their hands around to control the on-screen action. Anyone who has played the game for more than 2 minutes will know that your arms begin to ache very quickly, stopping you from playing the game for very long.
My solution is JazzHands, virtual hands for your computer. Simply point the LiveVision camera at the JazzHands window and control TotemBall using the cursor keys.
Posted: 11 Nov 2006 by Codehead
1 minute read
The work on AMBERs game logic and teams system has turned up a little nugget of eye candy - Team colours.
Using dynamically generated textures, I’ve been able to keep a single base texture for each model, but modify it at run time to apply a team colour and a joint colour.
Posted: 24 Oct 2006 by Codehead
1 minute read
I downloaded the latest version of Firefox yesterday. The new spell checker and search suggestion features are awesome. However, the removal of the close button on the tab bar and the new ‘cleaner’ popup bar are irritating.
There is a tweak to put the close button back on the tab bar. Simply type about:config in the address bar, find the browser.tabs.closeButtons parameter and change the value from 1 to 3.
Here’s hoping I can find a fix for the popup bar too.
Posted: 12 Oct 2006 by Codehead
2 minute read
I have written a few wrappers and objects for OpenGL during the development of AMBER. The first was a general OpenGL wrapper. This used the top left of the screen as the origin for orthographic projections, mainly because I was used to it being there and it avoided problems with mouse coordinates.
Next came the CBFG text class. This was intended to be dropped into other people’s code, so I used a bottom left origin as seems to be standard in OpenGL.
More recently I’ve incorporated my GUI class into the GL wrapper and bolted my text object onto it to provide textboxes, lists, etc…
This is where the problems began, the GL class and the GUI object use the top left as origin and the text class uses the bottom, so all the text in the controls was upside down.
I’ve rewritten the GL class and GUI class to use the bottom as the origin as this is the OpenGL way. However, it seems strange that every other system I’ve used treats the top of the screen as the Y axis origin. Why does GL have to be different? Is there any gain to be had by doing this? Or could I just fudge the projection matrix to use the top as the origin?
Ah well, it’s done now, I may re-visit this during optimisation, but that’s a long way off.
Posted: 30 Sep 2006 by Codehead
1 minute read
Can’t seem to stay away from the coding contests.
GPWiki again, the topic was ‘Particles’. So I knocked up a little game called ‘Leaky Apps’.
Posted: 27 Sep 2006 by Codehead
1 minute read
The troublesome printer from my last post went back to the store.
I spoke to Olivetti tech support, who basically talked me through the install again. No magic “Hold shift and click this” or “change this registry setting” or any other cool tricks, just the same thing I’d already done quite a few times. No joy, so the printer went back and I got a refund.
I understand that some people need tech support in order to achieve even the most basic tasks. However, it would be nice if there was a support line option like, “If you are a biff, hold the line. If you you have a clue, press 9.” - Then those of us who can find their way around a computer can get support rather than frustration.
Posted: 25 Sep 2006 by Codehead
1 minute read
Yesterday I bought a new shiney new Olivetti ANY_WAY Wifi printer. I thought that it’d be nice to be able to put the thing somewhere other than on my desk, plus I could print from my laptop / Linux box (maybe even from the NDS) or any other wireless device on my net.
The basic printer install was fine, no problems. One odd looking test page later I was in business. However, trying to get the wireless working was a different matter. The installer could not see the printer on my LAN, despite me being able to access the printer’s web config page. So, in desperation I decided to see what Google knew about it. That’s when I found I had no Internet! After a hour or so of digging, it transpired that my connection to my ISP was OK, but my DNS had been mangled. Manually specifiying servers from OpenDNS did the trick, and I’m now back online, but still only have a USB printer.
Now I have access to Google again, I see that at least one other person has had exactly the same problem. Thanks a bunch Olivetti, I’ll give it one more night of tinkering, then it’s going back to the shop.
Posted: 22 Sep 2006 by Codehead
1 minute read
The underlying mechanism of the actual combat within AMBER is starting to come together. Not much to see, so no eye candy I’m afraid. However, it does bring the prospect of a playable version closer.
I’ve ended up using a huge switch/case statement to break the turns down into phases, beyond even the Initative, Move, Attack, Resolve and Heat from the original game. I’m not sure if this is the most efficient method, but it allows me to work on individual states without affecting all the others, plus extra states to be added in easily.
If I can just stay off the eye candy for the time being, I should make some good progress.
Posted: 20 Sep 2006 by Codehead
1 minute read
AMBER is a long running personal project that aims to produce a 3D multiplayer version of the Battletech board game.
The project started in 1999, and has been developed with Borland C++, MS VC++6, VC.NET, Bloodshed’s Dev-Cpp and Visual Studio. Target platforms have included MS-DOS, Windows GDI, DirectX and OpenGL.
The current version is being developed for Windows with OpenGL and may be ported to Linux.
To say that AMBER is a slow moving project is an understatement. I have a busy job and a young family. Development tends to happen in random chunks whenever I can get 5 minutes to myself.
Posted: 21 Aug 2006 by Codehead
1 minute read
A small break for a family holiday and some work commitments. Also, I entered the GPWiki.org coding contest last week with a pathfinding demo.