Log In  
[back to top]

Cart #32053 | 2016-10-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

It's 2 am for an hour. You have time to kill. And your clock basically doesn't make any sense for this 2 am hour. So let's kill time with it!

The only controls are your left and right keys/buttons!

This was made in 0 hour for the 0 Hour Game Jam!
Because the game was made in 0 hour, there really wasn't much time for a complete game but I managed to make this cool little toy and I'm happy with it!

And since the cart is very barebone, you are welcome to download it and make your modifications on it if you like! Then just post your cart here, so I can play it! :D

Also I recorded the making of it all! You can have a here:

Have fun!

If you like this game and want to support me, you can do so by buying Pixel Session Vol.1 here. In it you'll find 5 much better games than this!
Alternatively, follow me on Twitter!

P#32052 2016-10-29 21:14 ( Edited 2016-10-30 02:23)

Hi there!!

I just released Pixel Session Vol.1!

If you follow me on Twitter and go on Twitter at all, you probably heard of it but otherwise...

Pixel Session Vol.1 is a collection of 5 extra-polished eye-candy arcadey jam-style games, exploring experimental and minimalist gameplay and graphics!

They're also 5 Pico-8 games and I am selling them!

I think this is the first time someone attempts to sell Pico-8 games and I can assure you this is pretty scary for me too. But the way I see it, Pico-8 is a game engine like any othe... wait no, Pico-8 is a game engine LIKE NO OTHER and I think it really deserves to have premium products. I also hope this will encourage people to make Pico-8 games of higher quality and also put them for sale.

I'm pretty sure not everyone here will agree with me so I'd like to open this thread to the discussion. Please do tell me how you think I'm wrong or right! :)

None-the-less, you can get on the games' page and buy the games themselves by following this link!

Looking forward to reading what you think of it all!

Take care!

TRASEVOL_DOG

P#31396 2016-10-21 13:06 ( Edited 2017-01-03 10:55)

Hi!

To celebrate my birthday, I thought I would share something with you guys! And having recently heard (again) that most of our codes weren't very easy to read, I thought I would share some readable code !!
I might do others of these in the future if you like it! But feel free to make some of your own, I'm sure it will help the community a lot!

Here is today's subject: Balloons That Explode Into More Balloons

And here is the commented code! (click to unravel)

Initializing some important stuff. You could do that in more appropriate places. Call me messy, i don't care.

bloons={} -- 'balloons' is long

shkx=0
shky=0

You can initialize stuff in the _init function too. The difference is that here you can call functions written after this.

function _init()
 createbloon(64,64,32,0,8)

 -- if you don't have any music
 -- just put some sfx at
 -- the beginning
 sfx(8)
end

Call updating functions in the _update function. Don't actually update anything here, it will get messy.

function _update()
 updatebloons()
 updateshake()
end

At first, partially and randomly clearing the screen for that weird trail effect.
Then, drawing the cool stuff.

function _draw()
 camera(0,0)

 for i=0,1999 do
  circ(rnd(128),rnd(128),1,0)
 end

 camera(shkx,shky)

 drawbloons()
end

Creating one balloon object
at x,y position,
with a bigger-circle ray of r,
a moving speed of spd,
and c as color.
Angle and rotating speed 'va' are random.
Life timer 'l' is also random, but always between 0.8 and 1.2.
Then adding the balloon object to the balloon array.

function createbloon(x,y,r,spd,c)
 local b={x=x,y=y,r=r,a=rnd(1),va=(flr(rnd(2))-0.5)*0.5+rnd(0.2),c=c,l=0.8+rnd(0.4)}
 local aaa=rnd(1)
 b.vx=spd*cos(aaa)
 b.vy=spd*sin(aaa)
 add(bloons,b)
end

Updating the balloon objects one by one.

