Log In  

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

I'm surprised there doesn't seem to be a way to permanently write bytes to the memory and save it with the cart, so you can make your own efficient level storage format. That memory only becomes available to write to at run time - then any changes you make are reset.

My idea would be to have a level data format for a game that only shows one screen at a time (no scrolling) and has a stream of data that is - sprite cluster index (eg. 1 could be a group of trees, 2 could be a house) and an X Y position on screen.

I could kind of store the "level data" in the code by actually specifying screen positions but this is incredibly wasteful - each character is worth one byte, and I'd need several bytes just to set one position. Eg. "X = 54" is 6 bytes and I could store that in 1.

Am I incorrect - is there some way to store a sequence of bytes on the cartridge? (Besides the tiny "Persistent cart data")

5 comments


In my game, having 5 sprites makes the game slower, in a strange way where every second frame is 1.9 CPU and every first frame is 1.0 CPU. This makes the game laggy - and things that should toggle on and off each frame appear to flash randomly due to every second frame being longer.

Adding 5 more sprites keeps the game at a steady 1.0 CPU! It runs perfectly smooth!

Is this a known issue?

2 comments


Cart #19329 | 2016-03-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

Sometimes, we want to be able to play animations in reverse. This is the advanced animation function with a reverse option. In this case, the foliage grows, stays for 5 seconds before shrinking away (playing the "grow" animation in reverse), disappears for 10 seconds, then repeats.

3
0 comments


Hey all,

I'd like to add some (semi-) realistic drum sounds to a game I'm working on, but I'm not very good with the sound editor. Anyone have any suggestions on a sound that approximates a snare hit, a hi-hat closing, and a hi-hat hit? Thanks!

2
4 comments


Cart #19326 | 2016-03-20 | Code ▽ | Embed ▽ | No License
1


Experimenting with a simple platform game character controller.

TODO:

  • fine-grained collision detection
  • more map tiles
  • fore/background tiles
  • shooting animation
  • multiple shots
  • sound
  • double jump
  • crouch
  • wall jump
1
0 comments



New room added
Rooster molotov is now working correctly

flamethrower been updated

Press Q and E to switch weapons.

3
0 comments


Hi All,

Has anyone built up inverse-sine and inverse-cosine functions?

Right now, we have cos(x), sin(x), and atan2(dx,dy). If all else fails, I can create a table function to look these up, but figured I'd ask around to avoid duplicating the work.

-Electric Gryphon

2
1 comment


Cart #19319 | 2016-03-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
23

Old versions:

Cart #19303 | 2016-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
23


Cart #19297 | 2016-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
23


Cart #19295 | 2016-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
23

[ Continue Reading.. ]

23
9 comments



you can now swap your character from any character to any other character back and forth

feel free to re-mix :)

3
0 comments


Cart #19291 | 2016-03-19 | Embed ▽ | License: CC4-BY-NC-SA
2

a fun game. try it.

2
1 comment


Cart #19289 | 2016-03-19 | Embed ▽ | License: CC4-BY-NC-SA
3

it is a really fun game. i have played it. i hope you play it.

3
0 comments


Cart #19995 | 2016-04-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

Added coloring to show correspondence between currently-selected factor and its visual representation.

Controls:

Left/Right : select a different number
Up/Down : increase/decrease selected number
Z/X : make factorization canonical (sort in ascending order, no 1s)

Cart #19988 | 2016-04-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

In the original version of this, you could only change the product (and the factors would be calculated from that). In this version, you can change the product, but you can also arrow over to the factors and change them, too, which hopefully helps the user see relationships between numbers.

[ Continue Reading.. ]

8
1 comment


In the last post, we looked at some basic animation, collision and AI examples. In this one, we're going to take it a few steps further and improve upon these functions.

