Gp2x Coding Competition Results


miq01@ I found beat2x way too hard and I am a fairly confident musician. I think besides the different percentages taken off the energy bar for each difficulty level, you should also look at making songs on easier have less "steps"... Perhaps they could be implimented in different groups of songs... for example:

Code:
Main Menu:

     Beginner Group (Less # Steps):
          Easy
          Normal
          Hard
          Insane

     Intermediate Group (Average # Steps):
          Easy
          Normal
          Hard
          Insane

     Proffessional Group (Normal # Steps):
          Easy
          Normal
          Hard
          Insane

Its just my thoughts. Of course you don't have to listen to them, I just think it would be good for my fiancé to enjoy Beat2X even if she has no rythm... and for me to enjoy without getting frustrated all the time :p hehehehe

Thanks again for the great game. IMHO I think Beat2X was the best of the entrants. Keep up the great work miq01!

EDIT: I will also look at making some song packs for it too. I would like to create packs for licensed music tho... do you think it would work asking the user to rip the CD if they have it, in order to play my song packs? Otherwise, where are some good places to get free music from so I can make packs for those? Thanks
 
took me a while to get em down but i have gotten to the point where i can beat songs one and two on normal most of the time, song one on hard or insane sometimes and song to on hard sometimes i agree about the lifebar part and one think i noticed is it will sometimes hiccup or hand for a sec then continue, that has ruined it for me a few times lol! i also would like to request some songs! the songs are "girl boy song" and "bouncing ball" by aphex twin would be tough but sweet! i love the songs that are in there now too! overall you did amazing man, deserve a consolaton prize or something and damn you for sucking up so much of my free time! lol
 
mrpham posted on Mar 1 2006 at 03:03 AM said:
If I already started 100% with my energy bar, then I can't really push it any further than that point, no matter how well I play the game!
I agree. That's why it doesn't start at 100%. I think that balancing the amounts of energy you lose when you get a "poor" should do.

timbobsteve posted on Mar 1 2006 at 04:56 AM said:
miq01@ I found beat2x way too hard and I am a fairly confident musician. I think besides the different percentages taken off the energy bar for each difficulty level, you should also look at making songs on easier have less "steps"... Perhaps they could be implimented in different groups of songs...
I'd also like to have easier songs with less steps, but that means that for every song 3 groups of events (following your example: beginner, intermediate, professional) must be defined, and that would take some time. I thought about doing it from inside the program: something like drawing only the pair steps. But that would probably feel inconsistent with the song. So the easiest thing it can be done for now is to work on easier song packs, while I change the file format a bit so that you can define several levels of difficulty (but that's not high priority for me at the moment).

timbobsteve posted on Mar 1 2006 at 04:56 AM said:
EDIT: I will also look at making some song packs for it too. I would like to create packs for licensed music tho... do you think it would work asking the user to rip the CD if they have it, in order to play my song packs? Otherwise, where are some good places to get free music from so I can make packs for those? Thanks
I don't think there's any problem about asking the user to rip a CD. But anyway, here is a list of free music sites. There's a lot (A LOT :)) to choose from:
triton posted on Mar 1 2006 at 06:15 AM said:
one think i noticed is it will sometimes hiccup or hand for a sec then continue, that has ruined it for me a few times lol! i also would like to request some songs! the songs are "girl boy song" and "bouncing ball" by aphex twin would be tough but sweet! i love the songs that are in there now too! overall you did amazing man, deserve a consolaton prize or something and damn you for sucking up so much of my free time! lol
Yes, those hiccups seem to happen on lots of apps for GP2X. Not only for this one. On most applications it's not a big problem, but it is on Beat2X, where sync is very important. My code doesn't seem to cause them, so I don't know how to solve it.

I enjoy listening to some Aphex Twin stuff, and I also thought it'd be nice to play some of them on Beat2X. If anyone wants to work on them, that would be great! But again, the user should be asked to rip the songs from the CD (meaning that I don't want people to release song packs with commercial music in them containing the text "Beat2X" and/or "miq01" :)).
 
Last edited by a moderator:
miq01 posted on Mar 1 2006 at 11:34 AM said:
mrpham posted on Mar 1 2006 at 03:03 AM said:
If I already started 100% with my energy bar, then I can't really push it any further than that point, no matter how well I play the game!
I agree. That's why it doesn't start at 100%. I think that balancing the amounts of energy you lose when you get a "poor" should do.