function updatebloons()
 for b in all(bloons) do
  -- updating rotation 'physics'
  dma=abs((b.a+0.25)%0.5-0.25)
  vvv=-dma*0.005

  if (b.a+0.25)%1<0.5 then
   b.va+=vvv
  elseif (b.a+0.25)%1>0.5 then
   b.va-=vvv
  end

  b.a+=b.va

  b.va*=0.96

  -- updating position 'physics'
  b.x+=b.vx
  b.y+=b.vy

  if(b.x-b.r<0)   b.vx=2-b.vx sfx(4)
  if(b.x+b.r>127) b.vx=-2-b.vx sfx(4)
  if(b.y-b.r<0)   b.vy=2-b.vy sfx(4)
  if(b.y+b.r>127) b.vy=-2-b.vy sfx(4)

  b.vx*=0.9
  b.vy=0.9*b.vy+0.1*(-1)

  -- updating life timer
  b.l-=0.01
  if b.l<0 then
   -- timer is at its end...
   -- *boom!*

   -- creating five new balloons
   -- if exploding balloon is
   -- big enough
   if b.r>4 then
    for i=0,4 do
     createbloon(b.x,b.y,b.r/4+rnd(b.r/2),8+rnd(8),8+rnd(8))
    end
   end

   -- the 'oompf'
   circfill(b.x,b.y,b.r+2,7)
   addshake(b.r)
   sfx(flr(rnd(4)))

   -- delete exploded balloon
   del(bloons,b)
  end
 end
end

Drawing the balloon objects one by one.

function drawbloons()
 for b in all(bloons) do
  -- uncomment the outline
  -- for sweet graphics
  -- and low framerate

  --outlined(drawbloon,7,b)
  drawbloon(b)
 end
end

Draws one balloon.
It's actually several circles, smaller and smaller, going from balloon's x,y position, along its 'a' angle.

function drawbloon(b)
 for i=0,7 do
  circfill(b.x+i*(b.r/8)*cos(b.a),b.y+i*(b.r/8)*sin(b.a),(1-(i/16))*b.r,b.c)
 end
 local rrr
 if b.r>10 then rrr=2
 else rrr=1 end
 local rr=7*(b.r/8)+(1-(7/16))*b.r+rrr
 circfill(b.x+rr*cos(b.a),b.y+rr*sin(b.a),rrr,b.c)
end

Addshake adds a screenshake of 'p' power.
You have to call updateshake every once in a while (on _update for example) and use 'camera(shkx,shky)' before drawing stuff for the screenshake to actually work.

function addshake(p)
 local a=rnd(1)
 shkx+=p*cos(a)
 shky+=p*sin(a)
end

function updateshake()
 if abs(shkx)+abs(shky)<0.5 then
  shkx=0
  shky=0
 end

 shkx*=0.7+rnd(0.2)
 shky*=0.7+rnd(0.2)
end

Makes every color being drawn as the color 'c'.
Calling 'allcolorsto()' resets it.

function allcolorsto(c)
 if c then
  for i=0,15 do
   pal(i,c)
  end
 else
  for i=0,15 do
   pal(i,i)
  end
 end
end

Outlines in color 'c' whatever drawing function's callback is set as 'draw'. Also feeding that function with 'arg' as argument (you can also use it as 'outlined(draw,c)' if 'draw' doesn't need any argument, it will work too).

function outlined(draw,c,arg)
 allcolorsto(c)
 camera(shkx-1,shky)
 draw(arg)
 camera(shkx+1,shky)
 draw(arg)
 camera(shkx,shky-1)
 draw(arg)
 camera(shkx,shky+1)
 draw(arg)
 -- uncomment for shadow effect
 --camera(shkx,shky-2)
 --draw(arg)
 camera(shkx,shky)
 allcolorsto()
end

Here is the complete code you can copy-paste into your own Pico-8 more easily! The comments are formated so they're easy to read even in the Pico-8 editor!
(download the cart to have the SFXs or make your own!)

-- exploding balloons (commented)
-- by trasevol_dog

-- this cart was made
-- on the 9.9.2016, on my b-day
-- it's balloons exploding
-- into more balloons
-- to celebrate.
-- except i commented the code
-- so now it's useful to people
-- hopefully.

-- beginning here:

-- initializing some important
-- stuff. you could do that in
-- more appropriate places.
-- call me messy, i don't care.

