Log In  

BBS > Superblog
Posts: All | Following    GIFs: All | Postcarts    Off-site: Accounts

Cart #38515 | 2017-03-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
306


At last, Nanoman!

Basically, a fan game heavily inspired by the early Mega Man series that I started working on a few months ago. A big thanks to Gruber Music for stepping in during the final stages and providing some great tunes for the 6 different levels!

If you're already a fan of Mega Man, you should feel right at home here. For the un-initiated, here's a breakdown of the controls.

  • Arrows: Move (of course)
  • Z: Jump - Tap for a small jump, hold for maximum height
  • X: Fire / Menu select
  • L-SHIFT: Open weapon selection menu. You'll have just one until you defeat some bosses
  • If you're sick of a level, you can return to the stage selection screen through the PICO-8 pause menu (ENTER)

You'll often come across life (white glowing orbs) and energy pods. The energy pods will re-fill your special weapons, but you'll need to have the weapon you want to re-fill selected before you pick it up.

Warning:
This game is HARD. Like, Mega Man hard. Expect to die a lot until you start to memorize stage layouts and enemy patterns. The game is indeed beatable; I've run the whole thing myself a few times. It takes about 15-16 minutes if you're in a hurry and don't die. I plan on making a full play-through video soon. There's a handy, built-in timer for you speed-runners out there that'll show up at the end of the game.

Developers:
The code in this cart has been squashed with p8tool's luamin command. This was necessary to get this beast of a thing in under the compressed file size limit. Don't expect anything legible by clicking the code link. I'll see about posting the un-compressed code somewhere.

This is my first full-blown PICO-8 title. Some of the code is rather ugly; partly because early on, I was unsure of how best to save space, and partly because I had to utilize every token-saving strategy under the sun. I've done my best to comment the un-compressed code so you can follow what's going on.

The map data was generated and lightly compressed by external map editing carts (one for each level) and jammed into strings; there are 76 "screens" in all. The last level is also a string, but it's copied from map memory into a string at runtime, because the compressed file limit said I had to do it that way. I hope to do a write-up on just how I handled all of that soon.

That's about all my fried brain can think of at the moment. Enjoy!

Edit: I can't seem to upload anything to my profile here other than images, so I've uploaded the un-compressed cartridge data to github: https://github.com/flimflamboyant/NanoMan/tree/master

306
38 comments


Hey guys,

I am new to programming in general and started coding with the Pico-8 a few days ago. I did read/watch a lot of tutorials and got some small "games" already working. I want to take it slowly so that I understand what I am doing. My main goal is to program a simple jump'n'run game.

Now my questions is: Is it possible to add certain things (modules) to my existing code (basic movement with walking animation) or do have to to re-code everything when things get more complicated? I am asking since I did two tutorials. The first one did movement like this (example for left button)

 if(btn(0)) player.x-=player.speed

Then I read another in the fanzine #2 where movement was done in a way I could not follow. The author used different states for walking, jumping and being idle. The whole thing was called "finite state machine".

