Monday, March 31, 2008

ASTROPOP

I’ve maybe been playing one to many games recently but the other day me and my girlfriend (Claire) came across Astropop on Xbox Live Arcade, a game by PopCap Games. Astropop can only be described as the video game equivalent to crack cocaine! I have no ground for comparison... apart from watching Claire get jacked up on the colourful puzzle madness…
“just one more game!” is the phrase I now hear very often.

Arcade puzzle action is the game and it’s a dang good one at that, I’m hooked just watching let alone playing. Grab, group, and blast bricks to clear a path through hyperspace… all I can say is… “I want my Xbox back!”

Monday, March 24, 2008

YAHTZEE REVIEWS

I’ve been informed to post more contextual material, that isn’t of my making, so contextualise this…

Stumbled across this video whilst browsing Beyond Unreal
(an awesome Unreal community site - www.beyondunreal.com)

There is some strong language in this video, so be warned. But I think the issues raised justify the level of language, it certainly puts across several good points about today’s console FPS market.

Agreed… Turok is a big pile of MEH!


Check out Yahtzee’s blog HERE for more video reviews and ramblings...

The following are a few of my favourite reviews that he has spewed out so far… Guitar Hero III, Halo 3, Assassin's Creed, Burnout Paradise, Devil May Cry 4, Mass Effect, The Orange Box, Call of Duty 4 & Mario Galaxy.

Saturday, March 22, 2008

2D SHAPE EDITOR

Today I discovered the 2D Shape Editor with-in UT2004… AMAZING!

Now I can produce brushes of almost any shape and size... quickly and easily, thus allowing for much more interesting level design through the use of shapes.

Below is a 2D layout for a map that I am currently working on, I produced this level using the 2D shape editor.


Below is the same map layout but in a 3D perspective. I have applied some basic textures to illustrate the different sections of the map and I also did a quick lighting job, just to illuminate things... the 2D shape editor is my new best friend!


Friday, March 21, 2008

AI & BOTS

Over recent days I have been learning about AI and Bots for UT2004.
Looking into path nodes, multiple paths, attack areas, defence points,
sniper spots, pick up areas… and so on...

Here is a screen shot of me blasting the shit out a Behemoth Brute that I stuck in my test level... I’m still very much experimenting and exploring with the program. I'm really enjoying it and I’m finding map designing with the UT2004 Editor very rewarding.

Sunday, March 16, 2008

UT EDITOR 2004

With the last project finished I've had a few days off relaxing and as always playing games. I have also started to draw my focus back to making games (much more satisfying) this time with the Unreal Editor.

UT isn’t my kind of shooter, It’s a little too sci-fi for my liking, but I’ve been playing them ever since the first in 1998 and I can defiantly see why it has become so popular amongst FPS fans.

I am currently reading through “The Art of Level Design” by the 3D Buzz guys Busby, Parrish and Eenwyk and watching a series of video tutorials by the same people.

Through following their guidance and tutorials I have created my first map with the UT2004 editor. I decided to keep things simple so I can get accustomed with the editor’s user interface, so I just created a single room. Yeah, yeah easy I hear you say, well it is… but there are things you NEED to keep in mind before starting out…

The collision radius and height of your character for example… how tall they are when standing and when crouched and how their measurements in UT relate to real world measurements, the technicalities of scale basically.

There are other aspects and work flows that I needed to familiarise myself with before I started to create my first map, i.e. the UT2004 editor is a subtractive tool, so essentially you are carving out your map from a solid block.

I also learnt about the use of snapping to the grid and that by doing so prevents BSP errors and the nasty HOM effects at the seams.

Below is a screen shot of me running about and firing off a few rounds in my room... it’s a lovely room isn’t it... (click to enlarge to full resolution)


I also came across a really useful Unreal resources website, check it out - http://wiki.beyondunreal.com/wiki

________________________________________________________________

Below are the links to some very interesting videos about the Unreal Engine and the wonder that is Epic Games...

The History of Unreal Tournament

Part One

Part Two


