I’ve been working a top down 2d pixel RPG, it is still in the initial stages of development, yet I’ve already hit the 1000 file limit on itch.io. I’ve had to strip out all animations on my NPCs just to get the game working again.
I want my game on itch and to be honest this has kinda turned me off using Gdevelop. All of my characters have 16 frames of idle animation, 4 in movement for all 4 directions. This all lives in a single tiny spritesheet for each character (8x8 pixel graphics), but of course Gdevelop splits this into 80 separate images via piskel. almost 200 if I include death, attack and damage animations.
I can’t reuse frames by flipping them as they have a consistent lighting style.
I see texture packing / spritesheet has been on the todo list for years at this point, despite it being available in almost all other game engines, including the ct.js game engine which is a one man project also using PIXI.js and I’ve been thinking about porting over to that instead.
I’ve loved using Gdevelop and have never progressed so far on a game before, and Gdevelop has made it fairly painless, but I worry that it is no longer the correct fit for what I want to create. Just feeling a bit bummed out about it all.
i havent tried it out however it seems like a great way to compress your game
but it will take a lot of work since (im assuming) you would need to go back and replace some assets!!
i think itll work either way (im pretty sure the indents in the “frame” line and extra information dont matter)
but it does seem you may need to manually add in the animations near the bottom if you export with aseprite
Just had a wee play, and def works with a few caveats. As a tiled sprite, no collision masks or changing the origin point, so i’ve had to manually do the z order with an offset but I can get around all that. This will work with all my static NPCs, and things like my animated fireplaces
i’ll use a player object for this example:
what i’m thinking is that you could make the player object match its positions with a different object that has the collisions
that object would do all the heavy lifting, not just including collision, but other things like movement, attacks, whatever
that object would essentially have the player object overlaid them as a disguise
player object would handle other stuff like animations
halfway through writing this, i realize it sounds pretty janky
That sprite sheet extension is a huge hack Basically just using the dimensions and offset of the tiled sprite to crop a rectangle in the sprite sheet, it’s not very performant…
I should make a new better one sometime that uses a sprite instead of a tiled sprite
This is actually a pretty common pattern (and one GDevelop used to recommend officially in the templates?)! It’s hard to keep collisions consistent when having many animations & frames, and visual effects like squashing & stretching, flipping the object, etc. all impact the collisions of the object too. So it’s common to use a hidden object for collisions and game logic, and have a separate “display” object on top for all the graphics and effects.