QwakSNES

A place where you can keep others updated about your SNES-related projects through screenshots, videos or information in general.

Moderator: Moderators

Post Reply
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

QwakSNES

Post by Oziphantom »

So while the forum was down, I made a port of my C64 16K Compo edition of QWAK to the SNES as a training example. https://github.com/oziphantom/QwakSNES
Its very simple, single screen platforming game. I have an "almost" pure 8bit version if you find switching to and from 16bit registers hard to follow. Then I have a 16bit version where I have done some upgrades and make use of 16bit operations where it make sense. Since the code was built for the C64 most of it is built around 8bit though.
I've gone heavy on the comments, but I still need to make some "talk about the architecture/explain how this and that work" documents to go with it.

There is just qwakSNES.sfc if you just want to play it. It is designed for PAL speed, it does work fine on NTSC just things will be faster than intended.
qwakSNES_000.png
qwakSNES_000.png (4.71 KiB) Viewed 3390 times
qwakSNES_001.png
qwakSNES_001.png (11.04 KiB) Viewed 3390 times
qwakSNES_002.png
qwakSNES_002.png (9.37 KiB) Viewed 3390 times
psycopathicteen
Posts: 3140
Joined: Wed May 19, 2010 6:12 pm

Re: QwakSNES

Post by psycopathicteen »

Am I supposed to be able to find a download a ROM?
Joe
Posts: 650
Joined: Mon Apr 01, 2013 11:17 pm

Re: QwakSNES

Post by Joe »

They're in there with the source code. Look for ".sfc".
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: QwakSNES

Post by Oziphantom »

Oziphantom wrote: Fri Mar 18, 2022 10:37 pm There is just qwakSNES.sfc if you just want to play it. It is designed for PAL speed, it does work fine on NTSC just things will be faster than intended.
https://github.com/oziphantom/QwakSNES/ ... akSNES.sfc
Pokun
Posts: 2681
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: QwakSNES

Post by Pokun »

Are the sides supposed to be so far out in the overscan? I had 0 overscan set on all sides in Mesen-S but it detected it as a PAL game and apparently Mesen-S clips some overscan when Aspect Ratio is set to 11:5 PAR which is set when auto-detecting PAL. The level-exit doors would probably not be visible on a properly adjusted TV.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: QwakSNES

Post by lidnariq »

That sounds like a Mesen bug...
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: QwakSNES

Post by Oziphantom »

it does use all 256 pixels because the game is designed for 256 wide, but yes it is technically illegal to put important game elements on the edge of the screen and it would not pass Nintendo Certification.
none
Posts: 117
Joined: Thu Sep 03, 2020 1:09 am

Re: QwakSNES

Post by none »

It looks great
d4s
Posts: 96
Joined: Mon Jul 14, 2008 4:02 pm

Re: QwakSNES

Post by d4s »

Oziphantom wrote: Fri Mar 18, 2022 10:37 pm So while the forum was down, I made a port of my C64 16K Compo edition of QWAK to the SNES as a training example. https://github.com/oziphantom/QwakSNES
Its very simple, single screen platforming game.
Thanks for sharing and going through the trouble of porting your game to the SNES!
I think this a great starting point for beginners considering the extensive documentation you've done and knowing that it comes from someone who has a deep understanding of the hardware.
The lack of entries in last years snedev game jam showed how much trouble people seem to have getting started on the SNES, so every example helps.

