Log In  
BBS > Lexaloffle Community Superblog
This is a combined feed of all Lexaloffle user blogs. For Lexaloffle-related news, see @zep's blog.

All | Following | PICO-8 | Voxatron | General | Off-site
[ :: Read More :: ]

hello world.
I think I'm missing something in the custom function realm when it comes to using variables as arguments. I'm trying to pass in a variable that defines one of 6 beams to a function so I can use it for all of the beams but it does not seem to be working and I think I'm trying to do something that might not be allowed in Pico-8. For example I have a custom function to light up this beam and it works great:

..but I need to reuse this to do something similar for 5 more of these beams. I'd like to create a reusable function around the following as I am repeating code:

function beam_2()
if mg(35) and p.x<500
then
pal(5,7)
spr(35,384,328) sfx(0)
b2_charge=true
else b2_charge=false pal()
end
if b2_go==true then
pal(5,7)
spr(35,384,328)
pal()
end
end

I thought I could get away with using something like the below bm_chg function in place of the beam_2 function but it does not seem to be passing the b2_charge variable when I input it for chg_var.

function bm_chg(sp,sx,sy,sc,chg_var,go_var)

if mg(sp) and p.x<96 then

   pal(sc,7)  
   spr(sp,sx,sy) sfx(0)
   chg_var=true   

else chg_var=false pal()

end

if go_var==true then
pal(sc,7)
spr(sp,sx,sy)
pal()
end

end

I was unable to find any documentation of exactly how this works in the manual and any help would be greatly appreciated.

P#141240 2024-02-07 03:49
[ :: Read More :: ]

hi...
i FINALLY got pico 8 and i put it on my raspberry pi running retropie and i used the tutorial https://nerdyteachers.com/PICO-8/Hardware/?tutorial=69
everything worked, except, the mouse didn't show, there is like no mouse, and i can really use pico 8 without a mouse
pls somebody help

P#141238 2024-02-07 02:04
[ :: Read More :: ]

Cart #rabbits_first_game-0 | 2024-02-06 | Code ▽ | Embed ▽ | No License
2


This is the first game made by rabbit, my german friend.

P#141233 2024-02-06 21:23
[ :: Read More :: ]

Imagine this folder structure

├── libs
│   ├── b.p8
│   └── c.p8
└── main.p8

If main.p8 calls ./libs/b.p8 which in turns wants to call c.p8, it has to use use the relative path from the main cart, i.e. ./libs/c.p8 even if b.p8 and c.p8 is in the same folder.

Usually programming languages have relative paths starting from the file that is doing the import. Could we get the same behaviour for pico-8 please?

Right now most multi-cart games have everything in single dir which makes things looking pretty messy, and if I want to have a multi cart game on my rgb30 where I hide the extra files in .hidden I have to edit all files making load calls to make things work which is not optimal.

Here is full code to replicate (files created with vs code, hence the extra stuff at the top):

What works:

Filename: main-absolute.p8

pico-8 cartridge // http://www.pico-8.com
version 41
__lua__

print("In main-absolute.p8")
load("libs/sub-load-with-absolute-path.p8")

Filename: libs/sub-load-with-absolute-path.p8

pico-8 cartridge // http://www.pico-8.com
version 41
__lua__

print("In sub-load-with-absolute-path.p8")
load("libs/final-destination.p8")

Filename: libs/final-destination.p8

pico-8 cartridge // http://www.pico-8.com
version 41
__lua__

print("In final-destination.p8")

What I would like to work

Filename: main-relative.p8

pico-8 cartridge // http://www.pico-8.com
version 41
__lua__

print("In main-relative.p8")
load("libs/sub-load-with-relative-path.p8")

Filename: libs/sub-load-with-relative-path.p8

pico-8 cartridge // http://www.pico-8.com
version 41
__lua__

print("In sub-load-with-relative-path.p8")
load("final-destination.p8")

Note the missing libs/ in the load 👆

Filename: libs/final-destination.p8

pico-8 cartridge // http://www.pico-8.com
version 41
__lua__

print("In final-destination.p8")

Ive yet to see any multi cart games using any type of folder structure, so in theory should be safe to implement.

Thoughts?

P#141209 2024-02-06 17:16 ( Edited 2024-02-10 15:50)
[ :: Read More :: ]

Cart #ycshmupi2024-1 | 2024-02-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

SHMUPI2024

A shoot 'em up game by Yehiel Certner

About

