Log In  
Page:
1
2
3
4
5
6
7
8
9

Cart #terra_1cart-39 | 2022-09-15 | Code ▽ | Embed ▽ | Forks ▽ | License: CC4-BY-NC-SA
283


itch.io build now available! You can get the .p8 files for Terra and the character editor which are usable offline from there!
https://cubeegames.itch.io/terra-a-terraria-demake


A tiny fanmade demake of Terraria in PICO-8!
If you haven't already, please consider getting the original game. This is only a small portion of what Terraria has to offer!

And if you enjoy this demake, please consider supporting me by buying one of my other games over on itch.io: https://pixelshock.itch.io/

If you would like to play with another person, there is a multiplayer version available here!
Just keep in mind that this multiplayer version is quite outdated and lacks saving functionality.

Controls:

How to play?


(Please note that this game was made in PICO-8 0.2.5. It won't work at all on versions older than 0.2.4 even if you manage to load it)

Game (Controller Mode):
🅾️ - Jump
❎ - Use item
⬅️/➡️ - Move
⬆️/⬇️ - (Tools) Aim up or down
Pause/Enter - Open crafting/inventory screen

Game (Keyboard+Mouse Mode):
Space/Right Click: Jump
Left Click: Use item at mouse location
Scroll Wheel: Change selected item.
A/D: Move left/right
E/Enter/Scroll Wheel Click - Open crafting/inventory screen

Inventory screen:
🅾️ - Move item to hovering slot or craft
❎ - Recover trashed item. (With hovering item: Move hovering item to trash)
⬆️/⬇️ - Scroll / change selected item
⬅️ - Go to Left side
➡️ - Go to Right side

General tips:

  • Change between Controller Mode and Mouse Mode by holding the pause button while in-game until the menu pops up and pressing "TOGGLE MOUSE".
  • Cut trees with the axe, mine blocks with the pickaxe, and attack enemies with the sword.
  • To craft items, open the inventory and press left to go to the crafting column. There you can press O/Z to craft one of the highlighted item or hold it to keep crafting that item until you let go or run out of materials.

Tips for Controller Mode:

  • To change the selected item, open the inventory and press up or down, then close the inventory.
  • Platforms are placed one block lower while moving horizontally to make building platform bridges easier. Just hold the use item button and walk!
  • Hold down, X and left or right while holding a block to build a platform horizontally.
  • Hold down, X and jump while holding a block to build vertically.

Tips for Mouse Mode:

  • You can place and break blocks anywhere within a small circular range around the player.
  • Due to a helpful feature from Controller Mode, platforms are placed one block lower while moving. Position the mouse cursor accordingly!

Features:

  • A large map of 256x128 tiles, stored using the extended memory.
  • Various biomes: Forest, Jungle, Corruption, Underground, Caverns, and Underground Jungle.
  • 4 bosses: King Slime, Eye of Cthulhu, Ocram, and Plantera. (The Eye of Cthulhu and Ocram are night bosses and therefore can only be fought at night time)
  • Many enemies for each biome and underground, with most having multiple variants. (9 types, with 25 variations in total)
  • Fancy world generation with spaghetti caves.
  • Mining and crafting.
  • Various melee and ranged weapons. Ranged weapons automatically aim towards the nearest visible target, prioritising bosses.
  • A basic palette fade lighting system, with a day-night cycle.
  • Quite a few progression/recipe changes due to space limitations, details in the [Terra Wiki] section
  • A separate character creator cartridge that is completely optional. (You don't lose any content with just the game cart)
  • Optional keyboard + mouse controls!
  • Life Crystals and Shadow Orbs to smash!

How to save your worlds and players:


Please note that as far as I can tell this won't work on mobile. (at least for the majority of devices)

The pause menu can be brought up by holding the pause button, where there will be an option to save. Alternatively, on the web player version above, you can click the pause button to the right of the game.

  • When saving, the player, then the world will be copied to the clipboard. Paste these into an empty text file each to save them! If you're overwriting an existing file, make sure that you empty it completely first. (for example, in most text editors you would press ctrl+a to select all, then backspace to delete the old save, then ctrl+v to paste the new one, then save it with ctrl+s)
  • When loading, simply drag and drop each file onto Terra when it asks and it will load them for you. Alternatively, you can copy the contents of the file and paste them onto the game.

Here is a video for a visual demonstration:

Just a note, Terra does not check if the file has valid data before loading it due to token limits, so it will blindly load whatever you put into it.
For example, if you try to load a world file when it asks for a player file, the game will restart. Loading a player file for the world will spawn you in a new world, with whatever "random" data Terra interpreted from the player file spread across the top of the world.

Terra Wiki

The Terra Wiki has moved to an itch.io thread!
https://itch.io/t/2357748/terra-wiki

Documentation


The parts other than save file formats are here mostly due to running out of space in the cart, do with them what you will.

World save file format

A 32KB file of characters, stored as the CHR() of the tile id plus 32. So tile 1 is stored as CHR(1+32), which is "!", and tile 65 becomes CHR(65+32), which is "a".

Due to how Terra loads save files, any multi-byte characters (emojis, etc...) will be loaded as multiple tiles. This is the reason why the location of the tree trunk sprites changed in 1.3, not that anyone noticed, and also why I have to move items around whenever someone wants me to add more tiles.

Here is a simple program that loads a world file and allows you to pan the camera around:
(outdated, some tiles may be missing or different)

Cart #terraworldviewer-3 | 2022-01-04 | Code ▽ | Embed ▽ | Forks ▽ | No License
283

Player save file format

-- 1.3 to 1.3.2b --
php,php_max|id:amount,id:amount,

-- 1.3.2c to 1.3.2d --
php,php_max|id:amount,id:amount|gfxdata|

-- 1.3.3 to 1.4.1c --
php,php_max,hurtsound|id:amount,id:amount|gfxdata|

-- 1.4.2+ --
php,php_max,hurtsound,orb_counter,world_time|id:amount,id:amount|gfxdata|

php: Player's current health
php_max: Player's maximum health
hurtsound: This character's hurt sound (0: default, 12: high, 24: deep)
orb_counter: Stores how many Shadow Orbs this character has smashed.
world_time: The time the world was in when the player was saved. This is loaded for any world you open, so if it's night time when you save, all worlds loaded with that character will be night.
id: Item ID
amount: Amount of last item ID
gfxdata: Hex representation of the 7x1 sprite data used for the player. It's the same format as is copied from the PICO-8 sprite editor, minus the GFX tags and the first 4 numbers used to store width and height. If empty, it simply uses the default guy that is stored in the game cart's spritesheet.

As an example, here is the character I used to test version 1.3.1:

295,340|49:1,53:1,14:4,17:39,33:1,35:1,44:1,8:1,48:1,80:254,65:1,85:1,73:1,51:1,2:33,7:149,21:1,86:8,89:16,57:2,12:15,60:31,76:1,66:2,54:3,88:1,61:2,5:12,55:3,22:12,59:5,

Sprite Flags

0 - Solid
1 - Breakable with pickaxe
2 - BG wall (breakable with hammer)
3 - Not used (top-solid platforms in earlier versions)
4 - Needs support (breaks when tile below is broken, like the workbench and life crystals)
5 - Door (uses next sprite as open door, solid flag determines if the currently placed door tile is the open one)
6 - Can have auto BG walls (workbench for example)
7 - Produces light (torches, campfires)

Mob List Format

Each mob has a section of the stats string in the following format:

,name|hp|damage|defence|drop:drop:drop|ai|knockback|vmod|angry|rspr|sx|sy|w|h|pal

Use 1/0 for true/false on angry and rspr.

angry is useful for making slimes instantly hostile on spawning.
If rspr is false, use sx as the sprite id. Otherwise if rspr is true, sx,sy are map coordinates. w,h are the tile dimensions of the sprite.
If palette swapping is wanted, fill pal with the palette. Otherwise, omit it.

Palette format:
1:2:3:4
Overwrites the colours in order from 1-15. So for the most optimal palette swapping, draw the base sprite using colours starting from 1.

Drop format:
id:amount
If amount is negative, then the item id will always drop the positive amount. Otherwise, the drop quantity will be randomised with later entries losing more drops. i.e 4th drop with amount=10 will drop 6-10 items, 2nd drop with amount=2 will drop 0-2 items.

Recipe Format:

output_id:output_amount:required_tile|id:amount,id:amount,id:amount|comment

output_id: sprite id of item to craft.
output_amount: how many items to craft. (default 1, can be omitted)
required_tile: what tile id is needed to be near in order to craft. (default none, can be omitted)

id: sprite id of required ingredient.
amount: amount of ingredient required .(default 1, can be omitted)

comment: does nothing, just an identifier for the humans reading them.

Separate them using semicolons.
Place these in the recipes string.

Item Stats Format

damage:type:usetime:value:autoswing

damage: How much damage the item does to mobs on hit, or for items of type=="hpup", how much health is given.

type: Can be: melee, ranged, pick, axe, block, item, hpup

  • melee: Standard melee weapon.
  • ranged: Shoots projectiles, consuming ammo.
  • pick: Mines blocks.
  • axe: Chops trees.
  • block: A placable tile.
  • item: Usually used for crafting, otherwise has no use.
  • hpup: Heals player or increases player's max HP.
  • summon: Spawns a mob to the left of the player, consuming the item.
  • boot: While in the inventory, grants the player Hermes Boots speed.

You can also set it to a unique value to be used as ammo for specific ranged weapons:

  • bullet: Consumed by bullet weapons. (Guns)
  • arrow: Consumed by arrow weapons. (Bows and Repeaters)
  • gel: Consumed by gel weapons. (Wand of Sparking and Flamethrower)

usetime: Higher value = slower swing and longer mining time

value varies based on type

  • type="ranged": Item type used as ammo (usually bullet or arrow, gel for Wand of Sparking and Flamethrower)
  • type="summon": Entity id to spawn
  • type="hpup": If 1, increases player's max HP (life crystal), otherwise simply heals the player (potions).

autoswing: Set to 1 to enable autoswing for a ranged or melee weapon. Omit it if it isn't supposed to have autoswing.

for type="ammo", autoswing makes the item not get consumed when fired, and usetime sets the sprite id that the projectile uses when fired.

Place it at the index of the item's sprite id in the toolstat string.

Music Layout

Music by Jo560hs:
0: Overworld
12: Underground
22: Corruption
31: Jungle
41: Boss 1

Music by cubee:
53: Night music

Changelog

The history of Terra!


1.0: Release Time!

  • Initial release (8191 tokens)

1.1: Fixing Of Bugs!

  • Read some feedback
  • Reduced respawn cooldown and made mobs despawn instantly upon dying
  • Optimised player collisions for tokens and maybe a minor performance boost?
  • Moved selected item text above player's head to be more obvious
  • Optimised recipe list for tokens using split (8097 tokens)
  • Moved some stuff around
  • Made generation text use the centre print function instead of doing it manually there (8084 tokens)
  • Added ability to play night music in forest biome
  • Made increased spawns while moving only work underground
  • Reduced spawn rates as count approaches cap
  • Fixed walls not being blocks
  • Added wooden door, grey brick, and red brick (8188 tokens)
  • Made ranged attacks prioritise aiming towards bosses if they're alive and in line of sight (8169 tokens)
  • Reduced stats of bosses slightly due to lack of armour/accessories
  • Reduced gravity effect on arrows and increased their velocity slightly
  • Added dropped health pickups from enemies and the Eye Of Cthulhu's servants (8189 tokens)
  • Broke the inventory, it's off the screen now
  • Fixed the inventory, it's on the screen now
  • Reduced tokens some more (8180 tokens)
  • Made respawning happen when the player presses a button instead of after a timer
  • Changed mob despawn range into a circle instead of a square (8163 tokens)

1.1b: EoC Fix

  • EoC's servants had their drop item set as their defence, which caused a crash when attacking them

1.1c: A few fixes

  • Can now place tiles that need support (workbench, torch) on top of platforms.
  • Hopefully fixed a crash related to items with missing stats

1.2: Trash, balance and bugfixes

  • Fixed the Eye of Cthulhu servants' drops (for real this time)
  • Reduced mob cap to 8 (from 16)
  • Made bosses able to spawn even if the mob cap is reached (8183 tokens)
  • Added ❎ to delete selected item in inventory (8192 tokens)
  • Reduced tokens in worldgen
  • Modified corruption generation (8117 tokens) (it does usually take longer, but i needed to save tokens)
  • Added trash slot, trash selected item with ❎ and recover trashed item with ➡️ (8154 tokens)
  • Fixed crashes with empty inventory (8185 tokens)

1.2.1: More bugfixes

  • Fixed grey and red bricks dropping barriers
  • Fixed crash when placing a picked up item into an empty inventory
  • Demonite bars now need a furnace to craft
  • Reduced tokens by moving a few items into data strings that weren't already
  • Reverted a token saving change that broke surface cave generation. Now you shouldn't spawn in a rectangular hole in the ground anymore (8186 tokens)
  • Doors now break when the tile below them is broken
  • Applied token-saving techniques elsewhere (8163 tokens)
  • Made the secret boss bigger and added its second phase sprites
  • Fixed a bug where hitting a tree with a hammer caused the game to freeze. Caused by a leftover sprite flag from early on in development.
  • Added sound effect for magic mirror (8166 tokens)

1.2.1b: Shadow orb fix

  • Shadow orbs now drop items in order properly, I had put the current item counter where ANY wall would trigger it, instead of just shadow orbs.

1.2.2: Music update!

  • Added music by @jo560hs
  • Replaced the death sound with the enemy hit sound and removed an unused sound to save sfx slots
  • Added a night theme
  • Made items able to land on platforms (8169 tokens)

1.2.3: Walls and bugfixes

  • Added automatic background walls behind certain tiles when they are next to one for a nicer look in houses. (mostly furniture)
  • Reworked the BIGMAP() function to peek the camera coordinates, and merged it into the draw loop.
  • Due to the above 2 changes, blocks now also display in front of tree leaves.
  • Fixed anvils being unbreakable outside of destroying the tile beneath them.
  • Fixed the boss music continuing to play after the boss is defeated or despawns until touching a biome tile. (8170 tokens)
  • Added the campfire as an alternate light source. (doesn't provide campfire buff)

1.2.4: Ammo and WORLD SAVING preparation update! (Alternatively, the "How am I still under the limits!?" update)

  • Removed ADDPROJECTILE function to save tokens, since it was only used in one spot. (8148 tokens)
  • Added support for different arrow/bullet types for bows and guns. Put the ammo you want to use closest to the top of your inventory bar. (8158 tokens)
  • Moved layer heights upwards slightly to add a tiny bit more underground space, and to prepare for PICO-8 0.2.4's memory offset features. (which will change the map dimensions slightly)
  • Reduced furnace stone requirement from 20 to 10.
  • Made the selected recipe reset to the top upon closing the inventory.
  • Prevented changing to the crafting side of the inventory if there are no recipes available. (8170 tokens)
  • Added some new ammo types, including INFINITE AMMO!!!
  • Copper tools are now wooden tools since copper doesn't exist.
  • Added recipes for wooden tools for if you accidentally trash all of your tools somehow.
  • Added sound effect for shooting ranged weapons and did some more token optimisations.
  • Replaced fired bullets with that iconic orange line that Terrarian guns fire. (8171 tokens)
  • This update also marks return of the DEATH SOUND!!!
  • Found some more token optimisations. (8163 tokens)
  • Fixed a bug where the music would change back to the biome music while fighting a boss if the inventory is open.
  • Adjusted how distance and depth light levels are calculated to be a LOT more token efficient. (8102 tokens)
  • Moved the tree trunk sprites to make the next change more possible:
  • Added functionality for saving and loading players and worlds! (the currently unused functions take 92 tokens)
    • (Currently disabled due to token limits, will enable it if possible after PICO-8 0.2.4 is released)

1.3: 0.2.4 BIGMAP() and saving update!

  • Added autoswing capability for melee weapons. (put "autoswing" into an melee weapon's toolstat "value" to enable it)
  • Reached 8192 tokens while adding a barebones modes system.
  • Saved more tokens in world generation. (8130 tokens)
  • Night's Edge now has autoswing.
  • Added a title screen and menu system, complete with a rotatey logo! (8192 tokens)
  • Allowed grass in front of walls at worldgen to free some tokens, and some other token optimisations. (8178 tokens)
  • Waiting for PICO-8 0.2.4...
  • Implemented 0.2.4's BIG MAP! (i finally saw the token count dip below 8000!)
  • World size is now 256x128, instead of 252x136.
  • Saving and loading are now things that exist! (8191 tokens, just like the original version)
    • The pause menu can be brought up by holding the pause button, where there will be an option to save.
    • When saving, the player, then the world will be copied to the clipboard. Paste these into an empty text file each to save them!
    • When loading, simply drag and drop each file onto Terra when it asks and it will load them for you.
    • Just a note, Terra does not check if the file has valid data before loading it due to token limits, so it will blindly load whatever you put into it. This shouldn't break too much, but try to stick to loading what Terra outputs :)
  • For some reason the token count is now 8186, what did i do?
  • Fixed player falling out of the world. (due to using MGET() now instead of the BGET() function i had made that automatically made anything outside the map solid) (8191 tokens)
  • Optimised tokens in worldgen by hardcoding the world size variables, since it's not going to change. (8165 tokens)
  • Added a background for the world and title screen to make the world look that little bit nicer. Now we got PARALLAX! (8191 tokens)
  • Rebalanced shadow orb loot. Now the order is: Bow, Mirror, then Musket and the damage output of the ranged weapons has been reduced slightly.
  • Other rebalancing changes.
  • Added Wand Of Sparking as a ranged weapon that consumes gel as ammo, crafted at a workbench with wood and torches.

1.3.1: Plantera update! (The update made with even more wizardry)

  • Just a note, I have to be very careful with what I change from now on now that save files exist. Don't want to break them or change people's inventories!
  • Merged King Slime's ninja with his body sprite to save a sprite slot and some tokens. (8174 tokens)
  • Modified how autoswing is applied to weapons to allow ranged weapons to also have autoswing and optimised item update code for tokens. (8164 tokens)
  • Increase drop rates of gel and added a drop for some enemies that didn't have one.
  • Added some new weapons: Blade of Grass, Minishark, and Flamethrower. Also added some healing items. (8168 tokens)
  • Modified progression into 2 sections: before and after the secret boss.
  • Fixed some recipes that broke due to changing the shadow orb loot order.
  • Fixed a consumable items duplication bug that was introduced with the 1.2 trashing items update.
  • Made Eye of Cthulhu actually leave at daytime again, it seems I forgot to re-enable it after testing at some point. (saved 2 tokens)
  • Saved a bunch of tokens in the AI section. (8120 tokens)
  • Removed timer-based mob despawning, leaving only distance based despawning. (8092 tokens)
  • Moved more mob stat constants to the mob strings to save more tokens. (AAAAA it's less than 8000 again what's happening!?)
  • Added Plantera, bringing the total amount of bosses to 4. Craft her summon at the new Cursed Forge crafting station using the seeds dropped by Jungle Bats. (8190 tokens)
  • Some bosses now need to be summoned in a specific biome. (Implemented by checking what music is playing) (8191 tokens)
  • Now that he's actually important to progression, I've decided that he shouldn't be a secret anymore. The secret boss is Ocram, from the pre-1.3 versions of non-PC Terraria!
  • Optimised more tokens and fixed a bug where mobs with zero knockback (e.g. bosses) had their velocity set to zero when hit by a projectile.
  • Added randomness to mob drops. They now randomly drop one more or less of their drop, except for bosses. (8179 tokens)
  • Dogblaster is no longer craftable, it is now obtained from Plantera and is an endgame weapon, as it should be. It is the Dogblaster, after all.
  • Haha, Plantera's seeds redirect towards the player whenever she is hit. That makes it a bit harder to, you know, not die. Caused by not resetting the HIT variable if this mob is an enemy projectile.
  • Added a different mob cap for EoC and Ocram's servants, now there is a limit of 8 mobs plus 4 extra that can only be servants, just so that they can still be a threat when the cap is reached. (8185 tokens)
  • Menu screen now progresses as (player, world) instead of (title, player, world) to save tokens. Also removes the button press required before being able to load saves. (8168 tokens)
  • Fixed crafting recipes not being updated on trashing or recovering an item. (8172 tokens)
  • Discovered and removed an AI that became unused after moving the mobs into strings. (8112 tokens AAAAAAAA)
  • Fixed King slime so he actually gets faster as was intended, the only thing in the way was a variable that was wrong.
  • Collision code and various "magic number" optimisations. How is there still stuff to do? (8067 tokens)
  • Buffed Ocram. Now he is more like his original self, shooting lasers and all that. (Just the lasers) (8105 tokens)
  • Optimised tokens in the enemy-player angle calculations.
  • Enemies no longer have gap assist like the player does, to save tokens. (8125 tokens)
  • Plantera's second phase now has the tentacles (8192 tokens, 100.38% compressed size)
  • Fixed bullets having gravity (8192 tokens, 100.48% compressed size)
  • Fixed the recipe for silver bullets. They needed something like 60 silver bars before.

Final stat counts: 8192 tokens, 42234/65535 chars, 99.56% compressed size

1.3.2: Many a fix, and some new stuff (Thanks to @Sup3raw3som3gam3r)
(Sup3raw3som3gam3r's modifications)

  • Mob strings combined into one string.
  • Palette swap for Jungle Bat.
  • Added Terra Blade and Golden Seed.
    (cubee)
  • Optimised compressed size.
  • Modified MGET to handle tiles outside the map the same way BGET used to. Now the world edges function as they did before 1.3. (8205 tokens)
  • Simplified flying AI to use "face player" rather than "turn towards player". (8156 tokens) Honestly, I don't see much of a difference, and at least it works again.
  • Added palette swapping for mobs, now 4 sprites that were used for slimes are free. (4 sprites, 8149 tokens)
  • Added Gel Pack, an endless variant of gel. (only usable as ammo)
  • Changed the trash slot sprite to a palette swap of the inventory slot sprite to get 2 more sprite spaces (6 sprites, 8162 tokens)
  • Added a mass crafting feature to the crafting system: hold Z/O to keep crafting the same item until you release or run out of materials. (8182 tokens)
  • You can now hold the up or down buttons to scroll the inventory and crafting bars.
  • Prevented Ocram from being summoned during the day. (8192 tokens)
  • Plantera now drops a Golden Seed, used to craft the Terra Blade and... a dog gun?
  • Fixed mass crafting related performance issues in the inventory.
  • Adjusted position of inventory item text to be more in the centre. (still 8192 tokens)
  • Projectiles now use a sprite defined in the ammo's USETIME parameter. Flaming arrows now look like flaming arrows! (toggling if ammo is consumable is now handled by AUTOSWING) (8185 tokens)
  • Enemies can no longer randomly drop one extra item, but they can still drop one less. (8183 tokens)
  • Fixed blue slimes being automatically angry upon spawning.
  • Added Cochineal Beetle and Lac Beetle enemies that drop Beetle Husks.
  • Added 2 repeaters: Demonite Repeater obtainable after EoC, and Beetle Bow obtainable after Ocram.
  • Fixed potions not being consumable when the player had 400 max health. (8189 tokens)
  • Potion recipe now uses 2 Mushrooms and a Beetle Husk instead of 2 Mushrooms and 2 Gel.
  • Reduced the amount of Plantera's tentacles slightly.
  • Prevented auto-aim from aiming at enemy projectiles. (8190 tokens)

Final final stat counts: 8190 tokens, 42569/65535 chars, 99.34% compressed size

1.3.2b: Return of the bugfix letters.

  • Fixed EoC's servants being Plantera due to an oversight in the mob string translations.
  • Bats, Slimes, and Beetles are no longer invisible due to width/height being zero.
  • Fixed BTNP() repeat causing all items to have technically autoswing after the 1.3.2 update.
  • Removed a function that was used in only one spot. (8185 tokens)

Stat counts: 8185 tokens, 42540/65535 chars, 99.34% compressed size

1.3.2c: Block bug fixes

  • Added a secret feature. (Please don't spoil it if you figure it out)
  • This does include a minor save file format change, however, it appears to be compatible with existing saves.
  • Fixed blocks having no autoswing.
  • Reverted a change that made blocks lose their fast placement speed, making building incredibly hard to do.
  • Various token optimisations.

Stat counts: 8183 tokens, 42618/65535 chars, 99.46% compressed size

1.3.3: Some world generation changes

  • A slight update to the secret feature. This includes another minor save file format change, but it's still compatible with existing saves.
  • The player now respawns with half health to prevent "death healing".
  • Caves can now go off the edge of the map, meaning that there should no longer be lines of emptiness at the world edges.
  • Fixed a bug where the world would only generate one surface cave, and they can now also generate in the corruption. (8192 tokens)
  • Generation order modified so corrupt chasms generate after surface caves.
  • The Jungle and Corruption now generate all the way to the edges of the world on their respective sides.

Stat counts: 8192 tokens, 42510/65535 chars, 99.42% compressed size

1.3.3b: Bugfixes! Again! Yay!

  • Fixed a bug where having a tree trunk without a stump below it would freeze the game. (Found via Sup3rAw3som3Gam3r's TEdit cart, not reproduceable in normal gameplay)
  • Player respawns with a minimum of 100HP like in Terraria

1.3.3c: Sort of giving in to multicart; the Custom Character Cart!

  • The secret feature from recent updates is the ability to load custom character sprites!
    • Use the Character Creator cart to generate a new save file with the sprite data for your character!
    • You can also use any sprite you want, just copy a 7x1 section of sprites and paste the GFX portion of it between the last two pipes in the save. (|)
  • Re-added the higher pitched hurt sound, and added a new lower pitched hurt sound. (Both only accessible via the Character Creator)
  • The Main Cart is still completely standalone, ignoring the Character Creator will just leave you with the default Terra Guy as before.
  • Equally, the Character Creator is also standalone compatible, allowing you to simply create characters and not play as them if that's your thing.

1.3.4: Gotta go fast to fix those bugs.
WARNING: pre-1.3.4 world saves will have tables replace corruption dirt walls

  • AKA The update you definitely didn't see coming because it's GOING TOO FAST!
  • Saved some tokens in worldgen.
  • Changed the mob spawning timer to take less tokens. (8161 tokens)
  • Fixed a bug where summoning King Slime would reset the player's sprites to Terra Guy until reloading the save. (8174 tokens)
  • The game will no longer crash when you trash your entire inventory. (8182 tokens)
  • Saved some more tokens in worldgen.
  • Added Hermes Boots! They function from the inventory and increase your max speed! Craft them with 10 Leafy Seeds and 2 Demonite Bars at an anvil. (8177 tokens)
  • The walls in the Corruption are now actually dirt walls, instead of the Worldgen Corruption walls. (8187 tokens)
  • Added a table, a decorative tile for building.

Stat counts: 8191 tokens, 42671/65535 chars, 99.99% (eek!) compressed size

1.3.4b: Some bug fixes.

  • Fixed the ebonstone and ebonstone wall recipes using corruption dirt and tables. (tables used to be corruption dirt walls)
  • Fixed Plantera's second phase crashing the game. For some reason I had removed the variable the tentacles used to find their Plantera (8192 tokens)

Stat counts: 8192 tokens, 42676/65535 chars, 100% compressed size (it just barely fits, doesn't it?)

1.3.5: Plantera buff and craftable grass

  • The three grass types are now craftable using dirt or mud and leafy seeds, with corrupt grass using rotten chunks instead.
  • Beetle Bow is now craftable, as it no longer uses itself in its recipe.
  • Plantera now continues to shoot seeds at a slower rate in her second phase.
  • Plantera's tentacles rotate slightly faster now, so they can block shots more effectively.

Stat counts: 8190/8192 tokens, 42692/65535 chars, 100% compressed size

1.4: Journey's End?

  • King Slime is now only summonable in the Forest during the Day to prevent summoning him while Plantera is alive, as his sprite overwrites hers.
  • Saved 5 tokens in Plantera's phase 2 palette swap.
  • Added the ability to paste save file strings to load them. (around 8244 tokens, forgot to record it)
  • MASSIVELY optimised tokens in the mob spawning lists by replacing them with a function. (8149 tokens)
  • Doors now play a sound when opened or closed (8159 tokens)
  • The title screen logo now rotates slower, not that that's really important.
  • Mobs can now have multiple drops. Later drops are more likely to drop less, except those dropped by bosses. (8177 tokens)
  • Ocram now drops Demonite Bars in addition to his Soul of Blight, to make re-fights at least worth something.
  • Skeletons now sometimes drop an iron bar, and they should now drop less arrows on average.
  • King Slime now drops small portions of all three minable ores instead of just a heap of gold.
  • Certain slimes now carry a bonus drop specific to that slime type.
  • The Demon Eyes' AI has been adjusted to make them more accurate. (8179 tokens)
  • Added new variants for Hornets (Honey, Leafy), Skeletons (Pantless, Headache), Demon Eyes (Cataract, Green), Zombies (Twiggy, Bald, Female), and Beetles (Cyan Beetle) via palette swapping. (Compressed Size go Bye Bye)
  • Technically there are now 24 enemies, though most of them are variations of existing enemies.
  • Found and removed some code in the tile breaking section that has been unused since the item string format was implemented. (8164 tokens)
  • Moved door interactions and tree generation into functions to save tokens.
  • Added saplings to grow trees. (8189 tokens)
  • Black Slimes now use the same slime sprites as Blue Slimes, because they're supposed to be smaller than yellow slimes.
  • Fixed a memory leak that would occur due to the lights list not being cleared while the inventory was open.
  • Beetle Bow now uses 5 Beetle Husks instead of 10.
  • Wall and Grass recipes have been moved to be near the bottom of the recipe list.
  • Vertical crafting station reach reduced to match Terraria's better.
  • Reduced the amount of tile checks in the enemy line of sight check to hopefully improve performance a bit.
  • Completely disabled line of sight and distance checks for enemy projectiles. (8190 tokens)
  • Saved some tokens in the camera position limiting code.
  • Ocram now moves to his second phase earlier and shoots lasers less rapidly.
  • Eye of Cthulhu and Ocram now stop moving while they transition to their second phases. (8191 tokens)

Stat counts: 8191/8192 tokens, 42028/65535 chars, 99.9% compressed size

1.4.1: Finally, MOUSE SUPPORT! How does it fit? No clue!

  • We have officially entered the realm of extreme token saving wizardry. (i.e. using incomplete compound variable assignment to set multiple values to nil, to be treated as false. Yeah. I've gone THAT far)
  • Added an option to toggle mouse controls in the in-game pause menu!
    • Move with ESDF, and jump with the right mouse button.
    • The inventory is still controlled by the keyboard as usual.
    • Tools and block placement have limited range, but ranged weapons can be aimed freely!
    • You can swap items using the scroll wheel, and as originally suggested by "oh lord he bacc", toggle the inventory by clicking it.
  • The annoying "CTRL+C TO COMPLETE COPY" prompt while running on the BBS should now no longer appear while loading save files. (Thanks @shy for the workaround!)
  • Modified cave generation. There should no longer be a massive hole along the bottom of the world. (Apparently I broke it in 1.3, ha)
  • Slowed down random tree tick slightly.
  • Removed a check for flag zero in the biome music code that served no purpose as all of the valid IDs have that flag set anyway.
  • Item collisions have been simplified to save tokens.
  • Removed item drop override check for wall tile drops to save tokens.
  • Removed a weird "til" variable from the tool code which may be either a leftover or a typo that happened to not break anything.
  • Hammers now break their tiles in the same way pickaxes and axes do, but with a faster speed modifier. (Saved a lot of tokens)
  • Shadow orbs now replace themselves with an ebonstone wall when broken, to improve the illusion of multiple tile layers.
  • Furniture tiles such as workbenches, furnaces, and torches now break walls if the player tries to place them over one.

Stat counts: 8191/8192 tokens, 41232/65535 chars, 99.96% compressed size

1.4.1b: E to jump

  • Added the E key as an alternate jump.

Stat counts: 8192/8192 tokens, 41232/65535 chars, 99.96% compressed size

1.4.1c: 0.2.5 sub() bugfix

  • Fixed the Terra logo, custom player sprites, and Plantera being unable to load due to sub() reverting to its pre-0.2.4 behaviour.

Stat counts: 8185/8192 tokens, 41239/65535 chars, 99.94% compressed size

1.4.2: EXTREME quality of life and polish update.

  • Saved 87 (!!) tokens using more false->null style optimisations, also replacing foreach(x) with next, x, rnd(x) with rnd"x" (this became an issue once 0.2.5 released) and so on. (8105 tokens)
  • Replaced the dedicated sky tile with tile zero, as tile zero isn't even drawn anyway.
  • So, now I have a spare sprite and a significant amount of tokens. Why does this keep happening?
  • Moved the Shadow Orb counter to the player save, meaning you should no longer get duplicate items from them after reloading unless you break more than 3 orbs. (8115 tokens)
  • (For @EpsiCron ) Mob drops with a negative amount are now guaranteed, this means beetles now always drop their husks. (8117 tokens)
  • Some more optimisations involving unpack+split. (Oh gosh it keeps going) (8104 tokens)
  • Treetops now render in front of tiles again. (8125 tokens)
  • The state of the mouse cursor is now remembered across sessions. (8141 tokens)
  • Optimised Plantera's phase 2 palette. (8128 tokens)
  • Fixed the player's trashy tile step-up implementation.
  • Mobs now drop through platforms if the player is below them. (8144 tokens)
  • World time is now saved in the player save file. (8150 tokens)
  • Edited Corruption Grass texture to look nicer.
  • Changed keyboard controls to WASD+Space.
  • Added mouse controls for the inventory. (8191 tokens)
  • Optimised mob data code. (8178 tokens)
  • PICO-8 0.2.5c released, fixing the aforementioned rnd"x" issue
  • Platforms are no longer offset while moving if mouse controls are enabled.
  • (Sorry speedrunners...) Improved wall blockswap so furniture tiles are no longer overpowered hammers. (8174 tokens)
  • (For @CrownDeluxe and those who lost important items) Item trashing has been modified to help prevent accidental trashing: Now you can only trash an item after pressing 🅾️/Z/Click to first make it "hover" next to the hotbar, THEN you can trash it with ❎/X/Right Click. If the hovering slot is empty, you can recover trash instead by pressing ❎/X/Right Click. (8180 tokens)
  • E has been added as an inventory key, and removed old functionality for left/right keys to hover items, as the left key moves to the crafting side. (8185 tokens)
  • Hornets now shoot stingers when the player is in line of sight.
  • Updated to the latest pd_rotate() function from @TheRoboZ to save tokens. This also allows rotated sprites to be scaled!
  • EoC and Ocram are now bigger.
  • Ocram's hitbox is more reasonably sized relative to his body, and his servants now spin.
  • Fixed many bugs introduced while changing and optimising things.
  • Bosses are now summoned randomly on either the left or right side of the player. (8190 tokens)
  • You can now craft 2 Potions using 3 spare Life Crystals at a Cursed Forge.
  • A sound effect now plays when you craft things. (8189 tokens)
  • Fixed the stray pixel that would appear on the large slimes' squash frame after loading a custom character.
  • Fixed the occasional flickering of the digging overlay and moved it to be behind all entities. (8191 tokens)
  • Digging overlay now has only 3 frames to better match the digging animation and sounds. (4 sprites)
  • (For @CrownDeluxe ) Added Sliver Brick, a smoother white block. (3 sprites)
  • Added one new enemy: the Spiked Jungle Slime! (boooooo!) They're like slimes, but they shoot at you! (8194 tokens, 1 sprite)
  • Ocram and Plantera's health have been buffed a little.
  • Added Tentacle Spike as a rare drop from Eaters of Souls, because the Corruption seemed lacking in content. (8189 tokens)
  • Asymmetrical item sprites such as axes have been flipped so they match Terraria, now the lighting on items in the world comes from above rather than below.
  • (For controller users) Added a basic failsafe for the crash when an invalid player file is loaded (e.g. a world file), by resetting the cart if the player's health is not a number. (8192 tokens)
  • Optimised health bar rendering and re-implemented vertical scrolling on the background because I accidentally removed it. (8167 tokens)

Character Editor changes:

  • Added 3 new clothing styles.
  • Each clothing and hair style option now has a name.
  • Grey and Light Grey are no longer usable as clothing colours because that was weird, considering the player's skin colour is grey.

Stat counts: 8167/8192 tokens, 41386/65535 chars, 99.82% compressed size

1.4.2b: A couple of bugfixes and a use for campfires

  • Some more token optimisations. (8147 tokens)
  • Silver Brick is now actually a block. (oops)
  • Fixed platform placement being broken. I was checking the target tile before offsetting it instead of after.
  • Reverted a token optimisation that accidentally removed mouse-based block placement. It appears this also fixed diagonal mining without the mouse.
  • Mobs can no longer spawn within a 17x15 tile rectangle centred on a campfire. Due to this, campfires are now a bit more expensive to craft, requiring 3 torches instead of 1. (8190 tokens)

Stat counts: 8190/8192 tokens, 41420/65535 chars, 100% compressed size

Credits

  • Using tline sprite rotation function from TheRoboZ and distance function from Freds72.
  • Music by @jo560hs.
  • @Sup3rAw3som3Gam3r helped with multiple ideas and a few optimisations.
  • Everyone who has played and found bugs for me to fix!
P#97269 2021-09-13 06:10 ( Edited 2022-09-15 07:07)

1

I can't place the background walls anywhere. Do they work or am I just doing it wrong?

P#97275 2021-09-13 09:03
:: cubee
2

oops, i've fixed that for the next version

P#97276 2021-09-13 09:15
:: Numzyx
2

wow!!! this is a very fabulous demake. the sprites are nice, the lighting system is nice, and the mouseless control scheme is very elegant.

P#97280 2021-09-13 16:00 ( Edited 2022-02-15 20:43)
1

Great demake, I love playing this and I really want to get back into terraria again. If you’d like any help with music I’m more than willing to make a few covers of the songs in the game. Just let me know how much space you have and I’ll see what I can do! Message me on discord at ScrubSandwich128#7190 if you’re interested

P#97282 2021-09-13 19:13
1

How was this even made?! I love it so much and it's all in one cart! Can't wait for the second ver!

P#97292 2021-09-13 23:15
:: cubee
2

v1.1 Update main changes:

  • Fixed walls not being blocks
  • Moved selected item text above player's head to be more obvious
  • Added wooden door, grey brick, and red brick
  • Made ranged attacks always aim towards bosses if they're alive and in line of sight
  • Reduced stats of bosses slightly due to lack of armour/accessories
  • Reduced gravity effect on arrows and increased their velocity slightly
  • Added dropped health pickups from enemies and the Eye Of Cthulhu's servants
  • Made respawning happen when the player presses a button instead of after a timer

Other changes can be found in the changelog in the main post.

P#97304 2021-09-14 08:03 ( Edited 2021-09-14 10:05)
1

WAIT THE BOSSES ARE HERE TOO?! CAN SOMEONE SEND A GIF/VID I WANNA SEEE

P#97368 2021-09-15 22:48

2 small bugs: I can't place on walls or destroy them. P.S. This game is amazing! I now can save some money and play it for free! Thanks.

P#97373 2021-09-16 00:25
:: cubee
2

@ Agent Tom
This gif is slightly outdated, but it's basically the same

P#97379 2021-09-16 01:03

@cubee Yo even the guns are here! You really outdid yourself with this cart? Is there even still tokens left to make more?! (The second phase literally looks so cool I kinda prefer the game in the pico 8 res)

P#97410 2021-09-16 21:41 ( Edited 2021-09-16 21:51)

How do I pick up the table and platforms??

P#97415 2021-09-16 23:00
:: cubee

use the pickaxe. platforms are a little bit harder, you can fall partially through them and then dig normally to break the one in front of you

P#97421 2021-09-17 00:27

how do i make a furnace, is there npcs here

P#97468 2021-09-17 16:34

you know this game made remember why games have spawncaps, this feels like master mode on steroids

P#97469 2021-09-17 17:10
:: Numzyx

it adds to the experience

P#97471 2021-09-17 17:54
1

Here's my progress so far. (I also beat the king slime, got a full iron tools, and a gold bow and silver sword.)

P#97473 2021-09-17 23:02 ( Edited 2021-09-17 23:03)

if a could add one feature to his game, i would add a option to delete itens, cause managing inventory here is a mess

P#97484 2021-09-18 10:14

this happened while fighting phase 1 of the EoC

P#97519 2021-09-19 02:25
:: cubee

i updated it, that should be fixed now. what item were you using when it crashed?

P#97520 2021-09-19 02:41
:: cubee
1

@Bibb

you can try running PICO-8 with the "allow future versions" flag via command line:

-accept_future 1

https://pico-8.fandom.com/wiki/RunningPico8

it may not work properly depending on which version of PICO-8 you have though

P#97521 2021-09-19 02:49

@cubee i was using the musket, and was on the web version

P#97526 2021-09-19 04:39 ( Edited 2021-09-19 04:43)
:: cubee

Ok, the issue was the tiny eyes that the Eye of Cthulhu spawns, I didn't enter the right format for the heart item they drop.
Next update should fix it properly.

P#97530 2021-09-19 06:05
:: cubee
1

v1.2 Update main changes:

  • Fixed the Eye of Cthulhu servants' drops (for real this time)
  • Made bosses able to spawn even if the mob cap is reached
  • Modified corruption generation (it does usually take longer, but i needed to save tokens)
  • Added trash slot, trash selected item with ❎ and recover trashed item with ➡️

Other changes can be found in the changelog in the main post.

P#97533 2021-09-19 06:52

starting 1.2 for the first time (i think) and uh...

P#97544 2021-09-19 12:23

what is the secret boss, i can't seem to make it spawn, what is the use of sting and rotten pieces

edit:i've managed to spawn the secret boss, but i stil don't know what the stings do, anyway here's my character after beating 2 bosses

P#97546 2021-09-19 15:07 ( Edited 2021-09-19 16:44)

Hint of how to summon it or even what the secret boss is?

P#97548 2021-09-19 17:09

Every once in a while a cart comes along that just blows your mind and this has gotta be one of them for me. Fantastic work!

P#97555 2021-09-19 18:26

@Agent tom, if you read my post very carefuly you can see some hints of how to spawn the secret boss, as for what the boss is let's say he's got a kind of soul to it

in other words it's ocram and he is spawned using demonite and rotten chunks, but be careful cause he's like, final boss levels of difficulty if you're not prepared, but don't tell anybody as to not ruin the whole purpose of the boss in the first place, got it

P#97564 2021-09-19 21:38 ( Edited 2021-09-19 21:48)

@prismo18 I slightly remember that boss... Holy cow it looked cooler than I remembered. (I somewhat thought it would be the eater or worlds at first.)

P#97565 2021-09-19 22:10
3

Hey look! They even added the twins!

P#97569 2021-09-20 01:27

great game but everytime I get far it just stops like ill have built some stuff beat 2 bosses and then it just stops and sits there for a while and theres a loading thing but it still just sits there and i have to restart

P#97660 2021-09-22 14:51
:: cubee

@farawaxy

interesting. i'll see if i can figure out what's causing that

P#97689 2021-09-23 01:32

AAAAAAA I BROKE IT

P#97724 2021-09-23 19:52

odd Error that raises more questions,
Oh wait it does that if don't add in the hashmap? or bigger than the hashmap?
Was confused, hadn't seen that terminology "position" since it's almost always "index"

P#97736 2021-09-24 01:04 ( Edited 2021-09-24 02:31)
:: cubee

@farawaxy

I managed to freeze the game like that by hitting a tree with a hammer. Not sure if that's what you did but i've fixed that for the next update

P#97745 2021-09-24 07:04
:: cubee
2

v1.2.1 Update main changes:

  • Fixed grey and red bricks dropping barriers
  • Fixed crash when placing a picked up item into an empty inventory
  • Demonite bars now need a furnace to craft
  • Reverted a token saving change that broke surface cave generation. Now you shouldn't spawn in a rectangular hole in the ground anymore (8186 tokens)
  • Doors now break when the tile below them is broken
  • Made the secret boss bigger and added its second phase sprites
  • Fixed a bug where hitting a tree with a hammer caused the game to freeze. Caused by a leftover sprite flag from early on in development.
  • Added sound effect for magic mirror (8166 tokens)

Other changes can be found in the changelog in the main post.

P#97746 2021-09-24 08:14
:: lauraf
1

how i create the musket?

P#97883 2021-09-27 15:58
:: lauraf
1

please do a 2 player mode

P#97889 2021-09-27 16:24 ( Edited 2021-09-27 16:26)
1

@lauraf you can't make a musket you need to smash orbs as for the musket balls you make them with iron

P#97893 2021-09-27 19:31
:: lauraf
1

I found the soul of blight what I'm supposed to do

P#97895 2021-09-27 19:41
:: lauraf
1

@prismo18 where do i find orbs

P#97896 2021-09-27 19:56
1

@cubee i can't believe you put so much garbage in the orb pool, like red brick suspicious looking eye, nothing, shadebow

P#98004 2021-09-29 21:10
1

@prismo18 dude. First of all, the eye summons a boss, you need to make arrows for the bow, and bricks are good building materials. I think it's broken because I have gotten different items such as the magic mirror or a musket.

P#98010 2021-09-29 22:26 ( Edited 2021-09-29 22:27)
:: lauraf
2

preparing to fight the secret boss :D

P#98015 2021-09-30 01:07
:: lauraf
2
P#98016 2021-09-30 01:09
:: cubee

@prismo18

yeah it was broken, i was increasing the orb counter when ANY wall tile was broken instead of just shadow orbs. They should be fixed now

P#98022 2021-09-30 02:58
:: lauraf

@cubee How do I enter other biomes?

P#98091 2021-10-01 16:14

@cubee

can i make the night's edge with all the swords in-game

P#98093 2021-10-01 17:15
:: lauraf
1

@cubee please do a two player mode

P#98099 2021-10-01 21:03
Page:

[Please log in to post a comment]

Follow Lexaloffle:        
Generated 2022-09-29 23:30:21 | 0.228s | Q:91