Now I am unsure about two things: Does the first approach allow jumping, falling, etc or do I have to work with the states? Secondly, I would like to add things like particle effects or shooting bullets to my game. Can these (and other) modules (do not know if that's the correct expression) be simply added without having to re-code everything?

Tl;dr:

  1. Can things like jumping, falling etc. be added to the abovementioned example for movement?

  2. Can modules like shooting bullets, particles, enemy ai etc. be simply added to the existing code or do they need a whole different "frame" each depending on how they work?

I hope my questions are clear and they are not too nooby. Thanks in advance for your answers.

1
4 comments


Cart #38504 | 2017-03-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3


Hi there! Here is my second project. I got a bit burned out on the first one and thought to do something smaller.

No matter the height you're always safe with a haystack somewhere around. So aim for the haystack :) Hope you enjoy.

Also any suggestion how I could make the landscape more interesting? I tried to generate randomly colored circles but it looks kinda weird.

3
1 comment




0 comments


Cart #38866 | 2017-03-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

A game to help preschoolers learn about bees and game development!

Go find the flowers, and then report back to the hive, so the other bees know where to go.

Player 1: Arrow Keys
Player 2: ESDF

3
1 comment


Cart #38485 | 2017-03-21 | Code ▽ | Embed ▽ | No License
8

Anissa is an elf girl with a knack for thievery. Upon entering a mysterious castle to claim it's treasures, she finds tough Bison Knight guards galore! Armed with only a grappling hook, Anissa must sneak past the guards by hanging on the castle's many chandeliers to claim her reward.

Use your grappling powers and your pathetic jump to avoid the enemies, and steal the treasure at the end!

Features

  • Randomly generated terrain every time you play!
  • Collect coins to buy health potions from shops
  • Use your grappling hook to grab on to and hang from chandeliers!​

Tips:

  • Don't let go of your grapple until you're ready to jump down!
  • Collect coins for potions!
  • Drink potions for extra lives!
  • Shops are checkpoints!
  • The game gets harder as you get closer to the end!

Dev:

  • For the extra bonus point, the code is under MIT, and the art is under CC-BY-3.0!

This game was made in two days for the #linuxgamejam2017.

This game was made using the Pico-8 fantasy console with version 0.1.10c.

License

  • Code is under the MIT
  • Art is under CC-BY 3.0 (Ricky Crespo)
8
2 comments


Granted, I'm a novice to both Lua and PICO-8, but when I was able to get down to the core of what was throwing the out of memory error (after a few hours), I was astounded.

This one line will eventually exhaust all memory:

WHILE TRUE DO END

The question is...why?

Rodney

8 comments


Cart #38445 | 2017-03-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

I've been looking for a way to keep graphical effects in sync with music. This cart is my attempt to implement a "phase-locked-loop", which keeps time going smoothly forward while making small corrections to adjust for how the music has progressed.

It seems to work well, though it freaks out for a bit if you click outside the window or the framerate changes for any other reason.

3
0 comments


First game I've finished ever, first cart submitted for PICO-8 ^_^.

This game was created to be a submission for the #MagazineJam :https://www.lexaloffle.com/bbs/?tid=28950

The final cart has exactly 100 lines of code, 0 sprites, and only uses 5 sound patterns (2 for effects and 3 for music)

Game Details:

-Earn points by surviving longer
-Earn +50 points per second by flying your ship in reverse
-An additional asteroid/rock is added every 600 points
-Max and min speed are capped

Collisions for the asteroids/rocks can get a little buggy because of the way I implemented collision-detection and screen-wrapping. If any asteroids get locked up on each other, just wait for another one to bump into them; that usually shakes 'em loose ;).

Please comment and let me know what you think! Constructive criticism, please ;). I'm open to all feedback and suggestions! I had to adjust my original design of the game, in order to accommodate the constraints of the challenge, so I branched a file off of the main for the MagazineJam submission, and plan to return to the original design and get it fully fleshed out.

Thanks for taking the time to play my game!

[ Continue Reading.. ]

2
3 comments


Cart #38440 | 2017-03-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
261

Introducing Pico-8 Tunes Volume 1!

A collaboration between myself (@gruber_music) and @krajzeg, who did all the coding and animations.

The idea was to create a cart with music that others can use in their games, so please feel free to do so!

About the music: I wanted to challenge myself and see how much music I could pack into one cart. There are 12 tunes here. Each use only 2 channels, and take up 4-6 SFX slots.

Hope you enjoy!

261
41 comments


Cart #38613 | 2017-03-23 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
178


(please note: you can eat the fruits to heal yourself)

Will you enter the dungeon? Will you survive? Will you make fat stacks of $$$? Will you transform Gar's Den into Player's Den???

Here's what's on the dungeon's pamphlet:
-> Enter Gar's lair
-> Destroy his minions
-> meet the shopkeeper
-> plant your garden
-> ???
-> profit
(-> ???
-> kill Gar)

Controls:
[o]/z ~ action + slash
[x]/x ~ inventory navigation (hold, then use arrows)
[arrow keys] ~ move around

This is my entry to 7DRL! Or at least it would be if I actually had done it in 7 days. I took 14 days instead. (a third of them was spent on saving tokens)

[ Continue Reading.. ]

178
25 comments


Cart #39944 | 2017-04-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

More particles in this doodle. It's been a long, rainy winter. I thought I'd celebrate it with a nice little doodle.

Cart #39569 | 2017-04-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Believe it or not, this is almost the same code as doodle #5, just with more particles. I really enjoy watching this hex-a-blob crawl across the screen.

I made the fade out a little nicer by using the darker colors from @krajzeg's lighting tutorial. https://hackernoon.com/pico-8-lighting-part-1-thin-dark-line-8ea15d21fed7

Cart #39463 | 2017-04-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

[ Continue Reading.. ]

2
0 comments




