Log In  
[back to top]


Sometimes, especially when working with animations, I prefer using GraphicsGale than Pico's internal editor. So I'd be glad if I could copy/paste sprites to/from standard image editing programs. As of how palette thing would work when pasting, if pixel is "unknown" (not in pico's palette), color with closest r/g/b values from palette would be used.

So e.g. if I have some pixels that are totally blue (#00FF00), when pasting those pixels will be changed to closest color in pico's palette which is 1 (I think) in this case.

Alternatively import/export of spritesheet from/to png file would be welcome, with same color conversion process when importing as when proposed pasting.

9 comments



Like explode() in PHP, nothing fancy, just taking a string and convert it into an array based on delimiter, so e.g. I can have following string: "303;12;18;6;23;45;10;66" and after doing:

array = explode("303;12;18;6;23;45;10;66",";")

Array will be {303,12,18,6,23,45,10,66}.

Reason is of course token space and I want to encode maps this way for my contra cart.

0 comments



Currently every limit of Pico-8 is kinda rigid, but how about it: You can adjust these limits at the cost of the other ones. E.g. you need bigger map, but don't use much of sound or code? You can increase map at the cost of code space/sound space. Alternatively you need more code but not use much sounds? Decrease sound space, increase code space.

Of course default split would be as it is now.

3 comments



Still being able to load carts, just not edit and save them. This would be useful in case of carts that are laggy in browser but fine when dl'd and when you want to distribute "standalone" version of your game.

1
12 comments



This is a function that will generate cart's guid (used for cartdata function) based on things specific to the cartridge (mapdata, gfx, sfx and code).

function getcartguid()
  reload(0x4300,0x4300,7168)
  alphabet = "1234567890abcdefghijklmnopqrstuvwxyz_1234567890abcdefghijklmnopqrstuvwxyz_1234567890abcdefghijklmnopqrstuvwxyz_1234567890abcdefghijklmnopqrstuvwxyz_1234567890abcdefghijklmnopqrstuvwxyz_1234567890abcdefghijklmnopqrstuvwxyz_1234567890abcdefghijklmnopqrstuvwx"
		guid = ""
		for i=0,15 do
		  num = peek (0x0+i)
		  guid = guid .. sub(alphabet,num+1,num+1)
		end
		for i=0,15 do
		  num = peek (0x2000+i)
		  guid = guid .. sub(alphabet,num+1,num+1)
		end
		for i=0,15 do
		  num = peek (0x3200+i)
		  guid = guid .. sub(alphabet,num+1,num+1)
		end
		for i=0,15 do
		  num = peek (0x43af+i)
		  guid = guid .. sub(alphabet,num+1,num+1)
		end
		--print (#guid)
		--print (guid)
		return guid
end

[ Continue Reading.. ]

0 comments



E.g. for storing text (hiscore name, anyone?). Since each number is 4 bytes long, to make standard "Top10" list you'd use only 40 bytes (results only). Which leaves 216 bytes free, that could be used for names, each 21 letters long (well, 21.6 actually, but we can't have 0.6 of character, now can we?). I know we can peek/poke into save data (although it seems memory map haven't been updated in manual), but I'm not sure if it would save.

1
8 comments



Could someone make 2d physics engine for pico, something like box2d or chipmunk (though probably w/out rotation as pico doesn't allow for them)?

5 comments



What are some methods to use in order to decrease token amount in the game?

1
2 comments



I realize saving comes to Pico, but I've always wondered how one would create password save system like old games had. Any tips?

1 comment



It should play on first channel that nothing happens at the moment, if the music is in effect it should detect empty channels by looking which channels are "selected" in music pattern editor to play.

3 comments



It would stop execution and dump you into command mode. This would work like setting up breakpoint when you know that something doesn't go right after a specific instruction is executed but you are not sure what.

Example uses:

Stop() after changing the variable: Allows you to print it out in command mode to see if value change according to expectations (e.g. when dealing with imprecision of decimals or when you suspect integer overflow)

Stop() at the end of _Draw(): Allows you to display cart frame by frame e.g. when you debug graphics effects like particles that doesn't seem right.

And so on.

Of course after stopping cart you can then resume() it ;).

And before you ask, yes I know you can stop execution with ESC, but sometimes you need to stop it at the very precise moment which is hard to do manually and so something like stop() would be useful.

4 comments



Asking, because I'm interested in manipulating it via peek/poke.

1
1 comment



With current one, playing 2 player games is downright impossible unless you have also a gamepad. Well, if you don't want to play a game of Hand Twister at the same time as well, that is.

So I'm proposing following mappings for the 2nd player:

Left: Numpad4
Up: Numpad8
Down: Numpad5
Right: Numpad6
Btn1: Numpad7
Btn2: Numpad9

Then our friend can sit at the side and while we're using arrows+z/x, he'd use just one hand to control the game.

This is exactly how I've set up second player in Nestopia, aside of mapping stert/select to Num+/NumEnter and it works remarkably well.

2 comments



[deleted]

0 comments



Title is self-explanatory I think.

2 comments



I've noticed that after few hours of using Pico, it starts to get more and more memory, but only when you start opening many different carts in a single, long (few hours, the shortest time I've seen it happening was in a session about 3h long) session. Obviously closing and reopening pico fixes it, but it should be looked into even if it's small (the biggest it got in memory was about 450MB when leaking).

//edit: Also the first sign the leak is happening is that sound starts to get choppy. That was what alerted me of the issue for the first time and I was investigating it for the past 3 days to get to what exactly causes it.

1
1 comment



Would save a ton in tokens since brackets are treated as separate tokens.

//edit: Or if you're calling version of function that takes no arguments, ex:

palt(12,true) -- <- brackets necessary
--draw something
palt -- <- brackets unnecessary since this version of palt has no parameters

Of course after such bracketless call/definition, a new line would be required, but most sane programmers do so anyway.

14 comments



Or will I by doing so overwrite game's variables/code?

1
2 comments



Could someone make cart that shows some basic transition effects (crossfade, swipe left/up/down, fade to black, etc) for those who want to have those but don't have skills to code it?

3
2 comments



Pico should accept command line parameter that has cart filename and path in it and when it's present, load it, so I can associate .p8 files with Pico.

1
2 comments





Top    Load More Posts ->