Arkanoid


Tom`

Well-Known Member
Joined
Apr 22, 2008
Messages
1,168
Since I got sebt3's toolchain set up over the weekend, I tried looking at the Port Requests wiki page to see if any of that software would work with just a recompile. It appeared that Arkanoid didn't require OpenGL or anything hardware-specific, so I tried that, and much to my surprise, after fiddling with a few libraries, it worked!


So I have this Arkanoid PND now. I didn't change any code, just the makefile, so while the game is perfectly playable, there's no fullscreen mode or support for remapping buttons. I'd like to add these things, but I'd like to get Clement Corde's permission first, since there's no explicit license included with the source code. I don't think he'd have a problem with it (he seemed to approve of the Dingux port), but I think it's best from a legal standpoint as well as being polite to get permission.


I was thinking it could be good if someone who actually spoke French could send him an e-mail, before I start modifying things or uploading them to the official Pandora archives.


Does anyone agree with me in this? I'd appreciate any advice, since I've never done anything like this before. :p


(If you want to try the game it's here. Move the paddle with the d-pad or left nub; launch balls with Start, Select, or the right nub; I haven't looked at any other controls yet).


(crossposting to both boards...)
 
Last edited by a moderator:
Great job! I am going to have to try this. Thanks.


You are never wrong to ask when in doubt! So ask and if there is no response within a reasonable amount of time, I would say do not worry about it.
 
You guys should try playing it before you make any positive comments. As it is it's stuck at Dingoo resolution (320x240?) and so you will probably need to hold the Pandora very close to your face if you want to see anything clearly (unless I just need new glasses). This is one of the things I plan to fix soon. :p


edit: and the PND needs a screenshot, too. :unsure:
 
Last edited by a moderator:
As it is it's stuck at Dingoo resolution (320x240?) and so you will probably need to hold the Pandora very close to your face if you want to see anything clearly (unless I just need new glasses). This is one of the things I plan to fix soon. :p
Just use Notaz improved SDL. (it will scale that for you)
 
Last edited by a moderator:
Just use Notaz improved SDL. (it will scale that for you)
Thanks to this, here's a slightly improved (fullscreen!) version: http://www.mediafire.com/?vh582mj057f57b4


edit: nubs don't seem to work the same way with that SDL version, so I had to make a couple of minor changes to the code - action buttons now more or less work.


I'm not sure how much more I can do with this - I don't know SDL, or even C very well, and while the code is very well-documented, it's very well-documented in French. If anyone has any changes to suggest I'll see what I can do, but I can't promise anything.


If there aren't any major issues, then, I'll upload everything to the file archive once I have permission (or hopefully an explicit license).


Thanks for all your support.
 
Last edited by a moderator:
Would you mind porting Mr. Driller from Dingux next?
I have it running, but without sound or sensible controls. I'll try to figure that out tonight.
Good to hear! Thanks for looking into this! I will be trying Arkanoid again tomorrow on a flight with the Pandora. While you are in that Mr. Drillux code, see if there is more than 1 life possible?


Sound and control are a priority, but for such a fun game, it kinda sucks to die and be done.
 
Just use Notaz improved SDL. (it will scale that for you)
Thanks to this, here's a slightly improved (fullscreen!) version: http://www.mediafire.com/?vh582mj057f57b4


edit: nubs don't seem to work the same way with that SDL version, so I had to make a couple of minor changes to the code - action buttons now more or less work.


I'm not sure how much more I can do with this - I don't know SDL, or even C very well, and while the code is very well-documented, it's very well-documented in French. If anyone has any changes to suggest I'll see what I can do, but I can't promise anything.


If there aren't any major issues, then, I'll upload everything to the file archive once I have permission (or hopefully an explicit license).


Thanks for all your support.

That nubs issue must be the same as the one affecting UAE4all, there's a seperate version (minus the updated SDL) for nubs use.
 
Last edited by a moderator:
While you are in that Mr. Drillux code, see if there is more than 1 life possible?


Sound and control are a priority, but for such a fun game, it kinda sucks to die and be done.
Well, I got the sound and controls working: http://www.mediafire.com/?c72jtio7s89x29g


As for multiple lives, anything's possible. This code's really messy and I'm not much of a programmer, but I'll see about maybe respawning at the previous 100m mark or something.


I also want to reduce the size of the PND a bit - it's around 20MB, and 18MB of that is WAV files for the sounds and music. Converting to mp3 would probably cut that by quite a bit, but I think a lot of the audio code might have to be rewritten. I'll have to look at that. (It's using libSDL_mixer, so it shouldn't be too hard, but I don't actually know much about SDL at all, so I'll have to learn that first. :p )
 
Tom,


Thanks so much! I'm going to give this a try right now! After giving it a go, at 600 its way too fast, it needs to be underclocked to 360-400mhz IMO. Nice work!
 
Last edited by a moderator:
I have an improved version here (controls that are more consistent with the Dingoo version, sounds converted to .ogg so they don't take up so much space - the PND is about 3 MB) but I didn't make it public because I wanted to fix the issue with saving high scores (currently not working).


If anyone has any idea why writing to files in the PND gives me "operation not permitted" instead of creating a directory in appdata, please let me know (I've made sure it's writable).
 
This is more or less known behaviour :(


You need to copy the files, that the program will modify to something else.


E.g.:


If you have a file called highscores.dat and the program wants to modify that, it can't, when the file was originally in the pnd.


You have to rename it to something like highscores.dat_def.


Then you have to copy the file to it's location in the startupscript like this:



Code:
cp -n highscores.dat_def highscores.dat


Hope this helps you a bit :)
 
Last edited by a moderator:
Yes, I tried this (well, not using -n: what is this? It's not in the man page for cp), but I get the error "cp: cannot create regular file <file> : Operation not permitted


Everything is writable as it should be, and owned by me, so I don't know why it's not working (other applications don't seem to have any issues).
 
-n is for --no-clobber and will not overwrite files that are already there.


Did you delete the the original file? You cannot copy over a file, that is originally in the pnd.


If you send me the pnd, I can have a look, what might be wrong.


i had a look at your pnd.


The prblem is, that you have to create the working directory while starting the pnd too... It is not nice, but it works. You cannot write to directories, that are in the pnd at first place.


So delete the working folder from the pnd, add a



Code:
mkdir working
in front of your cp commands and use -n with them, or else you will overwrite the files at every startup.


This should work.
 
Last edited by a moderator:
Thanks - everything's working now! This should probably be mentioned on the wiki somewhere.


If no one has any objections, I'll upload the new file to the usual software sources later.
 
Thank you both on this, I know people have a lot of other things going on in the summer, thanks for tweaking this!


Maybe it can have its own section in the Software or Beta section so that others can find it and hopefully appreciate it as much as me.
 
As I heared, there is work beeing done for the next hotfix. Hope these issues are gone then ;)
 
Back
Top