Log In  
Follow
minsoft
SHOW MORE

Has anyone got Pico-8 working on Raspberry Pi 4? Specifically under Raspbian Buster, console/terminal mode?

I've got it running in the Desktop, but there are graphics issues (tearing, non-smooth scrolling) so want to run it from the console. I have done this in the past on Pi 1/3, but am having trouble with the Pi 4...

Launching Pico-8 give me the following error:

SDL Error: Could not create EGL window surface

** FATAL ERROR: Unable to create window

(SDL restoring keyboard) Segmentation fault

(pico8_dyn gives the same error)

Anyone know what I need to do?

P#66550 2019-08-11 16:50

SHOW MORE

Cart #49305 | 2018-02-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
94

Gameplay

Fly through the tunnel as fast as possible avoiding the walls. The tunnel is divided in to Zones, with four Quadrants per zone. Each zone is progressively longer and more difficult than the previous, with sharper turns, more turns, and narrower sections.

Each quadrant has a time limit - note that this is not the time limit that the quadrant must be completed in, but the time until your ships engine power is cut (T+ engine shut-off). Engine power is required for anti-gravity and maneuvering as well as propulsion...ie if the time runs out your hope lies in gliding (or sliding!) to the finish. As quadrants advance, the time limit becomes stricter. Note that your progress in the quadrant is indicated by the right hand HUD gauge.

Hitting walls will slow you down, and reduce the energy of the ship (indicated by gauge on left hand side of HUD). Energy will be slowly replenished during the period of flying through the 'safe section' at the end of each ZONE (grey section with orange stripes). If energy becomes fully depleted the ship will fail and you will lose a life. Similarly, failure to complete a quadrant in time will cost a life. You begin the game with three lives, indicated by the three red lights on the left hand side of the dashboard.

Points are continuously awarded for progress, with a bonus for completing each quadrant (unless T+ shutdown occurs). Additional ships can be unlocked by making progress in the game. Faster ships will yield higher scores than slower ones.

Controls

Insert Coin = Up / GPIO input (defaults to free play so not required!)
U/D - pitch
L/R - roll
(O)/(X) - yaw
(O)+(X) - brake

Tips

  • Learn to use the controls! You will need to use and know when to use roll and yaw most effectively.
  • Brake just before / during the 'charge section' at the end of each zone (grey section with orange stripes) to have more time to charge energy.
  • Aside from the above, don't brake!

DIP Switches (menu items)

NOTE altering these will reset game!

RESET PROGRESS
CREDITS: FREE (default) / UP / GPIO
GPIO OUTPUTS: OFF (default) / ON

GPIO Input / Outputs

IMPORTANT: GPIO pins are referred to by Raspberry Pi 'WiringPi' standards. See below for WiringPi configuration.

DISCLAIMER: I will not be responsible for damaging your device. Please do not enable GPIO settings, or connect anything to GPIO pins to anything if you are unsure what you are doing!

--- MINSOFT GPIO STANDARD ---

PIN TYPE        SETTING             FUNCTION            DETAILS
0   INPUT (PULL UP) CREDITS: GPIO   Credit switch       Connect switch between pin and ground (via optional resistor, eg 1k ohm)
1   OUTPUT      GPIO OUTPUTS: ON    Start/Warning LED   Connect LED between pin and ground (via suitable resistor, eg 220 ohm)
2   OUTPUT      GPIO OUTPUTS: ON    Start/Warning LED   Connect LED between pin and ground (via suitable resistor, eg 220 ohm)
3   OUTPUT      GPIO OUTPUTS: ON    Vibration motor     Connect motor via suitable circuit (eg http://playground.arduino.cc/uploads/Learning/solenoid_driver.pdf)
4   OUTPUT      N/A                 N/A                 N/A

WiringPi Configuration:

//set pin 0 as input, pull up (COIN)
gpio mode 0 in
gpio mode 0 up

//set pins 1-4 as outputs
gpio mode 1 out
gpio mode 2 out
gpio mode 3 out
gpio mode 4 out
P#49306 2018-02-15 14:24 ( Edited 2018-03-08 15:34)

SHOW MORE

Cart #47369 | 2017-12-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15

Introduction

After receiving feedback on 'Cosmo Boing!' from operators and players during location testing in select arcades, minsoft is pleased to announce the release of...'Cosmo Boing Deluxe'!

Gameplay

Bounce to the finish line, avoiding gaps and holes using the direction tiles to your advantage, in this action puzzler for 1 or 2 players.

Controls

Insert Coin = Up / GPIO input (defaults to free play so not required!)
Move Left / Right = Left / Right
Start Game / Jump = Z or X (Shift or A for player 2)

DIP Switches (menu items)

RESET HISCORE
CREDITS: FREE (default) / UP / GPIO }
GPIO OUTPUTS: OFF (default) / ON } NOTE altering these will reset game!
ATTRACT SFX: ALL (default) / SFX / MUS / NONE }

Scoring

