I don't think anyone will seriously read this, I'm a nobody and I never blog here.
However, it's a tad frustrating that there seems to be an overabundance of Celeste mods within the normal places to release carts which makes me wonder if maybe Pico8 BBS needs a section just for game mods?
I think it would help fix a little of the clutter. I look at what appears to be a new game then after I get into the thread, I find out it's a mod of a game I already played.
It's just something I was thinking about and there's no place on the forum to speak to this so I figured I'd just mention it into the air for it to disappear forever. :)


I ported Shenzhen Solitaire to PICO-8. I made this a while ago but have only just now gotten around to posting it. It should handle all cases correctly, but please let me know if you run into any bugs.
I am not musically inclined at all, so if someone would like to help by translating the music to PICO-8 that'd be awesome.
Controls:
Z: select/move card(s), press dragon buttons
X: swap between free cells and table
Left/Right: move cursor (wraps around screen)
Up/Down: grab multiple cards (if able)
Rules can be found here: https://shenzhen-io.fandom.com/wiki/Shenzhen_Solitaire






Years ago computers had very little memory. I am reminded of the Apple ][ computer which although having 2-HIRES graphic pages each 8192-bytes in size with a resolution of 280x192 B&W pixels, you only had about 16k of RAM space if you used both of them for your program.
The original method was to plot an image on one page while viewing the other, then swap the two so you were always plotting on one while viewing the other. Yet this technique cost two HIRES pages of memory.
So a new method was adopted to handle plotting sprites and graphics over existing static images, and that method was called XOR.
On the Apple for instance you could plot a shape with XOR dots, that is for every pre-existing black dot you plotted on, it would appear white. Likewise if you plotted on a previously existing white dot, the plotting color for your dot would be black.
I am trying to do a simple game of pong for class and am having trouble. I have got the ball and the paddle. Now I am having trouble making the 2 collide. I am trying to get the ball to turn a different color when collided with the paddle.
I am also having trouble coding to get my paddle to stop when it hits the end of the screen so it does not disappear. Any advice would be much appreciated. I have attached my code so far that I have been working on. Thank you
ball_x = 3
x_speed = 1
ball_y = 15
y_speed = 1
ball_round = 3
col = 7
x=1
x1=5
y=127
y1=1
speed=5
function _init()
cls()
end
function _update()
buttpress = false
if btn(0) then speed =-5 end
if btn(1) then speed+=5 end
if not (buttpress) then
speed = speed/1.7
end
x+=speed
ball_y = ball_y+y_speed
ball_x = ball_x+x_speed
if ball_x > 127
then x_speed = -2
end
if ball_x < 0
then x_speed = 2
end
if ball_y > 127
then y_speed = -2
end
if ball_y < 0
then y_speed = 2
end
end
function _draw()
cls()
circfill(ball_x,ball_y,ball_round,col)
rect( x, y, x+8, y+1, 8)
end
You are the god of this planet, unfortunately your powers are limited to the control of gravity in this patch of the galaxy. Do everything in your might to keep the planet at temperatures that can sustain organic life. To guide you, the habitable zone of each system is shown in green on the playing field.
Remark: the solar systems are auto-generated from the seed given at the start of the game. I tried to make it so all generated solar systems have a good starting position, but if you encounter a particularly bad system just restart with a different seed.
Also: After hitting start in the menu, the game may take a while to actually start. The calculation of the habitable zone is not very optimized and takes a while, so just be patient, there's nothing wrong with your browser. ;)



Credit to MBoffin who inspired me to write this, mostly so I myself could prove that I understood seldom used Pico-8 command set of COROUTINES such as COCREATE(), CORESUME(), and YIELD().
If you just want the source without the sound effects, that can be found HERE:
-- dw817's very simple -- cocreate() program function main() ------------->> cls() init=0 repeat -- if press (x) or this is the -- first time to run, -- prepare for being able to -- call function "act" as a -- co-creation if btnp(5) or init==0 then init=1 -- make a pointer for the -- cocreation function "act" go=cocreate(act) sfx(0) -- low pitch end -- if press (o) then call -- routine here to plot three -- circles, one at a time, and -- one for each press if btnp(4) then coresume(go) end -- update screen flip() until forever end --<<----------------------- -- three circles, click (o) -- three times to see all three function act() circfill(10,10,10,5) sfx(1) -- high pitch -- each time yield is used, -- the position of where the -- program is in the function -- is recorded and the function -- exits yield() -- the second time you press -- (o) the function will start -- here, not at the beginning circfill(20,10,10,6) sfx(1) -- high pitch yield() -- as above, this function -- starts here on a 3rd press circfill(30,10,10,7) sfx(1) -- high pitch yield() -- there is nothing more here -- so pressing (o) a 4th or -- more does nothing. -- you must call cocreate() -- again in order to reset -- this function to start -- running the 3-circles again end main() |



Wandering carelessly through space you get swallowed by b'Ah, the semi-sentient semi-cybernetic semi-grumpy semi-planetoid! Now fight your way to its other end (there's one)!
Still in need of some polish here and there but (hope)fully playable, so here it is!
(edit) moved from w.i.p. to cartridges after all. some update still coming up later on...