The Making of Unreal Tournament 3

Part One

Part Two

Part Three

Monday, March 10, 2008

DUCK POND - PLAY HERE

It’s finished, click the image link below to play the game, hosted at newgrounds.com

As well as newgrounds.com I have uploaded the game to various other Flash sites that allow you to submit your work to be played and rated by other gamers. I really like how gamegum.com has projected and framed my game. Click the image link below to play it hosted at Game Gum.


You can also download the game in .EXE and .SWF formats via the image link below. The downloadable versions run a lot faster than the Newgrounds hosted version, not sure why, net lag maybe, they are all the same file.

If you do play please post your feedback, reviews and SCORES in the comments link below (no account required to comment) I’d really appreciate the feedback.

Sunday, March 09, 2008

MY NEW KEYBOARD = SH!T

The other week I bought myself a new keyboard on an impulse buy, it was cheap and I needed a new one. I HATE it and I am completely regretting not looking over the key layout before I purchased... all because of one blinding design flaw, see image below.

Whichever employee at Genius (the company who made this keyboard) gave the green light for this model to be put into production needs a sharp slap to the face! no joke!

Take a look at where the power shortcut button is situated in the below image… it sits right underneath the Delete key, one of the most commonly used keys on the humble keyboard. This is a BAD place to put this pointless, un-needed, un-wanted shortcut button. Especially if it’s a power button, devastating if it is accidentally pressed - FOOLS!

If the powers that be at Genius insist that they need those shortcut keys, power, sleep & wake then this problem could have been easily solved by placing them above the F keys, or even above the num pad.

Granted I didn’t spot it at the time of purchase but didn’t Genius user test this layout?! If they had done properly then they would have come across this design flaw very quickly.

"Genius" my ARSE!
Think I’ll be modding this keyboard, bye bye power button!

Friday, March 07, 2008

THE HOME STRETCH

It has been a good few weeks since I last posted and yet again a LOT has happened with-in a short period of time. As always I’ve been hard at it, working flat out on my current game… “Duck Pond”.

What has changed and why…?

1 – The player now has a set field of vision which they can throw items into, where as before they could throw items anywhere upon the pond. This field of vision enhances the game play greatly; it is linked directly to the avatar and gives the player a defined reason to move the old lady left and right.

2 – Most noticeably I have added TNT as an extra item, this allows the player to throw in explosives to clear away unwanted ducks for a short period of time. If the player hits the BAD ducks then points are gained, if the player hits the GOOD ducks then points are lost. I have given the user a set amount of x20 TNT, originally I had x10 but after play testing the game with various players I observed that they used x10 very quickly into the game, so I increased it.

3 – I have altered the background and given the ducks more room to swim about, thus allowing a bigger play area; this improves the game play yet again.

4 – I have increased the movement speed of the avatar (old lady) she is now a lot quicker on her heels and easily matches the ducks in speed. This allows the player to chase around a chosen duck and target in on them more easily.

5 – I have changed the way that I have coded the avatars left and right movements. In previous versions of my game the user pressed the left or right arrow keys and the avatar moved once, then paused, then started to move again. In Adobe's attempt to improve every aspect of Actionscript, they deleted some features that arcade game programmers have used for years. Thanks to a helpful explanation from a course mate I now have smooth character movement, cheers Chris!

6 – I have added several water animations to boost the visual feel of the game, a splash animation and a water ripple animation. I have also added an explosion animation for the TNT.

7 – Bonus ducks (little yellow ducklings) are a recent addition, if the player hits certain score targets BONUS ducks are unlocked, if the player feeds these ducks bread they will earn BIG points.

I have also been working on the menu screen and various other screens that appear throughout the game. The looming deadline is just a few short days away and I feel pretty confidant with my progress and what stage I am at.

I’d post the latest version up here but I want to wait till the game is complete, so for now here is a screen shot, click the image to enlarge to full resolution - (800 x 600)

Saturday, February 23, 2008

FINAL PRODUCT VISION

