2010-08-22

Err, yeah, hi

I do still exist. The Game-a-month project is still on my list of things to do, I'm just having a bit of a hiatus.
This is, of course, not particularly good, but it's where I'm at for the moment so it's happening.

I've spent most of the last two months not coding, so, not a lot to say here.
However recently I've picked up an idea for comparing track rollercoasters on Audiosurf that someone was interested in a while back.
The original thread is on the Audiosurf forums here and is basically asking for an easy way to sort tracks by the amount of traffic they have.
Retrieving traffic information involves digging through a .ash file locally or asking the servers for it. I've not done any experimenting in pulling that data from the Audiosurf servers yet, however I already had the code for retrieving the track shape, which is a good indication of the traffic a track will have and the speed it will run at.

So, in a few hours I put together a very quick program to pull the track shape (and global scores) for a named track. Very easy to do, and the result is posted in the thread mentioned.

But that doesn't technically compare the tracks, or order them or anything, it just allows for quickly viewing multiple songs outside of Audiosurf. Useful, but not ideal.
For a long while I left the application there, then I picked it up again a week or so ago and began work on a 'playlist' section of the application. This downloads a track shape for every song in a playlist with the eventual idea being that it will show an estimate for how 'quick' the track will be, allow sorting and re-tagging of [as-steep] to slower tracks.

It quickly became obvious once I had the "download lots of track shapes" code implemented that the Audiosurf server is struggling to stay up at the moment (indeed, whilst making the screenshots below, I had significant issues with the Audiosurf server timing out, even for single-song lookups). This is noticeable if you use the forums much and/or play the game a lot as the forum, scoreboards and logging in are often down. Obviously I don't want to make this workload any worse, so I've implemented a cache for the track shapes that stores this data locally as presumably a track shape shouldn't change unless the picked user is cheating.

To avoid accidentally pulling out cheaters, the app always goes for the last global score of the 'Elite' category, if there's no elite scores it goes for the last of the pro, then last of the casual. The assumption being that a cheater will hold the top spot and not be lower down on the scoreboard. Additionally the "single song" searcher that was initially implemented (and will be launchable from the playlist window) will allow you to store which rollercoaster you want to see locally.

Possibly will take it as far as YAAP (Yet Another Audiosurf Player) with tagging features, etc, not decided yet.

Oh, have an example image that's rather sparse. Much will be added, hopefully (click to view full size):

2010-06-17

Hoshi update

Err, yeah, forgot about this, sorry!

New version of Hoshi with working sounds under Linux.

2010-06-11

Quick post

Just a quick note to say I've finally tested Hoshi in Linux.
Good news is that it works.
Bad news is that I messed up the sound paths. I'll push out an update for that tomorrow.

What is interesting is that it runs considerably better full-screen than on Windows. I guess that isn't particularly surprising though since Windows is bloated and not a particularly good OS choice from a gaming technical perspective.

2010-05-28

General update

I've been lazy this week and not done any work on Whirligig. Hence the lack of updates here.

What I have been doing is playing Merentha again. Which is a MUD (an early multiplayer RPG, generally with far more involved systems than more modern MMORPGs).
Used to play it all the time, but it gets a bit of a grind so I play on and off since it's free.
No pretty graphics, it's all text-based, but the base gameplay is unrivalled by MMORPGs imo.

Err, that's pretty much it. I won't get any work done this weekend since I'm in Scotland for a stag do (not mine!)

The only real bit of news on Whirligig I guess I've for is that I started the shop on Monday then thought I had a serious UI problem, so I played Merentha whilst I thought it over and realised I didn't have a problem. :oP
Just need to put UI components together, but as I've stated before I don't enjoy that aspect of coding at all.

2010-05-22

A word on Gaming in general

Or at least my views on it.
This is an opinion post, you have been warned. ;o)

I'm going to delve into that pandora's box known as "games as art". It's been done to death I know.

Anyway, I came across this 15 minute presentation today:


I largely agree with this presentation. Games are a wonderful media with an amazing future. However I don't really expect them to be taken as art.

Personally games mean a lot more to me than a picture, tv program, movie, music or even a book ever will. And that's because it's both none of these whilst at the same time being all of these.

In a game you can combine a wonderful stylistic view (like Okami's) with visually dramatic story arc scenes (like Heavy Rain) whilst playing an epic sound track (too many to mention, just listen to some game soundtracks sometime) and having an over-arching story as long as a book without missing things out due to how long your audience is likely to want to sit in one spot (large JRPGs do this best, like the FF series). Oh, and it's all interactive as well. No other form of media can do all these things at once. Movies come closest, but lack the long-term story or interactivity.

This isn't to say games should be the only media. Personally I think they're by far the best around and they're almost the sole method I use now for 'proper' entertainment, but they'll always be a place for stories you don't interact in. For example, I still love a good book and I listen to music whilst coding as trying to play a game at the same time would be hard. But movies and TV have near no meaning to me. There's a handful I like, but it's not with the same passion I feel for a game. I struggle to find any film that engages me and TV is even worse. But that's a personal view of a fairly hardcore gamer. What I will point out is that many of those who criticise games don't play them. I do watch movies and TV, I just don't enjoy them anywhere near as much as I do games.

Now, despite all this, I still don't think games can be classed as art by most people and the simple reason is this: The definition of art is woolly. It will never be 100% certain.
In short, the fault lies in the people who define what art is, not in the games, which often inspire higher emotions than many, personally, for me, I'd even say all, forms of artwork.
This is why I've used the term "media" in here. Games are definitely a media, and in terms of entertainment media they have all others beat. In terms of engaging the user on an emotional level they have all others beat (assuming it's a good game) purely because they have interaction, which makes you feel in the story. No other medium can do that.

