UzeSnake game - Understanding the 'under the hood mechanics'

Use this forum to share and discuss Uzebox games and demos.
CunningFellow
Posts: 1445
Joined: Mon Feb 11, 2013 8:08 am
Location: Brisbane, Australia

Re: UzeSnake game - Understanding the 'under the hood mechanics'

Post by CunningFellow »

Being a non-NES owner I have never seen that one.

The tile font for "Snake Rattle and Roll" looks a lot like "Ultimate Play The Game" :)

I wouldn't mind doing an isometric engine. Could do "Knight Lore" and "Snake Rattle and Roll"
User avatar
mapes
Posts: 174
Joined: Sun Feb 13, 2011 7:04 am
Location: Seattle

Re: UzeSnake game - Understanding the 'under the hood mechanics'

Post by mapes »

I have played Snake Rattle and Roll as well. Its intro song is "Shake Rattle and Roll" which is what I was thinking of for my game. I have beaten the game, but I had to use the Game Genie... There is no other way that I can think of to beat that game. It got extremely difficult after level 3.

I've attached a working version of the game. Be aware, it is designed for the Uzebox JAMMA Arcade machine, so the controls are configured as such.

Specifically, to start a 1 player game, press player 1 start. To start a 2 player game, press player 1 select.

There may be a bug in the single player when you get TOO long, I'm thinking 127 segments (or 24 apples)...

For 2 player, I tried to include some ideas from SLITH.IO where you can change your speed in the game. In 2 player mode, press ABXY for either player 1 or 2 to change your speed. 1 player games are set at only 1 speed (no changing). Also if a single player eats 24 apples, they win automatically.

While allowing the kids to play the game at the STEM fair, I'm going to explaining how the game logic / mechanics work using a white board.
snake2.uze
(27.65 KiB) Downloaded 77 times
For your large maps, you may want to consider a game like river raid where the map automatically generates itself using a seeded bit shift register. That way the levels are always the same, but never ends.

Strong bad emails unfortunately hit a heavy pause after the 200th email. Regarding the website, I will say I was very pleased when they finally, FINALLY, put out level 10 of the Stinko-man game. I never thought they would have released it since flash was dying.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: UzeSnake game - Understanding the 'under the hood mechanics'

Post by Artcfox »

mapes wrote: Fri Feb 17, 2023 7:55 am I have played Snake Rattle and Roll as well. Its intro song is "Shake Rattle and Roll" which is what I was thinking of for my game. I have beaten the game, but I had to use the Game Genie... There is no other way that I can think of to beat that game. It got extremely difficult after level 3.
I don't think I've ever gotten past level 5 (the level with the flying carpets), maybe once.
mapes wrote: Fri Feb 17, 2023 7:55 am I've attached a working version of the game. Be aware, it is designed for the Uzebox JAMMA Arcade machine, so the controls are configured as such.

Specifically, to start a 1 player game, press player 1 start. To start a 2 player game, press player 1 select.

There may be a bug in the single player when you get TOO long, I'm thinking 127 segments (or 24 apples)...
Very awesome! I was able to get a high score of 15.
mapes wrote: Fri Feb 17, 2023 7:55 am For 2 player, I tried to include some ideas from SLITH.IO where you can change your speed in the game. In 2 player mode, press ABXY for either player 1 or 2 to change your speed. 1 player games are set at only 1 speed (no changing). Also if a single player eats 24 apples, they win automatically.

While allowing the kids to play the game at the STEM fair, I'm going to explaining how the game logic / mechanics work using a white board.

snake2.uze
Nice, I'll have to get someone else to play the 2 player version with me, though does the JAMMA version work on non-JAMMA hardware? If not, I have 2 USB game controllers so I could use the emulator.
mapes wrote: Fri Feb 17, 2023 7:55 am For your large maps, you may want to consider a game like river raid where the map automatically generates itself using a seeded bit shift register. That way the levels are always the same, but never ends.
I'm not sure that I'll be able to do that, since I still need to store the entity configuration for each entity in PROGMEM, and I think you need some sort of A* algorithm in order to generate 2D platformer levels in order to make sure it is playable (unless you heavily restrict the variations). I think that by using the SD card, I'll be able to make such huge levels (256 tiles by 256 tiles) that it shouldn't matter.
mapes wrote: Fri Feb 17, 2023 7:55 am Strong bad emails unfortunately hit a heavy pause after the 200th email. Regarding the website, I will say I was very pleased when they finally, FINALLY, put out level 10 of the Stinko-man game. I never thought they would have released it since flash was dying.
Nice! With the WASM Ruffle emulator, it looks like all of their original Flash content it back up on the website. Now I guess we don't need the Flash player, we can just make Uzebox games and put the WASM version online ;)
User avatar
mapes
Posts: 174
Joined: Sun Feb 13, 2011 7:04 am
Location: Seattle

