Do you like Hardcore games? Do you want to play a games with just you mouse? So this game is for you! In Rush you have to go to the Green Line at the end of the maze. It's easy? You have to defeat 40 levels with the better time! Good luck!
Include :
- 40 hand draw levels
- Easy level editor
You can visit the game's website. On it you can find level (in the level editor) and other information! If you want to add a level on the level list, just send me a message on Twitter!
If you want all the possibility provide by the game, you can play the game online on Newgrounds.

Hello!
Alakajam is a triannual weekend-long jam run by volunteers running on a custom open source system written by many contributors.
The 3rd Alakajam will start in just over 2 weeks, and I hope to see some PICO-8 games there! In fact the "winner" of the first Alakajam was a PICO-8 game: https://alakajam.com/1st-alakajam/results
Check out the schedule and rules and join the fun here: https://alakajam.com/post/517/welcome-to-the-3rd-alakajam

I've noticed that with palt() you can leave off the boolean argument and it will default to true, letting you say "palt(11)" if you want index 11 to be transparent. Edit: Uh, turns out I was wrong about this, but the rest of this is still a good suggestion, and as I say below, it'd actually be nice if palt(x) did work this way as well.
There's no equivalent for pal() though. If you leave off the second argument, it acts like you didn't give any arguments and resets the entire palette.
Suggestion: It'd be nice if pal(x) simply acted like pal(x,x), a quick way to reset a single entry to default.



Would it be possible to port Pico 8 to iOS, PS4, Vita, and/or Switch? I tried using the browser version on iOS but touch controls are unusable. When pressing the dpad a few times, the background webpage is scrolled or selected (marked in blue), the display is not fullscreen, and I have no sound.
Is there any consensus on Pico 8 controls? It seems some games require keyboard presses that are not available on a game controller. Is this supposed to be a virtual computer or game console? If it was a console it should not require keyboard input.









1.1 update:
- Code optimisation
- Muted alert sound for low fuel/ammo
- Reinstated original title screen (much better!)
- Added btn(5) X as alternative acceleration button for those using joypads/sticks.
My third little game - an arcade racer / shooter a bit like RoadBlasters, which was a favourite of mine as a kid.
Up = Accelerate
Down = Brake
Left/Right = Turn left / right
Z = Shoot
X = Alternative accelerate
Hope you enjoy it. Don't bother asking for improvements, I'm at the token limit :D On to the next thing!




Hey everyone, this is a game based on a concept from ProJared's play-through of Game Dev Tycoon on Youtube.
You can watch when he comes up with the concept here (until about 3:00): https://youtu.be/MfYSxA8psDw?t=98
After watching the series I thought it would be fun to take one of the concepts and run with it as my first attempt at using Pico-8. This is the result. Let me know what you think!
In Great Bee, you play a bee that have to forage all the flowers in every level. The frog and the sun are your enemies. Colliding with them kills you. The sun is moving slowly, but the frog is accelerating over time. The sun can also be helpful because when it touches a flower, it will turn it into a strawberry. When you eat a strawberry, you become a super bee for a few seconds and you can slap the frog to reset its speed.
If you are interested in following my work, here are a few links:



Hi there,
I'm looking to make a procedurally generated level using chunks of the map (16x16 cells per chunk).
I've basically added a random number from 1-3 (the amount of chunks i currently have made) into a table, which I'm then calling later with a for loop and the map function.
Something's not going right, the chunks are completely out of whack :(
There's some initial code in the _init at the top for the table, but the problem (I think), lies in the _draw code at the bottom (clearly labelled as problematic).
Any clues?
Cheers
Tim


