Log In  
Follow
rnd

Cart #sonic1_specialdemo-2 | 2022-01-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

This is a small work-in-progress demo thingy that tries to imitate the way special stages in the first Sonic game work.

Is very unfinished and probably very buggy.

Changelog:

Current version:

  • Added the special stage music, as composed by Gruber.
  • Modified the check for whether the character is in the air by only checking sensors that are close to the ground.
  • Fixed a rounding bug that resulted in in-air checks failing half of the time on walls facing two of the four directions.
  • Debug functionality: the background is changed from blue to purple whenever the main character is in the air.

Version 2:

[ Continue Reading.. ]

3
0 comments



Cart #age_check-1 | 2021-12-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

This is a small snippet of code that asks the player for their birth date, checks if they're over 18 years old, and either passes or blocks them from playing whatver game is implemented in the cartridge.

If the player already passed the check once, it's saved in the cartdata, so they don't have to do it every time.

To implement this in your game:

  • copy the entire contents of tab 1 into your game code somewhere
  • add 🐱ok=false at the start of your game code
  • add the 🐱init() call in the beginning of your game, but after the cartdata() call. If your game doesn't use cartdata, you may skip this step, but the game will ask for the player's birth date every time it's launched.

[ Continue Reading.. ]

4
0 comments



Cart #spirograph-1 | 2021-12-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Inspired by this demo, I decided to implement the same idea using PICO-8. Instead of using spare RAM for effects, I went with the newly-introduced spritemap/screen mapping feature, by drawing the spirograph to the spritesheet and then drawing that onto the screen, so that hands can be added later.

Change log:

Version 2 (current)

  • added the ability to use the O button to accelerate the drawing process
  • set the cart to run at 60fps

Version 1:

Cart #spirograph-0 | 2021-12-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

2
0 comments



[sfx]

Sounds very irritating, I know, but that's also the problem with the original tune :-(

Pattern 0 is title theme.

Pattern 10 is the ending theme.

0 comments



Cart #name_dialog_snippet-0 | 2021-10-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

This is my attempt to implement an RPG-style name entry dialog, which should be helpful for others as well.

It doesn't use any sprites or map elements, so its code should be easily usable in other cartridges.

You can use this code according to the CC-BY-SA-NC 4.0 license, as is default, or according to the MIT license below:

Copyright © 2021 /dev/urandom

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

5
0 comments



Cart #rnd_suno_pi_toki_pona_2021-2 | 2021-08-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Today is the 20th birthday of the minimalist conlang "toki pona". An event is held to celebrate that. I made a small PICO-8 cartridge to celebrate it.

Controls: UP/DOWN -- move time one hour ahead or behind

LEFT/RIGHT -- control the wind

O+X (Z+X on keyboard by default) -- activate easter egg

Changelog:

Version 2 (current) -- fixed time calculation so the cartridge doesn't crash long before or after the event.

Version 1:


Cart #rnd_suno_pi_toki_pona_2021-1 | 2021-08-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


2
0 comments



Cart #tearing_test-0 | 2021-07-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

This is just a simple test cartridge I made so I can test for screen tearing. It draws vertical lines that scroll around every frame. If the lines are completely straight, there's no screen tearing. If the lines "break" at a certain point, there is screen tearing.

2
3 comments



Cart #fubuki_spacerace-2 | 2021-09-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

This is a WIP remake/port of the "Space Race" TIC-80 game by Fubuki. I have managed to make a version of the game that, with some compromises, runs at a stable 30fps and provides a simple game experience, in which the ship has to run along an endless tube, avoiding walls.

I have added collision detection and a simple scoring system to the game, as well as made the game use perspective-correct maths for everything.

Version 3: added a rendering hack that simplifies the topmost and bottommost parts of walls hidden by other walls, should make the game run at a stable 30 FPS all the time.

Old versions:

Version 2:

Cart #fubuki_spacerace-1 | 2021-09-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

