Adventure Game Studio

AGS Games => AGS Games in Production => Topic started by: suicidal pencil on Thu 11/03/2010 06:17:07

Title: AGS Guitar Hero (updated March 16th)
Post by: suicidal pencil on Thu 11/03/2010 06:17:07
I've been dreaming about making a Guitar Hero clone on AGS, but I've never really known where to start. After searching around and finding no evidence of anyone succeeding at it yet, I still have no idea where to start, but I'm going to give it a try  :D

So presenting...
(http://i182.photobucket.com/albums/x313/suicidal_pencil/LOGOjpeg.jpg)

Details:

Name: AGS-Guitar Hero
Version: 0 (only just started :P)
Release: soon! I promise!

Basically, I'm making this game as a coding challenge for myself, and to try and twist the arm of AGS as hard as I can and see what happens. It will do everything that you can do in Guitar Hero right now, with three notable exceptions: There will be a 7th note (the 'open string' note), You will be able to make a Guitar Hero version of your favorite songs (basically, a song editor), and most importantly: the source will be available! I love looking at the source code of modules and games because I like to see how people solve certain problems, so I'm letting everyone who wants to take a gander at it ;)

To Do List
Game Engine
The graphics are just rough versions, just so I can get a working version. Here's what it looks like so far:

The main screen
(http://i182.photobucket.com/albums/x313/suicidal_pencil/Background.png)

The notes
(http://i182.photobucket.com/albums/x313/suicidal_pencil/Green.png)(http://i182.photobucket.com/albums/x313/suicidal_pencil/Red.png)(http://i182.photobucket.com/albums/x313/suicidal_pencil/Yellow.png)(http://i182.photobucket.com/albums/x313/suicidal_pencil/Blue.png)(http://i182.photobucket.com/albums/x313/suicidal_pencil/Orange.png)



Dev. Journal

March 10, 2010
March 12, 2010

.
.
.
   Offset = 0;
   String Line = SongList.ReadRawLineBack(); //get the entire line into the game memory
   String LineChar = Line.Substring(Offset, 1); //This variable points to a single character in the line
   
   if(LineChar == "I") //the line with the song information (song name/number) is started with an 'I'
   {
     
     SongFound = true;
     Offset += 3;
     LineChar = Line.Substring(Offset, 1);
     
     while(LineChar != "}") //I'm assuming that the user wont mess around with the song file
     {
       
       StringNumber.Append(LineChar);
       Offset++;
       LineChar = Line.Substring(Offset, 1);
       
     }
     
     //I have to deal with the 'a' at the beginning of the string.
     String TrimStringNumber = StringNumber.Substring(1, StringNumber.Length-1);
     songnumber = TrimStringNumber.AsInt;
     Offset += 3;
     LineChar = Line.Substring(Offset, 1);
     
     while(LineChar != ")")
     {
       
       SongSelect_SongName.Append(LineChar);
       Offset++;
       LineChar = Line.Substring(Offset, 1);
       
     }
     
     SongSelect_SongName = SongSelect_SongName.Substring(1, SongSelect_SongName.Length-1);
     Offset += 3;
     LineChar = Line.Substring(Offset, 1);
     
     while(LineChar != ")")
     {
       
       SongSelect_Length.Append(LineChar);
       Offset++;
       LineChar = Line.Substring(Offset, 1);
       
     }
     
     SongSelect_Length = SongSelect_Length.Substring(1, SongSelect_Length.Length-1);



now, here's the same stuff done in Perl with Regular Expressions


if($_ =~ /^I (\d) {(\w)} (\d)/)
{

 $SongNumber = $1;
 $SongName = $2;
 $SongLength = $3;

}


MUCH simpler, and more compact :P (edit: I actually found a semantic error in my code after posting...)
more to come!
March 16, 2010
Title: Re: AGS Guitar Hero
Post by: Dualnames on Thu 11/03/2010 09:28:13
Someone would say it, but have you seen what Abstauber has done with ShattenReyze?

http://ags-ssh.blogspot.com/2009/11/while-my-guitar-gently-bleeps.html
Title: Re: AGS Guitar Hero
Post by: suicidal pencil on Thu 11/03/2010 12:20:51
damn! beaten to the punch. Oh well, so I may not be the first to create it, but maybe the first to release it (didn't see a dl link in the link...but that's pretty cool)  :P

If I have a flaw, it's graphic design. I can't create graphics to save my life. Anyone interested, feel free to PM me.
Title: Re: AGS Guitar Hero
Post by: deadsuperhero on Thu 11/03/2010 17:18:53
I have to say, this is an interesting concept. Reminds me vaguely of the guy that made a GH clone for his Commadore 64.
Title: Re: AGS Guitar Hero
Post by: suicidal pencil on Fri 12/03/2010 00:10:42
Even with the limitations, it is possible to create almost anything with AGS. However, the trick is making it playable and usable  :P
Title: Re: AGS Guitar Hero
Post by: Scarab on Fri 12/03/2010 03:26:48
Quote from: Alliance on Thu 11/03/2010 17:18:53
I have to say, this is an interesting concept. Reminds me vaguely of the guy that made a GH clone for his Commadore 64.

There was even a guy who made a similar game (http://dpadhero.com/Home.html) for the  NES, which is quite impressive, if unwieldy control-wise.
Title: Re: AGS Guitar Hero
Post by: CaptainD on Fri 12/03/2010 15:49:30
Is there any way of using Tracker music and making a program to grab the notes information straight from the file?  It seems to me (with my minniscule programming ability!  ::)) that the toughest part will be making the sequence of notes to play.
Title: Re: AGS Guitar Hero
Post by: suicidal pencil on Sat 13/03/2010 04:06:56
Quote from: CaptainD on Fri 12/03/2010 15:49:30
Is there any way of using Tracker music and making a program to grab the notes information straight from the file?

Only if MIDI is used (Although, a fun game called Audiosurf (http://en.wikipedia.org/wiki/Audiosurf) that will read any song you give it, and it will build a course for you to run with notes synced with the music...but I'm pretty sure that it only detects spikes in the audio frequency).

However, I accidentally solved this problem when I was considering the implementation of the song editor. As the song is built, it's already synced with the music file.

*updated* (new dev. journal post, and finished file parsing function)
Title: Re: AGS Guitar Hero (updated March 16th)
Post by: suicidal pencil on Wed 17/03/2010 01:12:28
*updated* (new dev. journal post, made lots of progress on the song editor and engine :P )