I've played the game and while I understand it's primarily a technical exercise, I still wanted to give some constructive feedback on the game itself:
-The intro credits list music, but I don't think the game has music/sound effects in its current state. Do you plan on adding them?
-To start the game, the player needs to press "Y", which I feel is a bit counter-intuitive. Maybe "A" and/or "Start" would work better.
-Pressing "up" on the directional pad jumps. I understand that's conventional coming from home computer joystick controls, but it made me do quite a few unintended jumps. Maybe that's just me.
-I think the jump feels very floaty. I haven't played the original game, but judging from videos, it's a bit snappier there. Personally, I've found the good old Mario World "halve gravity while player is pressing jump button" method with properly tuned parameters to be the most fun in my own games.
-The player bullet gets stuck when fired in spaces that are only one block high.
-Enemies respawn without notice, resulting in cheap deaths. Maybe announce them with an effect a second before respawning so players have a chance to react.
-When starting a new level, it sometimes took me a few seconds of screen scanning to understand where the player is located because they don't have an idle animation and tend to blend in with the background colors. Maybe have an idle animation, give them a distinct color scheme or have an indicator at level start.
-The bear boss graphics glitch after a couple of cycles going left and right (Lower left half mispositioned on x-axis).
-The HUD is in front of enemies and the player, resulting in cheap deaths where you don't even realize what hit you. Maybe consider lowering its priority behind the sprites.

Thanks again for putting in the effort!
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: QwakSNES

Post by Oziphantom »

-The intro credits list music, but I don't think the game has music/sound effects in its current state. Do you plan on adding them?
Saul has said he will do it, he might, but I wouldn't hold my breath.
-To start the game, the player needs to press "Y", which I feel is a bit counter-intuitive. Maybe "A" and/or "Start" would work better.
Side effect of the odd way I read the joystick, I probably should put a "normal" reading routine in.
-Pressing "up" on the directional pad jumps. I understand that's conventional coming from home computer joystick controls, but it made me do quite a few unintended jumps. Maybe that's just me.
The eternal battle, some people believe up is jump on a C64 then people say they want a jump button and they get called heathens. This is again an side effect of the odd way I read the joystick and would be trivial for the user to add if it had a proper one. But I do feel that this is a different form of jump that benefits from up more than a button.
-I think the jump feels very floaty. I haven't played the original game, but judging from videos, it's a bit snappier there. Personally, I've found the good old Mario World "halve gravity while player is pressing jump button" method with properly tuned parameters to be the most fun in my own games.
You're a duck so you can kind a fly a bit, get the spring and you hover. But this game is not mario and doesn't play like mario. Mario you jump and then have all the time in the world to adjust and control your fall. This game you must choose and aim your jump when you leave the ground. The amount you hold jump changes your jump not when you let go of jump. For example in the 2nd level ( I think it the third level?? the one with two snakes up the top and you have a small platform on both sides with a gap in the middle ), run the platform and just "tap" up as you move and you will glide over the gap without hitting the enemies above, but hold it too long and you will crash into them. It's a game of skill and persistence.
-The player bullet gets stuck when fired in spaces that are only one block high.
It shouldn't maybe there is a bug in the porting somewhere.. I guess it enters at an angle and then bounces back diagonally rather than just flipping on the Y..
-Enemies respawn without notice, resulting in cheap deaths. Maybe announce them with an effect a second before respawning so players have a chance to react.
fair, that is the original. Buts it a great idea for an "exercise left to the user" ;)
-When starting a new level, it sometimes took me a few seconds of screen scanning to understand where the player is located because they don't have an idle animation and tend to blend in with the background colors. Maybe have an idle animation, give them a distinct color scheme or have an indicator at level start.
It does have an idle animation actually, I just don't think I had room to code it in. Or maybe because I don't have the CIA timers anymore it doesn't work... But it is rather minor, in the best world, an exercise to the reader, you would make the door open at the spawn location and have qwak appear from it, like they do in the Amiga version.
-The bear boss graphics glitch after a couple of cycles going left and right (Lower left half mispositioned on x-axis).
ok that is a bug, not sure how, but I will have a look.
-The HUD is in front of enemies and the player, resulting in cheap deaths where you don't even realize what hit you. Maybe consider lowering its priority behind the sprites.
Having the hud over is a feature.. in that it hides the fish and other "off screen" entities. On the C64 version it was to the side so the bottom was just off the screen.
Post Reply