Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

[Devlog] Worst Case Scenario (PICO-8)

A topic by Komrade_Konrad created Jan 08, 2017 Views: 1,448 Replies: 20
Viewing posts 1 to 14
Submitted(+4)

This is my first solo game jam and my first time using PICO-8 (currently in a Humble Bundle for 2 more days), so I'm excited to see what it can do. I expect this will be updated infrequently, but I'll try to stay on top of it. Because PICO-8 has easy .gif export functionality built in, I expect most of my updates will be .gif based. I also have some experience with GameMaker 1.4 if anyone completely new is having problems with that.

---------------------------------------------------------------------------------------------------

Idea - Top-down puzzle/adventure game

Goals - Get a working prototype for a concept I'd like to flesh out more

- Make my first ever soundtrack

- Get a feel for the limitations and features of PICO-8

---------------------------------------------------------------------------------------------------

- Day 1 -

I really like the limitations imposed by PICO-8. I think it will help keep scale in check and make sure that I design efficiently. I also really like that all the necessary tools are built in like sprite and music editing.

Made a handful of basic 8x8 sprites. The color palette limitation of PICO-8 is making things more difficult than I previously expected. I could really use another green shade.

Having to code most functions from scratch is very useful although somewhat confusing/time consuming. Looked at a few code examples, but trying to write everything from scratch without help for the full experience.

Wrote an animation function (and it works even), so I'm pretty excited by that.

Played around with the music tools for a few minutes. Haven't made anything that sounds good, but I know how it works now.

Got a demo map up and running. Collision is probably next on my list of things to do.




I also purchased the Humble Bundle just to get my hands on PICO-8. :)

Host

^^ same i've been meaning to mess around with it. these sprites + the mapping is looking like a pretty good start!

Submitted

I'm excited that I'm not the only participant going with a PICO-8 entry. Really excited to see how this turns out!

Submitted(+2)

PICO-8 is definitely pretty fun to play around with and makes an excellent console for game jams. Good to know I'm not the only one making a PICO-8 entry! If anyone sees content in my GIFs that they need help replicating, feel free to ask and I'll do my best to help. This is my first go with PICO-8 though, so I can't guarantee the way I'm doing things is a good way to do them. Looking forward to seeing what other people can do with it.

- Day 2 -

Awesome Games Done Quick is on in the background.

Collision got put on the backburner, so I could get my camera tracking working. Didn't feel like actually thinking all the math out, so I half brute forced the logic of it. As far as I know it works though!


Collision is up next for real this time.

Submitted

I am LOVING that cat in the tree.

i've also been meaning to give PICO-8 a try and omg this is making me so excited, it looks like a ton of fun! also seconding the love for that kitty in the tree! it's a nice touch that makes the environment extra lively.

Submitted (1 edit) (+1)

Thanks all, for the support! :D

- Day 3 and 4 -

Played videogames and watched AGDQ. No progress >.>

-----------------------------------------------------------------------------------------------------

- Day 5 -

Got rudimentary collision detection functions implemented. It doesn't currently stop objects from colliding (that's next and won't be too bad as I've done it before in other languages). I'll put up the next GIF once I get that working since, there's nothing *exciting* to show otherwise. Currently putting off coding a more efficient method of object inheritance and multiple object collision checks as it will likely require a lot of refactoring and will make me sad.

-Public Service Announcement-

If you are looking for PICO-8 examples of collision code, do NOT use collisions.p8 on GitHub by Cauli. No offense to him/her, but the code is just plain wrong. Multiple instances of functions would not work as intended or at all due to typos or poor implementation. I spent about half an hour looking at it trying to see if it was maybe a more efficient method than what I was doing only to conclude that it would always return false as written.

Submitted

Will you be sharing your cart when you're done? Would leave to see the code!

Submitted(+1)

Definitely! I don't know that I've written things in the most efficient way, but I intend to put it out there for anyone else who's interested in seeing what's under the hood.

Submitted (3 edits)

- Day 6 -

Started working with the music editor and its definitely difficult to get a sound to translate from my head into chiptune form, but I'm getting a bit better at it. Hope to have 2 simple tracks in the game (one slower and one faster) by the deadline.

Refactoring movement and camera code seems to have caused some unexpected problems >.>


For whatever reason, pressing the up button causes it to crash due to a memory error?? I've looked through the code a few times, but I don't see anything different between how I've handled the 4 movement directions.

