Lachlan's misadventures in games programming

Wednesday, 20 April 2011

Studio Name Chosen

4/20/2011 11:32:00 pm Posted by Lachlan No comments
I think I've settled on what I want to call my little games making 'studio' (as it were). I'm still open to suggestion, and this logo isn't finalised yet... but

I feel it has something along the lines of Vintage, as well as Retro, as well as Faux Class - like a suit made of fake velvet. As well as being just a little bit silly.

If its your kind of thing, you can download the wallpaper below. Its massive 'cause its for my rather large screen, however if you use 'Center on Screen', the logo itself will fit on any reasonable sized screen.


In other news, work has been particularly slow in 'The Night The Martians Came' owing to a really rather large Human Rights Law essay due tomorrow. Which I must get back to. Goodnight!

Friday, 15 April 2011

Space Invaders - Progress Report, and OpenGL

4/15/2011 12:22:00 am Posted by Lachlan No comments

I'm slowly continuing along my path to make Space Invaders - or, as my game is called, The Night The Martians Came. Actual progress thus far falls along having made most of the graphical assets. Coding has barely started.

What instead I've been doing is starting to learn some basic OpenGL. I don't know if I want to use OpenGL for all my blits (Blitting: Putting a picture or piece of gfx on a surface (like the screen)), or whether I want to stick to SDL. The prime reason I'm learning OpenGL is so I can get the graphics card to handle scaling and resizing, without me having to quite so much. This means I'll be able to make bigger screens and smaller screens work, and maintain a reasonable speed to play. SDL_GFX on the other hand, provides scaling functionality, but is really too slow to use in realtime.

The actual thing I'm debating is whether I make up the image in SDL, and punch it into OpenGL or just stick OpenGL all the way. I think I'll figure it out better as I progress with OpenGL. It natively provides a lot of things like scaling and rotation that SDL doesn't.

I'm not a fan of OpenGL so far. It took me ages to get a tri to the speed - but, that is probably more due to my lack of 3D coding experience then  OpenGL itself. But I'll get there. Hopefully, still within a month. Really - there shouldn't be too much coding to do - though substantially more then pong.


Sunday, 10 April 2011

Giga Wing

4/10/2011 11:07:00 pm Posted by Lachlan No comments

Continuing on the Arcade theme started with Metal Slug X, I played through Giga Wing this evening. Giga Wing is a 1999 Arcade Shoot 'Em Up game. It is notable for cool graphics, but primarily for ridiculously high scores. It comes from a school of Shoot 'Em Ups generally referred to as Bullet Hell.
This is why...

And this...

And I really don't have a clue how humans can live through Bullet Hell sections like this. I didn't. I died. Repeatedly.
The gameplay is fairly generic for a game like this. You either shoot by tapping the shoot button, raise a protective shield (works for about 2 seconds, and requires about 5 tear jerking seconds to reload) or shoot one of a limited number of bombs. In between times, you dodge enemies, insane amounts of lasers and collect power ups and medals.
To be bluntly honest, a while since I've played, and not a great score. But the fact that after the first level it reached more then 32 Billion, it'll do

This is where Giga Wing begins to differ from many other games. Its scoring went very much along the pinball lines that bigger is, by and large, better. Scores in the trillians are not unheard of. Unlike most games which a medal might be worth 10, 20, 50 or even 1000 points, in Giga Wing a medal is worth 10 more then the previous one, 50 more then the previous one or in extreme cases 200 more points then the previous one. So when (as pictured below) you find massive amounts of low scoring medals, each is worth the cumulative sum since last time you died.
Those gold shields are medals and good for scoring. If you can actually dodge the bullets that is.
The game is (as arcade games are) fairly short. What this does mean is that whilst it is a very sweet and detailed experience, the difficulty bumps are noticeable. If you're even half competent (like I am), you should be able to make it up to the second level without any continues. However, by the last level, you're requiring 3+ on occasion. At least if you suck as badly as I do.
Unlike most Sh'mups, there is an attempt at some story. I have really no idea what it is, other then something do do with destroying some medallion. The medallion is lodged within each boss, and serves as the final boss itself. The game also uses static cut scenes drawn in an anime fashion which tell the story... Kind of. I think I was missing something about it.... But the genre isn't one particularly known for its storytelling.
The medallion is the thing in the middle of the boss
Typical anime cutscene
In general, the game is a lot of fun. It does tend to suffer from minor slow downs when there are large amounts of coins on the screen - but I only noticed once or twice. Its about 20m long - maybe  - but it feels about the right length. Without change, the style of game can only go so long without going stale. I played it on Mame, but it (and a sequel) was available on Sega Saturn.

