GLBasic forum

Main forum => Beta Tests => Topic started by: Gregory Atlas on 2010-Nov-29

Title: Runner [Done]
Post by: Gregory Atlas on 2010-Nov-29
Hello everyone, i finished my first game...  finally. :)
And i don't want to hold it back to you, if you have some time left to test this game i would be happy.
Some feedback would be really nice, maybe i will consider making the changes to the game still.

http://games.zeewolf.org/

(http://games.zeewolf.org/pictures/runner1.jpg)

Knowing Bug:  :whistle:
Before i start telling you 'How to play' the game: If you reach a big score you can upload it to the database, the only thing you need to do is having your firewall configurated that allows you to send the score over the net, otherwise the game freezes and it crashes after a while. You can visit the homepage to see what Position you are at the moment. :)

** Fixed **

How to play
-----------------
This is simple and easy to explain.
- Use yor Cursor Keys to move the marble.
- You have to collect all Bombs in a certain Time.
- You have to be careful not to slip off the Track.
- You will loose Energy otherwise and if the energy reaches Zero you loose a Live.
- If your Timer runs out you will loose a Live too.
  But you will gain some time back for the Timer.

Have fun playing and testing.  =D
- Greg
Title: Re: Runner [Done]
Post by: Ian Price on 2010-Nov-29
That's a nice little game that is. An excellent start at GLBasic game making :)

The only issue I have with it (and it's nothing major) is that there is no warning (other than watching your health bar) that touching the water/space/black stuff? causes you harm - OK, it's pretty obvious really that you should stay on the path, but only because other similar games imply the same. Perhaps you could have had the character state (on first contact) that this is bad in some way - sound, speech bubble, voice etc.

Also, why collect bombs? The items could be fruit, coins or anything. Bombs don't makes much sense (as you'd run away from them really). If you wanted to induce panic and add extra thrill to the game, I would give the bombs a timer. After you collect a bomb, the next in the series starts counting down, meaning you have to rush to get it before it explodes, and then on to the next.

However, it's very playable and looks and sounds good.
Title: Re: Runner [Done]
Post by: Schranz0r on 2010-Nov-29
are you the Chat-Greg ?
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Nov-30
Quote from: Ian Price on 2010-Nov-29
That's a nice little game that is. An excellent start at GLBasic game making :)

The only issue I have with it (and it's nothing major) is that there is no warning (other than watching your health bar) that touching the water/space/black stuff? causes you harm - OK, it's pretty obvious really that you should stay on the path, but only because other similar games imply the same. Perhaps you could have had the character state (on first contact) that this is bad in some way - sound, speech bubble, voice etc.

Also, why collect bombs? The items could be fruit, coins or anything. Bombs don't makes much sense (as you'd run away from them really). If you wanted to induce panic and add extra thrill to the game, I would give the bombs a timer. After you collect a bomb, the next in the series starts counting down, meaning you have to rush to get it before it explodes, and then on to the next.

However, it's very playable and looks and sounds good.

Hello Ian, thanks for the response and ideas.
- The energy should get some sound effect, like its kind of a warning to stay on the track, thinking of a sound effect right now.

