Jump to content
SlithyMatt

slithy VLOG: Top 5 X16 Games

Recommended Posts

I put out a new vlog today taking a look at the most-downloaded complete games available right on this site. I'm looking to feature more X16 games and stuff on future episodes, so please give me some suggestions here on YouTube:

 

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
Posted (edited)

My take on this top 5:  (don't read down if you haven't seen the video yet and want to avoid spoilers on what's in the top5)

 

 

 

 

 

 

 

ChaseVault. Well, what can I say? Pacman.   This version is very well made, i'm amazed you managed to pull that off that early for the platform

CrazyBoulders I find amazing as well because it's recreated a favorite 8 bit game of my youth (Boulderdash) entirely in Basic and it looks great and plays quite well, though personally I stick with either the original on an emulator or my own remake of that in Python.

Maze is a fun little game because of its simplicity and I think the puzzle mechanic it is built around is quite fun. Easy to hop in and out and play a few puzzles in a few minutes. I like that sometimes.

Invaderz looks very nice but personally I'm not a fan of space invaders, so haven't really played this.

Brixx , again, what can I say, Arkanoid.  However I've played many of these breakout type games over the years, and I can't really enjoy a basic variant anymore. My all time favorite I think remains TRAZ on the C64 due to its many extended features (multi paddles, horiz/vertical, many types of bricks and enemies...)

 

Hats off to all authors! Keep m coming!

Edited by desertfish
  • Like 1

Share this post


Link to post
Share on other sites

Thank you very much! I'm thrilled to see my games made it into the top spots 🙂. I took inspiration from "Chase Vault" when I started this, so thank you very much that you shared the code on GitHub. I'm still too embarrassed on my code quality, but I promise to share my repos when I've finally managed to clean up the mess.

Both games were written mostly in C, but some parts in assembler, like the IRQ based soundfx and music player. To my surprise sprite/collision handling, controller and gameplay coding is possible in C, even though CC65 doesn't really optimize. Of course as you mentioned, it is important to be aware what the compiler will do with the code. So in my brain there is a "compiler" running in parallel while coding, to avoid performance issues. I'm sure on a C64 with it's 1MHz CPU this would have been impossible.

  • Like 1

Share this post


Link to post
Share on other sites

I liked the vlog and will def check out your others.  Because you've been in/out of coding for the virtual platform (and maybe you even have hardware?) can you tell me...

Is the BASIC that much quicker/optimized, is it the clock speed that makes Crazy Boulders doable in BASIC, or is it that the virtual environment runs full speed that makes it possible.  Granted (and I'm guessing), it's obviously that redefined characters or tile manipulation is much faster than raw bit map moves, but I was curious.

For AndyMt: any thoughts around putting a .lib together containing higher level functions for reuse?  As a hobbiest, I dropped 'C' about 20 years ago and have just done NodeJS and Python professionally, but if a combination of plenty of RAM and cc65 being feasible for dev on this platform is workable, many more people might want to jump onboard.  (also, don't be shy; the important part is that it works and people enjoy and/or learn from what you've done)

 

 

 

  • Like 2

Share this post


Link to post
Share on other sites
13 minutes ago, EMwhite said:

Is the BASIC that much quicker/optimized, is it the clock speed that makes Crazy Boulders doable in BASIC, or is it that the virtual environment runs full speed that makes it possible.

The clock speed of the Commander X16 is about 8 times as fast as that of the C64. The emulator runs at roughly the same speed as actual hardware, and I do not believe BASIC has been optimized much.

Share this post


Link to post
Share on other sites

Well, the thing to remember is that there are things done in HW that help out a lot. Working in tiles is much faster than working in a bitmap (frame buffer) because you only have 40x30 / 80x60 memory addresses to update if you decide to make "all tiles use the same color palette" as a constraint. Scrolling is faster in VERA than on, say the C64 because while the C64 supports smooth scrolling, it can only smooth scroll up to 8px, so you have to cascade your entire screen's tilemap down each time you scroll 8px, but VERA can scroll up to 1024px w/o having to touch the tiles at all - so you only have to update one column of tiles at a time if you want to keep scrolling wider than 1024/tilesize.

I'm doodling around to see if I can get a working version of Space Invaders using BASIC - leveraging this kind of "HW acceleration"

So the X16 BASIC is faster because the CPU itself is faster, but the GFX and sound HW also help speed things up too. (FM music may be tricky to make good-sounding patches, but once set, you can play a sound with just two pokes, potentially)

The X16 hits a nice sweet spot where it's definitely a lot more powerful than the classic 8-bit systems were, but it still imposes some serious limitations so it's not just like having infinite resources. For instance it can show 640x480 bitmaps, and it can display 8bit color, but an 8bit 640x480 bitmap is $4b000 bytes, but VERA only has $1fa00 bytes of VRAM, so you can either do 640x480 @ 2bpp color depth, and even then you're using $12c00 bytes of VRAM.

  • Like 3

Share this post


Link to post
Share on other sites

 

4 hours ago, EMwhite said:

I liked the vlog and will def check out your others.  

Thanks!

Quote

maybe you even have hardware?

Not yet...

Quote

is it the clock speed that makes Crazy Boulders doable in BASIC

Pretty much this. The BASIC is no more efficient than the original Commodore BASIC 2.0.  I was running Crazy Boulders at normal speed, so you should be able to get the same (or better) performance on the hardware.

 

Share this post


Link to post
Share on other sites
Posted (edited)
20 hours ago, EMwhite said:

For AndyMt: any thoughts around putting a .lib together containing higher level functions for reuse?

I'm seriously considering planning this! Right now both my games use slightly different variants of a lib for sprite handling and music - due to "historical reasons" and lessons learned. I want to migrate both to the same code base. Then I think it would be time to release it to the public.

Edited by AndyMt
  • Like 3

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Please review our Terms of Use