timbobsteve posted on Mar 1 2006 at 04:56 AM said:
miq01@ I found beat2x way too hard and I am a fairly confident musician. I think besides the different percentages taken off the energy bar for each difficulty level, you should also look at making songs on easier have less "steps"... Perhaps they could be implimented in different groups of songs...
I'd also like to have easier songs with less steps, but that means that for every song 3 groups of events (following your example: beginner, intermediate, professional) must be defined, and that would take some time. I thought about doing it from inside the program: something like drawing only the pair steps. But that would probably feel inconsistent with the song. So the easiest thing it can be done for now is to work on easier song packs, while I change the file format a bit so that you can define several levels of difficulty (but that's not high priority for me at the moment).

timbobsteve posted on Mar 1 2006 at 04:56 AM said:
EDIT: I will also look at making some song packs for it too. I would like to create packs for licensed music tho... do you think it would work asking the user to rip the CD if they have it, in order to play my song packs? Otherwise, where are some good places to get free music from so I can make packs for those? Thanks
I don't think there's any problem about asking the user to rip a CD. But anyway, here is a list of free music sites. There's a lot (A LOT :)) to choose from:
triton posted on Mar 1 2006 at 06:15 AM said:
one think i noticed is it will sometimes hiccup or hand for a sec then continue, that has ruined it for me a few times lol! i also would like to request some songs! the songs are "girl boy song" and "bouncing ball" by aphex twin would be tough but sweet! i love the songs that are in there now too! overall you did amazing man, deserve a consolaton prize or something and damn you for sucking up so much of my free time! lol
Yes, those hiccups seem to happen on lots of apps for GP2X. Not only for this one. On most applications it's not a big problem, but it is on Beat2X, where sync is very important. My code doesn't seem to cause them, so I don't know how to solve it.

If you had been looking at my demo then you would spot that in the first run that at every change of screen results in much slower rendering at first. In my theory it's due the reconfiguration of 920T caches. The cache controller needs some time to fill/flush to accommodate to the new code. Then we have the Linux's kernel what is taking some cpu's time from time to time possibly messing with the caches. So there can be hiccups but fortunately the 920T/940T caches can be controlled manually (so called "cache locking") so really advanced code could use it to an advantage. I hope I will figure how to do it as for some tasks it might results in significant perfomance increase.
 
Last edited by a moderator:
Radek, what makes you think that I didn't look at your demo? :) In my case, I'm sure it doesn't happen after first changes on screen. It happens sometimes (not necessarily at the beginning), and not periodically.
 
i really like most of these games,especially yathzee.i would like to see more games ilke these on gp2x,not necessarily based on poker,but sort of "board games"
 
@miq01: Regarding the energy loss thing: I've just checked on StepMania and it defaults to 50% starting energy on all difficulties, so I say go with that ;)

I'm not sure about the %ages for losng the energy, but they definitely need lowering... I'm quite a proficient DDRer and I can't seem to make it past the first song... lol.

The control stick + buttons idea, yeah excellent idea, I forgot to mention it myself.

Song Length: I like long songs... unfortunately most people don't, so you should probably try for songs that are 1:30 ish. Like I said, I like long songs, so don't get rid of them completely, but I'd suggest making shorter songs the norm.

Other suggestions:
A free selection mode, where you can play songs you've "unlocked".

This might come accross as strange, but I suggest you go and start a thread about this somewhere in the ddruk.com forums. Get some responses from the "DDR Hardcore" who will hopefully have GP2Xs...
 
triton posted on Mar 1 2006 at 04:15 AM said:
one think i noticed is it will sometimes hiccup or hand for a sec then continue
I have worked on this problem a bit, myself. There's another thread about it that has a bunch of info.
http://www.gp32x.de/board/index.php?showtopic=25009

From everything I can tell, the OS is writing to the SD card. It is most likely doing things like updating file access times and other such filesystem processing.

It seems to be reduced by removing the SDL_Delay() calls from your code. They yeild priority to background processes.

Also, if you can mount the SD card with noatime and nodiratime, it seems to work more smooth. I don't know who would care about file atimes, anyway. Perhaps the new firmwares (like maybe the cramfs one) will mount the SD in a nicer way.

Another thing that you could try is to wrap your executable in a script that calls nice so that you can get more priority. Though, if you're using SDL_Delay() this probablly won't help as much.
 
Last edited by a moderator:
Thanks for the info, Flavor.

I don't have SDL_Delay calls in my code (does anyone know if another SDL call uses it internally?). So I tried using this script