So, that's my take on the piece. Feel free to disagree in the comments.

2010-05-21

More boring UI progress.

Pretty much all the key in-game UI is now done. Although not thoroughly tested, which will come at a later date.

The in-game logic for the UI is also done, take this screenshot for example:

You'll note there's no "Fire!" button. This is because the player doesn't have enough of this projectile type (would need 12 -- 3 bounce split x 4 normal split).
I will add a message for these occasions at some point (so I guess the in-game UI isn't finished ;o))

Another quick screenie:


This shows an instance when the player can fire, just a three-way split with a normal shell.
When a player has an infinite number of a weapon type, the infinity symbol is used.

Not shown in these screenies is the shot/shell/projectile windows that now also have the numbers of each type left as well.
So, as I've been saying for the past few days. Shop next!

Quick edit: Yes, I do know the labels are wonky, I've just fixed that. ;o) I should also point out that the "Split At" tools only appear when a relevant shot type is selected and aren't there the rest of the time as they're not relevant. Prevents confusion. ;o)

2010-05-20

Quick UI taster

This is how far Whirligig has moved along:



As you can see, everything is labelled, the 'projectile', 'shell' and 'shot' types all have icons (although pretty crappy ones ;o)) Clicking on them opens a window like the shell type one shown, which is showing 'normal', 'bounce', 'double bounce', 'double split', 'triple split' and 'clusterbomb'.
A 'split time' counter has been added so you can see how that works.
Oh, and there's 3 players, which (as I think I stated) was possible back as far as the tech demo, I just used 2 players back then.

The window is busier than I'd like. I need to fit the number of shots/shells/projectiles on there yet, which will require some reshuffling. Also I've not implemented that part to the weapon-choice windows either. And still not started on the shop. Still, getting there slowly.

Minor update

Not a lot to report really, all current work is pulling together UI parts. It's pretty boring stuff.

Have I mentioned I hate UI work? ;o)
Unfortunately most of the rest of this project is UI work now. The only bit that isn't really is the AI and level generator.

The level generator will just create 3 (or half the number of players, whichever is lower) planets and make sure they're spaced far enough apart then randomly locate the players making sure they're never closer than 90 degrees on a planet.
There may be some occasions on small planets where players get placed close together, but these should be rare(ish).

The AI I'm unsure how to do... I think I'll just have the projectile report back how close to an enemy the shot was and have the AI adjust from there. I could probably write in a load of simulation code that would make the AI dead smart, but I think a simple "how near am I?" setup will work well enough for the level of game I'm aiming at this. Were it a commercial product I'd bung in several AI levels, including a genius one that never missed. ;o)

2010-05-18

Whirligig Update

Well I did write a fairly long post about this yesterday, but lost it, somehow.

Anyway, I took a small break over the weekend since I finished Hoshi early and yesterday I resumed Whirligig.

First thing I implemented was a shell type window to go along with the shot type window.
I should probably explain the shell/shot/projectile types at this point.

Projectile types determine the size of destruction (there's 4 sizes).
Shot types determine whether the projectile will split after it's fired and into how many subsequent projectiles (1-5). The length of time before splitting can also be set.
Shell types determine what the projectile does on impact. This is the most complex and consists of bouncing (once or twice) or splitting (2 or 3 times) or a clusterbomb which explodes at the impact point and fires 4 other shots off.

I now need to finish building the GUI for these (timing for split shots and projectile type need implementing) then put together a shop.

The shop is needed because you will start with a limited number of each projectile. The only thing you'll have inifinite of is normal/normal/normal. Although this can all be changed in the options.

Basic gameplay will consist of a series of rounds (1-20). The shop can be set to be available mid-round or only at the end of each round.
After the rounds various stats will be shown with a 'score' winner, a 'kills' winner and a 'rounds' winner.

I don't think that's as clear as my original post about all this, unfortunately. If you've any questions, leave them in the comments and I'll try and clarify. Or you can wait a few days and I'll post some screenshots hopefully. ;o)

2010-05-14

Hoshi release!

I'm releasing Hoshi today, earlier than I originally planned because, well, it's done.

Without further ado, you can download it from here (~800KB).
And a picture of the final version:


I'm uploading a video of it running at the moment, will take some time because my connection is broken horribly right now, but will add a link to that when it's done.
Edit: Video is here.

On with Whirligig now, with a release date looking around June 15th, but that's not set in stone.

Feel free to comment with any bugs. AFAIK there aren't any, but if there's anything large enough I'll fix it and re-release.
I haven't done all the fiddling about with OpenAL that I intended to. There are some checks in there but I've no idea if they're enough, so you may need to install OpenAL as well. Downloads are available from creative here. Linux users should have it in their repo somewhere, but I'm not 100% on that.