Log In  

BBS > Superblog
Posts: All | Following    GIFs: All | Postcarts    Off-site: Accounts

A while back, joshmillard posted Pico Jr, a fantasy-console-within-a-fantasy-console based on these specs:

"- 48*48 pixel four-tone greyscale graphics (so, colors 0, 5, 6, and 7 in the PICO 8 palette)

  • 2 channel sound
  • dpad and one button (other button could be reserved for meta-game/menu stuff)
  • 1 page of sprite sheet
  • standard sprite size of 6x6 pixels
  • dodgy slow-refresh LCD screen (could simulate this by checking screen buffer every frame and only allowing pixels to move one shade of grey toward whatever the target is)"

I extended Josh's prototype by overwriting most of the Pico-8 functions with wrappers that enforce the Pico Jr limits. For example, if you use pget(12,5), it will give you the value of pixel 12,5 on the Pico Jr screen instead of the Pico-8 screen. It will also give you a color from the Pico Jr palette of {0,1,2,3} instead of the actual Pico-8 values of {0,5,6,7}.

Some functions have been disabled entirely, for example:

  • No map support in Pico Jr
  • No direct memory access (poke, peek, memcpy, etc.). Sorry tweet-jammers.
  • No custom menus
  • No cart data (for the time being)

If you try to use any of the disabled functions, like memcpy() or map(), your code will crash with a syntax error.

Other limitations to be aware of:

  • I have hardly tested this at all. It's probably full of bugs.
  • Put your code into the usual _init(), _update() and _draw() functions. Bare loops won't render correctly. (Sorry again, tweet-jammers.)
  • Keep your code between the "your code below" / "your code above" blocks.
  • Avoid using function or variable names that begin with two underscores (__). That's how all of the backend functions are named, and if you use that pattern yourself, you might end up overwriting something important.
  • I didn't build in Josh's suggestion of 6x6 sprites. All the sprite functions are still based on standard 8x8 sprites.

Here's Josh's original Jump Guy, updated for the new dev kit.

[ Continue Reading.. ]

15
14 comments


Make # PICO-8 program at the sushi bar. #PocketCHIP

2
1 comment


Hey everybody!

I downloaded Pico-8 a little while ago because while I've developed some games in the past - they've all been with programs that didn't require any coding on my part (like Twine). But I've really wanted to start working on what I've always wanted to make: a basic exploration-based platformer. I've never really worked with code in my life and I've looked up several tutorials, but I haven't found anything yet on how to make a game like this and I'm really struggling with getting started on this (coding is a lot more intimidating than I thought even though Pico-8 simplifies things by a huge margin).

Basically what I'm asking is - where do I get started to make a basic 2D platformer ala Super Mario? Thank you so much to anyone in advance who has any helpful advice or comments. If I ever get my passion project made I'll be sure to share it with everyone here :-)

2 comments


Hey everybody!

I downloaded Pico-8 a little while ago because while I've developed some games in the past - they've all been with programs that didn't require any coding on my part (like Twine). But I've really wanted to start working on what I've always wanted to make: a basic exploration-based platformer. I've never really worked with code in my life and I've looked up several tutorials, but I haven't found anything yet on how to make a game like this and I'm really struggling with getting started on this (coding is a lot more intimidating than I thought even though Pico-8 simplifies things by a huge margin).

Basically what I'm asking is - where do I get started to make a basic 2D platformer ala Super Mario? Thank you so much to anyone in advance who has any helpful advice or comments. If I ever get my passion project made I'll be sure to share it with everyone here :-)

1 comment


Cart #57348 | 2018-10-01 | Code ▽ | Embed ▽ | No License
14

UPDATED: 10/01/18

Updated the font. Removed hard edges, softened them, expanded all images to be at least 7-pixels across, added some descenders, and completed the remaining drawing elements for the butterfly vector palette. Also installed standard PICO-8 licensing emblem and notification.

Details: https://www.lexaloffle.com/bbs/?tid=31927

Updated to save all SRAM now. CSTORE() RELOAD()
This UPDATED cart (09-28-18) now takes advantage of the ability to save 4096-bytes externally, thus you have 17-pages to work in. Were you using only 256-bytes, you could only have a single 16x14 (224-bytes) text page to edit.

