Batterycheck - Remake of an old PC platformer

Archerite Nov 14, 2018.

  1. niuus

    niuus GBAtemp Advanced Fan

    Member
    6
    Mar 4, 2016
    Venezuela
    Great to see you past that awful error. One does really learn weird things when these problems arise with SD cards and some consoles. I would bet that the SD card that does not work for you on the cube works okey with the same gcm on Nintendont for the Wii? :D

    Great, i'll give it a try with that guide!

    A bit of adjusting would be nice. I guess you could include in the future, if it ain't too much work, an option for adjusting/compensating overscan (kinda like the screen setup that many games include for modern TVs and consoles), or kinda like the zoom option in some emulators (Snes9xGX).

    I was going to say exactly that... the adapter is only a pin re-arrangement for the SD card to be understood on the GCN memory card port, since Gamecube Memory Cards are just SD cards after all, afaik. Swiss is the software that you need for interfacing with SDHC.

    One thing i've learnt is to format the SD cards from time to time, specially if i am adding and deleting files constantly. Some consoles are specially sensible to media fragmentation (e.g.: Open PS2 Loader).

    Can confirm the fluid experience on both consoles with BaterryCheck.

    You welcome! :yayu:
     
    Last edited by niuus, Dec 30, 2018
  2. Archerite
    OP

    Archerite GBAtemp Regular

    Member
    5
    Sep 16, 2018
    Netherlands
    I know the SD Gecko is just a simple passive adapter and I actually meant the crappy Datel software. I have only a few SD cards that are actually smaller than 2GB that it will boot from and I have swiss on that card. Then when swiss is loaded I swapped the SD cards for a bigger one with the games on it. Also tried a few times loading directly from my NAS and this kind of worked sometimes but the reboot routine was still the same. Need to restart with the datel disk and swap cards again. I will have to admit this was more than 5 months ago and the details got a little blurry...I did look into getting a mod chip but the only real one I could find was the XenoGC which was not what I wanted. This is where my idea for using the Raspberry Pi as a mod chip (combined with the actual work by the other guy) came from but never really worked out the details....the wii is so much more easier to work with "out-of-the-box"

    No idea why your Luigi's mansion does not show it's banner on one the larger card. I looked a bit at the sourcecode for Swiss and it uses it's own libraries to read the filesystem and does not depend on libogc at all (if i remember correctly). Maybe it is as @niuus said caused by fragmentation of the card from adding and removing games a couple of times. Wish I could help you there but I did not even get SD or USB loading on the Wii working yet...or did not try hard enough maybe. You could try to reformat the card as fat16 using a large sector size and copy your files back and it might just work again. This is just a guess though.

    I am glad to hear that the GameCube version work well and does not have any other issues. The only thing it obviously lacks is support for other controllers and I think no way to exit to Swiss at the moment. I could have the Start button exit or just wait until the in-game menu system is implemented.

    I only have a really tiny small CRT but it's not hooked up anymore since I needed the space on my desk for something else, but damn it looks so cool and shows it was really made for that. The blurriness gives it a bit of mystery or something that makes it look just a little better. The 3DS and specifically the XL models have a sort of scanline spacing that come close to this but not really enough. I am thinking of adding a pixelshader (filter) that will simulate a CRT and maybe even the curve of the screen on the Linux version and seeing this I will definitely look into this.

    I think I could add in some settings screen later that allows adjusting for the overscan since it sounds like a usefull feature. For now I will adjust the position of the HUD objects where I will think they might fit your screen I think most people that still use a Gamecube, Wii or Playstation 2 have it hooked up to a real CRT and it would be useful for them to adjust a setting like that. It makes no sense for the handhelds offcourse so that menu option should be hidden there, sound likes a nice challenge ;)

    Remember I said that the animations felt wrong to me? I figured it out and during walking there was a single frame included from the falling down animation!! Walking looks so much better now...although is actually more running at the moment. Just noticed in the original that he slows down when the energy is less then 50% and jumps get a LOT harder to reach.

    Is that WiiU pad a hint for me to compile it for the WiiU next time?;):rofl:



    Thanks again, and have a safe and happy new years eve.
     
  3. niuus

    niuus GBAtemp Advanced Fan

    Member
    6
    Mar 4, 2016
    Venezuela
    If you need to, i think you could implement an exit to Swiss with a button combination (e.g.: L+R+B+Start), until you have you in-game menu done.

    It definitely does give it a nice touch. It looks amazing on my PVM!

    Sounds awesome!

    I thought i was being really subtle ;)
     
  4. Archerite
    OP

    Archerite GBAtemp Regular

    Member
    5
    Sep 16, 2018
    Netherlands
    The fun thing is that I already had the menu working on the NDS :lol:...but did not like how the resized text looked. The actual menu is simply a background bitmap with the Dutch caption buttons (and the correct palette strangely enough) in an other. I was thinking of using another font and write the translated text in English this time.
    Adding an overscan option turned out to be a bit more difficult than I thought, mostly because I optimize my code later (or not at all ^_^) and just make it work first. This meant recalculation of all the object positions so they use an offset from the borders. Just saying it takes a bit more time because of that, not complaining or anything.

    I have a similar issue with the collision detection where I need to synchronize multiple layers but are off by a tile or two...which is bad I know...just really wanted to have 'something' working before the end of the year. :D
    It's a lot of stuff to figure out but I will get it at some point. In an attempt for readability I started to rewrite the event system so it will be easier to include the belts, liferaft, elevators and such into the collision map. And as a bonus it also helps to eventually use my engine with Jazz2 levels.
    You were, but I was already thinking about it myself so I noticed it earlier I guess :lol:
    I gave it a quick try but it did not work...while Devkitpro (the SDK I am using) has some options for compiling for the WiiU there are no specialized examples included. Therefore I do not know which libraries to use instead of libwiiuse and libogc. I have saved the unfinished port for later to pick up again.

    I found out that libmikmod should be capable of playing the background music in Batterycheck which is in the XM tracker format. It's not available as an included library for the gamecube/Wii but it is for the 3DS and NDS. And also in the PSPSDK...so I hope it's a few simple function calls to add background music on the next preview....for the 3DS at least (maybe PSP) and I wanted to look into porting the library to PPC platform and maybe add a pull request for devkitpro go include it eventually.

    So that are a few new features to look forward to for preview (or alpha) 0.4 and a little insight of what I have been doing so far. I plan to attempt the sound and fix the collision detection enough so you can stand on the platforms like an elevator, belt or liferaft.

    EDIT: Fixed some typo's and I searched a bit more about the WiiU homebrew examples that are available. From what I have seen there a few ways to exploit the WiiU and get homebrew running and each of them has their own build system with it's own set of limitations. I got my WiiU only a few months and have not actually tried anything on it beyond playing a few retail games (Donkykong and Captain Toad :yaynds: mostly). It does look like a very powerful machine to me that should have come a few years earlier and have more thirdparty developer support for bigger titles. Anyway it seems possible to make a port to the WiiU but it needs more research and does not have my priority at the moment.;)
     
    Last edited by Archerite, Jan 4, 2019
    niuus likes this.
  5. niuus

    niuus GBAtemp Advanced Fan

    Member
    6
    Mar 4, 2016
    Venezuela
    Hey fella @Archerite, how is that port going?
     
  6. Archerite
    OP

    Archerite GBAtemp Regular

    Member
    5
    Sep 16, 2018
    Netherlands
    Very slow at the moment since I have had very little time to work on it the last few weeks. When I did it was mostly trying to get the PSP supported but it keeps crashing on basic graphics library functions as explained in the PSP thread. Also tried to clean up many files and trying to get the code structured for an eventual release on github...meaning writing documentation which I do not like very much. ;)

    And I tried to use my blog page as a kind of diary and talked about: playing around with the Playstation 2 and a network adapter here, that the Linux version works perfectly smooth on the Raspberry Pi 3B+ and a few other things but eventually because a lack of time even that got quiet. I have also looked into adding background music which worked perfect for me on Linux, and after a bit of tinkering also on the 3DS but gameplay is like 5 times slower! It does however play the original music files without much problems once I got the libraries to compile into a 3dsx. For the Wii and GameCube I could not find ports of libmikmod and therefore disabled the sound drivers for now.

    The biggest update I can give you is that I am going to improve the collision detection and I did a lot of research on that again and how they solved it on older 16bit consoles. Specifically the sonic guides I have linked to before were a big inspiration for how I want things to work. In short this comes down to dividing the entire level into smaller sections of 128x128 pixels (or some other nice size) and rewrite most of the code to work at this reduced scale blocks. And I was thinking about using threads and process each of those blocks in parallel...but this will only make it more complex and synchronizing all those threads is even worse. Besides the Wii and GameCube have singe-core CPU anyway so it does not even make much sense right now.

    Before the next preview I want the following features implemented:
    - Fix the jumping animation
    - Completely rewritten collision detection
    - Standing on interactive elements: conveyor's, floats, doors, elevators
    - Recharge animation when walking through a gate
    - Maybe some idle animations (they are hilarious!)
    - some basic configuration for overscan settings
    - A working menu system!

    I know it's a lot of work which is why I do not expect to release any new versions this month. The menu system needs a little extra work on the smaller 3DS screen (or I just disable it) but most of the other improvements are going to automatically also be available on the 3DS port! And eventually when I continue with the PSP and PS2 they will inherit these changes as well. :)

    Now that I wrote that down it's actually more than I thought! :D
     
    Last edited by Archerite, Feb 11, 2019
  7. niuus

    niuus GBAtemp Advanced Fan

    Member
    6
    Mar 4, 2016
    Venezuela
    I like the technical explanations! Take your time, man. Thanks for the heads up.
     
    Archerite likes this.
  8. Ericsonanzois

    Ericsonanzois Member

    Newcomer
    1
    Mar 5, 2017
    Brazil
    I did the download for Wii but i got a error message. GCN version restart my wii.
     
  9. Archerite
    OP

    Archerite GBAtemp Regular

    Member
    5
    Sep 16, 2018
    Netherlands
    What error message are you getting? The only thing I can think of is that you might have missed the requirement to copy the original game files to your SD card as explained here
    If you did copy those files check the folder they are in to be '/data/batcheck' or '/apps/batcheck/data' and if possible also try with a different SD card.

    The Gamecube version is meant for the gamecube and not the Wii. Not sure why it restarts your wii thiugh, I would expect it to crash and just hang.

    Please let me know if that helped and otherwise which exact error you are getting. Than we will figure out why it won't work for you.
     
  10. Ericsonanzois

    Ericsonanzois Member

    Newcomer
    1
    Mar 5, 2017
    Brazil
    Hi again. Thanks for your info.
    In fact i missed some steps. I dont got which files i need put in my sd card. I only saw a Windows version to download, so i imagined that if windows version is installed i can got the files in windows folder and copy to sd card, but the game not install in my windows (Windows 10 64 bit).
    In the WII side the instructions seems confused to me. There is only a file to download:
    batterycheck-wii-preview-2.dol Which have only a .dol file inside.
    Im Jazz Jackrabbit fan. I play it in back day. For this reason my interest in your game.
    Thanks for pay attention in my problem.
     
  11. Archerite
    OP

    Archerite GBAtemp Regular

    Member
    5
    Sep 16, 2018
    Netherlands
    I know I have been a bit cryptic about the exact steps to follow because I do not own the rights for the original game. Since multiple people got through my instructions I never bothered to update them and make them a bit more friendly to follow. It's been over two months since my first preview release so I will assume there will be no objections to have these instructions on the forum:

    Here is what you need to do:
    1 - Go to http://www.ranjnet.nl/games/
    2 - Click on "Batterycheck" and on the next screen click "download"
    3 - This will download a file called "batterycheck.zip"
    4 - Unzip this file with any tool you like or that allows you to see it's contents.
    5 - inside the zip file's structure open the "batterycheck" folder and after that the "setup" folder.
    6 - There you will see the actual installer "Setup.exe" which is around 12MB and you need to launch it by double clicking.
    7 - After installing there should be a folder "C:\Games\Battery\*" holding the following files:
    - Anims.j2a
    - Battery.exe
    - Binnen.j2l
    - Binnen.j2t
    - Binnen.xm
    - Boss.j2l
    - Boss.j2t
    - Boss.xm
    - Data.j2d
    - Rain.j2l
    - Raintile.j2t
    - Rain.xm
    - Readme.txt
    - UnInst.exe
    - UnInst.j2

    8 - Copy these files into "/data/batcheck/*" or "/apps/batterycheck/data/*" on your SD card (you need to create these folders) (keep in mind that the path names are case sensitive)

    Unless you want to play the original there is no requirement to run the game on your windows PC after the installer has extracted the files. I have heard before that the game is not running well on windows 10 but bear in mind this game is over 20 years old and maybe it needs some compatibility settings. I run linux myself so I can not offer much help if it won't run for you on windows since I would not know what to do either. I do have to windows 10 machines though which have not even been turned on this entire year :lol:...I will see if I can make it work on them.

    I hope this gets you a few steps further than before and if not let me know ;)

    In case anyone wonders about the dutch text on the download page...
     
    Last edited by Archerite, Feb 15, 2019
  12. Archerite
    OP

    Archerite GBAtemp Regular

    Member
    5
    Sep 16, 2018
    Netherlands
    Just for fun I translated the original dutch readme.txt that comes with the windows game into English...with a little help from Google Translate and my own grammer correction skils. It's quite long so to prevent a lot of scrolling through this thread I have put it into a spoiler block. It contains a few jokes and probably some offensive or obscene so read at your own descression...remember this game is over 20 years old and so is the original text. But even in dutch some of these words are a bit over the top...

    Anyway I hope some of you might enjoy reading it and if native English speakers want me to correct something, please let me know ;)

    The original readme.txt translated into english since it contains a fun background story...
     
  13. HtheB

    HtheB GBAtemp Advanced Fan

    Member
    8
    May 15, 2006
    Netherlands
    Bize Her Yer Trabzon
    Did someone said Battery Check? I loved that game back in the days!
    I still have the CD laying over here
     

    Attached Files:

    niuus and Archerite like this.
  14. Archerite
    OP

    Archerite GBAtemp Regular

    Member
    5
    Sep 16, 2018
    Netherlands
    You only kept the disk or also the casing? I also still have the complete casing and covers explaining the prices you could win...wanted to attach pictures of them but I guess I put in a safe place somewhere as I can't find it right now. Will update this post later when I found it

    Maybe I should update my install instructions for those lucky enough to have the original disc! :D
     
    HtheB likes this.
  15. HtheB

    HtheB GBAtemp Advanced Fan

    Member
    8
    May 15, 2006
    Netherlands
    Bize Her Yer Trabzon
    I might still have it, but it's somewhere in the attic :P
     
    Archerite likes this.
  16. Ericsonanzois

    Ericsonanzois Member

    Newcomer
    1
    Mar 5, 2017
    Brazil
    OK. These instructions are more clear to me. I got some progress. I put the Windows files into /Data/Batcheck dir in my Wii´s SD Card. The game not present error message but the screen crash and the wii freeze and i need power off it.
     
  17. Archerite
    OP

    Archerite GBAtemp Regular

    Member
    5
    Sep 16, 2018
    Netherlands
    I am glad those instructions helped you get further. I have not added much error handeling in my game but if that path is exactly how you named it....then it's wrong sorry. In simple terms the wii is case sensitive so you need to name your path '/data/batcheck' instead. I know it does not matter in windows but for the wii and Linux which I am used too it's a totally different path.
     
  18. Ericsonanzois

    Ericsonanzois Member

    Newcomer
    1
    Mar 5, 2017
    Brazil
    My fault. The dir is /data/batcheck and not DATA/BATCHECK. The name is correct, but i forgot in mention that the .dol file is in SD´s root and im running it via wiiexplorer because the homebrew channel not recognize it like app.
    Thanks for your support
     
  19. KleinesSinchen

    KleinesSinchen The Backup Reminder

    Member
    8
    Mar 28, 2018
    Germany
    That should not make any difference.
    Starting "batterycheck-wii-preview-2.dol" from the SD root with WiiXplorer as Wii Homebrew works for me.

    For the Homebrew Channel to show anything it must be renamed to boot.dol:
    correct:
    SD:/apps/batcheck/boot.dol
    wrong:
    SD:/apps/batcheck/batterycheck-wii-preview-2.dol

    Try another SD if possible.



    @Archerite Maybe you could put the next preview into a zip containing subfolders like many homebrew apps:

    ZIP:/apps/batcheck/boot.dol
    ZIP:/apps/batcheck/meta.xml
    ZIP:/apps/batcheck/icon.png
    ZIP:/apps/batcheck/data→[empty folder]
     
    Last edited by KleinesSinchen, Feb 16, 2019
    Archerite likes this.
  20. niuus

    niuus GBAtemp Advanced Fan

    Member
    6
    Mar 4, 2016
    Venezuela
    It does not recognize it because the Homebrew Channel needs a specific structure, since ever.

    apps/Folder Name/boot.dol (ESSENTIAL, this is the homebrew app)
    apps/Folder Name/meta.xml (Optional, contains a description and a title)
    apps/Folder Name/icon.png (Optional, this is just a banner)

    Cool icon, btw.
     
Quick Reply
Draft saved Draft deleted
Loading...