Code:
mount /mnt/sd -o remount,noatime,nodiratime,sync
nice -20 ./beat2x
mount /mnt/sd -o remount,async
cd /usr/gp2x/
/usr/gp2x/gp2xmenu
and it works even worse than before. Not sure if I've done anything wrong inside the script, but now my game hangs once for almost a second in the main menu screen and while playing, I'm not sure, but I'd say there are more hiccups than before, and that those hiccups take more or less the same time (compared to the version without calling the script). :blink:

Btw, I'm using a Trascend 1GB 80x SD card.
 
Code:
mount /mnt/sd -o remount,noatime,nodiratime,sync
nice -20 ./beat2x
mount /mnt/sd -o remount,async
cd /usr/gp2x/
/usr/gp2x/gp2xmenu
I am not sure, but I figured that remount wouldn't work in a script like that since you're still using the filesystem. You might need to log in via serial or USB gadget to test that out.

Also, you shouldn't just call /usr/gp2x/gp2xmenu, I guess. You're supposed to exec it or else you can get a recursion problem. It's documented elsewhere on the forums, I think.

If you can log in, try doing all the steps in your script, but start at / instead of /mnt/sd/beat2x or whatever. I'm really curious if that helps/hurts.

Also, I assume any calls to sleep() would be similar to SDL_Delay().
 
miq01 posted on Mar 1 2006 at 08:42 PM said:
Code:
mount /mnt/sd -o remount,noatime,nodiratime,sync
nice -20 ./beat2x #<<<<<<<<<<<<<<<<<WTF?
mount /mnt/sd -o remount,async
cd /usr/gp2x/
/usr/gp2x/gp2xmenu
Hang on, I don't know very much about the nice command but it looks to me like you're launching it with reduced priority. Hmm...

EDIT: Nesting tags
 
Last edited by a moderator:
Aninhumer posted on Mar 1 2006 at 08:37 PM said:
Hang on, I don't know very much about the nice command but it looks to me like you're launching it with reduced priority. Hmm...
I had looked it up before, and I was going to find it and tell you why you were wrong. The only problem is that I have found conflicting/misleading information via google.

From what I can tell, though, the lower the niceness, the higher priority you get. So, being negatively nice is like being mean to all the other processes.

You may want to try "nice -n -20" because it's more explicit than "nice -20". Also, nice is only modifying your priority, not setting it. So, it depends on what your priority was before you ran nice.

As far as I can tell, the "nice -20" command should be fine to increase the priority.
 
Last edited by a moderator:
Flavor posted on Mar 1 2006 at 10:06 PM said:
I had looked it up before, and I was going to find it and tell you why you were wrong. The only problem is that I have found conflicting/misleading information via google.

From what I can tell, though, the lower the niceness, the higher priority you get. So, being negatively nice is like being mean to all the other processes.

You may want to try "nice -n -20" because it's more explicit than "nice -20". Also, nice is only modifying your priority, not setting it. So, it depends on what your priority was before you ran nice.

As far as I can tell, the "nice -20" command should be fine to increase the priority.
That's pretty unintuitive, yet quite logical, I guess...

EDIT: Actually, I just looked in Linux Format (Issue 74), it says
Code:
:# nice --10 updatedb
This runs the updatedb with a reduced priority of -10.
 
Last edited by a moderator:
Aninhumer posted on Mar 1 2006 at 09:14 PM said:
Code:
:# nice --10 updatedb
This runs the updatedb with a reduced priority of -10.

Yeah, I saw this syntax, too, but it didn't work on a Linux box here. That's mostly why I suggested using the "-n" option.
 
Last edited by a moderator:
Regarding the issue with the different levels of difficulties in Beat2x, it's actually a lot more complicated than it would seem. What miq01 has done between the available difficulty settings is just to speed up/slow down how fast the steps are SHOWN; the actual speed of the song or the steps remain UNMODIFIED, thus, not really changing the difficulty at all (since some people find it easier to play it faster and some people find it easier to play it slower). A possibility that I can think of to get around this problem to create an effective set of different difficulties is to just do it the classic way: the individual who will create the steps for a song will design an beginner/easy/normal/hard/insane/inhuman/etc. version of that one song. Although it sounds like a lot of hassle, ithis is how it's done to any Stepmania .dwi file you will find or any DDR songs you find on any version but I find this most effective. Since many Stepmania songs actually have custom difficulties, breaking the traditional light/standard/heavy, newer versions of Stepmania will recognize all the different set of steps created for that particular song. This is very convenient since not everyone may want to create 3 different sets of difficulties for a song. Some may want to do up to 5 while others just want to do one that's just extremely hard. So miq01, a suggestion before everything gets messy, I can see that a lot of people are in fact interested in creating customized song packs and to keep everything organized and make life easier for everyone including yourself. Make sure to organize a system (something along the lines of what I've mentioned already) to keep everything organized and efficient for both yourself and the individuals who want to add to the project!
 