bloons={} -- 'balloons' is long

shkx=0
shky=0

function _init()
 -- you can initialize stuff
 -- here too.
 -- the difference is that here
 -- you can call functions
 -- written after this.
 createbloon(64,64,32,0,8)

 -- if you don't have any music
 -- just put some sfx at
 -- the beginning
 sfx(8)
end

function _update()
 -- call updating functions here
 -- best not actually update
 -- anything here, it gets messy
 updatebloons()
 updateshake()
end

function _draw()
 camera(0,0)

 -- partially and randomly
 -- clears the screen
 -- for that weird trail effect
 for i=0,1999 do
  circ(rnd(128),rnd(128),1,0)
 end

 camera(shkx,shky)

 -- drawing the cool stuff
 drawbloons()
end

-- creates one balloon object
-- at x,y position
-- with bigger-circle ray of r
-- a moving speed of spd
-- and c as color.
-- angle and rotating speed 'va'
-- are random.
-- then adds the balloon object
-- to the balloon array.

function createbloon(x,y,r,spd,c)
 local b={x=x,y=y,r=r,a=rnd(1),va=(flr(rnd(2))-0.5)*0.5+rnd(0.2),c=c,l=0.8+rnd(0.4)}
 local aaa=rnd(1)
 b.vx=spd*cos(aaa)
 b.vy=spd*sin(aaa)
 add(bloons,b)
end

-- updating the balloon objects
-- one by one

function updatebloons()
 for b in all(bloons) do
  -- updating rotation 'physics'
  dma=abs((b.a+0.25)%0.5-0.25)
  vvv=-dma*0.005

  if (b.a+0.25)%1<0.5 then
   b.va+=vvv
  elseif (b.a+0.25)%1>0.5 then
   b.va-=vvv
  end

  b.a+=b.va

  b.va*=0.96

  -- updating position 'physics'
  b.x+=b.vx
  b.y+=b.vy

  if(b.x-b.r<0)   b.vx=2-b.vx sfx(4)
  if(b.x+b.r>127) b.vx=-2-b.vx sfx(4)
  if(b.y-b.r<0)   b.vy=2-b.vy sfx(4)
  if(b.y+b.r>127) b.vy=-2-b.vy sfx(4)

  b.vx*=0.9
  b.vy=0.9*b.vy+0.1*(-1)

  -- updating life timer
  b.l-=0.01
  if b.l<0 then
   -- timer is at its end...
   -- *boom!*

   -- creating five new balloons
   -- if exploding balloon is
   -- big enough
   if b.r>4 then
    for i=0,4 do
     createbloon(b.x,b.y,b.r/4+rnd(b.r/2),8+rnd(8),8+rnd(8))
    end
   end

   -- the 'oompf'
   circfill(b.x,b.y,b.r+2,7)
   addshake(b.r)
   sfx(flr(rnd(4)))

   -- delete exploded balloon
   del(bloons,b)
  end
 end
end

-- drawing the balloon objects
-- one by one

function drawbloons()
 for b in all(bloons) do
  -- uncomment the outline
  -- for sweet graphics
  -- and low framerate

  --outlined(drawbloon,7,b)
  drawbloon(b)
 end
end

-- draws one balloon
-- actually several circles
-- smaller and smaller,
-- going from balloon's x,y pos
-- along its 'a' angle

function drawbloon(b)
 for i=0,7 do
  circfill(b.x+i*(b.r/8)*cos(b.a),b.y+i*(b.r/8)*sin(b.a),(1-(i/16))*b.r,b.c)
 end
 local rrr
 if b.r>10 then rrr=2
 else rrr=1 end
 local rr=7*(b.r/8)+(1-(7/16))*b.r+rrr
 circfill(b.x+rr*cos(b.a),b.y+rr*sin(b.a),rrr,b.c)
end

-- addshake adds a screenshake
-- of 'p' power.
-- you have to call updateshake
-- every once in a while
-- (on _update for example)
-- and use 'camera(shkx,shky)'
-- before drawing stuff
-- for the screenshake to work

