Log In  

BBS > Community Superblog
All | Following | GIFs | Off-site

Cart #sekibufega-1 | 2020-08-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
34

Here is the game 'Dragon's Playground' made for Tom Hall's #RNDGAME2020. I had so much fun coding this, it was good to work under the requirements of a game jam, it really tested my programming ability--working to a deadline. Anyway, great fun, Dragon's Playground is a top-down, free-roaming shoot'em-up where you control Azron, scourge of the realms. You must incinerate the realm, defeat wizards, elves and knights to assert true dominance over the kingdom.
There are still a few lingering bugs that I would like to fix, but I am happy to share this game as part of a game jam, my first. Great fun!

Controls:
X - Breathe fire
Z - Charge breath

v1.0 - Jam version
v1.1 - Added a fillp effect to make smoke less overwhelming, fixed a bug that ended game prematurely after first game was over.

34
8 comments


Cart #dariusdans8dirmove-1 | 2020-05-27 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
15

This is my code snippet for 8-dir movement in PICO-8. There are some in BBS like this but I think I have something to add here because:

1 - It doesn't move faster when going diagonals;
2 - It can move at speeds below 1 pixel/frame (sub-pixel movement);
3 - And most importantly: IT DOESN'T HAVE ANY ANNOYING JITTERING (the staircase effect)!!!

Feel free to scrutinize my code and give me any constructive tips. I am still getting started with PICO-8 and Lua.

15
10 comments


Cart #undead_obelisk-0 | 2020-05-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
12

On a distant planet, a woman has found herself separated from her crew. Their fate unknown, she seeks a way back to the spacecraft that brought them here, but there's a strange obelisk here, and hoards of viscous creatures...

Fight huge crowds of monsters to push a path forward in this retro-style arcade shooter!

Here's my entry for RNDGame Jam 2020! I'm happy with how this turned out -- it's pretty much the first game I've ever really "finished" in any capacity. Maybe I'll do more with it, but for now I hope you enjoy it!

12
5 comments


btnp seems to completely stop working iff _update60 is used instead of the normal _update

to reproduce:

  1. run the program below
  2. press Esc
  3. type some sort of statement (for some reason the bug only occurs if you type something before typing resume) e.g. ?"hello"
  4. type resume
  5. push or hold down the button (O)

expected: "pushed" will appear onscreen
actual: "pushed" no longer appears onscreen

function _update60()
  pushed = btnp(4)
end

function _draw()
  cls()
  if pushed then
    print("pushed", 52, 60, 8)
  end
end
5
5 comments


I'm sure this is probably an easy answer, but why do these work differently, where co_anim1 resets to nil after completion, but co_anim2 does not?

function _init()
	co_anim1=cocreate(animate)
	co_anim2=cocreate(animate)
end

function _draw()
	cls()

	--first method
	if (co_anim1 and costatus(co_anim1)!="dead") then
		coresume(co_anim1)
	else
		co_anim1=nil
	end

	--second method, same as first,
	--but sent to a function to do
	--the work.
	resume(co_anim2)

	print("co_anim1:",0,0,5)
	print(co_anim1,36,0,7)
	if (co_anim1) print(costatus(co_anim1),75,0,7)

	print("co_anim2:",0,6,5)
	print(co_anim2,36,6,7)
	if (co_anim1) print(costatus(co_anim1),75,6,7)
end

function resume(co)
	if (co and costatus(co)!="dead") then
		coresume(co)
	else
		co=nil
	end
end

function animate()
	local a=rnd()
	for i=1,40 do
		circ(64+cos(a)*i,64+sin(a)*i,4,7)
		yield()
	end
end

This code results in this behavior:

5 comments


In the code editor, add a new tab with the first line being a comment line containing only puny caps and spaces, then add a second comment line with regular text. Hover over the tab, the title preview shows the second comment instead of the first. Bug doesn’t happen if the title mixes cases ("--UI helpers" is ok).

2 comments


hi!!!

a couple of questions...

I bought the PICO-8 thang (WHICH IS GREAT BY THE WAY!!!) but there is no record of me having done so...

I'd like to download the new version...

the other thing is, do I need to repurchase for each machine I want to use it on?

thanks

7 comments


Cart #picosolo-4 | 2020-05-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


