Adventure Game Studio

AGS Games => AGS Games in Production => Topic started by: suicidal pencil on Wed 19/08/2009 02:49:59

Title: The Platform Horde Arcade Game | Experiment
Post by: suicidal pencil on Wed 19/08/2009 02:49:59
Genre: Platform, Arcade
Current Version: 0.81-Alpha
Last Update: October 18, 2009 @ 24:05 EST
latest release: 0.81-alpha
next release: 0.85-alpha
0.81 Release: http://www.mediafire.com/download.php?mwnzamztmdh
0.81 Source: http://www.mediafire.com/download.php?im2inmgxnzz

Game Info and Development

I'm making this just to twist the arms of the AGS engine. I'm an awful graphic artist, but my main focus is on the programming. This is going to be a future project, which will be a collection of AGS arcade games. Anyone who'd like to help are welcome, but no sweat  ;). I put up the source so that people can critique.

Controls: No mouse other than to control the music gui, but you use the left and right arrow keys to move, and the space bar to shoot

To Do List:
Development Notes
Here's a quick image of the main character

(http://i404.photobucket.com/albums/pp122/suicidal-pencil/firing1_left.jpg)

A screenshot of the latest release (0.71)
(http://i404.photobucket.com/albums/pp122/suicidal-pencil/screen.png)

(http://i404.photobucket.com/albums/pp122/suicidal-pencil/screen2.png)
as you can probably see, I still have lots of work to do. The obvious ones are the background and player sprites. (I just noticed this, but if you look closely, you can see how I figured out how to "kill" the enemies"
parts of the code

the fully complete music player. You can now add your own music. To add your own music, just copy a song into the music folder, rename it as "Musicx", where x is the next number in the series (so the first song you add would be "4", the second "5", and so on). It is important to make sure that there are no breaks in the series, or the algorithm to find all the music will not work. Then, just compile it in AGS, and run!

enum Music_Gui
{
 Play,
 Pause,
 Back,
 Skip,
 Next
};

.
.
.

int music_number = 1 + random(music_amount());
int MPOS = 0;
int max_music_number;

.
.
.

function music_amount()
{
 int music_counter = 1;
 while(1)
 {
   PlayMusic(music_counter);
   if(!IsMusicPlaying())
   {
     max_music_number = music_counter;
     return music_counter;
   }
   StopMusic();
   music_counter++;
 }
}

.
.
.

function MUSIC (Music_Gui button)
{
 if(button == Next)
 {
   //when the music runs out, this function is called
   if(music_number == max_music_number)
   {
     music_number = 1;
     PlayMusic(music_number);
   }
   else
   {
     music_number++;
     PlayMusic(music_number);
   }
 }
 else if(button == Back)
 {
   //Back
   StopMusic();
   if(music_number == 1)
   {
     music_number = max_music_number;
     PlayMusic(music_number);
   }
   else
   {
     music_number--;
     PlayMusic(music_number);
   }
 }
 else if(button == Play)
 {
   //Play
   if(!IsMusicPlaying())
   {
     PlayMusic(music_number);
     SeekMIDIPosition(MPOS);
     temp_lock1 = false;
   }
 }
 else if(button == Pause)
 {
   //Pause
   if(IsMusicPlaying())
   {
     MPOS = GetMIDIPosition();
     StopMusic();
     temp_lock1 = true;
   }
 }
 else if(button == Skip)
 {
   //Next
   if(music_number == max_music_number)
   {
     music_number = 1;
     PlayMusic(music_number);
   }
   else
   {
     music_number++;
     PlayMusic(music_number);
   }
 }
 else
 {
   Display("Incorrect or improper parameter passed to function (MUSIC)");
   Wait(5000);
   QuitGame(0);
 }
}


The spawning system for the game's enemies


function SpawnEnemies()
{
 bool enemy_direction = false;
 int randbool = Random(1);
 if(randbool == 1) enemy_direction = true;
 //Basically, I'm doing what I took what I did to the player character (use a boolean variable to determain
 //whether the player is facing left or right), and applied it here to see what side of the screen the
 //enemies spawn from. This just seem the easiest (and fastest) way to do it.
 int loopcheck = 1;
 while(1)
 {
   if(object[object_number].Graphic == 0)
   {
     if(enemy_direction) object[object_number].X = 0;
     else object[object_number].X = 800;
     object[object_number].Y = 400;
     if(object[object_number].X < player.x)
     {
       object[object_number].SetView(3, 2, 1);
       object[object_number].Animate(2, 3, eRepeat, eNoBlock, eForwards);
     }
     else
     {
       object[object_number].SetView(3, 1, 1);
       object[object_number].Animate(1, 3, eRepeat, eNoBlock, eForwards);
     }
     object_number += 1;
     return 0;
   }
   else if(object[object_number].Graphic == 38) return 0; //If the player is still living when there are 40 enemies, I'll be impressed. But just incase, this stops the game from (possibly, I haven't tested) crashing
 }
}
Title: Re: The Platform Horde Arcade Game | Experiment
Post by: ddq on Wed 19/08/2009 03:08:47
Downloaded and played for a bit.

Interesting experiment, indeed! I like where you're going with this, (the arcade collection), and this little game works pretty well, considering it was created in a design environment for adventure games. If I could throw in a little feature request, it might be nice to have the ability for either the player or both player and enemies to duck.
Title: Re: The Platform Horde Arcade Game | Experiment
Post by: Darth Mandarb on Wed 19/08/2009 03:43:26
Please provide two in-game screenshots as the Forum Rules require or I will have to lock this...

Thanks


Since there is only one room this will suffice, thanks for the update.
Title: Re: The Platform Horde Arcade Game | Experiment
Post by: suicidal pencil on Wed 19/08/2009 18:02:46
Quote from: ddq on Wed 19/08/2009 03:08:47
...If I could throw in a little feature request, it might be nice to have the ability for either the player or both player and enemies to duck.

interesting. Will definitely consider it, since it would add a new layer of depth to the game, with the enemies ducking your bullets from time to time.

Quote from: Darth Mandarb on Wed 19/08/2009 03:43:26
Please provide two in-game screenshots as the Forum Rules require or I will have to lock this...

Thanks

sorry bout that. Only one room, and not much to actually see. Yet.
Title: Re: The Platform Horde Arcade Game | Experiment
Post by: suicidal pencil on Fri 16/10/2009 02:59:32
Working on this game on and off. You can probably tell by the frequency of which I update it, but I'm still working on it!