Friday, 4 December 2009

Well, as of Sunday just gone (29-November), the PGD Annual 2009 - Arcadia competition finished.

I uploaded my final competition version of the game to the site and now it's just a waiting game to see how I fair...

I don't expect to win any prizes, but if I do, hey that would be great! ;)

Good luck to all the compeditors :)

Now I just have to improve (and bug-fix) my game till it is 'perfect'! LOL

Till next time all!

Friday, 27 November 2009

Hi all, well for better (or for worse), I have uploaded my entry to the competition page as I am not sure if I will get time to work on it more before the due date (29-November)...

I have also updated this version (in .7z format) to my website:

http://paulsbitsandbytes.webatu.com/dod

I have updated the .pdf instructions file so it has all the new and changed features in it (satellites, game continues, etc).

I am fairly happy with the results - I managed to squeeze in all the competition required features:

Your game should use one of the two control methodologies specified below:-

   1. The player will use the mouse and only the left and right mouse buttons, no other controls allowed
   2. The player will use no more than 10 button style inputs (e.g. Up, Down, Left, Right, Fire, Punch, Kick, Duck) for normal controls.

You can play the complete game (short of quitting) using only the mouse if you wish Smiley

Joystick is also supported, but the judges will be looking for complying with (1), so I should be safe there  Laugh

TA - Rules applying to (a) A computer game

   1. Your game should be organised into levels.
   2. Your game should get progressively more difficult as the game progresses.
   3. Your game should provide the player with a limited number of 'continues'.
   4. Every new game should start in the same place and the overall flow of the game should follow the same path for each successive game.

I have done all of the above Smiley

BP - Bonus Points (each one is worth 10pts. NOTE:- These are OPTIONAL elements only and the scoring may be subject to change depending on the number of judges)

   1. Make you game multiplayer (e.g. allow multiple players on muliple PC's, or multiple players on a single PC by way of a splitscreen mechanism - Note:- These are just two examples of multiplayer mechanisms)
   2. Make your game arcade cabinet ready (i.e. Provide full configuration options such that it could be loaded on a PC in an arcade cabinet and then be stuffed with quarters).
   3. Provide an on-line high score table for your game.

I have even managed to get (3) working, and theoretically, even (2) - not tested though Wink

The game could have more features and more variety, but for the first time, I have "completed" a game, and a competition!! Woo! Hoo! So I am very pleased with myself Smiley

Thursday, 12 November 2009

I'm getting closer to finishing my entry now (I know, I know...only 17 days left) Smiley

I have changed the game-play a bit - now you start with six (6) defence satellites each level orbiting the Earth, and when you fire at an asteroid the nearest satellite to the target point is the one that fires.

Each satellite gives you 1/6 of your total maximum firing energy allowance.

NOTE you cannot fire through the Earth (need line-of-sight) so if you have missing satellites, and your target is on the other side of the planet, near gaps in the satellite 'grid', then you can't fire if you would hit the planet...

The closest satellite to the current cross-hairs position has a green circle around it, unless you have no line-of-sight, in which case there would be no green circle around any satellite, and you can't fire at the current target location.

If asteroids hit a satellite, then the satellite is destroyed, and the asteroid splits or is destroyed.

Each time a satellite is destroyed, your maximum available energy is reduced by 1/6, down to 0 energy (or no shots allowed any more).

The game is much easier IMHO now too.

I have uploaded the latest version (6MB) which includes the new game-play (satellite defence grid), and now nicer asteroid png explosions!

I also fixed a joystick issue where it wasn't working for me at home...

http://www.paulsbitsandbytes.webatu.com/dod/dod_download.php

I haven't updated the .pdf that comes with the game yet to reference the new satellite stuff, but just read the instructions above...

Any feed back would be great!!

cheers,
Paul

Friday, 30 October 2009

I've been following tutorials and posts about IMGUI (Immediate Mode GUI) systems, and have been adding a simple GUI to Day Of Destruction!

IMGUI Links:
http://www.johno.se/book/imgui.html
http://sol.gfxile.net/imgui/index.html
http://www.mollyrocket.com/forums/viewforum.php?f=10

This is so I can hopefully add in control-configuration within the game itself...

Here's a screenshot of the test GUI I have whipped up using IMGUI techniques




Here is an on-line video of the GUI in action (including hot-items as flashing blue)

http://paulsbitsandbytes.webatu.com/dod/downloads/gui_test/gui_test.html

Till next time :)

Tuesday, 27 October 2009

Well, I have managed to improve the joystick handling when playing the game so now it should be playable (ignoring difficulty issues) by using a joystick or game-pad.

Even an analog joystick should work nicely (touch wood), as it should allow the cross-hairs to move at pretty much any speed up to the maximum speed :)

Instead of relying on SDL joystick events, I am now checking the joystick axii in the render routine like so:

