You can support the development on the Github Sponsors page.


Games > 8 BIT PANDA


A panda platformer
made by Bruno Oliveira
uploaded by btco
added:
download cartridge
- CLICK TO PLAY -

164


8 Bit Panda is a classic-style platformer for the TIC-80. You can move, run, jump and get powerups (and occasionally fly planes!). It has 17 levels distributed across 6 major areas (isles). Each area has different enemies and difficulty. The game is saved every time you complete a full area (after level 3 of each isle).

This project is open source and available at:
https://github.com/btco/panda

Follow me on twitter: @btco_code (http://twitter.com/btco_code)

Comments


trelemar

This is really well done! I can see you put alot of time into the world map and menu screens. It really helps make this game shine.

btco

Thanks! It was fun to build :) I almost ran into the 64k limit for code, I'm at 63.5kB!

StinkerB06

How do I move to the next level?

StinkerB06

What part of the code is the number of lives the player starts with?

btco

Line 564 defines the # of lives you start with. Also, there's a cheat code (hold A, then press up 4 times, then 2 twice), it will take you to a debug menu where you can choose "end level" :-)

btco

Sorry, I mean "hold A, press UP 4 times then DOWN twice".

BMyers

I just want to say, this game is great, good job! I really hope you make other games.

AlRado

Good job!

Jackj106_Games

pro tip:
i would use a system like this to make the jumps:
jumpspeed=4
if jump==1 then jumpy=jumpy+jumpspeed jumpspeed=jumpspeed-0.25 end

this makes the player have a more realistic trajectory, as it makes it slow down at the top and speed up as it falls


btco

Thanks!

Has anyone managed to beat the game yet? What level are you on? I'm curious if I made it too easy or too difficult.

Kolp4k0v1ch

Good game man!

Tonic

Okay, we have super mari... I mean 8-bit panda. Now waiting for legend of zola full version.

Matheuz700

Incrível, você é um bom criador de jogos, estou no 3 último nível

btco

@Matheuz700: Ah, sim o 3-3 e' meio dificil, depois vem o mundo 4 que e' divertido, tem avioes. :)

StinkerB06

How the fuck do I remove every single enemy in the ROM?

StinkerB06

How the fuck do I remove every single enemy in the ROM?


StinkerB06

How the fuck do I remove every single enemy in the ROM?


btco

@StinkerB06: If you want to remove the enemies you can go to the map editor and replace them with the empty tile (0). But what if what you want is to be invulnerable to the enemies, there's an easier way: do the debug menu cheat code (hold A, press UP 4 times then DOWN twice), then select "Invulnerable" and press Z. Then close the menu. You will be invulnerable to enemies. But can still fall into pits, so watch out!

StinkerB06

But what point of the game do I go to to enable the cheat code anyways?

Jackj106_Games

@btco, are you going to make your 3d rendering engine available to the public? (i know this is unrelated to this game but i dont have twitter so...)

Moico100

Terminei todos niveis demorou um pouco parabens melhor jogo na minha opinião amo mt esse jogo

Moico100

Deixei meu joinha :)

btco

Yeah, when the 3D rendering engine is stable I'll post it here!

btco

@Moico100: Obrigado!! Parabens por terminar o jogo!

Matheuz700

@ Btco you have other games, if you have other games could show the links thanks :)

btco

I'm working on another game, a 3D FPS, here's a GIF of it: https://twitter.com/btco_code/status/908521605038473216
I'll share it here when it's ready.

Moico100

Enjoyable !!! I like this gif also let me know when it's ready @btco you're good when it comes to creating games :)

Moico100

I'm going to give a taste :)

LlamaLlord

There's seriously a reason why this is the number one game right now! This is amazing!!!

Spacebyte

Really cool game, how much time did you spend with?

Spacebit

Really cool game, how much time did you spend with?

btco

Thanks everyone :-) @Spacebit: I spent about 4 weeks (nights and weekends). About half the time was designing and play-testing the levels. The engine itself was mostly ready in about 2 weeks.

StinkerB06

Will you represent keys Z X A S as buttons A B X Y?

btco

Yeah, this is a bit confusing for people playing the game on mobile. All the keys reflect the desktop key bindings. Hmm maybe the TIC API should have a way to detect what the controls are, so that the right keys could be shown on the screen. I'll see what I can do.

oohun

hey btco plz give me some cheats

btco

@oohun: To get to the cheat menu: hold A, press UP 4 times then DOWN twice. This will open the debug menu, where you can get invulnerable, fly around the level, warp to arbitrary levels, etc, etc.

gemSquared

Wait... so this guy even adds a cheat code to his already amazing game... * facepalm * Why didn't I think of making a warp command... debugging would've been so much faster xD

btco

The cheat codes were there since the beginning, that's how I debugged stuff. I also have "editor-only" code, stuff that only gets triggered through the debug menu to help me with level editing (packing and unpacking levels, for instance). I think having a debug menu since the beginning helps a lot with development.