This small game was made while going over the Lazy Dev Academy tutorial for building SHMUPS in the fantasy console Pico-8!
i highly recommend any aspiring developers and game maker hobbyist to go to their you tube channel and try their tutorials!
Lazy Devs Academy

Controls

Use the Up-Down-Left-Right arrows on the keyboard or the joystick to control the ship,
Use the button 1 to shoot Use the button 2 to explode a bomb
(Note! your pickups will be erased)

Rules

It's an old school SHMUP, kill the aliens avoid the aliens bullets :)
pick up the pickups for extra life (5 picks) or for bombs, also there's a special pickup for extra firepower

Enjoy!

P#141210 2024-02-06 14:40 ( Edited 2024-02-15 11:57)
[ :: Read More :: ]

Cart #one_last_swing-1 | 2024-05-23 | Code ▽ | Embed ▽ | No License
22

One Last Swing

This project is my entry for the Samurai Game Jam 2024 with subtheme: Luck! 🍀
Story:

Patrolling the border you get a message about enemy groups flooding your territory. Now it is up to you to make it back home and ensure the safety of your family!

Controls:

Use X to unsheathe your sword before the clash. If you do not have it out, you will automatically lose. Use ⬇️⬆️ to move your sword between the 3 stances of: High, Mid and Low.

The enemy will attack after a certain time has elapsed, just after they step back! Take that moment to adjust your stance to achieve victory!

Gameplay:

Beat 10 levels to make it back home, and if you feel like it, push your luck further into the endless challenge.

One Last Swing is a Rock-Paper-Scissor like dueling game, where you need to choose the correct stand to overcome your opponents, to regain your honor and to make it back home.

High stance beats middle, middle stance beats low and low stance beats high!

High > Mid > Low > High

Each opponent is part of an enemy unit, marked by their flags and clothing colors. Enemy units are trained the same, so use your experience to determine how they are gonna swing.

The game also takes inspiration from Punch Out, so keep your eyes peeled for clues that help you figure out things faster!

Ko-fi Articles:

If you are interested in the development process, I have several articles outlining code examples and thought processes used in the game!

Devlog Articles

The game development was also streamed, so you can jump into VODs if that is to your liking!

Livestream Dev VODS

Support:

If you like this work, feel free to browse around my page and maybe check out my Ko-fi page, where you can support me with a price of a coffee, to be able to fuel my coding habits and gain more retro games!

https://linktr.ee/AchieGameDev

Big thanks to Csöndi for supporting my work over at Ko-fi

P#141198 2024-02-06 07:15 ( Edited 2024-05-23 20:42)
[ :: Read More :: ]

Cart #rockpaperscissors-0 | 2024-02-05 | Code ▽ | Embed ▽ | No License
4


This is a simple rock paper scissors simulation inspired by this video and others. When units encounter each other, the winning type "spreads" to the losing unit. Use the X or O buttons to restart.

P#141178 2024-02-05 21:46 ( Edited 2024-02-05 22:01)
[ :: Read More :: ]

Cart #bers8-1 | 2024-02-08 | Code ▽ | Embed ▽ | No License
11

About the Game

"Berserk" is a strategic fantasy collectible card game where two players assume the roles of commanders, leading squads of fantastical creatures into battle. During the game, you will maneuver across the battlefield and play tactical combinations to defeat your opponent. The player who destroys all of the opponent's creatures wins.

This collectible card game is loosely based on the world-renowned Magic: the Gathering, but unlike other direct clones, it is based on completely different approaches to the gameplay field and strategic planning. Mechanically, it's something of a cross between chess and battles from Heroes of Might and Magic.

This implementation introduces the so-called "Three Heroes" learning set, which consists of two squads of 9 units each. In the full game, each player has a deck of 30 cards, 15 of which are dealt at the beginning of the match, and the player must assemble a squad according to certain rules. Drafts and sealed tournaments are also possible, similar to MtG.

 

Modes (mode really)

Currently, only the Hot seat mode for two players has been implemented. I would very much like to create a vs CPU mode for single player, but I have not been able to implement AI logic on the first try. The game is extremely complex, even though it is just a tiny part of the existing cards and mechanics. I would very much like to get to implementing some form of computer logic, even if it's just something trivial. Additionally, it might be interesting to add a network play mode.

Rules of gameplay (shortly)

After both squads are positioned, the main game cycle begins. Each player, in turn, can perform any number of actions with any number of their creatures in any order until they pass their turn.