Here is a screen shot of how I envision the final version of my game to look with all the elements and functions added, click the image to enlarge to full resolution - (800 x 600)

Friday, February 22, 2008

CHA-CHA-CHA-CHANGES

A lot has happened in just a few days so this is going to be a fairly sizable update to go with some big changes to my game...

The other evening in my games session my Duck Pond game took a harsh beating from Brad (my games tutor). Rightly so I have to say, the game at that stage was very simple and there wasn’t much to it. In my defence I must say it has taken me this long (80% of the project time) to get to this far with the coding… and it’s been a one hell of a struggle! (thanks for the continuous help & tutoring with this Adam & others)

Negativities aside myself and Brad set about coming up with changes and additions to improve and add more depth to the game play. The set brief states my submission has to be a platformer; my game seems to be stretching the platform concept a little, so to drop it into that category I have given the avatar some movement. The position and perspective of the avatar has changed, the old lady now faces towards the pond from the bottom of the screen and she can move LEFT and RIGHT only (using the arrow keys). When she disappears off the stage in one direction, she will appear on the opposite side of the stage. This actions isn’t very ‘realistic’ I know but this ability will boost the game play somewhat.

I have also changed the crosshair as show in the previous post; to be honest I implemented the target crosshair on the fly just to test out the mouse over and out function. I didn’t realise until later that it gives off the wrong connotations... SNIPE THE DUCK!

I’ve now dropped the idea of a shop / store menu at the start of the game, only because the requirements to make this happen are way out of my coding league. Don’t get me wrong I don’t want to seem like the wuss who isn’t prepared to challenge himself but believe me when I say that this simple game concept is challenging my coding skills enough! To compensate for this loss of the shop menu I am going to implement a difficulty setting, easy (2 good ducks, 1 bad duck) medium (1 of each) and hard (1 good duck, 2 bad ducks) this I can accomplish easy enough with-in the time given.

My next step is to work out how to create selectable items, very much like an inventory or a weapons selection function. I’m going to have another item or two for the player to choose between other than just bread. This also makes up somewhat for the missing out the shop / store menu again.
IF I can get this function running it opens up a whole variety of different game play modifiers, for example I could have point based rewards if the players scores X amount.

Another bug has developed with-in the game, if a thrown item crosses over a duck before landing the score goes crazy! This happens because the ducks are repeatedly hit testing with the item whilst it’s still on the move, another issue to fix.

Play about with the current version HERE, it is a lot different from previous versions, use the LEFT & RIGHT arrow keys on your keyboard to move the old deer about. If you do play please leave a comment telling me what you think. It’s still very much in development but I can see an end in sight.

Monday, February 18, 2008

TODAYS ADVANCE

Today I accomplished some small additions to my game…

1. Pointer changes to crosshair on mouse over water area (image above)
2. Water area made click-able, outside of water area none click-able.
3. Enemy duck added (black duck) - that's not a racial slur!

It is starting to take shape, click HERE to play about with the current version.

Sunday, February 17, 2008

TWO MAJOR CHANGES

Adam (one of my course mates) has really helped me out on the coding front. He has looked over and re-worked my script in several ways so now the whole game is looking a lot more… alive!

I’ve just spent the last few hours picking apart what’s been altered so I can fully understand the changes and how they benefit my game engine.

Apart from re-organising the script layout and generally scrapping the un-used code there are 2 major changes…

1. Getting rid of the trajectory of a projectile equation that mapped out the thrown items path. The main issue was that it constantly needed updating (looping code) to continue moving the thrown item along its path. Also this equation relied to heavily on velocity, trajectory and gravity, making the thrown item over hit or under hit the users clicked position 8 out of 10 times.

The thrown item now moves along a defined path using a Bézier curve, the Bezier code lays out four positions… initPos, EndPos, ContPos and perPos. The ContPos & perPos parts of the code can be altered numerically to increase or decrease the curved effect. The EndPos is determined by where the user has clicked the mouse, so this means the item travelling along the Bézier curve will STOP when it reaches the chosen EndPos… thus I can also loose the hidden platforms that I introduced a few posts back.
2 birds, 1 stone.