function addshake(p)
 local a=rnd(1)
 shkx+=p*cos(a)
 shky+=p*sin(a)
end

function updateshake()
 if abs(shkx)+abs(shky)<0.5 then
  shkx=0
  shky=0
 end

 shkx*=0.7+rnd(0.2)
 shky*=0.7+rnd(0.2)
end

-- makes every color
-- being drawn as the color 'c'
-- 'allcolorsto()' resets

function allcolorsto(c)
 if c then
  for i=0,15 do
   pal(i,c)
  end
 else
  for i=0,15 do
   pal(i,i)
  end
 end
end

-- outlines in color 'c'
-- whatever drawing function's
-- callback is set as 'draw',
-- also feeding that function
-- with 'arg' as argument

function outlined(draw,c,arg)
 allcolorsto(c)
 camera(shkx-1,shky)
 draw(arg)
 camera(shkx+1,shky)
 draw(arg)
 camera(shkx,shky-1)
 draw(arg)
 camera(shkx,shky+1)
 draw(arg)
 -- uncomment for shadow effect
 --camera(shkx,shky-2)
 --draw(arg)
 camera(shkx,shky)
 allcolorsto()
end

This is a good example of the way I tend to code in general! I'm using some sort of mixture between OOP and more linear programming because I think most people go too far with OOP, making simple things very complicated. But lots of people would very much disagree with me on this and my way to code is most definitely not the only one there is! It's probably not the best either but I'm well-placed to say it works fairly well!

If you have any questions, make sure to ask and I'll make sure to answer! (same for remarks about the code)
Otherwise, I hope you enjoy this and that it proves useful to at least some of you!

You can find more of my creations on the BBS here and on Itch.io here!

You can also follow me on Twitter here, I'm always cheerful and I tweet and retweet lots of GIFs of gamedev and animating stuff!

Have fun with Pico-8!!!

P#28240 2016-09-09 18:22 ( Edited 2017-01-14 07:08)

Cart #27183 | 2016-08-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

The world is a mess.
Things are terrible.
Nonsense is all over the place.
And all is well.

An experiment produced for OneButtonJam!

Using principles from Tracery, work of Kate Compton!

Press 'Z' (or the 'A' button on a gamepad) to keep playing.

The cart is also over on Itch.io, where you can rate it if you've entered the jam too, or support it if you want to make me even more happy to have made it!

If you own your Pico-8 and are interested in how that thing works, I do encourage you to download the cart and have a peek! The code is certainly not the cleanest it could be but the most interesting parts should be clear enough! :)

P#27184 2016-08-21 22:23 ( Edited 2018-10-20 04:54)

Cart #28757 | 2016-09-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
26

  • Added achievements
  • Bugfixes

CLIMB HIGHER AND HIGHER!!! WHAT COULD BE UP THERE? NOBODY KNOWS... DO YOU THINK YOU CAN CLIMB HIGHER THAN THE OTHERS?

Left and right arrows (or left and right directions on D-pad) let you move left and right.

'Z' (or the o button) lets you jump, double jump, wall jump, dive and if you're close enough to a ball, platformize that ball.

This game is a sort of draft for the fuller HIGHER CLIMB which will be out in Winter 2016! Stay tuned for that by following me on Twitter!

Check out the game on Itch.io too and maybe support it there if you like it a lot! :)

Have fun and post your scores!!!

edit: fixed the issue that wouldn't let some people play on the game on the BBS. Now it should work for everyone!!

P#26052 2016-07-28 21:33 ( Edited 2016-09-20 06:19)

Cart #25371 | 2016-07-16 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
19

Defeat the other balls before they defeat you!!!

Have fun!

This is the presentation I made for Picoscope 2016 but rerecorded at home and in english! My mic is not that great and I don't think I'm very good at talking into it but I still wanted to do this for those of you who don't speak french!

If you have any questions, do feel free to ask!
If you liked that video and would like to see more of that kind of thing do tell because I have no idea if this is any good!

You can download the made-in-Pico8 presentation here!

I sincerely hope it helps!

