Log In  

BBS > Community Superblog
All | Following | GIFs | Off-site

Cart #dijasenay-0 | 2021-03-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

3
1 comment


Cart #artorius-1 | 2021-04-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

I made this game for a weeklong jam where the theme was "Spinning," and I'm really happy with how it turned out. It's a short bullet hell that forces you to get a little closer to the enemies than games in this genre typically do! Mastering the sword might take some time, but once you start to get a feel for the movement it's fun to play around with (imho, of course). Let me know what you think! Any feedback is welcome.

You'll have to forgive the programmer art, it's the best I can do on my own unfortunately. This was also my first time making music of any kind, and I decided to remix a song called "Jack of all Trades" by CaseJackal. You should definitely check out the original! It has a lot more depth than my 1-minute loop :P

[ Continue Reading.. ]

7
5 comments


Cart #eleni_foot_bag-0 | 2021-03-28 | Code ▽ | Embed ▽ | No License
5

Here is my second game on PICO-8: Eleni Foot Bag. Inspired by California Games, a game I played in my childhood on the Sega Master System, and in particular the foot bag mini-game, I'm testing myself on recreating this one, with personalized graphics and sounds.

Controls:

  • ⬅️ and ➡️ to move Eleni,
  • ❎ for using the foot and the knee,
  • ⬅️ + ❎ for using the right heel,
  • ➡️ + ❎ for using the left heel,
  • 🅾️ for jumping (for using the head).

Each bodypart that shoots the ball gains:

  • 1 point for the foot or for the knee,
  • 2 points for the right heel or for the left heel,
  • 3 points for the head.

[ Continue Reading.. ]

5
5 comments


Hi,

I played around with Pico-8 and wanted a fancy way to build and run
custom cart when the idea came to me like the urge to go π :

I NEEDED A DEDICATED SPLORE SERVER !

One hour later it was alive

Showing custom list and loading whatever I want directly from SPLORE.
I was surprised at how simple it is to make a proxy.

First I edited "drivers\etc\hosts" but it lacked flexibility...

Then I came up with the idea of ​​replacing wininet.dll by a custom script.
That way you just put (or remove) the file near pico.exe and start it.
No user hack, no patch, no third party.

You can make your own proxy with the MASM32 code below
(I think I can share it with you because it does not disclose any flaws or infringe any copyright)
(The code of the server may be more sensitive to disclose)

Anyway, I swear that no "pico8.exe" were harmed during the making of this progam.

[hidden]

.386
.model flat, stdcall
option casemap :none
option Prologue:none
option Epilogue:none

include windows.inc
include user32.inc
include kernel32.inc

includelib user32.lib
includelib kernel32.lib

.data

  _Wininet           dd 0
  _InternetOpenA     dd 0
  _InternetOpenUrlA  dd 0
  _InternetReadFile  dd 0
  _sInternetOpenA    db "InternetOpenA"                  , 0
  _sInternetOpenUrlA db "InternetOpenUrlA"               , 0
  _sInternetReadFile db "InternetReadFile"               , 0
  _URL               db "http://127.0.0.1:80"            , 0 ;<=== YOUR SERVER URL HERE
  _SysDLL            db "c:\windows\system32\WININET.DLL", 0 ;<=== YOUR PATH HERE
  temp               db 260 DUP(0)                           ; GIVE IT SOME SPACE !!

.code

; MAIN DLL FUNCTION
_DllMainCRTStartup proc instance:DWORD,reason:DWORD,unused:DWORD

  ; ONLY ON PROCESS ATTACH
  mov eax, [esp+8]
  cmp eax, 1
  jne @next

  ; GET REAL "WININET.DLL"
  push offset _SysDLL
  call LoadLibraryA
  mov _Wininet, eax

  ; GET REAL "InternetOpen"
  push offset _sInternetOpenA
  push _Wininet
  call GetProcAddress
  mov _InternetOpenA, eax 

  ; GET REAL "InternetOpenUrl"
  push offset _sInternetOpenUrlA
  push _Wininet
  call GetProcAddress
  mov _InternetOpenUrlA, eax 

  ; GET REAL "InternetReadFile"
  push offset _sInternetReadFile
  push _Wininet
  call GetProcAddress
  mov _InternetReadFile, eax 

@next:
  mov eax, 1
  ret 12
_DllMainCRTStartup endp

; FAKE "InternetOpen"
InternetOpenA proc
  jmp [_InternetOpenA]
InternetOpenA endp

; FAKE "InternetReadFile"
InternetReadFile proc
  jmp [_InternetReadFile]