2. The problem of the duck suddenly taking flight and buggering off out of the game screen, never to be seen again, this has been a frustrating bug in my game since the very start of the project.

Every time the duck hit one of the invisible walls that was boxing him/her in, a new random direction was generated. Because I didn’t declare the numbers as integers (a number that has no decimal places) the game engine couldn’t calculate a random direction from numbers that had so many decimals in them, thus breaking the code and leaving the duck to break free and carry on travelling in its current direction. Now that the numbers generating the new directions are declared as integers, nice simple round, decimal free numbers, easy for the game engine to handle.

Big thanks Adam for helping me out. Your name has valiantly made its way into the game credits along side myself and others.

The following are issues that I am tending to next...

a. There can only be one item upon the water at any one time, so the player has to wait till the duck eats it and then the player can throw again. I’m looking into making it so multiple items can be thrown, say 3 or 4 at the most.

b. At the moment the user can click anywhere on the game screen and the item will be thrown to that mark, I am going to limit the ‘”click-able” area to just the water sector, where the duck swims about.

______________________________________________

Click HERE to play about with the current version.
Its still very minimal & flawed but its alive!

Friday, February 15, 2008

PHUX0R AS3

I’ve come to a point in the project where I have the code for every main function of the game, in theory I should be able to get the game up and going.

I’ve developed the code for each action separately, each function being produced in its own .fla project file, I did this because it made constructing the code easier, free from conflicts caused by other functions in the script.

Now I’ve come to the stage where I can piece the blocks of code together to make one “working” game engine. After doing so half of the functions cess to work, great. Odd thing is I get no errors spat back at me from Flash… creepy. I’ve spent the last few days working out what could be wrong with it, no joy.

Since it’s the weekend and the coding work isn’t going anywhere I decided to re-work my character designs, please see below…

ABOVE: the hero of my escapade.


ABOVE: good duck & evil duck.

Another function that I can tick off my list is the pre-loader, see screen shot below. I plan to have some audio in my game so that means I MUST have a pre-loader or else it’s doomed in terms of accessibility (slow connections…etc) My pre-loader’s source came from an awesome tutorial that I found at Newgrounds.com here, very easy to understand and customise.


Sunday, February 10, 2008

X+Y+Z = 3D

I’ve come up with a way of making the items that are thrown into the pond stop when they hit the surface of the water. The big problem with this project is that I’m trying to do a 3D physic in a 2D environment… let me TRY to explain…

Clicking the mouse activates the old lady to throw an item across the screen, this involves the X axis (horizontal, length) and the Y axis (vertical, height)… pretty simple… until I came to the stage where I wanted to land that thrown item onto a flat surface, the Z axis… X+Y+Z = 3D… my game is 2D with a side on view - DOH!

I could have gone back and re-designed the whole perspective of the game, maybe make it isometric. Instead I decided to put tiered platforms into the area where the thrown item travels through. I then applied a hitTest variable to these platforms so the thrown item can land on any platform it connects with.

Man I found that hard to explain, hope it made some sense. I’ve printed a screen shot to try and further explain my solution, please see below. Obviously the platforms won’t be visible in the game.


*** Addition *** as feared it seems my explanation wasn’t as crystal as I’d hoped. Adam’s comment prompted me to add the additional image below to expand on my explanation, hopefully it shows what I mean by the action that I was trying to achieve was a 3D one. No worries now though, platforms to the rescue!

Wednesday, February 06, 2008

PIECING IT TOGETHHER

OK… update, 3 things to show you…

1. In this version I have the duck swimming about his pond (random direction generated every time) The countdown timer is working, along with the score / points system. Also the avatar throwing animation is working (click anywhere over the pond) The avatar doesn’t have the ability to actually throw any items in this version, but I have placed a piece of bread already on the water just to demonstrate the score system at work, the duck will eat it pretty quickly. Click HERE to view this version.