BabyGhast6

lol best game


Moico100

@btco você é brasileiro?

btco

@BabyGhast6: thanks!!
@Moico100: sim, sou brasileiro!

StinkerB06

Ornitorrinco

Me ensina a criar um jogo
Ou faz um vídeo pro YouTube

StinkerB06

For people who are used to gamepad buttons ABXY instead of keyboard keys ZXAS

Hold X, then press up 4 times then down twice.

StinkerB06

I covered the Level 1 theme on Atari PoKey: https://www.youtube.com/watch?v=HgXDGv1yRV4

snrf

Very nice, but jumping is a bit floaty!

btco

True! A lot of people brought this up. It's too late to fix now but if I ever do 8-bit Panda II, I'll improve the jump :) Maybe use acceleration on the way down.
PS: the reason I didn't do it is because I use the fact that the player falls only 1 pixel/frame as a hack for a bunch of physics things.

btco

What would be a cool set of features if I were to do 8 Bit Panda 2?

StinkerB06

Probably bosses and bonus levels. 8-bit Panda 1 (i.e. this cart) is a bit lackluster in my opinion.

Also, since TIC-80 is a step closer to being a "16-bit" fantasy console, why not call it 16-bit Panda? There's a $5 (i.e. pro) version of TIC-80 that has 8× the room of assets due to bankswitching.

CameramanTv

Good job!

CameramanTv

3000+ linhas de codicos e para poucos hein!

btco

Thanks!
Yeah, in the end I was constantly running up against TIC-80's 64k code size limit.

StinkerB06

@CameramanTv What brings you to TIC-80?

DanAtuch

How do you stop players from getting to the next level without finishing previous?

StinkerB06

@DanAtuch Any level can be finished at any point from the red (or gold if you're on the last level) finish or the debug screen. The more leaves and food you eat, the greater the score gets.

I mean, those "leaves" should've been called bamboo. Because they're green and a panda's most iconic food of that color is bamboo. They do even look like it shining.

@btco There's a $5 version from Nesbox on itch.io. You can have 512 kilobytes broken up into 8 blocks of 64k each. There's also 8 different banks for everything else, and only one of each can be used at a time per frame.

btco

@DanAtuch: you mean on the world map? I store (in PMEM) the highest level that the player has cleared. Then when the player moves on the map I just compare to that number. If the level the player is on is greater than that number, then they can't proceed and can only return from when they came, not continue on to the next level.

btco

@StinkerB06: true! the leaves should have been called bamboo and the bamboo should have been something else, but it's too late to change now :)

Does bank switching allow for more than 64k of code? No, right?

Sammy6

Awesome game! I'm actually making a similar game, and I was wondering how you detected where the enemies are and when you hit them. If you could tell me that would be awesome.

btco

The core logic to hit enemies is rectangle intersection. If you know the player's position and you know the enemy's position, then you check if those two rectangles intersect. If they do, the player hit the enemy. Here's the function in the 8-bit panda source that does this (RectIsct):

https://github.com/btco/panda/blob/master/source/panda.lua#L3265

Notice that it takes two rectangles, each of which has x,y,w,h. These rectangles are generated by starting with a collision rectangle and then calling RectXLate on it to translate it to the right position:

https://github.com/btco/panda/blob/master/source/panda.lua#L3260

The collision rectangles for the various types of things are in the CR global:

https://github.com/btco/panda/blob/master/source/panda.lua#L288

So for example, the player's collision rectangle is CR.PLR. So I translate it with RectXLate to the player's position, then do the same with the enemy's rectangle, then call RectIsct on those two, and that lets me figure out if the player was hit or not.

B1tGuy

One of the best games i ever seen on TIC

masternama

@btco new cartridge check it out
Link
https://tic.computer/play?cart=771
Please Comment

ZanertheSlayer

I'm Making A Super Mario Bros Mod for this game called, "Super Mario Island". It will change this game into a Mario Game.
Some Levels where changed enemies were coded to act like
the original Super Mario Bros and I changed the sounds, music, some of the enemies and music were made by me. I hope I can get it done. If it's ok with you btco.


Kalpar

Is awesome the details of games, like to learn tutorial :)

Oleg

GREAT!

Mr_Pixel92

Wow! I didn't even pass the first level, but it's one of the biggest projects on thes platform!

btco

Thanks! The levels are designed to slowly ramp up in difficulty. Btw, the game saves at the start of each island, so if you make it to island 2, you can always restart from there

Blockhead

Simple and lovely graphic, fantastic

btco

Maybe the graphics are too simple, though. If I was going to do this game again, I'd make the graphics a tiny bit more polished.

Oleg