P#25374 2016-07-15 20:53 ( Edited 2016-07-16 00:53)

Cart #23958 | 2016-06-30 | Code ▽ | Embed ▽ | No License
22

DASH and PUSH and DASH and PUSH and die... and DASH!!!

A dash & dash game made for the #mysticwestern gamejam!

It features a cowboy being pursued by some sort of mystic worm!

Get to the button to make the worm disappear but also make another one appear!! Your score goes up that way too!

The arrow keys / D-pad lets you move.
The Z key / C key / o button lets you dash.

Have fun and tell me what you think!

You can check out the game on itch.io too!

P#23959 2016-06-30 11:08 ( Edited 2016-07-06 18:40)

Cart #22301 | 2016-06-05 | Code ▽ | Embed ▽ | No License
8

Draw things with explosions!!!

Based off the original concept of Shodo by Oinariman (check it out it's an awesome cart!) and put closer to my own style!

You can save your creation by pressing tab but you can only reload it by resetting the cart.
All the other controls should be shown in-game!

Have fun and do share your creations! :D

P#22302 2016-06-04 20:33 ( Edited 2016-06-08 05:55)

Cart #21736 | 2016-05-30 | Code ▽ | Embed ▽ | No License
17

Ever wondered what being a space weapon engineer feels like?! Wonder no more and be one in Gears of Gear!!!

This isn't a game! It's a toy!! Make cool stuff happen with gears!

Controls are on the title-screen.
The different types of gears modify the behavior of the canon on the bottom half of the screen when they are connected and spinning. Having several gears of the same type does increase their effect.
You can access the trunk by pressing Z at the top of the screen.

This is about 40% of what I originally intended to do for p8jam2. But then life and bad organization happened and I had to improvise to get something somewhat finished.
I wanted to make a shmup and I'm still going to do it (probably) so consider this as a demo or a prototype or something!

Secret feature: press z, x, left and right at the same time (or just tab) and the current gear set will be replace by a randomly generated one!

Have fun!

edit: Made trunk more obvious, fixed a bug and added p8jam2 tag. :x
ecit2: fixed bugs with the random gear set generation.
edit3: just written two more sentences in the description for peeps who don't get what's happening. ;)

P#21631 2016-05-29 13:30 ( Edited 2016-06-21 15:02)

Cart #20961 | 2016-05-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
13

CHOMP

Chomp is a Pico-8 game were you have to chomp down pellets and other fruits as they keep coming faster and faster!
Unlock the two harder modes by reaching 10000 points in the previous mode!

In menus, use circle and cross keys ('z' and 'x' on keyboard) and the arrow keys to navigate.
Once a game launched, press any Pico-8 button to CHOMP.

The game is controller compatible.

Do share your highscores as well as what you think of the game in the comments! :D

If you really like the game, please do consider supporting it on itch! All income goes into making more games!!

P#20963 2016-05-20 22:23 ( Edited 2016-05-25 03:05)

Cart #20262 | 2016-05-07 | Code ▽ | Embed ▽ | No License
15

CRASH THE CAR!! BY ALL MEANS! CRASH IT!!! AGAIN!!

The arrow keys control the car! That is all the controls!!!

This is the sequel to CRASH!.

The music was made by the talented Pizza!!!

Have fun, show end-screens and tell me what you think!!!

If you like the game, please do consider supporting it on itch.io!! : )

P#20267 2016-05-06 23:08 ( Edited 2016-05-08 21:59)

Cart #19792 | 2016-04-14 | Code ▽ | Embed ▽ | No License
5

Have you ever dreamed of a pizza-lover-only society? Now you can make it happen!

A tiny god-game simulating modern society.
Not actually a game, a toy rather. The only goals you have are the ones you set yourself!!

CONTROLS:

On BOARD mode:
arrow keys alone: select a different micro-society member
Z: inspect selected micro-society member, learn about him/her and enter MOVE mode.
X + left or right: control time.
X + down: clear logs.
X + Z: display stats of your micro-society.
X + up: ???

On other modes:
Z: either confirm or go back.