InternetReadFile endp

; FAKE "InternetOpenUrl"
InternetOpenUrlA proc

  ; LAZY STRING REPLACE ^^
  mov eax, [esp+8]
  add eax, 25
  push eax
  push offset _URL
  call lstrcat
  mov [esp+8], eax

  ; CALL REAL "InternetOpenUrl"
  jmp [_InternetOpenUrlA]
InternetOpenUrlA endp

end

; DEF FILE LOOK LIKE =>
;LIBRARY WININET
;EXPORTS 
;
;InternetOpenA     @1
;InternetOpenUrlA  @2
;InternetReadFile  @3

[ Continue Reading.. ]

2
5 comments


Cart #running-1 | 2022-01-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

This is a short little game I made that might have
a multiplayer update in the future! But for now, it's just
a colorful running game!

(Now with two-player!)

2
0 comments


Cart #fire_preserver-5 | 2021-03-30 | Code ▽ | Embed ▽ | No License
3


I made this game and published it in 1 day!

I got much of the particle system code from https://mboffin.itch.io/gamedev-with-pico-8-issue1 because I can't wrap my head around particle systems for some reason.

3
0 comments


Cart #tinymoon-1 | 2021-03-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

Happy worm moon, everyone! Celebrating with a not-quite-a-tweetcart. No interaction, just good moon vibes.

1000% sure this could be more efficient with some clever use of tline... maybe one day I'll sit down and look through krajzeg's brilliant Blue Marble and figure something out.

Original image credit belongs to NASA's Scientific Visualization Studio. I highly recommend fiddling around with their CGI Moon Kit.

9
1 comment


Hi,

I had fun making a compilation of statistics on my cartridge library
(line of code, number of sprites, color etc...).

And I surprised myself when I learned that :

**1.15%** of all the cartridges are **Celeste fork**! (^w^ )

Other fun facts such as