Direction tile: 1 point
Consecutive direction tiles (combo): 5 points per tile, plus 25 bonus for every 5 tile combo.
Level clear: amount varies depending on level difficulty, zeroed when a life is lost. Additional bonus for leftover jumps (over initial amount).

Bonus lives are awarded every 3000 points.

Power-Ups (green animated icons)

Bonus jump (flashing dot)
Bonus life (bouncing ball)
Super jump (green up arrow)
Fill 20 gaps (rotating square)

Tips

Watch as far ahead as you can - it might save you from reaching a dead end.
When you die, remember where you went wrong and pick a better route next life.
Jumps are precious - don't press jump button unless you have to.
'Combos' earn jumps - be on the lookout for potential combos.
Pressing jump on an 'up' arrow does a long jump - this can be useful!
Stage 10 of each planet will have an extra life - try to collect it!


WHAT'S NEW (over Cosmo Boing):

Gameplay

Pressing Jump on 'up' arrow tile will now do a long jump (jump over 2 tiles).
Jumps (in addition to points) can now be earned by using combos. Note jumps are earned in fractions (tenths).
Player ball 'bounces' off screen boundary (previously just stopped).
'Hole' tiles now individually vibrate before degenerating, giving player more chance to avoid them.
New power-up which will fill in 20 gaps with safe tiles (persists after death).

Levels & Scoring

Levels divided into 5 planets, 10 stages per planet.
Steeper difficulty curve - levels are harder from the start.
No. starting jumps is dependant on level difficulty (previously always 3).
Point no longer scored for hitting a normal safe tile.
Bonus point power-up removed.
End of level bonus no longer reduced for using jumps.
Additional end of level bonus for leftover jumps (50 each over starting count).
Bonus lives now awarded every 3000 points (previously 1000, then every 2000).

Cosmetic

'Deluxe' title screen.
Attract mode now features instruction screens.
Progress bar moved to bottom of screen (previously on left hand side), and colour (red/orange/green) indicates progress.
'Combo gauge' removed to increase map visibility - combo count & score now indicated on tiles hit.
Jump icons replaced with jump gauge indicating no. jumps: available (in player colour), and potential (flashing red) while mid-combo.

Other

Runs at 60 frames per second.
New, original music.
SFX tweaked.
GPIO input/outputs for credit switch, player LEDs, and vibration motor/solenoid feedback (SEE GPIO SECTION).
Added 'CREDITS', 'GPIO OUTPUTS' & 'ATTRACT SFX' DIP switches.


GPIO Input / Outputs

IMPORTANT: GPIO pins are referred to by Raspberry Pi 'WiringPi' standards. See below for WiringPi configuration.

DISCLAIMER: I will not be responsible for damaging your device. Please do not enable GPIO settings, or connect anything to GPIO pins to anything if you are unsure what you are doing!

--- MINSOFT GPIO STANDARD ---

PIN TYPE            SETTING             FUNCTION                DETAILS
0   INPUT (PULL UP) CREDITS: GPIO       Credit switch           Connect switch between pin and ground (via optional resistor, eg 1k ohm)
1   OUTPUT          GPIO OUTPUTS: ON    1UP Start/Warning LED   Connect LED between pin and ground (via suitable resistor, eg 220 ohm)
2   OUTPUT          GPIO OUTPUTS: ON    2UP Start/Warning LED   Connect LED between pin and ground (via suitable resistor, eg 220 ohm)
3   OUTPUT          GPIO OUTPUTS: ON    Vibration motor         Connect motor via suitable circuit (eg http://playground.arduino.cc/uploads/Learning/solenoid_driver.pdf)
4   OUTPUT          GPIO OUTPUTS: ON    Solenoid                Connect solenoid via suitable circuit (eg http://playground.arduino.cc/uploads/Learning/solenoid_driver.pdf)

NB solenoid operates after player death, ala Q*Bert

WiringPi Configuration

//set pin 0 as input, pull up (COIN)
gpio mode 0 in
gpio mode 0 up

//set pins 1-4 as outputs
gpio mode 1 out
gpio mode 2 out
gpio mode 3 out
gpio mode 4 out
P#47371 2017-12-14 09:05 ( Edited 2018-01-28 20:59)

SHOW MORE

Cart #46690 | 2017-11-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
19

Introduction

This is my homage to Owen Rubin's wonderful 1979 arcade game Tunnel Hunt, which features eye-wateringly fast psychedelic visuals and ominous sound. I have tried to retain the key elements of the game as best as I can (given smaller palette and lack of analog joystick), while adding a few variations to enhance to experience...

Gameplay

Hurtle through the tunnel blasting anything in your path. Your craft will increase speed over time, but hitting walls will slow it down (while also heating the hull). You can use this to your advantage, but overheating the hull will result in death!

Lasers will also overheat if used too much, which will disable them for a time until sufficiently cooled. Shields can be activated to defend against enemy craft or fire (plasma balls), but will be reduced in power as a result. Shooting plasma balls will charge your shields fractionally (as well as award 50 points).

There are four different types of enemy, which will require 1,2,5 or 10 shots to destroy. Points will be awarded based on the type of enemy destroyed, the time taken to destroy it, and enemy hostility (this increases over time). A bonus life will be awarded after 10,000 points, and every 30,000 points thereafter.

Controls

Insert Coin = Up / GPIO input (defaults to free play so not required!)
U/D/L/R - controls ship
(O) / Z - shield
(X) / X - laser

DIP Switches (menu items)

RESET HISCORE
CREDITS: FREE (default) / UP / GPIO }
GPIO OUTPUTS: OFF (default) / ON } NOTE altering these will reset game!
ATTRACT SFX: OFF / ON (default) }
Y-AXIS: NORMAL (default) / INVERT