“Picosolo” is best thought of as a puzzle game with a climbing theme. The objective is to reach the top of a 24 m high rock face.
You do so by moving your hands and feet to find suitable holds. Your limbs are controlled using the arrow keys. You cycle through them by pressing the “Z” key (the selected hand or foot is highlighted by a pulsing icon).
The most important rule to remember is that when you press the “Z” key, you need to have at least two good holds (indicated by a bright green “+” on the corresponding hand or foot). If you have only one, you fall and the game ends.
Other than this, there are some constraints about where your limbs can be positioned (relative to your body). In summary, your left hand must always be above and/or to the left of your centre of gravity (roughly located at the waist of the on-screen character). Your right foot must be below and to the right etc. You also cannot cross arms or legs, so only one hand can be directly above your head and one foot directly underneath you. Obviously, limbs have a limited reach: they can neither extend beyond 4 “cells” of your body, nor be less than two “cells” from your waist. The game will only allow you to move your hands and feet to valid locations, so the best and easiest way to “get a feel” for this is to play it!

[ Continue Reading.. ]

2
0 comments


What up fishes!

So, I'm new to Pico (mostly a Unity/C# person) and I've been getting my bearings this last week. I was looking into ways to get more game content out of fewer sprites. The most obvious way seemed to be using the same sprites but changing the colour palette. I did some searching and found a few posts where this came up but the only answer I found was to use pal() which unless I'm missing something, changes the screen palette, which affects every instance of that colour onscreen.

So, below is the solution I landed on. Is there a better way to do this? If so, pls halp.

(I've changed some variable names for clarity, I don't normally label things like this)

--Define a 2D array of colour indexes. C1 is the colour we're swapping, C2 is what we're
--swapping it to.
SecondarySpritePalette={
	{c1=14,c2=11},
	{c1=2,c2=3},
	{c1=10,c2=1},
	{c1=4,c2=5},
	{c1=15,c2=4}
}

--Draw sprite on screen using custom sprite drawing function that takes in the above array.
DrawSprite(SpriteID, XPos, YPos, PaletteArray)

function DrawSprite(n, x, y, c)

	--Get position of sprite within the spritesheet.
	local ycell=(flr(n/16))
	local xcell=(n-(16*ycell))

	--Loop through each pixel in the sprite.
	for lx=0,7 do
		for ly=0,7 do

			--Get the current pixel colour.
			col=sget((xcell*8)+lx,(ycell*8)+ly)

			--Loop through each colour in the palette array
			for i in pairs(c) do

				--If the current pixel matches C1, swap it for C2 and break
				--out of this loop.
				if col==c[i].c1 then

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=77125#p)
2 comments


My entry for #rndgame2020 - MORTAL CARDS (Mooooooortal Caaaaaaards!)

Cart #mortal_cards-0 | 2020-05-24 | Code ▽ | Embed ▽ | No License
22

With more powerful characters, more secret moves, more depth, more control and the most advanced pico-digitized graphics around – this card game is worth fighting for!

Mortal Cards challenges you with the ultimate card playing experience…
On a secluded island, six elite fighters have gathered to test their deadly skills.

Each competes with a deck of 15 cards, 5 cards each round, as they battle each other and finally, the 4-armed mutant warrior Goro.

Featuring a digitized graphics, multi-layered backdrops and a pulse-pounding soundtrack.

For the most realistic chop-em-up challenge yet, it’s Mortal Cards. The competition will bow in submission.

HOW TO PLAY:

- Check opponent's next card and react accordingly
- Select with left and right arrow, confirm with "Z" Key (Circle button on pico 8)
- Same moves will cancel each other
- Special moves are un-blockable, some will inflict reduced damage when blocked and others will be parried completely
- Discover all the moves interaction
- If health reaches 0 before all card in a hand are used, you can finish with a Fatality!

22
6 comments


Hello, new friends! I discovered Pico-8 a few weeks ago and this is my first post in here!

I'm currently trying to create a framework to manage game state for some future creation, and am hoping to get some feedback on what I've put together so far. Any insight would be greatly appreciated; I'm a web developer and consider myself reasonably proficient in PHP/JS, but this is my first Pico-8 project/first video game/first time working with Lua/first time writing my own FSM ever, so I'm feeling very unsure of myself! I'm looking over it and asking myself questions like; have I over-complicated this? Does the game/level hierarchy make sense? Is it DRY enough? Is there a better way!? etc, etc!