Function  GetJoyAxisValue(Const AJoystick        : PSDL_Joystick;
                          Const AAxis,AThreshold : Integer) : Single;
Begin
    Result := SDL_JoystickGetAxis(AJoystick,AAxis);
    If Result < AThreshold Then
        Result := 0
    Else
        Result := Result / 32768;
End;
{..}
        If FHasJoystick Then
        Begin
            FCrossHairs.x := FCrossHairs.x + cMoveSpeed * GetJoyAxisValue(TGame(FOwner).JoyStick,cJoyAxis_X,cThreshold) * ATimeSlice;
            FCrossHairs.y := FCrossHairs.y - cMoveSpeed * GetJoyAxisValue(TGame(FOwner).JoyStick,cJoyAxis_Y,cThreshold) * ATimeSlice;
        End
 
Get it here while it's still hot ;-)

http://www.paulsbitsandbytes.webatu.com/dod/dod_download.php

cheers,
Paul

Monday, 19 October 2009

I have uploaded a new version of Day Of Destruction!

http://fpc4gp2x.eonclash.com/downloads/DOD.7z

I have reconfigured the control inputs via ini file stuff, and have updated the documentation help file (now is a pdf file).

Most actions in the game can be controlled via multiple input types (keyboard, joystick, mouse - configurable via the ini file)  Grin

You can now control the complete game (except for exiting) via joystick or mouse only Smiley

You can now use the joystick/mouse to add credits, start a game, play the game, and enter high scores!

The joystick movement might need some work still though - I might need to change to using a thread to poll SDL joystick movement Wink

Enjoy, and feedback would be most welcome Smiley

cheers,
Paul

Wednesday, 14 October 2009

Hi all,
   I have now managed to create my own packfile format (with zlib compression).  I have stored all my fonts, textures, sounds, and music in it with easy access (via TMemoryStreams) from my program!

This has two bonuses:

  1. All resource files are in one neat package.
  2. As it is my own format, it protects (to a reasonable degree) the music files I have been allowed to use in my game (thanks Imphenzia! [http://soundtrack.imphenzia.com/]).

There is a new version of the game for download (around 4.7 MB).  This version includes a .rtf (rich text format) file with instructions (and feature todo list), and background music...yeah! :)


http://fpc4gp2x.eonclash.com/downloads/DOD.7z

Please DO try it out and let me know what you think!

ANY feedback is welcome so I can improve on the game :)

NOTE: If I ever manage to add password protection to my packfile reader/writer classes, then I will release the source code so other people can use it :)

Email: paulfnicholls AT gmail DOT com

cheers,
Paul

Friday, 9 October 2009

WooHoo!! I have gotten permission to use two .OGG music files from the site below for free (as long as I keep my game free):

http://www.imphenzia.com/soundtrack/

So now my game uses SDL_Mixer to do the sounds, AND it now has the two .OGG tracks as background music...pretty sweet I think, in my opinion :)

Hopefully I will have a new download for you all very soon to show off the background music!

Wednesday, 7 October 2009

I have uploaded a new version of the game which uses an ini file so you can say if you want it fullscreen or not...

Just use 1 = fullscreen, 0 = window...
Well, another day, another update LOL

One thing I am really pleased about is the fact that I now have an ONLINE high-score table working!!!

As well as keeping a local high-score table in the same folder as the game, it attempts to access the online version and update and/or read that too.

If it can update or read the online version, that will overwrite the local one and you can see what scores anyone else has gotten...yay!

The new version has been uploaded to here:

Day Of Destruction! download.

You can go here to check the best top-10 high scores!

online high-score table

Hopefully I will finish a read me file with all instructions :)

Saturday, 26 September 2009

Hi all, I have now gotten Day Of Destruction! to a basic complete working level now...

You can put in credits, start and play a game (only the singularity weapon works currently though).

If you destroy all the asteroids before the earth damage gets too large (10 asteroid hits currently), you complete the level and you then can go to the next level.

If 10 asteroids hits the earth then the game is over (need to add some continues here where applicable).

If you got a high score (has up to 20 best scores; might change that to 10 best scores), you get to enter your name so it is placed on the high score table!

Otherwise you just go to the main screen ready to enter more credits and play more games :)

I will try and upload this version somewhere with the necessary files so people can try it out...it does need lots more tweaking (asteroid speeds, amounts of asteroids coming at the earth at one time, etc.), and the main primary weapon needs to be added, but at least the basic game is working...yay!

Till next time dudes ;)

Monday, 21 September 2009

Hi all, back again :)

I now have added more information to my game screen display, like how much energy you have left to fire with (each weapon has an associated energy cost which is removed from the energy bar).

The energy bar does recharge over time, but at a slower rate than when firing weapons.