[ Continue Reading.. ]

14
13 comments


Cart #29394 | 2016-09-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

3 comments


Cart #29524 | 2016-09-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
75

I present my first pico8 game, PIC-Oh Mummy, a remake of a old game i played on Amstrad CPC when was a child.
Hope you enjoy it! Post your score or how deep you did!

PD:
Great thanks to Tyroney for the music... it was crucial for the project!
Thanks to all de people of the BBS for his works and codes. I took one thing from here and one from there... ;)

PD2:
Do not look the source code ... seriously.
I'm not a programmer and i have no previous experience in coding in LUA, java, C or anything else (I've only made some games in FENIX/ BENNU GD) so the code in full of mistakes and things done wrong that i learned the hard way.

Sorry for my bad english ;)

Enjoy!

75
21 comments





Would love some help optimizing the code! :)

edit: Version 2! down to 504 tokens!
edit: Version 3! down to 484 tokens!
edit: 480 tokens :O

  • graphic section E
  • map section Q
  • sprite logo 7
  • sfx banks NONE
  • music banks NONE
  • cart data section NONE
  • 3618 chars
5
7 comments


Cart #29299 | 2016-09-24 | Code ▽ | Embed ▽ | No License
9

This is a first attempt at creating a bump map lighting effect. The funky gray plasma thing is just there for pizzazz. The world can always use more pizzazz.

-Electric Gryphon

9
1 comment


Hi there!

I'm the maintainer of the ArchLinux "pico-8" AUR package. In short, I wrote a script which installs .zip releases of PICO-8, provided by the user.

When building the package, I found out that the "pico8" binary of both Linux releases (and the Raspberry Pi one too) have an hardcoded RPATH value of "/usr/local/lib".

Here's the first results of the "readelf" command on the "pico8" amd64 binary.

$ readelf -d pico8

Dynamic section at offset 0x1e0dd8 contains 29 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [librt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000f (RPATH)              Library rpath: [/usr/local/lib]
[...]

[ Continue Reading.. ]

5 comments


Cart #29283 | 2016-09-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Guys, do any of you know how to make the onboard menu plugin command work properly in this code ?

I want the text, "confirmed" to only appear WHEN you select the menu item. From here, don't press [A] as that will only exit the program.

Instead press [ENTER] and select, "test." You will see that it does not run the function associated with it.

-- broken menu
-- you can test this in splore
-- or online

function main()

menuitem(1,"test",doit())
getkey("check menu now")

end

function doit()
  print"confirmed !"
end

-- simple get and wait key [a]
function getkey(t)
  if t!=null then
    print""
    print(t.." - press [a]")
  end
  repeat
    flip()
  until btn(4)==false
  repeat
    flip()
  until btn(4)
end--getkey

main() -- nifty put at top

[ Continue Reading.. ]

8 comments


Cart #29266 | 2016-09-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

Another very basic demo of a menu and managing various gamestates.
There are better ways to do it (like an int instead of strings) but this is the most verbose and easy to read.

Even if you know how to do this basic little thing, its handy having copy-paste code material on hand...

7
18 comments



This is a very basic example of how to use 'Object-Oriented Programming'.
I thought lua objects were a bit odd when I started using PICO-8 and I know that PICO-8 is used in education sometimes, so maybe this could be useful for someone just starting to code.

Or not _|7o
Who knows

I want to post the code as a snippet too but I'm sure how, without retyping the whole thing. There must be a way to extract the code from the cartridge here, like there is when you're in the actual PICO-8 software....

3
0 comments


this seems linked to hexadecimal numbers:
the parser considers characters 'a' to 'f' as part of decimal numbers,
while the highlighter seems to start a hexadecimal number on any digit followed by 'x':

(I think the first issue is not unknown to tweetjammers)

edit: obviously I overlooked the exponent,

  • parsing x=5e=2 rightly yields a "malformed number"
  • 5e2 is wrongly highlighted (only '5' ends up in blue)
4 comments


It seems that the parser treats “=” and “+=” slightly differently in this snippet:

x=rnd();print(x)  -- ok
x=rnd() print(x)  -- ok
x=rnd()print(x)   -- ok
x+=rnd();print(x) -- ok
x+=rnd() print(x) -- ok
x+=rnd()print(x)  -- runtime error
5 comments


Cart #29216 | 2016-09-24 | Code ▽ | Embed ▽ | No License
6

The sign of victory ! It's been a good day !

Here is the code I wrote for it:

--[[

------ f i l e - 8 k ------

program to test saving off
more than 256-bytes of
persistent data despite any
version changes.

big props to tyroney and
rytrasmi for having the
patience to teach me this. :)

--]]

