By rjeThis is the beginnings of the Traveller trader rewrite. At the moment, it's here for feedback from my playtesters.
This is a shareware version of Petscii Robots. It only includes 2 maps. It also lacks SNES controls and the cheat-code. It is also only presented in "color PETSCII" mode, as there hasn't been a version made yet with custom graphics and sound. The music routine is a direct port from the PET, which only uses 1 square-wave voice.
(Not currently compatible with the web-based emulator)
By VincentFThe project : https://github.com/VincentFoulon80/vixx
Vixx: A bullet-hell game for the X16
Your Commander X16 got a virus ! Thankfully you have an antivirus called Vix that'll get rid of the evil software. You play as the Vix Antivirus, scanning the computer trying to locate and destroy the virus.
How to play :
Joystick / Arrow keys : move the player
Start / Enter : start the game, pause
B button / Ctrl key : Panic!
Your score increase over time, and also when you move near the bullets.
You score points when defeating bosses and also when panicking ( 100 points per bullets on panics)
Project status :
The game is still in its alpha phase. I'm implementing new features and do not focus on the content.
The first level is not final, and the second is just an infinite loop. It's more to give an idea of how the game will look.
By desertfishAfter seeing others post conversions of classic basic programs, I remembered this one where the computer plays an animal guessing game with you.
It tries to guess your secret animal by asking questions about it, and if it doesn't know the animal, it asks about your chosen animal so it knows about it the next round!
(It's basically building a binary search tree)
note: all knowledge is lost when the program exits. (maybe I'll make a future version where it can save/load the animals and questions)
Source code is here: https://github.com/irmen/prog8/blob/master/examples/animals.p8
By rjeI played this game with my friends in grade school on the PET.
Though unable to find the original, I found a stripped-down VIC-20 version -- which showed me the program's essential structure -- and the later 1986 version by Commodore, mainly designed for the Commodore 64. I used both to create this version, which retains the original algorithms, and tries to emulate the older PET version.
It uses very little X16-specific code -- exactly, SCREEN and COLOR. It relies on the 40 x 25 screen, and it uses just about all 25 of those rows.
The rest is all PETSCII and BASIC 2.
By desertfishI've recompiled my tetris clone to the Commander X16! Features: holding area, wall kick rotations, shows next piece, staged speed increase
It is functionally equivalent to the original C64 version except the sound effects are a bit simpler.
Controls are printed in the screen, note that you can also use the cursor keys for movement if that's more convenient for you (not printed)
Source code is here: https://github.com/irmen/prog8/blob/master/examples/cx16/tehtriz.p8
(full source available https://github.com/mparson/gridgame)
A game for the Commander X-16!
A 'C' implementation of a Flash game I used to play a lot of back in the days of Flash games.
Read about the original game here: https://jayisgames.com/review/gridgame.php
I'd say this game is ~95% faithful to that original game. Some of the limitations are due to my use of the so-called PETSCII character set for the graphics instead of custom graphics, which means there is no smooth animation of the pieces as they are activated. I've also not included any sounds, but that might come in a future version.
This is original code that implements the gameplay, I did not port the embedded ActionScript of the original SWF game.
New feature in v0.9.5:
Replayable boards, the "REPLAY" button will reset the board to where it was after the last "RESET", "EDIT" or "LOAD". Try it again, see if you can get a better score from the same starting board.
New feature in v0.9.
Click on the 'EDIT' button and you can edit the board.
Congratulations, you are now in the most frustrating and feature limited PETSCII drawing program ever.
The boarder changes to '*' from the line-drawing characters. You can now click on a piece to rotate it without triggering a chain reaction. If you click on one of the '*' on the boarder, it will change the entire row or column to match the adjacent piece.
When you 'SAVE' a board, it will not check for a previous file, it will silently overwrite it. Similarly, attempting to 'LOAD' a non-existent board will silently not load a board and return you to the editor.
Click on 'DONE' to play the board.
Why write this game?
Well, two basic reasons.
First, I decided to take another run at picking up the C programming language, and like learning any new language, it helps if you have a project in mind that you want to implement.
Why write for this platform? Being a fan of the Commodore 8-bit computers and following the development of the Commander-X16, I thought it would be a fun platform to target.
Compiling the code
This was developed with the cc65 compiler, so, you'll need it installed. I tend to work with the latest version out of git rather than one of the binary packages, so, YMMV with getting it compile if you use a potentially older version of the compiler suite.
Edit the `Makefile` and fix the paths to the various binaries at the top.
A simple `make` should give you a `GRIDGAME` that you can now load up on an X-16.
It should be a minimal effort to make a C-64 and C-128 version as well, probably coming soon.
Notes on the kwalitee of my code
Yeah, very intentional bad spelling there. I make no claims to my skills as a C programmer. This is probably not "good" C code and most definitely not optimized in the suggested ways you should when writing for `cc65` compiler and the 6502 CPU.
Potential features for future versions:
* Versions for the C-64 & C-128
* Sound - I'll need to read up on how to make cc65 generate sounds. It's documented, but I've not tried that yet. Step 1 was to get the basic game working.
* See if it will compile with KickC, then all dev work could even be done on the system it is played on!
Ziggurat is a Z-machine interpreter written from scratch to take advantage of the power of the Commander X-16. Relive the nostalgia of playing your old Infocom adventures or new Inform stories.
(Note: This is a pre-alpha release. Almost nothing works correctly yet. Please be patient. Development is on GitHub if you want to help out!)
By totodilespyFairly basic version of snake written in C (& complied with cc65). First project for the cx16 and I'm pretty happy with it.
WASD to move. Might add joystick controls as well in the future.
By AndyMtThis is a Breakout/Blockout/Arkanoid inspired game. 😀. It is my very first try on the X16.
You have to use a mouse or a joystick (cursor keys + enter on the emulator)
It's only tested it on the emulator (R37, R38), so if anyone of the few with real hardware can give it a go, I'm eager to know the result.
Available power ups (no keycodes, you have to catch the dropping badges):
[L]: adds one live to player [M]: paddle is magnetic for 30 seconds. Can only hold one ball at a time. [C]: twin laser cannon for 15 seconds, 16 rounds in a row (if you are quick). [D]: Duplicates ball, so now you can have fun with 2... Keyboard commands:
's': sound on/off. 'p': pause game 'q': quit game. How to use with the local emulator:
Unpack ZIP file into the same directory as the emulator. Start the emulator, then enter LOAD"BRIXX.PRG" RUN Or use the "Try now" button.
Let me know what you think...
By desertfishImagine yourself, commander Jameson, in the cockpit of the Cobra MK-III with 100 Cr. in your bank and stationed on Lave, one of the more well known colonized planets. You're setting out to be a master trader and to get rich by exploiting commodity markets across the galaxy!
This simulation engine is very faithful to the original procedural universe algorithms found in the actual Elite game.
There are 8 galaxies to explore, each containing 256 totally different inhabited planets that you can travel to. Each planet is named, has certain government types and inhabiting species, and you can read a short description that characterizes the planet and what it is famous or notorious for. Of course every planet has a commodity trade market, and you have to exploit the various supplies or shortages and price differences to make your fortune!
A simple navigation star map of the local cluster and full galaxy is also available. You can save and reload your progress to continue at a later time.
Source code here https://github.com/irmen/prog8/blob/master/examples/textelite.p8 Written in Prog8, converted from original C source code obtained from http://www.elitehomepage.org/text/index.htm
(this game can also run on the C-64 if you recompile it for that machine target)
By Elektron72This is a minesweeper clone for the Commander X16. It allows custom minefield sizes up to 38x24, with almost any amount of mines.
To start, load and run MINEX16.PRG.
Main Game Left click to reveal a tile Right click to flag a tile Click on the face to reset Press space to open the configuration screen (will reset the minefield) To exit, reset the machine (Ctrl-R on the emulator) Configuration Space to open and close Use the + and - buttons next to each digit to change the width, height, and number of mines Numbers are capped to a specific range; attempting to select an invalid value will set the number to its maximum or minimum value Click any of the presets to set all of the numbers at once Note: The game uses kernal functions to handle the mouse, so any weirdness is most likely caused by the emulator.
By AndyMtThis is a space invaders inspired game. Use the mouse or joystick to control the player ship.
The shield segments can take 2 hits each. If enemies get too close you retreat back to the last level.
You lose when all your lives are gone or you fall back to earth level again.
Now with 7 playable levels
Requires emulator R38!
more diverse enemy formations enemy attack raids over the sides power ups (shields, double cannon, disruptors etc.) boss enemy joystick control done music done Different enemy sprites. done Sprite animations. done for player sprite and enemies fade in/out of palettes and backgrounds. done more levels with more backgrounds (all planets of the solar system), done sound effects basics done title screen How to use with the local emulator:
Unpack ZIP file into the same directory as the emulator. Start the emulator, then enter LOAD"INVADERZ.PRG" RUN
By DusanStraklAfter three tutorials on how to use Sprites on Commander X16 using Assembly, I wrote a game to demonstrate all we learned there plus of course some necessary techniques like reading controls, using interrupts and utilizing Fixed Point Notation.
Full tutorial with source code walkthrough is available on my blog:
By SlithyMattBernie is an unassuming guy, so sometimes he can be hard to find. See if you can pick out the curmudgeonly Senator as he tries to hide in different crowds.
By SlithyMattAlpha demo of Cavy's Quest - a point-and-click adventure game created using the XCI game engine. The current graphics are placeholders while the final graphics are created for the first beta release of the demo.
Simply load and run XCI.PRG from BASIC, and all controls are done through the mouse.
Premise: You are a guinea pig named Penelope who yearns for something more than a life in a cage. Explore your environment and solve puzzles to make your dreams of freedom come true.
By StephenHornA little gameplay-ish and graphics demo of a car on a road. You can control the car with the D-pad on your controller. There's parallax! And a glitchy road, demonstrating why you shouldn't naively depend on sprites to create additional layers of parallax... you'll need to be more clever.
The source code for this can be found in the following github repo:
By rjeThis is a space trading simulation using Traveller ships, worlds, trade rules, and so on. It contains over 500 worlds in and around the Spinward Marches, and it's primitive. I've been working on an improved version; for now, this playable version serves as a test.
By rjeThis is a work in progress, which means there's lots of missing functionality, the UI is rough, there are unfinished bits, and there's no "win" or "lose" condition, yet.
The map is revealed as you explore. There are two kinds of treasures -- weapons and armor -- and one special treasure: the Amulet of Yendor. The goal of the game *will* be to find the Amulet of Yendor and exit the forest with it.
There are 31 monsters in the forest. They (currently) are not differentiated, except by name.
Movement is via the cursor keys. Trees are impassable. "Bump" a monster to attack it.
There are no special commands, yet.
I will add some sound effects before promoting it to 1.0
By rjeI typed in the 1970s era BASIC game "Hammurabi". I then sprinkled in just a few Commodore BASIC bits to format the screen slightly.
The project is https://github.com/bobbyjim/cmd-hammurabi
By rjeI typed in the 1970s era BASIC Lunar lander game.
The source is saved with this project: https://github.com/bobbyjim/cmd-hammurabi
By DusanStraklBoulder Dash style game written in Commander X16 BASIC for learning purposes.
Link to detailed description and access to source code on my blog:
By Johan KårlinThis is a topdown racing game. If you ever played Rally Speedway for Commodore 64 or Atari, it will feel familiar. I consider it a late sequel, somewhat improved actually and hopefully still fun.
Starting the game:
All game files should be in the same directory. Depending of how many game controllers you have, this is how you start the X16 emulator:
No controllers: Just start the emulator and use the following keys: Ctrl - Button A, Alt - Button B, Enter - START, Cursor Keys - UP, DOWN, LEFT, RIGHT. Naturally, you can just play in one-player-mode. One controller: Start the emulator with -joy2 SNES (or "NES", depending on you controller type). Player 1 will use the keyboard and player 2 the game controller. Two controllers: Start the emulator with -joy1 SNES/NES -joy2 SNES/NES. For example if you have two SNES controllers and want to load and run the game immediately: "x16emu -joy1 SNES -joy2 SNES -prg rallyspeedway.prg -run"
Up - Start the race when cars are in position A Button - Brake (the cars will accelerate to maximum speed automatically) B Button - Return to menu when race is finished Start Button - Pause game Further instructions
This is an open world racing game. For every track there is a certain distance you have to drive. When you have driven the given distance, you are ready to cross any finish line you happen to find. Remaining distance is displayed in the bottom corner of the screen.
Most of the time you will probably just drive the default route by following the road and continue straight ahead in every crossing if there isn't an arrow to point you in a certain direction. But you can also find your own way. Just remember that every time you crash or get too far away from the other car, the race will pause and you will be brought back to the default route.
For every crash a penalty of one second is added to your time. This is also the case if you are outdistanced by the other player. You can only be outdistanced as long as the other player is on the road and driving the standard route.
By JimmyDansboIn this game you need to crush ghosts between walls before the ghosts catch (touch) you.
Red walls can not be moved, but green walls can be pushed around.
Be careful as ghosts can walk diagonally.
At the moment there are only 4 levels.
In level 4 you will encounter a poltergeist. Poltergeists can only be killed against a static (red) wall.
Let me know what you think about the difficulty level. For each level I can control:
Number of walls and static walls Number of ghosts and their speed Number of poltergeists and their speed Number of portals and how long it takes before they let a dimensional ghost through.
LIFE.PRG is an implementation of Conway's Game of Life compatible with the Commander X16 Emulator R38 (see https://en.wikipedia.org/wiki/Conway's_Game_of_Life).
Configuring the Grid Dimensions:
D - Toggles the grid dimensions between 29x29 (which is the default), 30x30, 59x59, and 60x60 options. The cell grid is always configured as a perfect square to permit more degrees of symmetry. Odd and even dimensions are both supported since they have different symmetry. The dimension of the length and width is illustrated in the upper right corner of the display. The 29x29 and 30x30 grid dimensions utilize 40x30 text mode, whereas the 59x59 and 60x60 grid dimensions utilize 80x60 text mode. The grid is cleared when the cell grid dimensions are changed.
Initializing the Cell Grid:
C - Clears all of the grid cells.
E - Enters edit mode to manually configure the grid cells. The cursor keys are used to move the cursor pointer, the space bar toggles the state of the cell at the current cursor position, and E key is used to exit edit mode. In edit mode the row and column coordinates of the cursor are displayed in the upper left corner in the format "row,column". The mouse cursor is reused as a cursor pointer but the mouse is not currently supported.
R - Randomizes the grid cells.
H - Randomizes the grid with horizontal symmetry.
V - Randomizes the grid with vertical symmetry.
B - Randomizes the grid with both horizontal and vertical symmetry.
F - Randomizes the grid with full symmetry (horizontal, vertical, and both diagonals).
The edit mode entered by pressing the E key can be used to configure different patterns such as still-lifes, oscillators, and space ships (some of which are described at https://en.wikipedia.org/wiki/Conway's_Game_of_Life#Examples_of_patterns). The H, V, B, and F symmetrical configuration options generally result in more visually appealing patterns than the R configuration option.
Iterating the Grid:
U - Updates the grid a single time.
S - Starts repetitive update of the grid, press S a second time to stop.
The number of iterations performed on the cell grid is displayed in the upper left corner except in cell grid edit mode described above. The iteration count is initialized to zero at startup and reset to zero when the grid dimensions are changed via the D key or any of the grid initialization commands are executed (via the C, E, R, H, V, B, or F keys). When iterating the grid the left and right sides of the cell grid are considered to be adjacent as well as the top and bottom resulting in a toroidal array.
Potential Future Enhancements:
There are several potential future enhancements under consideration such as optimization to speed up the iteration of the cell grid, context-sensitive help, support for user-configurable grid sizes, support for multiple colors (e.g. based on state of a cell and the number of live neighbors), and support for other life-like cellular automaton (see https://en.wikipedia.org/wiki/Life-like_cellular_automaton).