made some improvements to the code, added extra code so that obstacles are more visible from afar and turn transparent if behind the ship, optimized drawing so the game almost never falls below 30fps.

Version 1:

Cart #fubuki_spacerace-0 | 2021-06-20 | Code ▽ | Embed ▽ | No License
8

8
1 comment



Cart #battlecity-0 | 2021-05-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

This is a work-in-progress port of "Battle City" (1985, Namco, Famicom) for PICO-8. The basic mechanics have been introduced, but the enemy AI is absent, certain UI elements aren't implemented yet and there's very few sounds and no music.

The goal is to implement all of the game mechanics completely, and then to try and improve on the game by adding extra features, like 4-player support.

Notice: so far, the more playable version is "Pico Tanks" by Shogal.

1
0 comments



Cart #console_wars_intro-0 | 2021-04-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

I decided to cover the "Console Wars" web series' intro tune, and make a little PICO-8 cartridge to go along with it. Since there's no real gameplay, I guess it's kind of like a demo, but it doesn't really stretch the PICO-8 capabilities in any noticable way or do anything impressive. Just a thing I did for fun.

2
0 comments



Cart #ritokembo-0 | 2021-03-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

The decoration feature of PICO-8 v0.2.2 could also be useful to also draw dakuten / handakuten marks above the kana characters, rather than to the side of them, but sadly, since the current syntax only allows them to be shifted horizontally between -2 and 1 pixels.

Maybe it's worth it to adjust the "\v" character syntax so that it works differently after wide characters, or add a different one where the horizontal shifts use 3 bits instead of 2 (and allow for horizontal adjustments between -4 and 3 pixels?).

0 comments



Cart #sitelenpona-1 | 2021-02-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15

Continuing my topic of custom fonts, here's one that replaces almost every character in the later half of the character set (which is usually taken by patterns, hiragana and katakana) with the 120 official characters of the "sitelen pona" writing system for the minimalist conlang "toki pona".

Here's the charts of characters:

Changelog:

Version 1.1 (current):

  • slight adjustments to some characters, an easier-to-understand "moli"

Version 1.0:


Cart #sitelenpona-0 | 2021-02-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15


[ Continue Reading.. ]

15
11 comments



Cart #rusfont-0 | 2021-02-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
10

This cartridge uses the PICO-8 v0.2.2's custom font functionality to provide an additional font with Russian letters (with the exception of Ё).

The characters are mapped similarly to the KOI8-R encoding, so that similar Latin characters are mapped to similar Russian ones. For example, "РУССКИЙ ТЕКСТ" (Russian text) is encoded as "RUSSKIJ TEKST".

To use the font, just copy the "setfont" function into your program, call it at the start of the program, and use the commands to switch to the custom font and back whenever you need to print Russian characters.

For example, this line will output "привет, мир! pico-8 пишет по-русски!" ("hello world! pico-8 is writing in russian!")

[ Continue Reading.. ]

10
6 comments



Cart #jelpi_altpaltest-1 | 2021-10-31 | Code ▽ | Embed ▽ | No License
12

This is basically me testing how the "second palette" pokes work on PICO-8. The lower 24 rows of the screen are now occupied by a HUD strongly inspired by the game "Ultracore", which displays (fake) number of lives and ammo and (real) number of gems collected and level number.

The status bar area uses its own palette with lots of colors from the second set of 16 colors, but doesn't interfere with the game itself (though the camera had to be raised a bit to make it work).

2-player mode is not tested, probably will break.

Changelog:

  • v2: made the game apply the second palette whenever the first one is updated, now that its existence is official and pal() resets it as well.

[ Continue Reading.. ]

12
7 comments



Cart #donsol8_v1-14 | 2022-08-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
89

This is a PICO-8 port of Donsol by John Eternal and Hundred Rabbits, a dungeon-crawler game built around a deck of 54 cards.


INSTRUCTION BOOKLET

RND Software thanks you for selecting Donsol for the PICO-8 system. Please read these instructions before starting for maximum enjoyment of this game.