function main() -- begin

pic={} -- empty array

-- generate serious nonsense
for i=0,8191 do
  pic[i]=flr((i+i*1.77))%256
end
-- how much ram do i have left?
-- :)

-- show a bit of it
cls()
for i=0,8191,255 do
  print(pic[i])
end

getkey("ready to convert")

for i=0,8191 do
  poke(24576+i,pic[i])
  -- save it out
end
getkey()

cstore(0,24576,8192,"_data.p8")
-- save screen at memory loc 0

cls()
getkey("saved")

getkey("ready to load")

reload(24576,0,8192,"_data.p8")
-- load 8k at screen start

getkey()

pic=nil -- erase array !
pic={}

for i=0,8191 do
  pic[i]=peek(24576+i)
  -- get it all back
end

cls()

for i=0,8191,255 do
  print(pic[i])
-- proof is in the pudding !
end

getkey("complete !")

end
-- end of main

-- simple get and wait key [a]
function getkey(t)
  if t!=null then
    print""
    print(t.." - press [a]")
  end
  repeat
    flip()
  until btn(4)==false
  repeat
    flip()
  until btn(4)
end--getkey

main() -- nifty put at top

[ Continue Reading.. ]

6
10 comments





This is one that only PocketCHIP people will be able to test and use.

[ Continue Reading.. ]

1
14 comments


Due to popular demand, I present the Collab16 Cart 2!

This is a "game jam" of sorts, to make a pico8 cart with sixteen (16) games in it by multiple developers!

Cart #33620 | 2016-12-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
29

After getting feedback from the previous Collab16, this one will be a bit different, so please read the rest of this post!

We have a channel on the Pico8 discord for anyone who is looking for help or coordinate. Check out the #pico8-collab16 channel. Here is an invite: https://discord.gg/Dut34b3

In order to get the cartridge to contain 16 games, we have some overhead:

  • A menu system and housekeeping (234 tokens)
  • PicoCam (339 tokens) [i]I have added this library with the hope that folks will make some 3D games! If this library sees little usage, I will remove/replace it with a different one.

[ Continue Reading.. ]

29
110 comments


I want to add two more enemy types to 'Bobs Adventure' to add a bit of variety and a sense of progression to the game so that when you come across something tougher, you know you're getting closer to the end but I can't decide what these two types of enemies should be.

Option 1: Skeleton
A Skeleton. I guess the skeleton would be tougher and do more damage than a zombie. They could even keep getting up after you kill them which would be kind of cool in a room with difficult platforming

Option 2: Gold Knights
Prettymuch a copy of the player. These guys would be in the last section and would be pretty darn tough. I would have made them Black Knights but It would be too awkward to make them stand out against the background tiles.

Option 3: Zombie Archer
I like the idea of having a ranged enemy. Several ranged enemies in a room could become almost like a puzzle to avoid the shots and they would play so differently to the normal zombies that it would add some good variety.

Option 4: Pyromancer
These guys would be functionally identical to the zombie archers, really but I think the archers would be in large quantities and deal less damage whereas I feel a wizard should be really powerful but not that numerous

Option 5: Spectre
Having a ghosty floating around as just a pair of red eyes would be kind of cool, since my background environment has the red eyes shown, so the real spectres might be harder to see. These guys would basically be invisible and float around. Maybe acting like a Boo in Mario games, where they only move if you're not looking at them

Optiong 6: Zombie Doggo
My least favourite option. I'm not happy with how the sprite looks and I don't think I could animate it very well. It also takes up two sprites so there might be a memory concern...

I think roughly what I want is "projectile dude" and "tough dude" in some form.
So these are my ideas so far. If anyone has any thoughts on which of these might be better, or a suggestion of something different, that'd be great^^

7 comments




Top    Load More Posts ->