Log In  
[back to top]


So I've just been thinking: wouldn't it be much more convinient to be able to "push" a new version of a cartridge to the BBS?

So I came up with three concept commands:

  • "PUSH"
  • "LOGIN"
  • "LOGOUT"

First, the login command. The syntax would be as follows:

LOGIN USERNAME PASSWORD

The screen would then be cleared and a login request would be sent to the BBS servers. If all goes well, then the login would be remembered until you logout. This would allow for things like viewing favourited cartridges and seeing them stored on other devices and on the BBS itself.

"LOGOUT" is self explanatory.

Now, the push command. It can only be used when a cartridge is loaded in memory. The syntax is as follows:

PUSH CARTID

CARTID being the normal ID, without the version(so "cart", not "cart-0" or "cart-1"). This would then execute the following steps:

  • Check if logged in

[ Continue Reading.. ]

3
1 comment



I was listening to Missile Command's music, and really liked it, so I decided to export it to a .wav . I selected patterns 0-19 and, in the terminal, type the command:

EXPORT MISSILECOMMAND.WAV

The result was, indeed, a .wav file, but played around a quarter of the first note of pattern 19. That's it. I'm quite annoyed since the menu music in Missile Command is very good, but that's not the point. The point is there's a bug.

1 comment



Cart #voroterrain-5 | 2021-06-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9


Another season, another terrain generator.

Below is an old version of the pipeline that was used for the generator. This has since been reworked a bit to add features.

  • Generate every possible syllable through structure "CV(n)" (Consonant, vowel, and an optional "n")
  • Pregenerate name with 2-5 syllables

  • Create n points and n/16 biome centres
  • Generate basic (polygonal) shape using voronoi
  • Apply "life" n/6.4 generations

  • Add name on screen

Tada! You've got yourself a basic map. You can also disable the "terrain" boolean to make it just generate a voronoi diagram, but that's boring and I don't need it so I leave "terrain" as True in the above cart. Feel free to play around though.

[ Continue Reading.. ]

9
7 comments



I know this is kind of lazy, and you could just loop over a table with "pairs" and collect all of the keys, but is there a built in function that will return a table of any given table's keys? If not, then I'll implement my own, but I don't want to waste tokens where unnecessary.

Cheers in advance!

1
2 comments



So, I'm making a game as a birthday present for my friend. As I always do, I forgot to do it before and am sitting here on the day before. Now, this game is tile based, and I need to mass generate some tiles which do the same thing with different values. Here is a simplified version of this problem:

for v,i in ipairs({33,34,35,36})do
  tiles[i]=function(mx,my)
    plr.d=v-1
    plr.g=true
  end
end

My question is, will this work, and if not, how would I go around doing this?

1 comment



So I was working on a random visualiser thing, when I realised, uhh,

What?

I've never seen the sprite counter in hexadecimal, and don't remember a feature like that being announced nor me toggling it..

Someone help I'm confused ; _ ;

2 comments



Second post in less than half an hour!

I think this bug exists because @zep might have been a bit lazy when coding cursor changes for code tabs, so instead of checking if there's an actual tab in the position, he just made the cursor change when it is in a certain square where the tabs could be. To be fully honest, I don't blame him. Most of us here are programmers and you can't say you never get lazy with something in code.

TL;DR: Cursor changing doesn't check if tab is actually there.

0 comments



Got some random inspiration from @thattomhall's "Who stole the coal?", specifically the graphics, so I decided to start my own little thingy. It uses Screen Mode 2, for those who are curious.

Story:

You are Unnamed Wizard, and you're hanging with your friends, when some Big Bird King who calls himself "Haponke" swoops down and steals your wand! Now, according to WizTown law, all who call themselves "Wizard" and don't have a wand are outcasts and should have their backside kicked into the Great Beyond. You know this, so obviously, you RUN!

On the way out of WizTown, you find a strange, L-Shaped, steel thingy. Carved on it, are the words "GLOCK-19".

"
 Alright then! Guess I'm going back to town.
  "
    - You, 5 seconds ago

Don't have much yet, but I hope to release a demo soon!

1 comment



Cart #planets_n_sol-0 | 2021-04-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5


Completely innacurate, but still looks cool IMO.

Also, space music!

I wanted to make a space game that looks like this, but eventually gave up and just made it a visualisation of the first four planets of our Solar System. I think it look cool, and am especially proud of the music.

Enjoy watching the rock spheres spin around and around. I sure did!

5
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



I am making a puzzle game on a 6x6 grid at the moment. Every cell has two values: 1) The colour/type of cell 2) the variable of that cell
Thus every cell is two hexadecimal digits. I've made a level editer and all but I've run into a problem with level loading. Shortened to the problematic code, here is the problem:

levels={
	"0000000000000000000000000000000000000000000000000011c0c07000000000000000",
	"0000000000000000000000000000000000000000000000000011c0c07000000000000000"
}
function loadlevel(n)
	local ltol=levels[n]
	powerlevel=0
	for i=1,#ltol/2do
		local s1=1+(i-1)*2
		local s2=s1+1
		level[i]=sub(ltol,s1,s2)
	end
end
function _init()
	nl=2
	go=false
	loadlevel(1)
	go=true
end
function _update()
	local nogo=false
	for i=1, 16do
		if level[i]!="00"then
			nogo=true
		end
	end
	if go and not nogo then
		loadlevel(nl)
		nl+=1
	end
