Jack Nicklaus, step aside! Tom Brinton invites you join him in the putting greens of the mind.
CONTROLS:
- Arrow keys - Move ball(s)
- [X] - Reset level
- [Enter] - Menu
HOW to PLAY:
- Get the ball(s) into all the holes in the level
- Not all balls have to make it into a hole
- Water and sand traps can be your enemies, or your best friends
- Rocks can't go into holes, but they can certainly assist you
FEATURES:
- 32 peaceful-yet-puzzling holes
- Thoughtful SFX and music that can be toggled on and off
- Golf like you've never experienced it before!




.png)





Does the random value generation by srand() always produce the same pattern output as long as the same seed value is input?
Does the output pattern change due to a change in the environment?
For example, the upgrades, the amount of code, the timing of the exports, the machine or OS you're running...
So far I haven't been able to verify much and I haven't encountered the fact that the output results have changed, but I am concerned.
Thanks for your help.


Info
Here is my fist Pico-8 game: Pico-Bot. I made this over the last two months in my spare time. It's a sort of horizontal Space Invaders with platforms and more intricate scoring techniques.

How to Play
- Destroy enemies and collect the orbs they drop.
- The quicker you collect orbs, the higher your score.
- Collect three large orbs to activate the score multiplier.
- Tip: you're invincible while jumping between platforms.
Here's a video showing the game being completed to show that it is possible!




Sensitive8
For my second Pico-8 game I decided to remake a favourite C64 classic called "Sensitive"
The original Sensitive was written by the awesome Oliver Kirwa, This version was written by me, Jamie Fuller, with music by Roy Widding.
Aim of game:
Get to the exit block of the game travelling over every falling block, you can only tread on yellow blocks once, if you stay still too long or walk off of them the tile will explode. red blocks will turn to yellow after walking off of them (so you can walk on red ones twice). There are one way blocks and teleporters to deal with too!
Controls:
Move the ship with cursors, teleporter pads can be activated with the "x" button.


I've been working on a simple golf game on and off for the past week or so and I'm having a lot of fun. I'm not entirely sure what I want to include with it, but I'd like to try and make the gameplay mechanics slightly different to the "norm". I've got a few ideas written down and I'm keen to lock the scope of the project in place and start getting things done.
The course in the gif below is mixture of predefined variables and a procedural generation process which I'm excited to fill out a bit and I look forward to sharing more as and when!





Welcome, Villager!
You are on this island to build a cosy little town for the peeple that want to live here.
Gather wood and stones to build and unlock other buildings. Some produce resources for you, others make your inhabitants happy. Well-fed and happy peeple produce more resources but keep them hungry or sad and they will leave. They might seem a bit lazy, but without them, buildings won't produce anything!
Build your first house and somebody will come soon, but there is no rush! Take your time and explore the island. There is no pressing matter, no harsh lose-condition, so be creative and build something beautiful.
Be good to them, and have fun.
This little game started as a quarantine project, partly inspired by my desire to create a relaxing city-builder and mostly inspired by










Hi everyone,
I am using Pythagoras to work out the distance between two points. Unfortunately I am looking to work out the distance between two points that are quite a long way away from each other so I am finding that dxdx + dydy is pushing me over the 32k number limit.
Is there any way I can get around this?
Thanks



Probably everyone has one of these... sharing in case you don't and need a quick wrapper around the mouse support.
The library implements an OOP like MOUSE object that supports 2 buttons and provides the following methods:
- enable() : Enables mouse suport
- disable() : Disables mouse support
- pressed(<num>) : true/false if button number <num> is pressed in current frame
- clicked(<num>) : true/false if button number <num> is pressed in current frame but was not in the previous
- released(<num>) : true/false if button number <num> is not pressed but was in the previous frame
- inside(minx,miny,maxx,maxy) : true/false if mouse is inside the defined rect boundaries
Would be quite easy to extend, mouse cursor can be set to any spritesheet index and would be easy to handle animated cursors, bigger cursors and such...
The demo cart shows how it behaves... pressing buttons changes background color, clicking and releasing draw some points on the screen (in green hues for btn 1, blue hues for btn 2.. brighter for click, darker for release)
"Basement" is an exploration-based platformer in which the main threat is fall damage and the main challenge is finding safe paths through each section. I consider the quotation marks as part of the title. The game takes place in the caverns underneath a magical castle and includes several interconnected areas which can be explored in various orders. In addition, there are extra things to find that result in bonus dialogue.
I tried to design the game in such a way as to not need to explain how anything works. In addition, the difficulty curve is based on the idea of harder sections being harder to find. The ways to get to areas other than the first one all require some trick that the player can learn in a different area, thus forming a progression that is intended to be similar to a metroidvania, but with the upgrades occurring in the player rather than the player character.




Hi, I'm practicing how to do object oriented programming in PICO-8 but struggling a bit to map things in my head between OO design and actual game code. My practice project is doing MBoffin's top-down game tutorial with an OO approach but my long term goal is to do either a top-down adventure/rpg (=Zelda) or turn-based strategy (=UFO X-COM).
The reason I want to do OOP is my Java dev background and also personally I don't like procedural code, it feels so messy and cluttered. I'd like to have the behaviour and presentation of an entity in its class instead of spread around the application but that's the difficult part for me at the moment.
Bunch of questions:
- Is there any point of doing a class for a singleton entity, eg. player actor? As my player1 object will be the only instance I could as well have that and not bother with the prototype. Now I have something like this:
-- prototype player = {} function player:new(o) local o = o or {} setmetatable(o, self) [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=79575#p) |




I'm currently working on a game that uses strings to store maps, switching them out on the fly. I noticed during debugging that I'd forgotten to flag some of the sprites as walls, so I stopped the run to go fix that, then tried to resume. Upon using the "resume" command, I found the map had reverted to the one I currently have as default.
I put this in the "bugs" category because I didn't see a more appropriate one. I'm not sure if this is something that should be changed. However, it's not mentioned in the manual, nor on the wiki, and I think it should be mentioned in both.
If not too difficult, it would also be useful to allow specifying what behavior "resume" should have.

Hey everyone. I recently released Goober's in the Mix. It was my first bigger pico game that actually required me to optimize for tokens. I wrote a lot of pseudo object oriented code with classes and inheritance. I found myself with a lot of code that looked like this:
local thing = class{ update = function(self) -- cache a bunch of properties local x, y, dx, dy, health, frozen, invuln = self.x, self.y, self.dx, self.dy, self.health, self.frozen ... game logic in here -- resync all those properties on the instance self.x, self.y, self.dx, self.dy, self.health, self.frozen, self.invuln = x, y, dx, dy, health, frozen end } |
All that caching and syncing saves tokens instead of referencing self in the logic, but we can save more.
Lua has a feature called environments that lets you alter how global variables are looked up. So I altered my initial class declaration to look something like:





"It's a gory version of the Mario Paint game with a chill sound track. Very hip."
u/TheRedBeed from r/pico8
Smash bugs with Z, move with arrow keys.
To start the game, smash the bug!
Player 2 can join and play at anytime. The game gets slightly more unforgiving with a second player, to compensate.
You can hold down the buttons to move faster and to smash repeatedly or you can tap them to be more precise.
Smashing multiple bugs in a streak without missing gives you bonus points, but it takes more time.
Be it button mashing or attacking with precision, get rid of all the bugs!
Coins give you some points.
Clocks give you some points and more time.