The state hierarchy of the cart looks like this:

App
|_Title Menu State
|_Config Menu State
|_Game State
  |_Init
  |_Running
  | |_Level State
  |   |_Start
  |   |_Running
  |   |_End
  |_Over

So, the first state the app is in is the Title Menu state, where you can either start the game or enter the Config Menu (for picking levels to start on or some other arbitrary config). From either of those, you can enter the Game State. Once we're in the Game State, it initializes, then begins running through the Level States (which just run 3s timers for demo purposes). Each level gets a Start state for saying 'ready, go' or whatever, a Running state for actually playing the game, and an End state for congratulating the player for completing the level or something.

[ Continue Reading.. ]

9 comments


I'm surprised I haven't noticed this before today.

If I have my tabs set to two spaces, and then I cursor up or down across lines with varying numbers of tabs indenting them, the cursor column will shift left or right depending on the number of tabs at the start of the line. See this example gif for a demonstration:

Edit: as I discovered below, this also happens with double-wide glyphs:

The editor should be trying to maintain a virtual on-screen column, not an in-document column.

3
6 comments


Yo @zep,

Instead of just turning the corner performance/stats graph on and off, maybe cycle through off, current size, and something closer to the full screen?

This could allow showing twice as much history on the graph, as well as showing a finer resolution of time within each tick. Right now we're only seeing 1-2 seconds (depending on _update/_update60) and the vertical resolution is very limited.

The large view might also accommodate more information that's not currently in the corner view. I'm not sure what information to choose—I'm just throwing the idea out there for you to think about.

Whatcha think?

1
6 comments


I've been experimenting with the GPIO pins on PocketCHIP in a Pico-8 game, but it's awkward that it only works for the root user.

Is there some way I could change the permissions of the hardware so that ordinary users can access the GPIO?

0 comments


Cart #picodriller-0 | 2020-05-23 | Code ▽ | Embed ▽ | No License
272

Pico Driller

Welcome to Picotown, a city like any other until big blocks started to pop out of the earth right into the middle of the city! The picopeople need you: Pico Driller!

Falling blocks that could squish you anytime? Small capsules of air underground? Ever-present danger? Prepare to drill your way and save the day!

CONTROLS

  • Arrow keys to move and navigate menus.
  • X/Z to drill in current direction.

HOW TO PLAY

  • Drill as deep as you can, but don't get crushed!
  • Air consumption increases the deeper you go, make sure to refill in time!
  • X-blocks take 5 drills to destroy AND 20% of your air. Beware!

CREDITS
A PICO-8 demake of the NAMCO classic!

[ Continue Reading.. ]

272
24 comments


Hello!

I am currently making a platformer and i have managed to program my own particle effects like wind and smoke (though they are probably far from optimised). Though i have been stumped with jumping. I would like to use pget() to get the colour of the tile below you so when you jump, little pieces of the same colour will fly up and then land in all directions. I would appreciate some help or perhaps some sample code for me to study. Thanks!

6 comments


Cart #inferno2-0 | 2020-05-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

Here is a prototype for my #rndgame2020 jam game. It requires a computer mouse with a button. Please let me know how you think of it.

4
0 comments


Cart #runpheidi-0 | 2020-05-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

0 comments


Simply game: escape the bomb

Cart #kesopohn-0 | 2020-05-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
0 comments


Cart #tutodizama-0 | 2020-05-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


So I'm really knew to game development and coding as a whole, so I'm still learning basics. I'm trying to figure out how to code a basic jump function. I got it to run but, I'll let you see. Go ahead and boot up the cart if you haven't already. It may take a while for you to notice what's wrong, as it's very subtle, but I trust you'll be able to work it out.

So I got the basic idea for the state code from Urbanmonk's post in this thread
I also referenced begginer's demo and game states-simple from the edu toolset. I tried googling them but nothing showed up. But those were more just learning basic concepts than anything else. IDK why that happens when you start it up. Try pausing and unpausing it also. IDK if the pause button will do it, but if you press escape inside PICO-8 you'll see it happen again. I'm really confused guys. I wouldn't have been surprised if the code was so broke it didn't run but I didn't even consider this happening as a possibility. Like really please I need to know why this even occurred lmao

1 comment




Top    Load More Posts ->