What's a strategy or method I can explore for generating random platform levels within a given space?
Say I have a 32x32 square and want there to be a floor but random heights and pits. I want there to be exits on N sides so the player can go to the next square. But some squares will have some sides blocked as a dead end. Like a Metroid level, for example.
I can't use sprite maps, right? I would just be placing objects directly into a coordinate table and then drawing from that every cycle. But how do I populate that array smartly?
My big worry is just making sure there aren't any island squares where the player can't reach or exit.
The issue isn't just creating randomness...I know how to do that but how do you create something that smartly groups together blocks within constraints? Pure random placement doesn't do this, I know.
Just looking for thoughts on how to approach it and/or generate such an thing.
Any insight is appreciated.
Howdy folks! This started with the idea, "what if you were on a pool table and had to dodge the balls?" and kind of evolved in a few unexpected directions from there.
You'll need two players for this. Use the main button to grab a ball and throw it. Any ball you grab turns in to your color, and hitting balls of the opponent's color causes you to lose.
This started out as Zep's collision demo, and the ball physics are from NuSan's Combo Pool (though I think I may have gotten a sign wrong somewhere).
Anyway, do enjoy.
so i'm starting to get near the often mentioned but never explained token limit in my project. and while I think I might fit everything i want into this project, I think I need to keep tokens in mind from the get go of my next project.
so I have some questions:
what is a token? what counts towards the token limit? can i look at my existing code and try to optimize it with token limit in mind? and also do you have any tips & tricks while developing with this in mind?

There is a onehourgamejam every Saturday at 20:00 UTC. Feel free to post your own entries here too!
60th jam (18 June 2016). The theme was Castle.
This was my first 1HGJ. I worked feverishly on the first idea that came into my head: archery. I was in such a rush that I spelled castle wrong in the title graphic! Didn't realise until after submission that you can just hold down fire to win.

A demake of the DOS intro for Ultima V, one of my favourite games of all time. You can watch the original intro here: https://www.youtube.com/watch?v=3XN1mdyvZvM
Holding down Button 1 (Z) will speed up the animation, pressing Button 2 (X) will skip to the next scene; otherwise this is non-interactive.
Turns out that 16x16 sprites blow out the spritesheet pretty quickly, so I had to pack extra sprites into map data and didn't have enough leftover space for fancy logo lettering; but I quite like how the demade titling turned out anyway. Otherwise I've tried to be as faithful to the original as possible, including reverse engineering the in-memory tile animations they used, which was a learning experience. I scored it using Stones rather than the original intro music though, because Stones is kind of the signature tune of the Ultima series.
ive been lurking here since preordering a pocketchip, i came across the estimated shipping schedule this morning and promptly bought voxatron after seeing mine is not leaving china till around july 25th
if i overlooked another post with this info sorry for the repeat.
i look forward to being part of this community and apologize beforehand for being so clueless as this will be my first experience with any form of coding
An alien astronomer is using a very inefficient method to observe the star systems they visit. Their spaceships are terribly advanced, but their optics are woefully behind: their best telescope only lets them see a single color.
But they persist. They survey the sky, one color at a time, moving the telescope just a little each time, and noting down the color they see. Slowly, painstakingly, an image emerges.

However, not in Android.
Got bored, set up Arch Linux ARM.
Got angry at freedreno Segmentation faulting.
Wasted several days compiling debugging versions of programs and trying to fix the crash.
Fixed freedreno (libdrm needs --enable-freedreno-kgsl)
Ran PICO-8:
Keyboard is the linux 'onboard' program, set to run on top of all other windows.
(Screenshot is resized, otherwise it would be absurdly huge due to my DPI)
(Renamed title to hopefully remove some confusion)

Keyboard controls
Move - Arrow keys
Shoot - Z or X
My first Pico-8 game following the Game Jam...another shooter, and a very basic side-scrolling one. Time limit style to try and get the most points.
This is also a very real "lessons learned" type of game where I took all the things I learned from the jam and applied them here. I also tried to push myself in a few places to get better.
My first goal for this game was to get better and making sprites. My original theme for this was not a flying lumberjack but it turned out that way, so my sprites are squirrels, trees and jet packs...all in all, not too shabby. I at least proved to myself that making my own sprites is not that far off. However, while my art abilities got a shot in the arm, my sound making skill is totally non-existent. No music and the sounds are horrible. If anyone cares to fill in the blanks, please let me know!
Technically, this game was my chance to practice something that wasn't just a bunch of randomness. All the waves, routes and patterns were chosen and defined. I feel I got the concept down but still need to work on architecture to make things efficient...I think I wasted a lot of space/overhead but hey, it's working. I also made use of saving a high score and it's very easy.
I'm happy with this game in that it shows a lot of progress since my last game, Mass 360, for the jam. Hopefully I can take everything here and parlay that into my next game.
[b]Few things I learned for next time:

I'm not a gamedev, but I wanted to learn something new today, so I thought I'd start something that reminds me of the old Micro Machines games.
Still VERY much in progress, but it's technically 'working'
I've added another sprite and pixel perfect collision. Next I'll get that collision working properly with flipped sprites

I'm happy to announce the relaunch of the Pico-8 wiki!
I've spent the last few weekends writing articles and reference material for Pico-8, including complete API and command references, a memory map (including format details), a summary of the Lua subset, and tutorials on several subjects. This is very much a rough draft and I still have a list of to-dos, missing articles, more thorough sample code with screenshots, and some stuff I want to reorganize.
But it's a wiki, so you can help! Corrections are welcome at this stage. If you want to discuss a change before making it, hit me up on Slack or use Wikia's messaging feature or just reply here. But don't be shy about changing things directly.
Let me know what you think!
--
Two possible points of controversy I'll mention up front:
-
I tweaked the theme colors so they're reasonably readable, matching the forum site. I'm still a bit concerned that the Pico-8 red is unsuitable for link and header text. One of my monitors apparently doesn't support sub-pixel rendering or something and blurs it all to hell, but I'm not sure how big a problem that is. I tried a bunch of options and all the others seemed to drop the Pico-8 feel of the site. Suggestions welcome.
- The cos, sin, and atan2 articles currently use a different convention to explain the y-inversion than the official docs do. A quick survey of the Slack group led me to try and explain it as inverting the angle direction and not the sign of sin(). This works until you get to atan2, which requires inverting the dy argument to fit that model. So the choices are counterclockwise with inverted sin() result, or clockwise with inverted atan2() dy argument. Inverting a result seems less problematic than inverting an argument, so I'll probably change it back. (I already have the diagram drawn.) Feedback welcome here as well.
Thanks!
-- Dan

For all PICO-8 musicians out there: a pico metronome, Piconome.
Licence: cc-by.
This is my first PICO-8/Lua program. Feedback is very welcome ^_^
Piconome doesn’t support polyrhythm. If you want to change it in order to add support of polyrhythm, feel free and please let me know…
Changelog and older carts:

Is it possible to take a string and index it or get individual characters from it? Ideally, I would like to convert to/from bytes to ascii characters. It looks like Lua 5.1 supports this in the standard library, but as far as I can tell, Pico-8 doesn't include it.
EDIT: I notice that I can use the # symbol preceding a token to get its length, such as a table or array or string, but I still can't directly index it.
EDIT2: After thoroughly reading the manual as much as possible, it looks like my answer is to use the sub() function.






1 comment