Re: UzeSnake game - Understanding the 'under the hood mechanics'

Post by mapes »

The game controls (besides the P2 Start being P1 Select, is fully compatible) for Snake2. There are a few other Uzebox JAMMA issues that do not make it 100% friendly to non JAMMA games. The R/L buttons and P2 Start/Select are used for other functions common for JAMMA arcade machines, such as reset, menu screen, and coin registers. If you check out Pill Dropper MD, or Arcade Megatris, (two other projects I did) you can see how its mapped. Its also on listed in the Uzebox JAMMA wiring in the WIKI section.

One of the downsides to Uzebox JAMMA is the video out is RGB only, so unless you have a monitor input with that (which is normal for Arcade machines) you have to use an adapter. I use a converter card to turn it into a 30Hz computer signal using an extra board I bought online

I agree loading the map from the SDcard would be the way to go. The level generator style is more for a game more simplistic and linear, like river raid or Spy Hunter (or my personal favorite adaptation, Major Motion for the Amiga).
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: UzeSnake game - Understanding the 'under the hood mechanics'

Post by Artcfox »

Gotcha.

I had never seen River Raider before, that does look like something pretty fun that could be made on the Uzebox!
User avatar
mapes
Posts: 174
Joined: Sun Feb 13, 2011 7:04 am
Location: Seattle

Re: UzeSnake game - Understanding the 'under the hood mechanics'

Post by mapes »

I could use a quick hand...

I need some help locating a tool for converting a 'ShakeRattleAndRoll' midi file to an UZebox-able song. I didn't see any tools in the wiki section on doing it that are pre-compiled. If someone could point me to a binary file that could convert it, that would be very helpful.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: UzeSnake game - Understanding the 'under the hood mechanics'

Post by Artcfox »

mapes wrote: Sat Feb 18, 2023 4:26 am I could use a quick hand...

I need some help locating a tool for converting a 'ShakeRattleAndRoll' midi file to an UZebox-able song. I didn't see any tools in the wiki section on doing it that are pre-compiled. If someone could point me to a binary file that could convert it, that would be very helpful.
Is it a MIDI, or the actual NSF from the Nintendo cartridge?

On the wiki I see: https://uzebox.org/wiki/Music_Step_By_Step

If you already have the midi, you could just replace the midisong.mid in the project I posted in this thread with it, and type make, and it should convert it into midisong.h and midisong.inc for you (midisong.h being the normal Uzebox MIDI, and midisong.inc being the compressed Uzebox MIDI that can be used with the STREAM engine in the kernel). If it's a MIDI that has more than 3 tracks of audio, it's likely that you'll have to do some massaging to it with a sequencer. I have a walkthrough for using a sequencer and converting the result into a Uzebox MIDI here: https://www.youtube.com/watch?v=sf4cVNM_tdo
User avatar
mapes
Posts: 174
Joined: Sun Feb 13, 2011 7:04 am
Location: Seattle

Re: UzeSnake game - Understanding the 'under the hood mechanics'

Post by mapes »

Appreciate the link. I was watching your demo and trying to find midiconv 'pre-compiled' for us windows users, but can't find it. Everything is in source code form and I don't have a C++ compiler on this computer. Do you know if there a location for a windows binary version? Sorry if I'm sounding needy... :?

I downloaded rosegarden and anvil and can open the midi file and pare it down to 4 tracks. I presume there is no way to export the songs into a usable format without midiconv?

EDIT:

I just found a compiled version on the forums. I have the binary now.

Edit 2:
I used the midi file in the zip, and put it in the game, and I hear the track, but the drums sound awful... At least I think its supposed to be the drums.
SRnR.zip
(1.49 KiB) Downloaded 77 times
snake2.hex
(114.82 KiB) Downloaded 74 times
I'm know there is some 'massaging' I need to do, but I'm at a point where I may just cut the drums out.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: UzeSnake game - Understanding the 'under the hood mechanics'

Post by Artcfox »

What does your patches[] array look like, actually the entire patches.inc file. Feel free to use the patches.inc from the modern-mode3-demo.zip

There should only be 3 melody tracks, the 4th track has each note as an offset into a noise channel sound effect in the patches[] array.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: UzeSnake game - Understanding the 'under the hood mechanics'

Post by Artcfox »

You might have better luck asking one of the audio experts on here who has done NSF -> Uzebox MIDI conversions.

Here are the original NSF files: https://www.zophar.net/music/nintendo-n ... tle-n-roll

Edit: I would love it if someone who knows how to convert these NSF files into Uzebox MIDI, complete with all of the tweaking to make things sound good could do a screen recording of the entire process, and post that as a YouTube video. Even if it's just for the Title track in this .zip file.
Attachments
Snake Rattle'n Roll (EMU).zophar.zip
Original NSF files
(58.51 KiB) Downloaded 70 times
Post Reply