STORY

After a long evening of playing cards at the local tavern, you head off home to get some sleep, but something goes wrong. You suddenly find yourself trapped in a nightmarish dungeon, which is infested with fiends, monsters and wicked witches intent on making sure you stay trapped in the dungeon forever. As you suddenly seem unable to find any exits, your amulet warns you that a strong curse has been placed on the dungeon by these same monsters. Armed only with your trusty dagger, will you be able to eliminate all the monsters, dispel the curse that prevents you from leaving and exit the dungeon, or will you suffer the wrath of the Donsols?

YOUR QUEST

It's clear that as long as the dungeon is cursed, it will be impossible to leave it. Since the best way to break a curse is to destroy the creature that cast it, the only way out is to completely purge the dungeon of evil. Luckily, the dungeon isn't just inhabited with dark and fiendish monsters -- you can clearly see helpful shields, healing potions and mages shining with red light. Use them carefully to stay alive while clearing the dungeon and you will surely find your way out!

CONTROLLING THE GAME

This is a single-player game. Only use the controller connected to Control Port 1.

D-Button

  • On the title screen, use the left and right directions to pick the difficulty level.

  • During gameplay, use left and right to choose a card, or press up or down to select the "run" or "restart" options.

Cross Button

  • This button is never used in this game.

Circle Button

  • On the title screen, use this button to start the game.

  • During gameplay, use this button to flip the selected card, or to use the "run" or "restart" button when it's selected.

Pause Button

  • Use this button to pause the game and display the Pause Menu.

MOUSE CONTROLS

In addition, if you have a PICO-8 Mouse or compatible device, you can plug it into the Expansion Port. The moment you click a mouse button, the game will display a mouse cursor. It will be red when the cursor is over an interactable object and gray otherwise. To interact, use the left, right or middle mouse button. If you want to use the regular controller again, just press the Circle Button or the Cross Button, and mouse controls will be disabled.

  • On the title screen, clicking on the left or right part of the screen is used to select the difficulty level. Clicking in the middle of the screen is used to start the game.

  • In game, clicking over one of the four card in your hand will select that card. Clicking over the "Run" button will escape the room, if possible. If the game is over, clicking anywhere restarts the game.

TITLE SCREEN

After you turn on the game, you will see the title screen. Here, you can select the difficulty level for the game by using the left and right directions on the D-Button and pressing the Circle Button to select. Alternatively, you can choose the "CREDITS" option to see the names of the people responsible for making the game.

MAIN SCREEN

  1. Your health points

  2. Your shield's durability (if available) and defense

  3. Your experience (number of cards flipped)

  4. "Run" / "Restart" button

  5. Name of currently selected card

  6. A flipped card

  7. An unselected card

  8. A selected card and its cursor

  9. Status messages

On this screen, you see your current status, the cards comprising the current room of the dungeon and the last status message. Your task is to clear the dungeon by flipping all 54 cards of the deck. To do that, use the left and right directions on the D-Button to select a card and then press the Circle Button to flip it. Different cards have different effects:

♠Spades and ♣Clubs -- Monsters

The spades(♠) and clubs(♣) are the dungeon's monsters. When you flip them, they will attack you, dealing damage equal to their value. If you survive the attack, you defeat the monster.

(Every time you flip any card, your XP value goes up by one. When it reaches 54, this means that there are no cards left in the dungeon and you win the game.)

♦Diamonds -- Shields

The diamonds (♦) are shields and helpful red mages. When you flip them, you equip the shield (or recruit the mage) to provide defense from monster attacks. When a monster attacks you, the shield will reduce the amount of damage you take by its own value. If the monster is weaker than the shield's defense, their attack will not hurt you at all!

However, there's a catch. After a monster hits you while shielded, your protection will weaken and will be unable to withstand attacks from equal or stronger monsters without breaking and leaving you unguarded. To prevent that, be sure to attack stronger monsters before weaker ones!