The possible actions for creatures are:

  • Move to an adjacent free cell horizontally or vertically.
  • Use a basic attack.
  • Defend a neighboring card from a basic attack (performed on the opponent's turn).
  • Execute the card's special action.

After actions, the creature "sleeps" and cannot act further, but after moving, it can.

Every unit has some health, movement points and attack. The basic attack of each creature is noted as X-Y-Z, where X is a weak attack, Y is a medium attack, and Z is a strong attack. When performing a basic attack on an opponent's sleeping card, the result is calculated from the roll of 1 die: 1,2,3 for a weak attack, 4,5 for a medium, and 6 for a strong attack.

When attacking a non-sleeping card, the math is a bit more complicated. Two dice are rolled (one for the attacker and one for the defender), and depending on the difference in the dice, damage can be inflicted either on the attacked card or on the attacker (counter-damage). In several cases, there can be an exchange of blows, which can be reduced to a less powerful attack without retaliation.

Also, a non-sleeping enemy card, located adjacent to both the attacking and the attacked card, can act as a defender, after which it will sleep.

In addition to this, nearly all cards have a special action, which can be a shot or damage of another type, poisoning (at the beginning of each turn, the card takes 1 damage), as well as various defenses (from shots, from poisoning, from strikes of a certain type).

Controls

The controls should be straightforward and not cause any confusion, with X for making a selection and O for the "back". Separately, I want to note that choosing end the turn or defeat requires a double press for confirmation. This is made to prevent accidental presses.

I hope you enjoy the game and feel the need to play the full version of this wonderful game, which was also released to the global market through Kickstarter over 10 years ago.

P#141176 2024-02-05 21:13 ( Edited 2024-02-08 12:49)
[ :: Read More :: ]

I want to buy pico 8 and tried using amazon pay, there is no option for amazon gift cards and that's literally all I have XD, how do I use amazon gift cards to buy it?

P#141169 2024-02-05 20:28 ( Edited 2024-02-05 20:37)
[ :: Read More :: ]

Cart #cubancakewalk_brymn-0 | 2024-02-05 | Code ▽ | Embed ▽ | No License
5

This cart, which uses one of @bikibird's visualizers provided courtesy of the PICO-8 Free Music Jam (in a beta version, as a co-organizer we helped with testing), contains an arrangement of the music of someone we'd never heard of: James Timothy Brymn's "Cuban Cake Walk".

And that's a shame, because (a) Lieutenant James Tim Brymn was apparently an absolutely legendary Black American arranger, composer, and bandleader, one of the people who helped give birth to jazz as we know it today, and (b) while we didn't manage to include the entire composition in this, "Cuban Cake Walk" is a delightful piece of music with a really fun bouncy groove. And if we hadn't clicked on the IMSLP website on a day when it was being featured, we'd know none of this.

So, tossing this up for all y'all, declaring my arrangement to be public domain, feel free to drop this in anything that needs it. The melody and bass line are in channels 0 and 1, main harmony in channel 2, and occasional supplemental harmony in channel 3; we would restrict game SFX to channels 2 and 3 personally.

P#141167 2024-02-05 20:26
[ :: Read More :: ]

Hey, I tried to add my YouTube channel in my user settings on this website, but each time I click on a field I get an error:

Error // Bad Data Format: <!DOCTYPE html>
...

then the field is replaced with [error]

The same occurs when checking Cart Listings: Make Favourites Public / Make Likes Public

P#141156 2024-02-05 18:00
[ :: Read More :: ]

Cart #langtons_ant_tweetcart-0 | 2024-02-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Langton's Ant is a tremendously simple system played on a grid of pixels that can either be on (white) or off (black). Each during timestep, the ant moves forward in the direction it is currently facing (I have it facing right at the start). Then, if the ant was on a black square before it moved, it makes the square white and turns right; if the ant was on a white square, it sets the square to black and turns left. And... that's it. But despite these incredibly simple rules, Langton's ant emerges from the apparent randomness after about 11000 steps and starts forming a recurring "highway". In fact, Langton's ant not only tends toward this self-organizing behavior, but also is capable of computation with the right setup (i.e. it is a universal Turing machine) -- see this paper for a proof of that.

Anyway, this cart runs 8 steps of Langton's ant per frame until step 11250. There's a ton of layers of optimizing the code to be as short as possible, so it probably is completely unreadable at this point, haha! If someone wants an explanation of how the code works I can type one up later upon request.

P#141126 2024-02-05 02:52
[ :: Read More :: ]

i made my first game for release! it's a bite-size fangame for the atelier franchise, about being a young alchemist in a town down on its luck. can you bring back the fireworks festival that used to light up the skies?

Cart #atelierphoebe-1 | 2024-02-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

it's extremely short for an rpg (15 minutes total). i made a dialog-heavy crafting RPG in pico-8 because i fear neither god nor man. a major goal i had was to make something that felt like a Real Finished Game, rather than an isolated tech demo or something. so it's got a beginning, middle, and end, and talk sprites, and ui animations, and so on. i'm ridiculously proud of this - i've never made a game as finished as this before. please play and enjoy! and tell me what you think!

i had to use shrinko8 in order to cram it all into the limits, i was really up against them. maybe atelier phoebe 2 will be a multicart... switch to cartridge 2 for act 2!

[edit: updated to fix a crash at endgame.]

P#141120 2024-02-04 20:48 ( Edited 2024-02-05 15:23)
[ :: Read More :: ]

Cart #resmguse-0 | 2024-02-04 | Code ▽ | Embed ▽ | No License
1


Hi, I found some strange behaviors with sfx and music that looks like bugs
( I marked with "X" when it's behaving strangely)

bug 1: releasing loop of an sfx:

  • play a looping sfx
  • release it's loop: sfx(-2)
  • the sfx will complete it's loop and then stop emitting sound
    X but if you check with "stat" you can see that the sfx is still "playing" with no sound
    X it can still block a channel that the music will not be able to use, for ever until it's replaced by another sfx

bug 2: playing a sfx that is already playing in the music

  • play a looping music that contain a specific non-looping sfx using music()
  • play the same sfx using sfx()
  • the sfx will play over the music's channel with the same sfx
    X the music's sfx will not start again once the sfx ended
    X whatever channel was playing the sfx is now blocked forever from playing music, even when going to the next pattern
    X the stat for music still show that music is still playing even if you cannot ear it
    X a new call to music() will be the only way to make the channel working normally again

I understand that those corner cases are rarely used so I get why it's not being a major problem, but I still think it can give some very strange behavior to the sound, potentially blocking all of the music

P#141108 2024-02-04 13:38 ( Edited 2024-02-04 14:07)
[ :: Read More :: ]

Cart #demonfirebybandd-0 | 2024-02-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


This is the first game by father and son game development team bandd! We followed Dylan Bennett's Top-Down Adventure Game Tutorial on youtube. We did a little bit of our own remixing, including transforming a movement bug into a feature, allowing very difficult diagonal movement between obstructing objects!

This game is very challenging. B, the 8 year old member of bandd Games only enjoys playing the most sadistic levels of Geometry Dash and making levels in Super Mario Maker with no floors, which his dad won't even try to win. He created the music, sprites and--unfortunately for you--the map for this game, and it's short but EXTREMELY TOUGH! He was able to eventually beat it, or we wouldn't have posted it. So good luck!

B is very excited to post his first game ever, and we both hope that you enjoy the challenge.

P#141079 2024-02-03 21:42
[ :: Read More :: ]

Cart #bouncy_war-4 | 2024-02-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7


Balls that color the screen and bounce off different colors.
PRESS X or C to change the start setup
Inspired by https://mastodon.gamedev.place/@[email protected]/111828811846394449

P#141072 2024-02-03 18:30 ( Edited 2024-02-05 20:17)
[ :: Read More :: ]

Cart #kogateyane-1 | 2024-03-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Cart #kogateyane-1 | 2024-03-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Cart #kogateyane-1 | 2024-03-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Cart #kogateyane-0 | 2024-02-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


imitate Retro Game "Canon Ball"

Shoot Ball and split.
Ball Radius 8-4-2-1-0!
Erace All Ball

P#141057 2024-02-03 03:08 ( Edited 2024-03-27 14:58)
[ :: Read More :: ]

Cart #tagujeyeyo-13 | 2024-03-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

An in-progress/demo of a puzzle dungeon crawler I've been working on.

4/2/24: Got major elements in now, just need to get LOS and enemy movement sorted out before doing SFX for various bits.
7/2/24: Added in event triggers, splash screen, tweaked screen wipe, item handling/classes, and redesigned tutorial levels and demo levels.
8/2/24: Tweaked event triggers, collapsing floors only collapse after you walk on them and monsters move, added teleporters and appearing/disappearing walls, creatures on impassible tiles at the end of the round die instantly
9/2/24: Added basic AI for creatures (still missing LOS code), additional description for classes, a turn counter to track speed and to control dungeon elements
10/2/24: Added basic LOS code for now, still need to figure out how I'm going to handle seen/unseen tiles (especially for tiles that can change).
11/2/24: Add custom font (still needs work to actually make it look nice)
11/2/24: Tweaked custom font (should now align properly)
12/2/24: Tweaked level layout to be a bit more puzzle-y
13/2/24: Added some sfx to movement and creature death, more messages to inform player whats going on, creatures can now have default items to drop, untested code for pushed walls and creature movement to trigger traps and events, tweaked level layouts
17/2/24: Added levels from 1-29 (still need to fix up free version to play fully), tweaked movement ai, sfx, and general bug fixes
20/2/24: Near enough the final build, still need to sort out french language support and sort out music, track down any bugs I come across but pretty much final build
10/3/24: Baring any bugs should be final version, contains finished french language support!

P#141038 2024-02-02 21:56 ( Edited 2024-03-10 20:04)
[ :: Read More :: ]

-- PICO-8 Cartridge

lua

-- Initialization function
function _init()
player_x = 64
player_y = 64
end

-- Update function
function _update()
if btn(0) then
player_x = player_x - 5
elseif btn(1) then
player_x = player_x + 2
end
end

-- Draw function
function _draw()
cls() -- Clear the screen

-- Draw the player as a filled rectangle
rect(player_x, player_y, player_x + 8, player_y + 8, 7)
end

P#141028 2024-02-02 20:00
[ :: Read More :: ]

Cart #praxis_fighter_x-2 | 2024-02-12 | Code ▽ | Embed ▽ | No License
183

Controls

  • ◀▲▼▶: Move
  • Hold (X): Fire main weapon (spreadshot)
  • Hold (O)/Z/C: Charge secondary weapon (bomb) / focus mode.
  • Enter: Pause/menu

About

Praxis Fighter X is a fast-paced single stage retro shoot-em-up. Dodge bullets and fight off the militarized police force defending a corporate toxic sludge pipeline.

Inspired by old-school shmups/STGs, the game focuses on reflex-based action and satisfying destruction while including some modern comforts like a smaller player hitbox and a focus mode.

It's on the difficult side but with dedication and the power of 3 Continues you will persevere.

Scoring

Build your scoring multiplier and keep your combo meter up by taking out enemies and ground targets. Dealing damage also helps sustain your combo meter — once it runs out, your multiplier will begin falling.

Tip 1: Your combo meter depletes more slowly while charging your bomb weapon.

Tip 2: If your bomb collides with an enemy mid-air, you get your shot back with a shorter delay

Tip 3: Collecting a powerup you already have or a 1UP when at 3 lives will give you points instead of the usual effect. Your current multiplier applies here too.

Tip 4: Your multiplier also applies during boss fights. Try to take out all the boss's destructible parts while continously dealing damage for maximum points.

Credits

Praxis Fighter X was created by Eric Billingsley.

Thanks to Krystian Majewski of Lazy Devs Academy for creating the Advanced Shmup Tutorial which inspired me to work on the game. Though I didn't use the solutions from the tutorial exactly, watching the videos was really helpful in understanding what makes shmups tick and what challenges I would need to plan for. Boghog's Shmup Workshop series was also really helpful.

Thanks to Otto, LokiStriker, Louie Chapman, Catto, Glimm, Trog, TheGacko, Jonah Davidson, and Jeep Barnett for playtesting and feedback.

Thanks to Aktane for feedback on my initially terrible bullet visibility and Heracleum for help with turret rendering tech.

And thanks Maria for your encouragement and for being there for me all along the way.

Future Plans

Praxis Fighter X features a single stage and is meant to be a complete experience as is — there are currently no plans to expand it. I do have some potential ideas for other stages, but there are many other projects I'd like to get back to for now.

Praxis Fighter X is also available on itch.io.

Update 2022/2/12

  • Improved outline rendering for aimed bullets (should improve visibility)
  • Added a pause menu option to disable shadows, as some players found them visually distracting/confusing
  • Added a new background tile featuring green sludge leaking over a riverbank

Update 2022/2/2

  • Fixed menu inputs being sometimes ignored on devices that can only run the game at 30fps
P#141025 2024-02-02 16:45 ( Edited 2024-02-12 15:56)
View Older Posts