I don't think there's much more I can do to save tokens, but I'll see what I can fit from your suggestions.
I tried adding the twins, but I don't think I'll be able to fit them in since there's 2 of them. Any other ideas for bosses to try, preferably that don't have multiple parts?
The main post should explain how to save and load in the "How to save your worlds and players" section. I haven't tested it too extensively though so saving on the web version may not work properly for some people. (particularly on mobile)
WAIT, I have the best idea:
items are currently broken into 3+ lists
this makes it harder to read the code and probably takes up tokens
what if items were formatted like this:
--items are indexed by pos in list
NAME:SPRITE:Palette changes:item features:comment
name: this is the name that is shown when the item is held
sprite: the sprite of the item
palette changes (if needed): edit the colors of the sprite(ex: wood pickaxe to iron pickaxe)
item features: this is my cool idea
(too big, see second spoiler)
comment: does nothing, just an identifier for the humans reading them.
these would be put in as needed
some of these have sub inputs (shown in parentheses)
(bg wall, (pick power to break??), top-solid, solid, produces light (brightness, color), door, can have auto bg walls, need support)
(ammo type, autoswing, damage)
(pick (pick power??), axe, damage)
(type, damage, infinite)
(summon, food (effect), maxHP up)
list of material palettes :
--default is 15,11,5,4 (gold) (3,2,1 these stay the same)
--(- for colors that don't change)
what do you thing @cubee?
First duplication bug?
- Trash all items except for a consumable (boss summon, life crystal)
- Press (O) to pick up and put down the item a few times.
- If you see the item both in the inventory and in the picked up item slot, it worked. Congratulations, you now have infinite boss summons, but nothing to do with them except cause chaos!
Pretty useless though since you have to trash everything to make it work.
I was putting the held item into slot 0 (which doesn't exist from the inventory system's perspective) when the inventory is empty, so it's fixed for when I make the next update.
Enjoy it while it lasts!
having mouse support could be cool, as i can't hold up/down, z, and x at the same time (either a possible pico-8 quirk, or my laptop sucks), meaning i have to build up to mine more then 1 block upwards. you could also make the mouse obey the 1 block range aswell (sorry if this is confusing)
so glad you liked my idea, I think that enemies could also have tokens saved
format idea (string)
name,hp, damage, defence, drop(s),ai type (,sprite,palette)
this would mean that you do not have to call the enemy variable but instead just check the needed data.
ai types could also be combined like EoC + shooting = twins
I forgot to change the version number when I last updated it so nothing has changed yet.
When I said that I meant the enemy strings, that was really good for saving tokens.
Anyway I think I've managed to get Plantera in, that should be a nice change away from EoC's AI that both EoC and the secret boss use.
my idea is to do:
example list of enemies (stats copied from terra code)
name,hp, damage, defence, drop(s),ai type (,sprite,palette)
The main issue with combining them all into a single string is that then enemies would have to be indexed by number, rather than names, which would make the code a lot less readable.
If there's a way to preserve the names as keys (something like "key=v:n,v:n" to key="v:n,v:n") without using more tokens, I'll try, I just don't want to obfuscate the variable names at this point.
cool, it would allow for more items to be added more easily. also https://www.lexaloffle.com/bbs/?tid=43558 can be used as part of the item syntax instead of [SPRITE:Palette changes], you could just have the sprite string be part of the item syntax
two suggestions: craftable chests. because... why not? and also if possible, randomly generated chests from caves. but i don't think the game have enough token space for that, so...
and lastly: buff ocram a little bit. he is a little easy to my taste, but i think i can go with it
Yeah I'm not going to add chests for a few reasons, mainly concerns about tokens, save file size and the UI layout on top of the lack of an interact button.
How do you think Ocram should be buffed?
- Movement speed?
- Add projectiles maybe?
- ... All of the above?
2 things about using espr() for the items: calling sset() for the amount of items per frame this game needs to render is probably going to destroy performance (primary issue), and it trades sprite space for compressed size (also a concern now after adding Plantera).
I do however already have my own similar function that takes significantly less tokens (with less functionality) which I use for the Terra logo and part of Plantera's sprite:
-- 39 tokens function tospr(str,w,x,y) for i=0,#str-1 do sset(x+i%w,y+i\w,tonum("0x"..sub(str,i+1,_))) end end
It uses a similar format to the one output by PICO-8's GFX editor:
-- pico format, () are normally  (gfx)0404ebeebb7ee7eeeeee(/gfx) -- tospr format, pico format with the tags and first 4 numbers removed ebeebb7ee7eeeeee
Also, I've attempted to change the item strings, but unless I'm going about it the wrong way it doesn't look like it will save tokens at all.
Items are in fact only stored in one list as it is: the TOOLSTAT list.
The second list (TILENAMES) stores the sprite names which are accessed from both the inventory and recipe systems, with the inventory being the only one with access to TOOLSTAT so merging TILENAMES with TOOLSTAT breaks all but the inventory. This is purely used to display the selected item's name on the inventory screen.
I think it would be great to make the items use a more flexible format like that, I just don't know how it will save any tokens. (I'm right up at 8192/8192 with 99.98% compressed size as of writing this)
I saved more tokens, so I decided to test out mouse controls.
- P2 Left-Right: Move
- P2 Up: Jump
- Left mouse: Attack
Inventory has the regular controls (P1 arrows, z/x/c/v, enter)
Breaking blocks (Tile breaking range is only limited by the screen size)
(Yes, that statue on the left side is Jelpi)
Ranged weapon aiming
Opinions on mouse controls? Or should I add some other feature instead? (I have 80 tokens to work with)
@Sup3rAw3som3Gam3r remember, quality over quantity. and also, i think mouse controls would be awesome, but i mean, i think the controls are good already, and it would be a problem to some people that play terra in smartphones if this wans't optional.
Night bosses being summoned during the day will be fixed next update. They should also leave when it becomes day as was intended but I had accidentally left it disabled in the released version.
Here's Retinazer's sprite. What are you planning to do with it?
(He's just the Eye of Cthulhu with a different pupil sprite and the laser cannon)
[Please log in to post a comment]