#spriteanimation
Explore tagged Tumblr posts
Text
The very (VERY) sad (SAAD) demise of Blind...
6 notes
·
View notes
Text
I'm baaaaaack!
Been doing a lot of personal important shit so I haven't been active, but I've made a banner! And I've cleared my schedule enough to start making a LOT more stuff on stream!
youtube
#live#livestream#announcement#art#artist#artwork#animation#2danimation#spritesanimation#8bit#8bitart#8bitanimation#2d#2dart#2dartist#pixelart#pixel art#2d artist#2d art#8bit animation#8 bit animation#8-bit animation#8 bit art#8-bit art#8 bit#8-bit#spriteanimation#sprites animation#sprite animation#2d animation
1 note
·
View note
Text
Last Sprout Dev Diary - Jan 10, 2025
Hello, and welcome to the new year! After the break, I'm here for another dev diary - this one being a bit more about something conceptual. If you want to read the last dev diary from December, you can do so here.
If this is the first one you're reading, I'm @oneominousvalbatross, and I'm the tech side of the sprout team! This week I mostly worked on status effects, but I want to take some time to talk about a broader, more conceptual topic, and save the full breakdown for next week.
My poor boy, who has every disease.
Something I don't think I've really specified before in these dev diaries is my background in game dev, or, rather, my lack of background. I started seriously learning how to code a bit over a year ago, and entered my first game jam in February of 2024.
(The game was barely functional, but it did exist so like, there's something.)
My academic background is in philosophy (simultaneously the best and worst thing tbh), and apart from being pretty good with computers in a broad sense I didn't really have much to go on for this project. I'm bringing this up because I'm going to be talking about something that I had to figure out for myself, but that might be like, compsci 105 or something if you went through school for it. That said though, if you have always kind of wanted to make games, you can absolutely make games! I didn't think I was a math person, or a coding person, until I started doing it.
Game Development is Hard
I'm going to assume that software development in general is hard, but I haven't really done that, so I'm talking about game dev. I spent around two weeks not touching the game, and when I came back, the first thing I noticed was just how hard it was to get my head back around something with this many systems! This was also something I ran headlong into when working on that game jam, I reached a point in like, a week where I couldn't touch any system without potentially breaking every other system.
The solution I use, and the reason why I could come back to this without completely losing my mind, is to reduce the number of access points into a system to the absolute bare minimum. For example, we can look at the animation system. It's really complicated! It needs to be able to swap the sprites out on a variety of different renderers, it needs to be able to adjust animation speeds, control shader parameters, and it needs to be able to queue up multiple animations in sequence, plus it needs to send out events on animation end so that I can use them to time up other game actions.
If I was to condense all of this into a few sentences: A system can be as complicated as it needs to be, but try to envision it in its own little box, with precisely one entrance/exit. If you need to spawn a projectile, you should really just be able to go, like, SpawnProjectile(projectile), with as little external work as possible. This means if you need to completely rewrite how spawning projectiles works, you can do that, and all the other classes that spawn projectiles can still just do their thing.
A helpful diagram
The way I would've done this originally would have been to have, like, a SpriteAnimator class with a 'speed' field. I'd set it to one by default, and then whenever I need that speed to be different, I'd have whatever object needs to change the speed go in and set the speed to whatever. If you've done a lot of programming, you probably immediately realized the tons of problems this could cause - problems into which I ran headlong.
What do you do when you want one animation to play at a certain speed, then go back to the previous speed when it's done? If you do, do you assume that the speed was set to 1 before, and just reset it, or do you have one of the two objects involved store the previous speed to go back to it? If you do, what happens if, halfway through an animation, another object butts in to adjust the speed again? Say you're playing an animation at half speed, and then a speed buff gets applied that's supposed to last for a minute. Your speed buff goes in, sets the faster speed, the animation suddenly starts playing faster, then when the animation is finished, the object that was waiting to reset the speed goes back in and sets the speed to 1, leaving the animation playing at the default speed when it's supposed to be faster.
These kinds of problems will always be a risk, but in my specific case I split the speed at which an animation plays out into three places. First of all, an animation has a frame rate, which is meant to never change. We do most of our animating at 12 fps (on twos, I think is what you call it in the traditional animation world? idk, not a 2d animator), and each animation object keeps track of its frame delta (1 / frame rate) so that the controller can progress through the frames at the right speed.
However, we don't submit the animation to the controller in its unaltered form. Instead, we have a data structure called a PlayableAnimation. This contains the animation itself, but it also has the speed at which the animation should be played, as well as some other useful info that might change between two instances of the same animation. A controller maintains a stack of playable animations and can look at the individual speed of each one as it progresses through.
On top of that, there's a final speed modifier that can be submitted along with the playable animation, without changing its values. This way, if I want to play an animation at double speed for whatever reason, I don't necessarily have to set the value for the entire controller, I can just say this animation should be faster, and nothing else. Some animations have different frame rates, or are re-used with different speeds for different purposes, and I can do all that configuration without having to put all that weight on one field.
All of this sounds wildly complicated, and it kind of is, but importantly, if you're playing an animation from any other system, all you do is type in "Controller.PlayAnimation(animation)". You can also go like, "Controller.PlayAnimation(animation, speed: 1.5)" if you want it to play faster, but all of that stuff is handled completely without additional input. This is what lets me come back to the game and keep working on it when it's been months since I've touched a part of it.
Why This is Relevant Right Now
Status effects seem simple, but they kind of need to touch every other system at least a little bit, which is why I spent all that time talking about making systems. A status effect needs to be able to do things like apply damage, but it also needs to be able to play animations or sounds, and it doesn't always want to play those things on the source of the effect.
Some demos for the animations different status effects will use.
Plus, this is a roguelite, so we need to be able to add and modify status effect stuff within the upgrade system, which might mean modifying the magnitude of the effect, changing colors on animations, or tying other things into the effect when it goes off! As long as each of those systems has the cleanest possible entry/exit points, this is doable, but it's been a long battle making sure the game can keep moving forward and not get mired in constant bugfixing and complexity management.
I have a lot of cool game design thoughts on the effects themselves, but I think I'll leave that for a later week. As per usual, thanks for reading, feel free to send any questions or thoughts here or to @oneominousvalbatross, and I'll see you next week!
#indie game#dev diary#game dev#Last Sprout#last sprout: a seedling of hope#game development#game dev blog#game dev update#roguelite
22 notes
·
View notes
Photo

RRR comic process from thumbail all the way to final animation @plastiekk . . #procreate #motioncomic #blender3D #blender #greasepencil #spriteanimation #2Danimation #characteranimation #tutorial#blendergreasepencil #blendertutorial #blenderbeginner #greasepencil101 #blenderartist #48FPS #highframerate https://www.instagram.com/p/CUbxdFulNB6/?utm_medium=tumblr
#procreate#motioncomic#blender3d#blender#greasepencil#spriteanimation#2danimation#characteranimation#tutorial#blendergreasepencil#blendertutorial#blenderbeginner#greasepencil101#blenderartist#48fps#highframerate
2 notes
·
View notes
Video
instagram
#gameart #pixelart #像素畫 #2dart #pixelcharacter #pixelated #pixelanimation #aesthetic #pixel_artist #aesthetic #ドット絵 #artistsoninstagram #characterillustration #asyayakim #16bitart #8bitart #spriteanimation #walkingthedog https://www.instagram.com/p/CC5mBUMnKay/?igshid=1ns8aee5j5guo
#gameart#pixelart#像素畫#2dart#pixelcharacter#pixelated#pixelanimation#aesthetic#pixel_artist#ドット絵#artistsoninstagram#characterillustration#asyayakim#16bitart#8bitart#spriteanimation#walkingthedog
1 note
·
View note
Photo

Game Design for an unreleased game I worked on called DEADMANN’S QUEST 2013 . It was done for an indie developer in Dubai who paid me very well, but haven’t seen anything from it since 2014 #chriscrazyhouse #rostekgames #indiegames #indiegamedeveloper #indiegamedesign #gamedesign #throwbackthursday #2danimation #2dspriteanimation #spriteanimation #gamesprites #gamespriteanimations #flashanimation #adobeanimate #pirates #pirategame #vector #vectorart #vectorillustration #vectoranimation #platformer #platformergames #sidescroller #sidescrollergame https://www.instagram.com/p/B0FG6H_Bzbm/?igshid=55g15h5wwkda
#chriscrazyhouse#rostekgames#indiegames#indiegamedeveloper#indiegamedesign#gamedesign#throwbackthursday#2danimation#2dspriteanimation#spriteanimation#gamesprites#gamespriteanimations#flashanimation#adobeanimate#pirates#pirategame#vector#vectorart#vectorillustration#vectoranimation#platformer#platformergames#sidescroller#sidescrollergame
1 note
·
View note
Video
instagram
Decided to animate it a bit. #2danimation #spine2d #digitalanimation #spriteanimation #art #digitalart #pigeon https://www.instagram.com/p/Caedfq2rxau/?utm_medium=tumblr
1 note
·
View note
Photo
#sprites#animationsprites#spriteanimation#puppetanimation#gamedevelopment#gamecharacter#mobilegamecharacter#characterrigging#rigging#wilderbeest#whatisart
0 notes
Text
Teste de sprite✏✏✏
#artists on tumblr#illustration#digital illustration#art#cartoon#desenho#digitalart#illustrator#illustrators on tumblr#krita#sprite#animation#spriteanimation#gameanimation#blood#dead#animation frame a frame#frames#animation2d
0 notes
Photo
*Me going on my 9th walk of the day*
#indiedev#gamedev#CrestpeakBay#Sprite#Spritesheet#indiegame#Spriteanimation#Spriteartist#Animation#DigitalArt#Art#COVID#COVID19#Quarantine#Gaming#Videogames#Gamebuild
0 notes
Video
instagram
Some sprite animations of the main character of this game I am working on #illustration #animation #drawing #digitalart #digital #art #artistoninstagram #illustrator #videogame #videogames #IndieGameDev #indiedev #sprite #spriteanimation #8bit #retrogaming #16bit #pixelart #characterdesign #character
#animation#artistoninstagram#videogame#sprite#pixelart#art#videogames#digital#16bit#digitalart#indiedev#illustration#illustrator#8bit#character#indiegamedev#retrogaming#spriteanimation#characterdesign#drawing
1 note
·
View note
Photo

Reposting cooool stuff from @plastiekk Please check the link in the profile for more info :) #comic #procreateart #blender3d #greasepencil #retro #blenderartist #procreateartwork #indiegame #interactiveart #spriteanimation #highframerate #2danimations #blender #littlenightmare #bandainamco #monoandsix https://www.instagram.com/p/CUU_kxGvkuO/?utm_medium=tumblr
#comic#procreateart#blender3d#greasepencil#retro#blenderartist#procreateartwork#indiegame#interactiveart#spriteanimation#highframerate#2danimations#blender#littlenightmare#bandainamco#monoandsix
0 notes
Photo
In Ancient Times...an Indie Developer Commisioned me as Concept Artist and Animator for their sidescroll Game...Diggin into my files and found this loop animation for a loading screen...😬
4 notes
·
View notes
Video
instagram
Cool sprite art I was working on the week before to get the rust off. #spriteanimation #spriteart #pixel #pixels #pixelartist
1 note
·
View note
Video
youtube
Sprite Animation | Final Clash Trailer
1 note
·
View note