-Edit- Found the problem. Apparently when I cleaned up the code I missed a call that caused an infinite loop. The reason I missed it was because it was hidden waaaay to the right due to spacing and the small PICO-8 screen size.

- Update -

Got the fundamentals of predictive object/object collision working right now after a little initial jankiness. Used up about 1/10th of my programming memory, so not too bad. Next up is object/map collision!



Does anyone know how to write functions with optional arguments in PICO-8 or if it's possible?

Submitted (2 edits) (+2)

- Day 7 -

Tons of progress! Got map collision detection working where all I have to do is check a box on the sprite to make it solid. Refactored my camera code to stay on a subsection of the map. Also finally got around to building a framework for handling all objects which was actually a lot easier than I expected due to the way tables are handled, which makes inheritance super easy. Lastly, I got animated map tiles working with another simple flag, and I think it's coded pretty efficiently even.



The only problem that's kind of important to figure out is I have a crash if I hit a corner with a pixel-perfect diagonal collision, so I'll be digging though the collision code a bit. Up next is actually coding puzzles and events for the game portion, but I'm pretty pleased with the framework I've built so far :D

-Edit- turns out the crash was likely caused by some rounding errors in the collision check that led to an infinite loop, so I added a timeout to the command that appears to fix the issue while keeping collision working as it should.


List of features to work on in week 2:

sounds/music (effects, plus 1 chill song, 1 action song)

player object interactions

2 rudimentary puzzle options

2 cutscenes

Splash page/Death screen/Win screen

Submitted

I'm really digging the visual gusto you've got going on here. The animated tiles are a particularly nice touch.

Submitted(+1)

Thanks! I was glad that I figured out how to make the animated tiles work the way I wanted them to although I'll have to add extra support for anything more than a 2 frame animation.

(+1)

I just wanna say that I love your walking animation SO MUCH. Just look at those legs!

Submitted(+1)

Haha thanks! I tried to make it as ridiculous as possible (Ministry of Silly Walks style) to give things a bit more character.

Submitted (2 edits) (+2)

- Day 8 -

Nothing

- Day 9 -

Got a ton of behind the scenes stuff done to handle the mechanics and puzzles for the game which mostly involved rewriting the way player/object interactions were handled. Decided on the "puzzles" that I want the game to have. I say "puzzles" because they're really just take object A and use on object B type things. Got pickup and drop commands working (shown below) as well as a nice system for automating scene transitions, so really the next big thing to do is to code the rest of the object interactions and some cutscenes.

Hoping to have a version 1.0 up in a couple days for public testing and then refine that until the deadline.


-Update-

It's definitely possible I messed up somewhere


Submitted (1 edit) (+1)

- Day 10 -

Got all the gameplay and cutscenes done, so I'm going to release a test version for people to play with here:

http://www.lexaloffle.com/bbs/?tid=28613

All that's left is to add the sounds/music. Will look into getting this submitted here/through itch.io, but I have a headache atm, so will deal with it later.

Please check out the game and let me know what you think and definitely call out any bugs you may find. Thanks!


-Update-

Game is now submitted with an itch.io page! This version includes a fix for a bug caught by GlitchThief.

https://komrade-konrad.itch.io/worst-case-scenario

Submitted(+1)

A clever game, with some devilishly funny ends. The only bug I noticed is that if you restart after getting the cat or dying, the door to the west remains open (though you cannot cross the threshold).

Great work, Komrade! Looking forward to seeing it with sound!

Submitted(+1)

Thanks! Nice catch with that bug. I know how to fix it and will patch it (hopefully with sound) soon!

Submitted

- Day 11 -

Lost power, so no progress.

- Day 12 -

Possibly my final entry. I've added music and SFX, fixed a bug, and added a little bit more polish to the game. With that, I think I have accomplished all of the goals I set out with:

- I have a finished prototype with all the systems I had planned on

- I made my first soundtrack

- I definitely got a good feel for using PICO-8 and am excited to work on more projects with it

While I would like to work on the sprites, animations, music, and effects more, I am very proud with the product I have right now and given that I'll be very busy this weekend with work, I think this may be the latest version. Feel free to download the source files if you're interested at looking at it (attached on the game page at the bottom). Thanks for reading/playing and good luck on your own jams!

https://komrade-konrad.itch.io/worst-case-scenario