2. The above image illustrates what I am trying to achieve with this version, for the item to stop on the line of X. The line X is determined on the user clicked position. This whole action is what I’ve been trying to crack for a while now but it still isn’t as I want it. Thanks to Danny’s & DD’s help I’ve managed to get the old dear throwing items based on this equation below, trajectory of a projectile... maths PAH! Click HERE to view this version.

3. To give my mind a short break from baffling maths and AS coding I decided to start working on the animated menu screen. The image below is a sign that I have designed for the game’s title screen. Mouse over each button to trigger a different animation, the buttons don’t lead anywhere… yet.
Click HERE to view this current version of the menu screen.

I’ve also decide to re-design the pixelated ‘old lady’ and ‘duck’ characters due to various comments about how they don’t mix well with the smooth vector background. I seem to agree after taking a 2nd look.

The plan is to merge these several versions with their different functions to make a finished game. It’s tough going and I’ve done a couple of Flash game projects before. I'm currently devoting 110% of my time at the moment to this… sorry 3DSM, I haven’t forgotten you.

Saturday, February 02, 2008

CODING

Accomplished… countdown timer function added and throwing animation on mouse click added.

The game is slowly starting to build up and take shape. I’m struggling like hell with the Action Script though but I’m gradually picking things up here and there. I’ve had some great help from Mazoonist on actionscript.org, thanks!

Click the image below to play about with the current version, it's still VERY minimal...

Friday, February 01, 2008

CS3/AS3 PROJECTILE PROBLEMS

I’m having major issues programming the main action of my avatar, throwing items (bread…etc) into the pond. I’ve been doing some research into how I can go about this in CS3, as far as I can understand it involves this AS3 code – angle=Math.asin(g*d/ (v*v) / 2 – this code is based around a trigonometry equation which can be explained… here.

I’ve managed to get a simplified example of what I’m trying to accomplish using good old CS2, click the image below to try it out. This isn’t exactly what I’m intending to do though, I’d like to achieve a realistic looking gravity effect on the final version.

AIRSOFT FPS

I recently found these photos on an old CDR, there from an awesome day of Airsofting at my then local paintball site in West Yorkshire.

I’m posting these really to go with a conversation I had last week with someone on my course about what a great video game an FPS Airsoft game would make, if it was done right… of course. It would really have to convey the game of Airsoft fully, rather than just be another throw-away FPS.

Rockstar pulled of an awesome table tennis game, Rockstar Table Tennis, that’s how it has to be done, felt more like a simulator staying true to the game rather than a generic sports game thats been taken in the totally wrong direction.

(I’m the 3rd one in from the left in the group photo below…
...oh boy I got so many kills that day)

This guy below with the scope was lethal!

Tuesday, January 29, 2008

WATCH THE DUCK

I’ve started construction on my Flash game, re-designing some of the visuals and implementing the basic action of the ponds primary inhabitant… the DUCK!

To keep the duck moving with-in a boxed off area I have used the HitTest technique as discussed and illustrated in a previous post below.
(Thanks for the help of with this DD)

There is an issue, a small bug which has generated a game of its own… WATCH THE DUCK! It's a riveting game i promise you. The duck in the current version (below) sometimes escapes his invisible boxed off area and just fly’s away, right off the screen, cheeky bastard! Guess its natural for ducks to do that though… even in the virtual world so it would seem. Not a major issue though, nothing an extra wall or two wont fix.

Click the image below…

Sunday, January 27, 2008

DECONSTRUCTIVE DEVELOPMENT

One of the last parts of my duck pond sim thing to analyse and break into building block pieces is the HUD (Head-up Display) This all sits at the top of the game screen in my current design, as shown in the image below.
I’ve added the time count down function, this gives the player a set amount of time to deplete ALL their item stocks and feed the ducks ALL their bread.

Each section that makes up the HUD (items, clock, name, score) will be created using Dynamic Text fields, which are linked to Variables... when the value of one changes so does the other.


The figure below is a flow chart of the various game screens and how they are linked together, pretty useful as a quick reference for when I’m constructing my Flash project.