I decided to add a bit of visual variety to the background and added some procedural dithering based on Trasevol_dog's work. I'm hoping to combine this with cellular automata once I've learned how to control that a bit better. Then maybe add some motion so when you slide a tile in a direction, it causes the whole puzzle to lurch to the side and the background cellular automata to change with that movement.


[ Continue Reading.. ]

4
2 comments


Cart #38416 | 2017-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

It's going to be an open world :-)

0 comments


Cart #38409 | 2017-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

BIRDSTAR

A pico-8 commentary on climate change, futility and memory manipulation for the Linux Game Jam '17.

You can play it on itch.io here, or on github here with a plainer background. The source is freely available from github.

This cart was mostly just the result of me learning how to mess around with memcpy() -- it turns out that you can do some pretty fun stuff this way. The reflection at the bottom of the screen is created by grabbing part of the screen from memory and overwriting later addresses, in reverse row order. The 'ripple' is done by literally writing to addresses which are further ahead or slightly behind of the normal translation.

I wrapped this up as a very simple game, because I couldn't find an actual working example of a technique like this around the pico 8 community (though I found a couple of .gifs of other peoples' projects, so I knew it could be done). In the end I got a code snippet from the lexaloffle forums that I hacked a bit to do my thing:

mirrorcpy(0,128-32*2+1.5*sin(tick/60),0,128-32+1.5*sin(tick/60),128,128-32+1.5*sin(tick/60))

[...]

function mirrorcpy(sx,sy,dx,dy,w,h)
    if (sx+w>128) w=128-sx
    if (dx+w>128) w=128-dx
    if (sy+h>128) h=128-sy
    if (dy+h>128) h=128-dy
    w = w/2
    sad = 0x6000+flr(sy)*64+sx/2
    dad = 0x6000+127*64+dx/2 -- reflect
    for y=1,h do
        memcpy(dad,sad,w)
        sad+=64
        dad-=64-sin((y)/8)*cos(tick/64)
    end
end

[ Continue Reading.. ]

3
1 comment


Not really sure if this was mentioned anywhere, but I thought it might be useful for anyone who wants to make use of vector math, specifically calculating the length of a 2D vector, while minimizing the risk of overflow.

Because the sqrt(32767) ~= 181, it is easy to overflow when using the textbook equation for calculating vector length:
len = sqrt(x*x + y*y)

To derisk overflowing when squaring the terms, you can first scale down the vector's x and y components:
m = max(x,y)
x = x / m
y = y / m

then scale the square root of their sums:
len = sqrt(x*x + y*y) * m

Lua code (simplified since one term will always == 1):

function length(v)
  local d = max(abs(v[1]),abs(v[2]))
  local n = min(abs(v[1]),abs(v[2])) / d
  return sqrt(n*n + 1) * d
end
8
14 comments


Cart #38547 | 2017-03-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

The game

Inspired by my memory of the Oregon Trail hunting mini-game, shoot haunted home appliances to release the spirits inhabiting them in this game. With 10 levels and 10 bullets each, each hit reduces the haunted percentage by 1%. Don't let the appliances touch you or your hunter will run scared from the level.

Older versions

Cart #38402 | 2017-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1


Cart #38396 | 2017-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
1 comment


Cart #38385 | 2017-03-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Blast the poop into the toilet!

Art & Design by Everett (4)
Code by Chase (34)

1 comment


Cart #38514 | 2017-03-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
30

V2 has several improvements based on great community feedback:

  • the "Invert Y axis" setting is saved in cart data
  • the player may not flee the battle area to wait until the shield and lasers are repaired
  • Enemies are more aggressive, some will follow the player
  • Introduce faster TIE/IN interceptor to ramp up the difficulty
  • Minor improvements and bugfixes to game over screen and game state management

Cart #38375 | 2017-03-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
30

[ Continue Reading.. ]

30
9 comments


Cart #38370 | 2017-03-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
10

Happy Saturday!

This is an attempt to create a faster falling sand simulation (60fps) by reading and writing directly to screen memory. All pixels / sand particles are active at all times.

I was inspired by Helado's Tiny Terrarium and Axnjxn's Falling sand.
https://www.lexaloffle.com/bbs/?uid=10783
https://www.lexaloffle.com/bbs/?uid=23000

I'm writing 1X2 pixel blocks in order to work directly with bytes and avoid bit-masking to address individual pixels. Then, I am using the display mode hack ( poke(0x5f2c, 2) ) to stretch the vertical scale of the display by 2X without requiring me to write any more data to screen memory.

-Electric Gryphon

10
2 comments




Top    Load More Posts ->