On MOVE mode:
arrow keys: move selected society member across the board to change his/her and the society's life dramatically (maybe).

A toy made for #LOWREZJAM 2016!

Make your micro-society great again or for the first time!

P#19794 2016-04-14 15:47 ( Edited 2016-04-14 19:47)

Cart #18258 | 2016-01-13 | Code ▽ | Embed ▽ | No License
13

CRASH THE CAR!! BY ALL MEANS! CRASH IT!!!

Directional arrows to control the car. That's it.

There is a total of 20 levels and they should be rather quick to finish.

This game was supposed to be made in 4 hours as a personal challenge but I liked it so I took my time and finished it in approximately 5 hours and 30 minutes.
This is also the first time I do not-procedural level design so please do tell me what you think about that and all the rest!

The collisions are broken. I am aware of it.

Have fun!

P#18253 2016-01-12 19:05 ( Edited 2016-02-01 21:37)

POST-JAM VERSION:


Cart #17367 | 2015-12-01 | Code ▽ | Embed ▽ | No License
12

PANPANPANPANPANDIEDIEDIEBOOMS#!TAGAINPANPANPAN (yea it's an explosive bullet hell)

I STRONGLY suggest you put some epic music in the background. Here is the LUFTRAUSERS OST for example.

left and right arrows to move left and right.
up and down to change weapon (when you have several).
z to shoot, x to hold aim.

JAM VERSION:


Cart #17234 | 2015-11-30 | Code ▽ | Embed ▽ | No License
12

A game actually not about actual rain!
You could say I coded the bullet-hell out of the theme of that jam! Get it?!

21060 characters over 1419 lines, for 8156/8192 tokens. Before you ask, yes I did hit the token limit during the development... Yes, more than once.
I am genuinely surprised I could finish it.
Any bug or design flaw is totally intended.

HAVE FUN!

Post-jam version changes:
-fixed a whole lot of bugs and typos.
-added actual level design (made winning the game doable too).
-improved end screen :p.

That jam was cool.

edit: POST YOUR SCORES PEOPLE!
edit2: The boss (at the last 100mm) is actually reachable. My advice: shotgun is OP, use it.
edit3: Post-jam version.

P#17217 2015-11-29 19:09 ( Edited 2015-12-14 19:39)

Cart #16790 | 2015-11-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

GO TAKE A LOOK AT THE MAIN THING, IT'S AN ANIMATED GALLERY OF TREE GROWTHS GENERATED WITH THIS CARTRIDGE BUT LESS RANDOMIZED.

Rerun the cartridge to generate another tree - that's the fastest way to empty memory.

I made this for procjam, kinda late. It generates a tree over time using linked arrays as branch data. Each branch is updated individually when going through the whole branch data tree, linked array to linked array.

You can download the cartridge modify the parameters in the beginning of the code to unrandomize the generation. A set of different palettes is also there, uncomment one to use it. Don't forget to comment the "randomize()" line in the _init() though.

Have fun generating trees!

P#16791 2015-11-20 07:15 ( Edited 2015-11-20 18:55)

Cart #16613 | 2015-11-13 | Code ▽ | Embed ▽ | No License
19

On this quiet and endless night, the TETRATON will unleash its potential and attempt to survive this technological challenge where it has to change its weapon module the biggest number of times while being attacked by enemy ships!! WILL THE TETRATON MAKE IT TO THE END?!?!
No it will not. The night is endless.

A shooter inspired from LUFTRAUSERS and Super Crate Box.

'z' and 'x' rotates the TETRATON.
Directional buttons shoot (and propel) in involved direction.
Get to crate ball to change weapon and get a point.

16 different weapons.
Double parallax.
Lots of bullets.
Quick deaths.
Quick retries.
Palette randomization.
Not very good soundtrack but hey I tried.

Post your scores and please do tell me what you think!

If you really like the game a lot, you can also support it on the Itch.io page!

P#16534 2015-11-11 08:05 ( Edited 2015-11-13 19:07)

Follow Lexaloffle:        
Generated 2021-05-14 20:47:39 | 0.093s | Q:54