This is a short snippet showing how the water reflection effect is implemented in Pilot8.
Here is the code:
local g_rnd=nil local g_clk=0 function _init() init_rnd() end function init_rnd() g_rnd={} for i=1,64 do add(g_rnd,flr(rnd(32))) end end function _update() g_clk+=1 end function render_water(water_y) local addr_w=0x6000+64*water_y local addr_r=addr_w local rip_c=0x11 memset(addr_w,rip_c,64) for y=water_y+1,127 do addr_w+=64 addr_r-=(y%2)*64 local offset=1+(flr(g_clk/4)+y)%#g_rnd local prand=g_rnd[offset] if 0~=band(prand,30) then memcpy(addr_w,addr_r+prand%2*64,64) else memset(addr_w,rip_c,64) end end end function _draw() cls(0) map(0,0) print("pilot8 water effect", band(g_clk,127),88,7) render_water(96) end |
[cart]89504e470d0a1a0a0000000d49484452000000a0000000cd08060000003fa57ba9000008b6494441547801ed9da18f63d7f986dff7fb9c6a54b420207f4060aa6eaa85050101050b1604a4ea48b52a4b1d10585855010105810316b892ab8eaa828080828205fb076cabd14f3f1850501050b020aa02ecf3b5a36bcf7a673d335e8f3df68c9fc7b27ccff53de79efb9ee77e877a3038d28ce168349e1da732269ab4f33ff78894348994da449214e1687253bba771389535f1442a4b1161354955d55c0a4748925a5b4f00837ebf777eeb9980c3d1683ce81f6e6bc13d71966a2287435592a4b2cbadbcee007650f8f3e757d8965c52fd6fad741f9f7f383a3997d083c191867ffcd3f8d7bffcb92752cd0760c96aa5fb2ec06b5c78fe6ad5ee7d059c2f8652c8ddcb2fa9d4ba62b02909addec1d62a1fec37c3d189bad206b0ad0d8708000157e4e9f05b561001b724dfa3a1f472a8a7479fb28a0878cbf27dfe5cfa745afddeff404f1f7ccc4a22e0ed71f4f947eabdfc9924e9f79f3fd7d1cb67ace4be0af8f4cb2f5efb5e76eee2f9abfa2f738fc1178ff4c1b377f5cfefeea67c8f3ffee8ad7ee7fbcdbe8bdaf3e72e6b5f35dea2ff16b5afea776b02ce6438facd6f5faf5073edd9f1fcb58bce5d5bf5e6facdf8e9df8ef6b26afcf5d9f3378e67bf8f3ffe487f7df6fc8df6b2e3cdcbf6b6e3ac426f1d835c56b9d621f67c5585d7abe74dfbcecbb5ea8b70d30ab8160197a960371def62d5bc8f225dd7beaa62ad523dd729d256b6e0652ae245619e7ef9c5c273d789bca81f55efd5f9d9ef4ca6f9ebafdb3e2f5ebbea38ab60f50ec683fe21fb1adc3ac3d1c9662a20c056b7600004040404404040400004849da47793cec3d109098206fdc3ed08a8330bc7dfb3027b5dc20ed882e1ee82808080808000080808088080808000080808088080808000080808088080808000080808088080808000080808088080808000080808088080808000080808088080808000080808080808808080800008080808808080800008080808808080800008080808808080800008080808808080800008b802b61496d2b24cfb76db4120b0d5d75fbd83f1a07fb852e7e1e8441a7f7f2f62900a1b5649a377a09bf87327b6e0cd97a9bb25dfa6f3b8cd34d622e07d0a843c6e378fb5088820e4b16a1e3bb90523c8fee4b1928008421eebca63250111843cd695c74e6cc108b2bf79f4960d649393be8b82cce63c7ef9edf5213f786f6ff2785b96aa805490abf3e83d78affb1e1fa9f7dde357edb7146f1f2bea56b6e0fbb6c58c47dd57fd7f69fcec85c623e92f4f1eb1e5ae2ae03e07b26a1e5f7dfd48e3672ff4d5d79d789f3c79b1b484fbbcc32c14902df7edf2f8eaeb47fae4c98b73f16612b2e5eec816bcaf15752625795c23208120c8b6f20802b9b920976dbbbd3e2fcc75f43615c82627bd732fcc936ff5c9937921bbdff1cb3dcde32dfc0802b95905e93d78efda2f3bcce57e6c4440b618f25896b5088820e4b16a1e6b111041c863d53c76720b4690fdc963250111843cd695c74a02220879ac2b8f9dd88211647ff3584a4004218f4de5b1948008421e9bca632b5bf07c2019a1503a6336959495e7f372488e9432a5b41cddb49ddd7f4a2b6c59963324599192d256a61c29db7274ff4996150a4dcf652aa4e93539bd2e9473fd6c2b24458422f2d51384951992ed5476f795a7b14ec749c9caf376584aa514969cca70f768198e6eca8a0c6576f3c9b432d38eae3d9db99cd96570fe998e6b4de71411ea9e61b6d03ebf772a332567d8d3316c5929bbbb36b3cb49b2d3d3df94439ede779afd34d1e9bd1d0e4744373f75eb65cd724b67c4f474976b3a7ef0bb473ff9b12aaca8922214b64aa588941daab24225cd261b2195f48fd3ff9334e95e81b0243ba27b7447751977b1779fecce35c9e970498ab05ccdad244728a3a94256758f5e15524d9c8aacd664a5a5a608ab9a9cca6cd594ee7e9d11adb954e5b4b35593221c552a9733239b9a22239b4a5115cd2e9dad6955b62ad9e1a68933a6d74851b6ec72959d922bc2678b5e65abca529522d45d1c92eaec8f6c91ca2a2bca59e1ca50c54476e84cc956a590d55ab9bafcd45ad85552d94dead268527559750b7dfed2941da1b2edeade8a2ed8ea5ecce8a28cb45a0b2bca727394545639c28a5255379a55b266f72a87a3ba48a2d43a3f9bb354a1a8b2e29df8f0c31f552994592a47c8a598282ba568112da62523549d7b518a167f3ffd7f39def9e1f857fd5f746f71295a543b5bfa6a2a95e43371ab55b54eb270596557abfac3e8cfa5fa8f55670a855c13c929abb94dcae9688a929a5d9d30153151c9d6c49254567353d8d1aad94ab9d4ca8aaa8932349994958aacaa497393a6168753aa8926776c43bc67f40e34e81faed475383a91d53b18df64008dbf67111070657f8204619b2020202020200002020202202020200002020202202020200002020202ac951e11ec06e391a4c7ef778bf2ee375440d88e7c9234fef7ab63040440404040800dd023821d5884be341e7d233d7ebf6bbffb0d02c2ed4b28ed8f786cc1808000080808080808808080800008080808808080800008080808808080800008080808808080800008087797decd47382045d88e8083fe2109025b30202000020202022020202000020202022020ec2ebd9b743e3d3d2541d0c3870fa980c0160c8080808000080808088080808000080808088080808000080808088080808080800008080808808080800008080808b0597aeb1ae8b3cf3e3b3f3e3e3e7ea33d7fcd65edabc6bbea9e8beeb7aef6fcbdafba1fec40059c5f88d9f1bc6cc7c7c76fb4971d6f917cf3e32dbafeaaf92cfbff4cb4cbee877c3b24e07c5558a5efecbbea7817afbf4ef2655e824d3d2f6ca802aebaa0b3be5755b4b7a9c08bb6ca45d7df4472aadf8e09b868a166bfb3c5be58e1aeab50d7c9b3ae2a7471be9755d445551b56c7ea1d8c07fdc3953a9f9e9e9220e8e1c3872bf51b8e4e36570101b6ba05032c436f1ba51760383ad1a0dfef5101616bf2b105c356e54340d8aa7c08085b950f0161abf221206c553e498a41bfdf1b8e4e480a6e5dbef30a8884b00df924e9fc824ec2d198e8f60b4baae9915d0aa52735e94edd8065e43be3bf793c60969abdfde800000010744558744c6f6465504e47003230313130323231e359b6c10000000049454e44ae426082