BUT. IT. IS. NOT. 8. BIT. GAME!!! WHY IT'S 8-BIT PANDA??? IT'S TIC-80 PANDA! TIC-80 AND 8-BIT THESE ARE ABSOLUTELY DIFFERENT THINGS! THERE ARE DIFFERENT LIMITATIONS!

Oleg

Sorry please, but can you tell me where you learned TIC-80? (I apologize for the previous comment, I wrote it in capital letters, because it is important to know. I'm not angry 😄)

StinkerB06

@Oleg It is considered "8-bit", because of the rudimentary graphics and audio quality used.

Fantasy consoles like the TIC-80 and PICO-8 have such limitations in order to spark creativity, without being overwhelmed by choice fatigue. These limitations make them easier to use than mainstream game engines, like Löve2D or Unity.

btco

@Oleg: yeah, you're right, "8-bit" is a bit of a misnomer. If anything, the capabilities of TIC-80 are much closer to what 16-bit consoles could do, rather than 8-bit consoles.

But as StinkerB06 said, it's a reference to the intentionally rudimentary style of graphics/audio, rather than the specific tech.

As for where I learned TIC-80, I just read the TIC-80 docs, and other than that just figured things out by trial and error. The great thing with fantasy consoles is that after you figure out how a couple of things work, you can pretty much understand everything, because the API surface isn't really that big.

Oleg

@StinkerB06 But still, these are DIFFERENT THINGS.

Oleg

@btco Ohh... I would never call my TIC-80 games 8-bit)

Oleg

My TIC-80 doesn’t work. There is sound, but nothing is visible, I see only a black-black-blue-violet screen. Can anyone help?
P.S. The problem with the TIC-80 is only in the browser.

Oleg

And the second problem - the sound comes later than necessary. This problem is both in the browser and in the PC version.

PedroGM23

Nice

uniofleicester

Is it possible if i could see the coding behind this piece of master work.

btco

Naturally! It's an open source project. Here is the source code for your perusal:
https://github.com/btco/panda

Worlagua

This game is great! Well done!

scottpalmer04

very great game

btco

Thank you!

Doomerismo

Nice game.

Wonderconter32

Good game and i found error the panda died in the void and im not touch the controls

btco

Ah! Interesting. Can you describe how to make this happen?

thedon

yeah tell us!


Hexiter

so much great game

Worlagua

Will there ever be an 8 bit panda 2? I would love to see one!

ShadowKnight64

how do you make the semisolids?
im making a platformer but cant figure out how to make these

btco

Do you mean the tiles that are only solid one way but not the other? I just check in what direction the player is moving when checking those -- if the player is moving down, then they are solid, if the player is moving up then they are not.

myname_mud23

Very Enjoyable!

myname_mud23



masternama

today is christmas

StinkerB06

Late to say, but congrats on having the first TIC-80 cart to get over 100 likes!

masternama

Where is Cheat Code?

btco

To get access to a cheat menu, hold A, then press UP 4 times then DOWN twice.

btco

(note: in the debug menu, you can use UP and DOWN to select a command, and LEFT and RIGHT arrows to select a level)

StinkerB06

Please remind everyone: If anyone expects game pad buttons instead of default QWERTY keyboard bindings, assume (X) instead of [A] as the button for the DEBUG menu.

Why don't you use this parentheses + square-brackets system in your future TIC-80 games?

super_dup_yt

catchy music. great game :)

XDavid

good game

btco

Thank you! This was my first platformer game so I made lots of mistakes, glad it worked out somehow :-)

Miguel

Incrivel. Vc e um bom criador

MegaBits21

Hi. I'm new

Wonderconter32

this is one of the best carts in TIC-80 nice game

corgi42

i made it 130 likes :)

Jon597

Gostei! I like it!

btco

Thanks everyone! Happy to see that this silly game of mine is still at the top of the charts after so long :-D

SONENEIS

this is the best game of tic80, very good man

Oleg

remembering my cringe comments

deidara

It is a nice game!
I've never managed to play through the game...

IgorXaves

É um meu jogo do tic.80 favorito :)

IgorXaves

I wanted to know what a Sonic game made by you would be like

Darkgamer9594

i love this!

Darkgamer9594

Five stars for rating❤❤❤❤❤

Darkgamer9594

sorry cant find stars

TitledLNRD

The player doesnt have any friction or acceleration, and the player jumping feels like the Panda is as light as a feather. Good job though, i liked the game a lot!

LURGX

Good game bro i love style of this game

krvoje

Randomly bumped into here to check the engine out, and I have to say - this is a very well done game :) Kudos to you for the work!

IgorXaves

#19059 but these are hearts :>

btco

Thank you!!
Yes, the panda feels a bit light due to the lack of friction and inertia, maybe when I do 8-bit Panda II I'll make the movement more realistic!

mfontanadev

Hi Bruno, your coding is excellent. I did a game based on your code structure and I want to ask for permission to release it here. DM me at twitter @mfontanadev. I would like to talk with you about programming. Many thanks


Post comment