The most used colors are :

  • N°0 with 72.06% [#000000] of all sprites (obviously empty pixels fall in that slot)
  • N°7 with 3.52% [#E8F1FF]

[ Continue Reading.. ]

2
0 comments


PICO-8 is an enjoyable little gem of a development platform, with its limitations pushing you to be more creative. Having everything "all in one" really makes for a neat experience.

With that said, I believe there is room for an adult version of PICO-8. That is, a more advanced version, Which I will refer to as:

PICO-16

Effectively. PICO-8 but with similar power to a 16-bit console (such as a SNES / Megadrive).

My general wish-list for the PICO-16 would be:

GFX: 512,512
SFX: 8 channels, with more control over the sound wave generation
MEM: 512K

Additional graphical features like mode 7 too, and sprite rotation as standard.

The IDE editing area would be expanded too, particularly for the code editing, which is one of the unfortunate limitations of PICO-8.
Naturally a larger level editor area would ease mapping.

What do you guys think?

5
8 comments


I tried some pico 8 players that can play pico8 games offline (like p8-player) where you just paste the image url and play it, but it's uncountable to play because of controls. I honestly think that the html version of pico 8 much better and I think it's possible to play them completely offline, that means I can play everywhere without turning on mobile data just to load the game. If you know a app similar to this what I said please let me know.

0 comments


So, I've been aware of this bug for a while but was too lazy to write a bug report. But here we are.
Let's represent the cursor as "|".

-- |Title
-- Author

Pressed: Down

-- Title
-- |Author

Pressed: Up

|-- Title
-- Author

Here's a GIF that demonstrates this in the editor:

It's a very minor issue, but it annoys my OCD nontheless.

4
1 comment


Hello,
as any of you guys I need some decent picture compression for the Pico Off Road game I'm making. PX-9 is very good choice but one of my passions always were compression algorithms. So I've decided to implement one myself. Sometimes is better and sometimes is worse than other available algorithms here. Consider it as my addition to the community and use it wherever you need.

Algorithm

LZ77 is very simple compression method that works similar to RLE with the exception: while RLE copies the same character N times LZ77 copies chunk of already decoded data of length N. I've used 3 different blocks: direct color output, offset + length block and just length for coherent rows (sequence that starts on the same X position but in previous row). Compression allows self-overlapping (for example offset 3 and length 20 is valid, it just copies itself with offset).

For more information check https://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77

Limits

  • designed for PICO-8 pictures only (or any arrays of values in interval 0..15), don't try it on map or other binary data

[ Continue Reading.. ]

8
4 comments


Hi all, I've been wanting to add menuitems to my game that show up in the splore pause menu, but I can't seem to access it when I'm just running a standard cart on my computer. I would expect that I could press esc or some other hotkey to open the menu but that brings me back to the tutorial instead. The workaround is to publish my game every time I make a change to the menu system, but that isn't exactly ideal. Any help?

1
5 comments


(this "bug" may actually be "a feature"... not sure)

In the following code, a simultaneous btn+key method is used.
I am using Player 2 "X" key for this example.

In keyconfig, set Player 2 "X" to be a key, like "\"
You should find that you can hold "\" to get a yellow line drawn on screen.
While holding that BTN down, type "c" and you should see a red circle flash on screen.

Back in keyconfig, set Player 2 "X" to be "Alt"
(I'm on Windows; I think the Mac Option key has the same behavior)

When running this sample program, hold down Player 2 "X" and the line appears as before.
Type "c" and nothing happens.

I can understand not allowing "Ctrl" (for example) but I can't think of any "would interfere with expected system operations" reason why "Alt" would have its use restricted in this way.

function _init()
   poke(0x5f2d,1)

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=89660#p)
1
0 comments


Blocks of War: Village of Annoyance

This game is discontinued because it was super boring and no one liked this game.a

About

This game is about villagers who had a disagreement with the Noisy Villagers because of loud noises at night. The Noisy Villagers would yell every day and night to wake everyone up to assure they wouldn't get enough rest. One group, the Pumkin' Villagers, decided they had enough of the Noisy villagers' yelling. They decided to go to "war" with the Noisy Villagers.

How to play

Your objective is to get rid of the smiling light-gray blocks on your turn. Below is what the sprite looks like:
[0x0]

When you win, you'll hear this SFX:

[ Continue Reading.. ]

0 comments


Hi, I'm trying to write a game in a very clean way instead of cramming multiple copies of the same code on multiple carts, most of this is solved with #include but for what I've tried, you can't do include from subfolders, what I mean is that for example, if I have a cart on a subfolder called "font" but wanna include functions from a cart located on the parent folder, something like
#include ../cart_with_functions.p8

won't work, is this even possible to do with include or am I just out of luck?

3 comments


According to the manual

:: Special Commands
These commands all start with "\^" and take between none and 2 parameters (P0, P1)

   s set tab stop width to P0 pixels (used by "\t")

However, it appears to me that it isn't in pixels, but rather by characters.

This code snippet

?"1234567890"
?"----------"
for i = 1,9 do
?"\^s"..tostr(i).."1\t2\t3\t4\t5"
end

yields this output

Additionally, if \t is the first character in the string, it seems to be ignored.

?"\t1234567890"

outputs exactly as if no tab were included.

3
7 comments


so, i'm planning on doing kind of a demake of rhythm heaven(with new minigames cuz, nintendo y'know?) but i don't think a single pico cart would be able to hold all music/sprites (i've only been able to hold 8 songs w/ pic-o-beat)
i've been looking around and i saw some options but i have no idea on what would work better for me, this is what i found so far:

compression: there's a lot of code about this here on the bbs that i find fascinating, but have zero idea on how it works to make it do the songs intead of the spritesheet

load a cart per stage: have a main menu cart and load each stage in different carts, the loading isn't great but if it's the best way to do it its allright

load only the music and spritesheet: i remember seeing this somewhere but i can't find it anymore, i imagine the loading would be quicker, and i could easily reuse mechanics between minigames but i have no idea on how to do it

a ton of peeking and poking: have a main cart with all the song and sprite data that "set up" the data on a series of "cartdatas" that can be memcpy-ed at runtime. this would allow community submissions with, i imagine, little to no difficulty but would be really awkward for the user

[ Continue Reading.. ]

2
7 comments


Cart #tesafupeh-2 | 2021-03-26 | Code ▽ | Embed ▽ | No License
24


Description:
In this game you play as a monkey who LOVES BANANAS! As all monkeys he's willing to solve outrageous puzzles to get some bananas.

Controls:
(<) and (>) keys to move
(up) or (O) to jump
Push boxes by walking into them
Climb by touching vine and pressing (up) or (down)

ALL LEVELS ARE UNLOCKED FROM THE START!!!

24
19 comments


Hello, i need to know if i can install and use pico-8 on my chromebook ARM, im new to everything so talk to me in simple English please, not up to speed on the lingo yet. i purchased it and downloaded the zip file, i dont know where to go from there. do i put the file in my linux files and what, type in commands or something? Like i said big NOOB here. please help and thank you.

2 comments




Top    Load More Posts ->