During the development of my game (tentatively titled "Castle of Thunder", which is a port of INTV's Thunder Castle), I realized that I was going to need some more advanced functionality, because the first enemy is a total of 4 sprites when walking horizontally, and 2 sprites when working vertically. Since we had all of our animation stepping, animation speed, frame numbers, etc stored as properties of our actor in our simple animation demo, it works great for 8x8 actors, but not as well when that actor is comprised of several sprites.

Further, I found that I needed to be able to specify x and y offsets for actors with multiple sprites, so that subsequent sprites can have custom positioning and aren't drawn on top of the first. I [i]also

[ Continue Reading.. ]

12
2 comments


It seems that if you use the new keyconfig feature and set any of the buttons to the 'P' key, this causes a problem because it will still trigger the PAUSE feature, even if PAUSE is reassigned.

I have not checked for any other conflicts, but this one was troublesome. The keyconfig feature is a big help however. Thanks.

0 comments


Hey I've been using Pico-8 for a few weeks and having tons of fun and I just worked out how to download other peoples carts so I can see their code and how they did stuff. On page 2 of the sprites in Celeste and the same with some of the other games is like a map things and I think I'm being really stupid but is it a representation of the sprite placing editor thing? If so why add those last two images to view? Thanks for any information I'm really interested.
Below: screenshot of what i mean from Celeste.

Cheers podfish

8 comments



I used Jelly Room level and player to figure this one out...
Feel free to re-mix

2
0 comments


Cart #19253 | 2016-03-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
36

A* pathfinding example made for the pico-8 fan zine!
(just an example, modify the code to move the points)

36
12 comments


Cart #19249 | 2016-03-16 | Code ▽ | Embed ▽ | No License
2


By @AshleyPringle
Just an update with what I worked on tonight :)
Worked on the argue menu. You can't actually choose an argument to make yet, but the menu at least shows something. Also made it so it says how many cash you got when you die.

Cart #19242 | 2016-03-15 | Code ▽ | Embed ▽ | No License
2


This is a bit broken and unfinished. Made it for 7 Day Roguelike but I screwed up and thought the final day was today when it was actually 2 days ago... :(

[ Continue Reading.. ]

2
2 comments


I usually leave the Pico-8 application running on my home PC overnight and during the day while I'm at work. If it's in fullscreen, it will silently crash (stop responding) if left open for long periods of time. Interestingly, it doesn't happen in windowed mode (although I haven't tested it with resizing the window to a custom size). The application at that point needs to be closed completely and reopened (good thing I save my work frequently). There is no error shown either in the program, or by Windows (Windows does not report it as "Not Responding" - Pico simply becomes unresponsive to any keyboard/mouse input). I haven't tried looking in Task Manager to see if it's leaking memory or CPU cycles.

  • Windows 10 Pro
  • AMD FX-8350
  • 16GB DDR3
  • nVidia GTX 660 (in case it's a display error with nVidia drivers, since for some reason it's caused by window size)
  • Installed on a 256GB Samsung EVO SSD
  • PC is not set to ever sleep or hibernate, so it's not happening upon "waking up"
  • No USB suspend settings are applied that could sever communications between Pico and input devices
  • Hard drives and processor are not set to change performance settings while idle
  • All power-saving options are disabled
  • No screensaver
1
1 comment


Hi there,
anyone having an idea how to read fixed point numbers with peek? I managed to get the integer part read and I think I understand as well how the decimal part is designed, but as the decimal part uses the unsigned range of 16 bits, I don't get it read correctly. Currently I have:

function rnum()
 local dlo=peekb()
 local dhi=peekb()
 local ilo=peekb()
 local ihi=peekb()
 local nu=bor(bor(shl(ihi,8),ilo),shr(bor(shl(dhi,8),dlo),16))
 return nu
end

Where peekb simply reads a byte from memory with peek and increments a pointer b.

 local ilo=peekb()
 local ihi=peekb()

These bring me the integer part nicely, but I'm having no success in getting the decimals right. Any help or hint is very appreciated :)

3 comments




Top    Load More Posts ->