8th Knight

My 8th #TweetTweetJam entry is:  8th Knight ðŸ†
An attempt to create a challenging platformer in just 500 chars, NO art assets!

OBJECTIVE

Join Sir Bounce-a-lot on a quest to find the Holy Grail 🏆
...through a treacherous dungeon filled with moving bricks +brimstone! 🔥

CONTROLS

  • ⬅️➡️  = Move
  • ⬆️       = Jump

FEATURES

  • 🎲 20x (Consistent) Procedurally-Generated, Multi-Level Dungeons
  • ️🎞️ 60 FPS Gameplay
  • 🍎 Dodgy Collision & Physics
  • 🌈 Multi-Coloured Dungeons (inc. "Secret" PICO-8 cols)
  • ️♻️ Auto-Restart on Death (and Win)

TIPS

  • You can jump off walls/platforms to reach higher places
  • Control your descent by pushing against them to do "wall-slides"
  • There is a "secret" (unintentional, but useful) level skip ability
    Can you find it? 😉

SOURCE CODE (500 chars)

x=9y=0v=0l=1z=127♥=4r=rnd?"⁶!5f10▒ˇ⬇️🐱█😐●⬅️♪░789"
function _update60()srand(l)c=l%5cls(c)d=c+5for i=9,75do?r{"█","◆"},r(z)+sin(t()/i),r(z),r(z)<l*2and 11or d
end
rect(0,1,z,126,d)for i=0,18,2do
rect(1,i*8,126,i*8+15,d)?"█\*o \|w█",8,i*16-z-3,c
end?"⧗",8,(21-l)*z-3,12
b=btn()if(b&4>0and v==0)v-=1
x+=b\2%2-b%2y+=v
v+=.05g=pget(x,y)if(g>c)v=0y,x=m,n
if(g>10)cls(g)x=9y=0v=1♥-=1
pset(x,y,10)if(y>z)l+=1y=0
?l,3,3
?"…",2*♥-7,7
n,m=x,y
if(♥<1or g>11)print("⁶j8d⁶w⁶t⁶dfyou "..(g>11and"win"or"lose"))run()end

Updated 15 days ago
Published 20 days ago
StatusReleased
PlatformsHTML5
Rating
Rated 4.4 out of 5 stars
(7 total ratings)
AuthorPaul Nicholas (Liquidream)
GenrePlatformer
Made withPICO-8
TagsPICO-8, tweettweetjam

Comments

Log in with itch.io to leave a comment.

(+1)

Amazing, I haven't seen anything else like this before in these Pico 1k jams or tweet-tweet-jams.
The color shift on each level really provides that little bit of incentive to keep going.

Thanks a lot for the kind words - glad you enjoyed it 😊

(2 edits) (+1)

Excellent job fitting in so many functional mechanics. At first I thought sticking to walls was just a bug, but it's very useful. I've personally never been able to jump well using the up button, so I changed "if(b&4>0" to "if(b>31" to switch it to X and it works great.

(+1)

Thanks!
Yeah, TBH the wall-slide/grip "feature" was one of those happy accidents where by not fixing it immediately, I noticed it became very useful.
(I guess I should prob also state that in the features list also - doh!)
Thanks also for the neat code suggestion. I preferred the (cardinal sin of) UP=Jump when on keyboard - but noticed much later that this was quite unfriendly to mobile playing!, So I may end up changing this at some point.

(1 edit) (+1)

I love the lives system, and the way that every player plays the same finite set of levels, rather than framing it as an infinite procedural generator – makes it much more compelling to me. I died on level 18 but I might try again later…

the spike at the start of level 15 is nasty! can you push it to the right a few pixels please? ;)

that “feature list” is really funny to me, because they seem small but they are genuine features; I wish I’d been able to fit them into my entry!

finally, here’s a puzzle(?) for you:

(4 edits) (+1)

Ooh, good point - I always forget to make the point that the procgen is consistent, rather than random (I'll update the "features" list 😉).

Yeah, that spike is unfortunate - but alas, seemed the lesser of two evils for an overall "okay" procgen seed (psst... the reason it has 20 levels is coz the procgen for levels 25/26 became pretty impossible to complete!)

As for your puzzle - haha... BRILLIANT! 👏
I'm assuming that "rocket jump" is due to me needing to remove the "don't let player.Y < 0" check, due to lack of chars? 😉

If so... here's my replication of that puzzle (spot the extra "life")...



P.S. - It's also possible to "miss" the Holy Grail at the end and fall down to level 21
🤫

(+1)

congrats on the release! nice game but, must say, quite oppressive. maybe not like jumping jack hardcore classic but in a more creeping way. marvelous packing.

Thanks Rostok.
I agree - this one is not particularly friendly to all. I was hoping to fit in a difficulty selector (Easy/Med/Hard) - but quickly realised that wasn't gonna fit. 😅
Thx again!

(+1)

:O

I'm completely astounded that this fits into a TweetTweetJam entry. I made it to level 11 before losing all my lives to a particularly nasty enemy, and honestly, if you hadn't told me that these levels were procedurally generated, I would have thought that they were hand-made, from how balanced it is. Bravo, Paul!

(+1)

Thank you so much for this lovely message, Andrew. I'm so glad you thought the levels felt that way - I tweaked a lot with the balancing of the procgen to try to get it to feel that way. So it sounds like it was worth the tinkering. Thanks as always for hosting this jam - was an unexpected (but delightful) surprise! 

(+1)

Glad to host. :)

My own life is getting more normal and consistent now, so hopefully TTJ can be more predictable going forward! I feel like the level of participation is at its best with an annual schedule, so that's likely what it'll be from now on.