• Please review our updated Terms and Rules here

Dynamite Jim

orac81

Experienced Member
Joined
Mar 21, 2024
Messages
189
DYNAMITE JIM is a small game (2.5k) for the Commodore 64, Vic20, Plus4/C16, PET40/80 and ZX Spectrum. Guide Jim through the falling mines to collect Hearts.

Download:
https://github.com/orac81/miniapples/raw/refs/heads/main/vtdl/dynajim-latest.zip


dynajim-c64scr1.png


Controls:
To move, use the Keys around the 'S' key. (QWEADZXC)
Hit SPACE to detonate Dynamite.
Hit K to quit back to title screen.

Mines fall every time you move. (6 on Level 1, 8 on Level 2, etc.)
Collect 3 (out of 4) Hearts to proceed to the next level.
Collect Freezers (F) to stop the mines falling for a few steps.
Collect Dynamite to use later to blast a passage through the mines.

HINTS: Remember, you can move diagonally between mines too. Collect as many sticks of Dynamite as you can on earlier levels, you will need them later. Try to plot a course at the start of a level that uses the pattern of Freezers and Dynamites to collect the Hearts, it can make a big difference.

Collecting Freezers early is often helpful, even if you go off course a bit. You only need 3 of the 4 Hearts, so choosing which one to leave behind is important on later levels.

Each Dynamite or Freezer you pick up scores (3x Level) points so they also boost your final score.


dynajim-pet-scr1.png
(PET version)

COMPILING DYNAMITE JIM


Dynamite Jim is a working example for the "Very Tiny Development Layer" (VTDL) portable library. This is a library specifically designed to be efficient with very small target systems, for example Dynamite Jim is 2.5k and runs on an unexpanded 5K VIC20. It will eventually target many systems, from Vic20s up to PCs.

The source code is included, "dynajim.c", and the VTDL library in folder "tdl". Some compiler build scripts are also included.
The 6502 targets can be build with the OSCAR64 C compiler, which is good for these small systems. For example to build for C64 and Vic20, install OSCAR64, then from the work dir type:

tdl/tdlmakosc.sh dynajim/dynajim -Os

For more details, see "vtdl.txt" in the tdl folder.



dynajim-v20scr1.png
(VIC20 version)
-----------------------------------------------------------------------------
DYNAMITE JIM by orac81.
Released as free/open software under GNU GPL3 license.
See: www.gnu.org/licenses/gpl-3.0.html
For updates and more programs see: www.github.com/orac81
 
So this is is kinda like those games where "rocks" fall when you consume/remove a block or item that supports them, minus the fixed tilemap?
 
Not quite, its a map/overhead view. The man is drawn as side on, its hard to do much else in 8x8. Really this was just meant to be a demo of VTDL, a microgame running on a 5k Vic, but I thought it looks good enough to be put out separately. There is not a vast amount of new C16/Vic20 software.

I see plus4world can run the game online, if you want to quickly try it:


But I notice getting a keyboard up on an Android phone doesn't work on all phones.
 
Last edited:
I'll have to look at it on a computer, so maybe later. My iPhone doesn't seem interested in showing a keyboard.

I don't know much about how the mobile platforms work, but my experience is that the on-screen keyboard appearing happens most reliably when there is an input field (html) and it gets the focus whether that's manual selection or automatic.

-----

Having tinkered with emulating a computer in the web browser, there are some important details to note.

One is that in order to get the desired keyboard behavior on a PC (in a web browser) for emulated computers, you have to capture input events at the page level and direct them to your javascript code. Otherwise they'll just go to the page and be processed as they would for any other web page...

Since most phones don't have a physical keyboard by default, they can't directly generate that kind of input anyway. Using a bluetooth keyboard or directly connecting one via usb/lightning might do the trick.

The simplest solution is probably to build a virtual keyboard out of html elements and rely on touch/tap to get the input. But that does introduce the usual web problems with resolution and scaling. -- If you only need to press a few keys independently (E.g. W/A/S/D), then this approach can work well and you can use an input box for actually typing a line of input.
 
Okay. I can confirm that it works fine using this bluetooth handheld keyboard. A proper full size one would be better though.

Unfortunately it's still difficult to see the whole emulator "screen".
 
That's interesting. Probably for these sort of online emulators an idea would be an "on screen keyboard" tick box that makes a keyboard pop up.
I see archive.org provide an online dosbox emulator for user uploaded games, which has the same issues.

There is supposed to be a usb on the go standard for plugging in a keyboard to a phone, but its not widely supported it seems.
 
That's interesting. Probably for these sort of online emulators an idea would be an "on screen keyboard" tick box that makes a keyboard pop up.
I see archive.org provide an online dosbox emulator for user uploaded games, which has the same issues.

There is supposed to be a usb on the go standard for plugging in a keyboard to a phone, but its not widely supported it seems.

Maybe? Unfortunately putting anything else on screen eats up visual space that might be needed, especially for this game.

USB on the go (OTG) is from the days of USB 2.0 and I suspect it kinda went by the wayside with later versions and USB-C.

I really wish we could have just stuck to the original host/peripheral design of USB with distinct A, B connectors. It would have made more sense for Thunderbolt to be it's own thing to serve special use cases.

Since I have an older iPhone, I have to deal with Apple and Lightning. It's probably a bit easier with Android phones. Bluetooth gets around having to buy an expensive Apple only solution
 
Back
Top