Flavor posted on Mar 1 2006 at 09:49 PM said:
I am not sure, but I figured that remount wouldn't work in a script like that since you're still using the filesystem. You might need to log in via serial or USB gadget to test that out.
Ok. But I don't have a way to log. :(

Flavor posted on Mar 1 2006 at 09:49 PM said:
Also, you shouldn't just call /usr/gp2x/gp2xmenu, I guess. You're supposed to exec it or else you can get a recursion problem. It's documented elsewhere on the forums, I think.
In fact, I didn't need to call gp2xmenu because I do it from inside the program, just before exiting:
Code:
chdir("/usr/gp2x");
execl("/usr/gp2x/gp2xmenu", "/usr/gp2x/gp2xmenu", NULL);
Do you mean the process keeps running after doing that?

Flavor posted on Mar 1 2006 at 09:49 PM said:
Also, I assume any calls to sleep() would be similar to SDL_Delay().
Thanks. But I don't use sleep functions inside my code, so I guess that's not the problem.

mrpham posted on Mar 2 2006 at 01:11 AM said:
So miq01, a suggestion before everything gets messy, I can see that a lot of people are in fact interested in creating customized song packs and to keep everything organized and make life easier for everyone including yourself. Make sure to organize a system (something along the lines of what I've mentioned already) to keep everything organized and efficient for both yourself and the individuals who want to add to the project!
Don't worry about keeping it organized. If I add the feature you suggest, I'll keep the current file format. And internally, it's already quite well organized. :)

Btw, I've finished implementing alternative control modes. Now you can choose between "BUTTONS" (the current one), "STICK" and "COMBINED" (what you asked for). And I'm quite surprised that playing with the stick is not as painful as I expected. In 1 or 2 days I'll release a new version with this feature, volume control and hi-scores table.
 
Last edited by a moderator:
Solstar posted on Mar 1 2006 at 03:14 PM said:
i really like most of these games,especially yathzee.i would like to see more games ilke these on gp2x,not necessarily based on poker,but sort of "board games"

thanks for the comments on yahtzee, i only done it as a quick port from my gp32 version as I always try to enter something for fun in our compos, but its good to hear at least one person has played and liked it :)
 
Last edited by a moderator:
Guyfawkes posted on Mar 2 2006 at 12:38 AM said:
thanks for the comments on yahtzee, i only done it as a quick port from my gp32 version as I always try to enter something for fun in our compos, but its good to hear at least one person has played and liked it :)

Make that (at least) two. I loved the GP32 version and still play it, so this was just tasty GP2X gravy for me!

Thanks for porting it :)
 
Last edited by a moderator:
Btw, I've finished implementing alternative control modes. Now you can choose between "BUTTONS" (the current one), "STICK" and "COMBINED" (what you asked for). And I'm quite surprised that playing with the stick is not as painful as I expected. In 1 or 2 days I'll release a new version with this feature, volume control and hi-scores table.

Sweeeeeeeeeet! I will wait until the day you will release that version then! I want to ask you for one more thing though. If you can implement a combo feature such as to when, let's say, if you get more than 5 keys in a row, there will be a combo counter to hold your combo count before you break it just like Stepmania/DDR. Miq01, if you can add that feature, I will be in PARADISE!

Cheers! :D
 
Guyfawkes posted on Mar 2 2006 at 02:38 AM said:
but its good to hear at least one person has played and liked it :)
I would have tested it if I knew how to play Yahtzee. Going to check this sometime... :)

mrpham posted on Mar 2 2006 at 03:12 AM said:
I want to ask you for one more thing though. If you can implement a combo feature such as to when, let's say, if you get more than 5 keys in a row, there will be a combo counter to hold your combo count before you break it just like Stepmania/DDR. Miq01, if you can add that feature, I will be in PARADISE!
What do you mean by "if you get more than 5 keys"? More than 5 PERFECTs? Or should it be valid for GREATs and GOODs? I think that it should be for PERFECTS only or it would be too easy to make combos. I'll add that feature for sure, but don't know when as the guy doing the artwork (Zenzuke) has his HD broken and has to buy a new one.
 
Last edited by a moderator:
Back
Top