I apologize I have no code snippets here, it's actually a question about code.
Reading the specs for pico8, there's a 32kb limit. Is this for JUST code? I know that obviously the cart cover shouldn't be counted against any actual program/graphic/sound data, it's just for decoration and distribution, but I am working on a program at the moment, I only have 800 tokens, have used about 1/4 of the sprite sheet, no audio/sound data, and about 64 lines of text in the code...
But I'm reading 15kb already and that seems a little excessive and it's got me spooked in terms of how much further I can take this even though I'm barely using any of the resources.
Is the 32kb for JUST code? Is it 16kb for 'built in data' i.e. graphic memory and 16kb for code?
I'm curious what the actual structure is because I feel like as little data as I have thus far (no cart image taken for this program thus far) is far below 15kb.
Thanks for any help on clarification.






I recently made a little 3D thing and after it took off on twitter I was asked to write up how it was done.
Please note though, that this was basically my first 3d-thing, so I'm likely not using all the right words. :) I started by jamming around with Zep's 3d dot party template and ended up with the above.
Anyway, as most things - it is not as complicated as it looks. It grew quite organically, but it boils down to these steps.
First I made sure I had a working grid.

I wanted to have a height map, so I used the sprite sheet to draw a very simple repeatable map.



This is an old cartridge my brother and I never quite finished because we hit the token limit. I am not very pleased about how it came out, as I don't have much skill in level design.
The name is a play on the Nighthawk, a version of the Blackhawk helicopter for the Navy. My dad flew them, so I went with that as the name.
Knighthawk's theme was inspired by a board game called Scythe. Scythe had great artwork, and I believe the game was based on the art. All the art in Scythe was painted by Jakub Rozalski. I loosely tried to follow the theme of the art. If anyone wants to know why I chose an orinthopter, it was because it seemed to fit this theme. I hadn't read the Dune books at the time, though I have started reading them last week.

"Oh My Blob!" is a turn-based puzzle action game where you play a knight fighting against a horde of different kinds of blobs.
Controls:
Arrow keys: Move/Attack
Z/X: Skip a turn (or "start game" in the menu)
Levels 1-28 are complete, 29 needs a bit of adjusting, after that it just ends unceremoniously with a glitchy screen.
I'd love to get some feedback on how it feels, if you get stuck anywhere, if you feel like you're learning how the different blobs work and so on.
Thanks for looking!



My Father died nearly 20-years ago from today. Outside of my Sister and my Step-Mom, they are the only family I have now.
I remember my Step-Mom sending me the classic poem from Robert Frost.
And I remembered ... I remember when I was young.
https://www.writerscafe.org/writing/dw817/1260511/
So ... in tribute, I have two programs. One is to try and recreate that very program for the TRS-80 I typed in those so many years ago - and to have it run at the same speed.


The other is something a bit more magical. A year after the funeral I wanted to make SNOW, real snow, on the computer, and as accurately as I could. A majestic tribute to my Dad and that program typed in from so many years ago.






I have never really liked to write code in BlitzMAX despite the fact it can work with a screen of 1980x1080 with true 64-million color pixels for a very simple reason. It takes time to compile the code and test it.
About 5-seconds to be precise, and that includes finding errors, even for a 2-line program.
My programming style if you are curious is a little like a rabid rabbit. It's like I take a cracker, nibble on it, look at it, nibble on it, look at it again, and nibble a little bit more.
That is - I write a bit of code, run it, add a bit more, run it again, then add a bit more.
My Dad was the opposite in that he could sit down and write a flawless program from beginning to end and NEVER have to run it once until he knew it was completely done. I can't do that.
So ... Pico-8 is a bit of my friend now for as you know when you RUN or press CTRL+R the language is already off like a shot and running.
Therefore I decided I could use it to write my Pico-8 website of favorite games.





Here's my first video game with Pico8!
I know it's not very impressive but I hope
you'll have fun playing !
Defend the hen house from foxes
Edit 11/03/19:
Update I made for the game:
- New music
- Menu changes
- Bug fixing that occured explosions on the player
- Bug fixing that changed text color
- (TEMPORARY) Different enemy system: a fox attack every 30s



Controls
up arrow/down arrow: zoom in/zoom out
left arrow: show/hide debug information
z: multiply gravity by 10
x: turn off gravitational influence on player
Post

So, this is my second post. This time I'm posting some WIP of a gravity simulation I'm writing.
I'm not sure if this will ever turn into a game, maybe I'll just keep it as a "toy".
If you read "The Three Body Problem" by Cixin Liu and ever wondered how the trisolaran solar system worked, then take a look at the orbit of the planet in this simulation and imagine what it would be like, living on this planet. ;)
This cartridge implements a gravity simulation using a kind of modified newtonian gravity to make the simulation more stable for a simple toy like this.