- Seriously my first idea was to change the bombs all to fruits, then i thought afterall i keep the bombs for now that way.
I`m thinking about it, but then the timer wouldnt be necessary? Since you have a limited Time for collecting all bombs in every level.
If i strike the bombs then i will use Fruits and stuff, maybe i let him collect enough stuff to give him a key for the end of a level?
Dunno yet, but the game is still rewritable. :) Ideas i need now.

- The idea to give every bomb a timer would be a good thrill, just get to level 15 and then you know i cant do that. :)

Quote from: Schranz0r on 2010-Nov-29
are you the Chat-Greg ?
Yep
Title: Re: Runner [Done]
Post by: Moru on 2010-Nov-30
When I play it I see it as I'm disarming the bombs before the timer runs out.
Title: Re: Runner [Done]
Post by: Ian Price on 2010-Nov-30
QuoteWhen I play it I see it as I'm disarming the bombs before the timer runs out.
There is that, but why would the timer reduce just because you stray from the path? ;)

I know games are illogical anyway, but there's always some logic holding them together, hence my suggestions.

But whatever the game stays/becomes, it's still a fun little title. :)
Title: Re: Runner [Done]
Post by: Moru on 2010-Nov-30
The energy gets reduced if you stray off the path, but the timer stays the same. Perfectly logical to me so far :-)
Title: Re: Runner [Done]
Post by: Ian Price on 2010-Nov-30
Are they not the same? I missed that - I obviously never ran out of time. :P

D'oh!
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Nov-30
Quote from: Ian Price on 2010-Nov-30
Are they not the same? I missed that - I obviously never ran out of time. :P

D'oh!

Maybe i should rename Energy to Shield?
So you know what you are loosing at the moment.
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Nov-30
I had some strange bug yesterday, if i typed in the highscore "Nobody" as it is written here, the game crashed.
All other words were working. I wonder what this caused, after Windows 7 noticed there is a problem, i clicked on Solving the problem on your own. After that it worked again with the word.

Couldnt reprodruce this, anyone had this trouble too?
Title: Re: Runner [Done]
Post by: Schranz0r on 2010-Nov-30
Quote from: Gregory Atlas on 2010-Nov-30
Quote from: Schranz0r on 2010-Nov-29
are you the Chat-Greg ?
Yep

Alter SACK! :D
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Nov-30
Quote from: Schranz0r on 2010-Nov-30
Quote from: Gregory Atlas on 2010-Nov-30
Quote from: Schranz0r on 2010-Nov-29
are you the Chat-Greg ?
Yep
Alter SACK! :D
Correction = Old Sack [english forum thread :P]

Young Sack! :D
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-01
ToDo List:

- Fixing the Knowing Bug. If you reach a big score you can upload it to the database, the only thing you need to do is having your firewall configurated that allows you to send the score over the net, otherwise the game freezes and it crashes after a while. You can visit the homepage to see what Position you are at the moment. :)
** Fixed **

- Server update for the Highscore table
** Fixed **

- Highscore entry with Name "Nobody", crashes the game. Happens only to Windows 7, tried it on Windows XP and its working without crashing the program.
** Fixed finally **

- Changed Energy to Shield
** Done **

- Sound if you get off track and loosing shield.
** Done **

- Adding more Levels
** 5 levels more **

- More pics
** Done **
Title: Re: Runner [Done]
Post by: ampos on 2010-Dec-01
Quote from: Gregory Atlas on 2010-Dec-01
ToDo List:
- Highscore entry with Name "Nobody", crashes the game. Happens only to Windows 7, tried it on Windows XP and its working without crashing the program. ** Looking for a solve still **

Code (glbasic) Select
If name_entered$="Nobody" THEN name_entered$="You are someone!"

You can use also:

"hope phone number", "are you depressed?", "go out and search for a girlfriend, geek!" and many more.
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-01
Quote from: ampos on 2010-Dec-01
Quote from: Gregory Atlas on 2010-Dec-01
ToDo List:
- Highscore entry with Name "Nobody", crashes the game. Happens only to Windows 7, tried it on Windows XP and its working without crashing the program. ** Looking for a solve still **

Code (glbasic) Select
If name_entered$="Nobody" THEN name_entered$="You are someone!"

You can use also:

"hope phone number", "are you depressed?", "go out and search for a girlfriend, geek!" and many more.

Thanks, i did that already. I tried different ways too.
Code (glbasic) Select
If name_entered$="Nobody" THEN name_entered$="Nobody "
i put in an extra space at the end, SQL ignores this space later so the space doesnt matter anymore.
It will be like "Nobody" as it was typed before. I just wonder if there are other names i cant use.
Title: Re: Runner [Done]
Post by: Slydog on 2010-Dec-01
I'm guessing 'Nobody' is a reserved word?  Or a default/reserved user name.
I Googled 'Nobody' in reference to SQL, but of course that's a difficult search.
I saw one reference to 'Nobody, Nouser, ..." so I wonder if 'Nouser' is a problem too.

Without knowing how you are using the 'name_entered$' in your SQL statement, it would just be a bunch of guessing.  Are you creating a dynamic SQL statement such as:
"insert into HIGH_SCORES values('" + name_entered$ + "', '" + password$ + "' . . . .

And is the column for the name just a regular string type, or a special user name type? (I don't know what database you are using, and really only have experience with Oracle).
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-01
Quote from: Slydog on 2010-Dec-01
I'm guessing 'Nobody' is a reserved word?  Or a default/reserved user name.
I Googled 'Nobody' in reference to SQL, but of course that's a difficult search.
I saw one reference to 'Nobody, Nouser, ..." so I wonder if 'Nouser' is a problem too.

Without knowing how you are using the 'name_entered$' in your SQL statement, it would just be a bunch of guessing.  Are you creating a dynamic SQL statement such as:
"insert into HIGH_SCORES values('" + name_entered$ + "', '" + password$ + "' . . . .

And is the column for the name just a regular string type, or a special user name type? (I don't know what database you are using, and really only have experience with Oracle).

I build a linux server in glbasic for the highscore, its managing the SQL entries, it has nothing to do with the SQL.
Cause it wont get any informations, the game will crash before it can send any informations to the server.

I upload a screenshot now so you can see what happens on the Windows 7.

Nobody - crashes the game
Nouser - crashes the game too

The error of Windows 7 says i should go here to see why it happens: http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0407

That´s very interesting now.

[attachment deleted by admin]
Title: Re: Runner [Done]
Post by: Slydog on 2010-Dec-01
Interesting.
So the pattern is either words beginning with 'No', or words that are 6 characters long (ha, or both!).
Or it could still be only specific words for some reason.

It could be specific words depending on how you use the string variable I guess.
ie. You don't use it for the file's owner do you?  (I'm really stretching here perhaps)
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-01
Something strange was happening, i compiled the game again after i added some SUB for an Error Screen if you cannot send the info to the server, just a screen with drawsprite. Now it works with Nobody and Nouser.... o.o

Forgot to mention i had the Debug Mode on.
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-01
After an hour of testing what causes the crashing i found out what it is.....  :S

Code (glbasic) Select
////
GLOBAL playername$ = ""

playername$ = "Nobody"
LOCAL hex$
GLOBAL msg$

hex$ = "123456789123456789,"+playername$+","+score
msg$ = ENCRYPT$("test", hex$) // After that its crashing, but only if you type 6 Letters into the Highscore. Typed: Nobody
////

----------------------------------------------------------------------------------
Code (glbasic) Select
////
GLOBAL playername$ = ""

playername$ = "Nobody"
LOCAL hex$
GLOBAL msg$

hex$ = "123456789123456789,"+playername$+","+score+",4" // Adding +",4"
msg$ = ENCRYPT$("test", hex$) // After that its crashing, but only if you type 4 Letters into the Highscore. Typed: 1234
////


It seems like a bit nonsense to me if i add more fake letters to the Variable...  :blink:
I added now: ","+score+",......"
Seems like it works now without crashing.  =D
Title: Re: Runner [Done]
Post by: Slydog on 2010-Dec-02
QuoteSo the pattern is either words beginning with 'No', or words that are 6 characters long

So, it seems that the ENCRYPT$ command has a bug that can't accept a certain number of characters.

[Edit]
I'm guessing that you could simplify your code like this:

Code (glbasic) Select
"123456789123456789,......,"+playername$+","+score
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-02
Quote from: Slydog on 2010-Dec-02
QuoteSo the pattern is either words beginning with 'No', or words that are 6 characters long

So, it seems that the ENCRYPT$ command has a bug that can't accept a certain number of characters.

[Edit]
I'm guessing that you could simplify your code like this:

Code (glbasic) Select
"123456789123456789,......,"+playername$+","+score

Tried that and if i type now a 7 letter Word, it crashes. Used the word 'Tornado'
I will try now something else....
Title: Re: Runner [Done]
Post by: Slydog on 2010-Dec-02
Very strange.
What about putting about 10 more characters near the beginning of the string?
Or maybe in needs to end with a non-numeric string?
try '+ ","' again?
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-03
Quote from: Slydog on 2010-Dec-02
Very strange. 
What about putting about 10 more characters near the beginning of the string?
Or maybe in needs to end with a non-numeric string?
try '+ ","' again?

I did that already above. :)
I will continue on researching this problem.   ;/
I have a theory already about it, but i need to prove it first.
Title: Re: Runner [Done]
Post by: MrTAToad on 2010-Dec-03
That is odd - but if you find a bug in ENCRYPT$, let Gernot know :)
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-03
Quote from: MrTAToad on 2010-Dec-03
That is odd - but if you find a bug in ENCRYPT$, let Gernot know :)
Already sended an E-Mail days ago. But he is busy i suppose :) lets just wait. As long the game works everything else is fine for me. Just something random i found out. My TODO List is getting smaller, soon i make a new update.
Title: Re: Runner [Done]
Post by: Kitty Hello on 2010-Dec-03
I have no mail aboutan enc bug. I am sick (ill) since wednesday, already. Got a bad flu.
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-03
First get better Kitty, relax. :)
The E-Mail i wrote you contained parts of this forum entry, i wonder why i didnt recieved an "error: e-mail wasnt sended" or something.
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-03
Fixed it... i hope.... found out what the problem was, i hope this is it.

before:
Code (glbasic) Select
rv% = SOCK_TCPSEND(sock_cl%, msg$)
Code (glbasic) Select
rv% = SOCK_CLOSE(sock_cl%)

% <-- was the troublemaker it seems.

changed it to:
Code (glbasic) Select
rv% = SOCK_TCPSEND(sock_cl, msg$)
Code (glbasic) Select
rv% = SOCK_CLOSE(sock_cl)

I can type now Nobody without crashing.

Now i need to test it on a Windows XP Computer still.
It would be an irony if its not working there.
Title: Re: Runner [Done]
Post by: Slydog on 2010-Dec-03
In the help file it indicates that those functions are expecting integers, so that's strange.
Your 'sock_cl' variable was declared as integer right?
If so, then leaving the '%' if fine as you really don't need them after the variable is declared.
But, great debugging!
Title: Re: Runner [Done]
Post by: MrTAToad on 2010-Dec-03
 ;/
Quote from: Kitty Hello on 2010-Dec-03
I have no mail aboutan enc bug. I am sick (ill) since wednesday, already. Got a bad flu.
Join the club!
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-03
Quote from: Slydog on 2010-Dec-03
In the help file it indicates that those functions are expecting integers, so that's strange.
Your 'sock_cl' variable was declared as integer right?
If so, then leaving the '%' if fine as you really don't need them after the variable is declared.
But, great debugging!

Wah, now it strikes me again.
I`m home right now, there it crashes, grrr  :rant:
Gonna check something.