There is also an Earth damage bar, but that isn't implemented as of yet due to asteroids not being able to collide with the planet yet.

Oh yeah, and there are now stars...LOL

Saturday, 19 September 2009

I have now have two weapons in the game - a singularity blast as well as the repulsor blast.

The singularity blast creates a swirling mass of particles that will suck any asteroids that are too close into itself and destroy them!  It is a bit hard to see in the picture below, but those particles are swirling around their center and are sucking that asteroid into itself :)




The repulsor blast doesn't do anything yet, but it will ;)

I have now also added in an end of level screen which displays the level number just completed, the score and lets you press fire to continue to the next level.

Till next time dudes :)

Monday, 14 September 2009

I have now integrated the particle systems into the main game now...see the screenshots below :)

I haven't added in particle trails yet for the repulsor blasts.

There is also no collision detection yet, but the particles from the explosions (including shock-waves) will check for collisions between asteroids and then do the appropriate actions (theoretically) LOL ;)

Repulsor blasts + beginnings of explosions:
 
Explosions expanded:
 

cheers,
Paul

Thursday, 10 September 2009

Whoa! An update...yay!

I have been working on a simple particle system that I can use to create various effects in my game by tweaking various parameters, and overriding the ResetParticle() and Update() methods :)

See the screenshot and video link below for some explosions including shock-waves!  I needed to work on this part as shock-waves are integral to the game where they can repulse or destroy asteroids...


particles test video (swf)

Till next time :)
Paul

Wednesday, 2 September 2009

Hmm...only 24 days left till the end of the PGDAnnual 2009 - Arcadia competition, and I STILL don't have anything resembling a playable game...D'OH!

I really need to pull my finger out and get back into this...

Hopefully I will have some more updates real soon :)

Tuesday, 21 July 2009

Hi all,
I have now got a basic main title screen, high score table screen (only 2 test scores), and a credits screen.

These rotate between each other with a 10 second delay.

You can press 'C' to add credits (includes add credit noise) at any of the above screens.
You can press 'H' to have a sneak-peak of the high score entry screen (left-right cursor keys moves the cursor...you can't enter names yet).

If you have added credits, you can press '1' at any of the screens (except high score entry) to show a possible play game screen (doesn't do anything yet except look pretty).

On all screens, you can press 'Escape' to exit the program.

You can download the test version here (requires freeware 7-zip (www.7-zip.org) archive program ):

http://fpc4gp2x.eonclash.com/downloads/Day Of Destruction!.7z

Please tell me what you think so far :)

Saturday, 18 July 2009


Here is a rough screen shot of the main screen. The two lots of credit text at the top of the screen flash darker to lighter and back again. You can add credits to the game, and if the exit game or start game keys aren't pressed, then the next screen becomes the high score display.

Till next time :)

Friday, 17 July 2009

There is no screen shot today, but I have now got a very crude main screen that shows the title, and the number of credits available.

You can increase the number of credits, or just exit the program currently.

I have also re-factored the code so I now have separate state classes that can read/write the main game class.

Each state class now handles the rendering + key, mouse, joystick events completely on it's own so it is nice and compartmentalized :)

Wednesday, 15 July 2009


Here is another screen shot now with fonts!

The fonts in the screen shot (Robotron) can be found on this page:
http://www.empire-of-the-claw.com/Fonts/Fontpages/claws_game_zone.htm

This is thanks to the Font Studio 4.12 created by our very own Nitrogen on www.pascalgamedevelopment.com :)

You can find his project here:
http://www.nitrogen.za.org/projectinfo.asp?id=12

Tuesday, 14 July 2009


Neato! Another screen shot. This one includes some 2d explosions using OpenGL triangle strips with alpha-blending. To be honest, I would like to make them look more like 2d shock waves as seen here:

http://www.espressosoft.com/images/blog/gamepic9.png

Monday, 13 July 2009

I have now uploaded the basic working project code and data to the free version of an Unfuddle (http://www.unfuddle.com/) SVN repository that I created a while back, so at least my precious project is safer than it was...yay! :)

Here is a very basic screen shot where I am trying out some graphics. This includes an Earth graphic + some score/difficulty 'rings' around the planet, and some 3d asteroids rotating around their own axis.
Well, here we are...I've started my very first blog :)

This blog will be all about the arcade game I am programming for the PGD Annual 2009 - Arcadia competition (http://www.pgdannual.com/index.php?m=competition&id=6).

I am writing it using Delphi (Object Pascal), but it should be compatible with Lazarus (www.lazarus.freepascal.org) as well. This means I have the option to make a cross-platform version later on if I wish.

I have already uploaded my design document to the competition website as per stage 1 requirements, and am now doing coding, etc. for stage 2 - develop your game.

I will keep you posted as often as I can :)

Till next time,
Paul