end

[ Continue Reading.. ]

2 comments



So, as shown in my previous two posts, I'm making an operating system for Pico-8 called P8OS.
I am making it so that Z, closest to the window/whatever key, activates the app menu, and X, right next to it activates the task menu, where you can see which windows/programs are active. I need to check for both of them every frame. Shortened down to the problematic code, here is where it goes wrong:

function btnk(k)
  local p=stat(30)and stat(31)
  if k!=nil then
    if(p==k)return true
    if(p!=k)return false
  else
    return p
  end
end
if(btnk('z'))inmenu=not inmenu
if(btnk('x'))intask=not intask

It will not detect pressing X unless Z is pressed in the same frame, which is even more confusing.
Clearly something has gone desperately wrong somewhere in this code. I just can't pinpoint what.

P.S. Keep in mind that if you want to reproduce this you will need to call poke(24365,1) or equivalents at the start of your code.

6 comments



This is my manifesto of sorts on how I plan to implement P8OS in the forseeable future. I will keep writing it over time. Basically, you'll see the post progress as I write it down.

Part 0: Decisions, decisions, decisions

First, I'll have to make some choices to fit the limitations of PICO-8. First and formost; will we allow external programs that can be installed onto any given person's copy of the OS? And if so, how will we fit this into PICO-8?
I have the answer to both of those questions. 1) Yes. 2) A VM.
A VM is perfect for this. If you manage to design a compact and efficient bytecode and run it efficiently, then you're set.
Second decision: Should our OS have multitasking? And, once again, if so, how?
Here are the answers: 1) Yes. 2) Instancing.
If we build our VM modularly, we should be able to have a single instance of the VM for each program, which if run asynchronously, would allow for multitasking.
Third decision: Should we use the mouse and keyboard?
As demonstrated by my extremely early and nonfunctional version of the OS, yes to both.

[ Continue Reading.. ]

1 comment



Cart #p8os_early-1 | 2021-03-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4


This is a very early version of P8OS(v0.2 as of now), a very creatively named operating system built on the one Pico-8 already has. I'm trying to do what the original Windows did, which is piggybacking on an existing framework and building off of that.

It really isn't much just yet, but here's a few lists for those who like them.

Existing features:

  • Mouse and keyboard reading(really not much to brag about)
  • Removed v0.2: A system clock on the menu bar
  • A basic menu bar
  • A (yet nonfunctional) app menu you can toggle with Z(closest to the Windows button)
  • A very clever way of storing program names
  • v0.2: An (also nonfunctional) task menu you can toggle with X(next to the app button)

[ Continue Reading.. ]

4
5 comments



Cart #nocliplost-1 | 2021-03-05 | Code ▽ | Embed ▽ | No License
2


Finally, track four! This is a short one.
It sounds like something from a trailer so there's one use idea!

If you want to translate the symbols, the language is Korean(I'm not Korean but it looks cool so...). Of course, if you already knew Korean, you would know that it was in Korean and you would understand the Korean since you already knew Korean. Y e a h . Anyways, enjoy!

2
0 comments



So, I'm expanding my previously released map generator. I've added stuff like biomes, biome generation types, so on so on.
The thing is, I'm making this generator because I want to start an RP community with stuff like being able to claim territory.
My problem: The map is too small. 128x128 is not a high enough resolution for this map. I've modified for the map generator to work on 256x256 pixels, but that would mean I would have to take four screenshots and manually stitch them together, which is a very frustrating process.
So, my question is, is it possible to take a 256x256px screenshot?
Cheers.
EDIT: I think it's worth noting that for automatically taking screenshots in my code is done with

extcmd('screen')

which could be a slight problem.

11 comments



Cart #terrainauto-0 | 2021-02-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


README!
This is a terrain/island generator, based on one of my tweetcarts:
I modified it to automatically do the following things:

  • First, run the program as normal.
  • When there are no black/empty pixels, start a timer.
  • Once the timer reaches a certain treshold, do the following:

  • Automatically make screenshot
  • Enable pause menu(you'll see why)
  • Reset cart

The reason it pauses after the screenshot is so that when you leave it unattended it will not just make ten thousand different islands without you knowing. Enjoy!

0 comments



Cart #disposablewowee-0 | 2021-02-27 | Code ▽ | Embed ▽ | No License
1

I participated in the third Wowee Game Jam. The above is my submission!

Can't believe this is my third jam this year...

1
0 comments



Cart #noclipexistential-0 | 2021-02-25 | Code ▽ | Embed ▽ | No License

Here's the third song in Noclip! Made it last night. It's the longest track I've made so far! I'm pretty proud of it. Let me know what you think!

0 comments



Cart #kindahotproto-0 | 2021-02-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Making my own tiny, tile based version of SuperHot. Here's the prototype!

Arrows for movement
Z/C to use weapon if equiped. Otherwise punches
X to pick up weapon. Later, you will be able to throw them too.
S to skip a turn.

When you go past the top of the screen, you will be sent to the start. Later versions are planned to update the room when you exit it.

Bullets don't do anything yet since I haven't had enough time to do that yet(remote learning. Ughh.) Punching doesn't do anything either. One enemy is at the end of the room, but, once again, does not do anything. You can go through him if you want. I do want to keep working on this. Let me know what you think!

2
1 comment





Top    Load More Posts ->