When you flip a diamond card while already protected, you replace the old card's protection with the new card's. You can't hold two shields at once, and the red mages' defensive spells don't work when you have a shield.

(The "durability" and "defense" values in the HUD display the maximum attack your protection can withstand and the amount of damage it can repel. For example, if it says "8/6", that means you will not lose 6 health points when attacked by monsters of strength 8 or less. If there's only one number, then your protection has not yet been touched. For example, "10" means you have a Large Shield capable of avoiding 10 points of damage from any monster.)

♥Hearts -- Potions

The hearts (♥) are potions and helpful white mages. When you flip them, you will consume the potion (or ask for help) and they will restore an amount of health equal to their value.

However, there's another catch. The potions' and mages' restorative magic doesn't like being overused, and if you try to use two or more heart cards in a row, the latter ones will do nothing. An hourglass symbol above the health meter will warn you if healing up is useless.

(No matter what, you can't have more than 21 health points.)

🃏Jokers -- Donsols

The two joker (🃏) cards are Donsols -- extremely powerful monsters that rule this dungeon. In fact, they are so strong, that meeting them without an untouched shield is sure to end your journey once and for all! Be extremely cautious in rooms with them.

Running away

If you feel like you can't deal with the room you're in, you may want to try running away from it. To do that, use the up or down directions on the D-Button so that the "Run" button is selected, and then press the Circle Button.

The curse of the dungeon may have made it very hard to navigate, but sometimes you still have the opportunity to quickly escape into a different room with a new set of cards in it. The flipped cards will not reappear, but you will still have to deal with the rest eventually -- hopefully with better equipment and in better health.

The situations in which you can escape depend on your difficulty level:

  • On EASY, you can escape any rooms that don't have monsters left or if you haven't escaped from the previous room.
  • On NORMAL, you can only escape if you haven't escaped from the previous room.
  • On HARD, you can only escape if the room you're in doesn't have monsters left.
  • On EXPERT, you can't run from any rooms at all.

Luckily, the dungeon's curse only gains its full power once you've interacted with any of its inhabitants. If you haven't attacked any monsters, equipped any defense or healed yourself up (i.e. your XP is 0), you can always run from rooms. Use this to find a starting room that lets you survive the dungeon more easily.

PAUSE MENU

Pressing the Pause Button at any time will open the Pause Menu with the following options:

  • Continue - Resume playing the game back where you left off.
  • Trad. Suits - The minimalist suit graphics used in Donsol may be confusing to some users. By enabling this option, the suit graphics will be replaced with ones more like those used in traditional playing card decks.
  • ⬅️ English ➡️ - Change the language that the game uses by using the left and right directions on the D-Button. The game can be played in English, in Russian, or in toki pona.
  • Reset Cart - Restart the game from the title screen. This is the only way to change the difficulty level once it's been selected.

Use the up and down directions on the D-Button to select an option and press either the Cross Button, the Circle Button or the Pause Button to select the item you want.

HINTS AND STRATEGIES

  • If your shield breaks, you receive the full damage of the attack. That's why it's better to have a weak shield that hasn't been touched by monsters than a strong one that already has low durability.

  • If you've defeated all monsters in a room and you see potions and shields you don't need, it's best to run away from that room. That way, those shields and potions may find themselves useful later!

  • Donsols have an attack value of 21 -- higher than all other monsters and equal to your maximum health. Don't even think of attacking them without a brand-new shield!

CARTRIDGE SAFETY WARNINGS

A PICO-8 cartridge is a delicate electronic device and must be handled carefully. Please abide by the following rules to make sure the cartridge lasts as long as possible:

  • Do not expose the cartridge to extreme temperatures.

  • Do not try to dismantle or break apart the cartridge.

  • Keep both the cartridge's and the PICO-8 system's connectors clean. Do not use water to clean the connectors.

RND Software and Lexaloffle Games are not liable for damage caused to the game cartridge or the PICO-8 system if these rules are violated or if the damage is caused by abusing the game or the system.

[ Continue Reading.. ]

89
10 comments