Okay if i hit F5 in the glbasic and start the game from there without debug mode, its going to crash, if itype Nobody in the Highscore.
Interesting... but it works if i start the Runner.exe on its own (not starting with Glbasic) and typing Nobody in the Highscore.
Title: Re: Runner [Done]
Post by: MrTAToad on 2010-Dec-04
That sounds like some sort of memory allocation/change problem - it seems that a program is modified in some way when run from the IDE, even without debug mode being on...
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-04
Quote from: MrTAToad on 2010-Dec-04
That sounds like some sort of memory allocation/change problem - it seems that a program is modified in some way when run from the IDE, even without debug mode being on...

Is it something what can be fixed?
Title: Re: Runner [Done]
Post by: MrTAToad on 2010-Dec-04
I don't know - there must be some sort of change to a program when run from the IDE, which must be creating some sort of problem with sockets (or perhaps function isn't aligned to some boundary)...

One thing that may be worth checking out is to create a test program which just sends Nobody to the hiscore table - run that from F5 and standalone.  If that works then there is some memory overwrite problem in Runner - and you may have found a bug, possibly in the socket system :)

If it doesn't work in F5 then there could be a problem in the way that programs are spawned from the IDE

Title: Re: Runner [Done]
Post by: Kitty Hello on 2010-Dec-06
If it really crashes, You must send (email) me the whole project and tell me what to do to make it crash. I hope I can reproduce that then.
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-08
Quote from: Kitty Hello on 2010-Dec-06
If it really crashes, You must send (email) me the whole project and tell me what to do to make it crash. I hope I can reproduce that then.
Can´t get it to crash anymore. I try it again later.

Updated the Game, i think i wont make any changes anymore.  :good:
The game is done so far nobody finds a Bug i need to fix.  :S

Get the new update from the homepage. :)
http://games.zeewolf.org/
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2010-Dec-17
It´s up in the showroom now.

Have fun! :)
Title: Re: Runner [Done]
Post by: Gregory Atlas on 2011-Feb-21
I have fixed the crash in 1.77 and rewrote the server communication to the Highscore Table.
It´s now working without any trouble... (hopefully)

There is a problem with VISTA and Windows7.
The Encryption doesnt work proberly.

The Bug Report you can read here: http://www.glbasic.com/forum/index.php?topic=5725.0