GPIO Input / Outputs

IMPORTANT: GPIO pins are referred to by Raspberry Pi 'WiringPi' standards. See below for WiringPi configuration.

DISCLAIMER: I will not be responsible for damaging your device. Please do not enable GPIO settings, or connect anything to GPIO pins to anything if you are unsure what you are doing!

--- MINSOFT GPIO STANDARD ---

PIN TYPE            SETTING             FUNCTION            DETAILS
0   INPUT (PULL UP) CREDITS: GPIO       Credit switch       Connect switch between pin and ground (via optional resistor, eg 1k ohm)
1   OUTPUT          GPIO OUTPUTS: ON    Start/Warning LED   Connect LED between pin and ground (via suitable resistor, eg 220 ohm)
2   OUTPUT          GPIO OUTPUTS: ON    Start/Warning LED   Connect LED between pin and ground (via suitable resistor, eg 220 ohm)
3   OUTPUT          GPIO OUTPUTS: ON    Vibration motor     Connect motor via suitable circuit (eg http://playground.arduino.cc/uploads/Learning/solenoid_driver.pdf)
4   OUTPUT          N/A                 N/A                 N/A

WiringPi Configuration

//set pin 0 as input, pull up (COIN)
gpio mode 0 in
gpio mode 0 up

//set pins 1-3 as outputs
gpio mode 1 out
gpio mode 2 out
gpio mode 3 out
P#46691 2017-11-25 10:58 ( Edited 2017-12-15 09:05)

SHOW MORE

Is there a way to tell what SFX is playing in a given channel? Or even just whether the channel is currently in use? I guess there might be a way to POKE for it...

P#46616 2017-11-23 05:14 ( Edited 2017-11-23 12:48)

SHOW MORE

Cart #31954 | 2016-10-28 | Code ▽ | Embed ▽ | No License
22

Here is my first Pico-8 game, 'Cosmo Boing!', a fantasy arcade game for one or two players.

The aim is simply to guide your ball to the finish line, without falling into a gap. Levels increase in length and difficulty as you progress. Use of 'direction' tiles is possible (and unavoidable), so use them to aid progress. You have 3 'jumps' (per level/life) which you can use to jump gaps or avoid certain tiles - use these wisely!

Scoring:

Safe tile: 1 point
Direction tile: 2 points
Consecutive direction tiles (combo): 5 points per tile, plus 25 bonus for every 5 tile combo.
Level clear: amount varies depending on level difficulty, reduced by using 'jumps', and zeroed when a life is lost.
Bonus point powerup: amount varies (random).

Bonus lives are awarded at 1000 points, and every 2000 points thereafter.

Power-Ups (green animated icons):

Bonus points
Bonus jump
Bonus life
Super jump

Controls:

Insert Coin = Up
Move left/right = Left / Right
Jump = X or Z (Shift or A for player 2)

Note: when 2 players are active, players are given 5 jumps instead of the usual 3.

This has been a fun project, taken me about 5-6 weeks to write (on and off). This is my first game and first Pico-8 project (wasn't even intended to be a game originally) so the code could be better/tidier.

Hopefully there aren't any bugs, but please let me know if you find any! I'd also be interested to hear how far you can get. Hope you enjoy!

P#31955 2016-10-28 09:50 ( Edited 2016-11-14 15:47)

SHOW MORE

I am new to Pico-8 so apologies if I'm missing something...

I'm writing a game using the _UPDATE() and _DRAW() functions which scrolls vertically a pixel at a time. It scrolls smoothly most of the time but every now and then it seems to 'stutter' briefly. Note that the sound/music isn't affected.

I have tried it on 3 systems and the problem is apparent on all of them, to some degree. From best to worst:

Mac i5
Raspberry Pi (1) B
PocketChip

I have used STAT(1) to find out CPU usage, and it never goes above 0.38 (on the Mac and Pi at least, I think slightly higher on PocketChip), so I would not expect frames to be dropped. I've put the STAT(1) at the very end of the _DRAW() function - is that the right thing to do?

I've noticed slowdown (particularly on PocketChip) on other carts too, but couldn't say what the CPU usage is.

Similar thread: https://www.lexaloffle.com/bbs/?tid=4089

Any advice appreciated!

P#29729 2016-09-30 09:59 ( Edited 2016-10-04 20:43)

Follow Lexaloffle:          
Generated 2024-03-19 02:02:39 | 0.074s | Q:20