Personally - I think it is a genre that hasn't been adequately explored for the last decade. It may not be in vogue, but considering the current rise in casual games - Sh'mups seem a natural extension. They're easy to pick up, particularly difficult in some cases to master. They seem to me to be a natural choice of casual games for hardcore gamers. That - and who doesn't like having scores in the trillians? I also think they're a really natural choice for indies to develop. In Japan particularly, there is somewhat of a cottage industry producing new sh'mup's but it surprises me that we see none of it in the west. The style of game can handle somewhat simpler programming then most games, and being limited to 2D graphics by design. Unfortunately, I fear that their renaissance is not coming any time soon.

Lachlan's Continued Adventures into C++ #2 - Space Invaders

4/10/2011 05:11:00 pm Posted by Lachlan No comments

I've started continuing my adventures into C++. Working on the few assets to make a Space Invaders derivative game: 'The Night The Martians Came'.

Space Invaders will teach me more about class design in C++. The use of different levels will increase my knowledge of State Machines. The invaders will teach me about some basic interacting AIs. The whole thing will simply help my C++.

Goal to finish: 1 Month, hopefully less.

Features to implement:
- A few different weapons
- Space invaders style game play
- A few different levels
- Some chinglish style cutscenes (Meaning probably a picture with a caption)
- Sound

We'll see how it develops soon. I'm working my way to make the games I actually want to - but I'm in a new language, and I've got bad programming habits. So walking, and then jogging before I sprint sounds like a pretty good plan.

Thursday, 7 April 2011

Metal Slug X

4/07/2011 08:07:00 pm Posted by Lachlan 1 comment
A little justification: I admit that the chances of me keeping this blog interesting and fulfilled with my developer oriented content alone are fairly slim. So I'm going to branch out a little, and do some game discussions and reviews, and essays, and what I think about games. So - perhaps use this as my soapbox, as it were, at some level.
Are your manly senses tingling? They oughta be!
I spent the last hour or so playing the 1999 arcade game Metal Slug X for the first time in many years. Metal Slug X is a (slightly) updated version of Metal Slug 2. It is a fiendishly difficult run-and-gun game, full of very light humour and gorgeous pixel art.
Consider this - 59 Continues = 59 Quarters = $14.75 spent on the game, and 177 lives lost
I would love to fill you in in the story, but I struggled significantly to actually understand it. I'm not really sure what it was, other then running through a series of wonderfully drawn stages with guns and heavy machinery.  
Something to do with Saddam Hussein perhaps - this is from the last level after he has been sucked up by aliens
The first stage puts you through a generic middle eastern area. With lots, and lots of guns.
And an armoured donkey

And the eponymous Metal Slug 
The game continues to fight through Mummies in a cave, aliens in New York (?) and an Arctic military base - finishing in the epic duel out against the alien ships. If you play like I do, then you'll spend most of your time shooting at them with the crappy pea shooter. Mostly because that's what you get if you die. You'll spend significant amounts of time with the heavy machine gun, but more awesomely Laser Beams, Guided Rockets and Bouncy Bombs all make significant appearances. Particularly fun are the vehicle sequences - providing you can actually keep them in one piece. The Metal Slug is a large, laser shooting personal tank with the ability to jump, and some other pretty cool vehicles.
Get used to seeing this a LOT!
Whilst you may not be used to 2D in this 3D spoiled age, the graphics warrant a special mention. The pixel art demonstrates the absolute pinnacle of its style. Little details are painted right throughout the levels, and the level of detail on the sprites is just fantastic. I only hope that my pixel art for War of the Apocalypse Samurai can come somewhere even close.

The Bad: This game is rather difficult. Good luck ever finishing it on one continue. Also, the slowdowns that plagued Metal Slug 2 still rear their ugly heads - though less so, but still noticeably when there are lots of explosions etc. on the screen.

Note that the game is rather short, however its cinematic quality and game style ensure that it is a very, very full short. It is well worth your time.

I played it using MAME, but I'm informed that it can be purchased on the Wii virtual console, or part of 'Metal Slug Anthology' for PSP, PS2 and Wii.

Tuesday, 5 April 2011

Lachlan's Adventures into C++ #1 - Pong

4/05/2011 12:34:00 am Posted by Lachlan No comments

I've begun my adventure into learning the heinous language called C++. I like the IDE I'm using (Visual Studio 2010) as compared to JEdit/Command Line, but I'm not really impressed by the itself language thus far. I'll detail that later, when its a bit later in the day and I'm a bit more awake.

Pong is mostly finished. A little of the logic is a little dodgy, and I want to make it zoom in closer. At the moment, you'll be playing it with your mouse on a 128x96 pixel display. But I'm still pleased with it as the first thing I've written in C++.

You can download the crappy version here
If you're interested, the source is here

Update: (5/04/11 8:03AM:) - I didn't realise I had to distribute DLLs too. Fixed.
Update: (5/04/11 8:27AM:) - Fixed logic too