Dev Bog #1 I have this bad habit of telling people I'm doing something then never finishing it. It frustrates me and it disappointing people, so this time I'm going to try and aim low and see if I can actually pull something off.
I love the little dog sprite, he's so c00t
Doing he's little thing just walking along being all fwuffy doggy dogness
My brother had been telling me about this challenge for a while now, at the time I was working on another project so I wasn't overly fussed if I joined in or not. But after weeks of stuffing around with collision code I was getting sick of seeing circles and squares on the screen for debugging. So I thought I'd give the challenge a go and start something from scratch so I could see something resembling a fun game on the screen fairly quickly.
So at the time I started this there was only one other person that had announced they were using Fifth's sprite set. So I set to work on an animation system.
Right now I have a basic system that has various character states. Eg Walking, Running, Attack, etc. Based on that state the appropriate animation is played. I can configure the animation frame rate, the size of each animation set (eg, walking could be 32x32, but running could be 40x32). So that allowed me to play with various movement speeds and see how they would match up with the animation speed.
Downside currently is that I can't set delays between each frame of animation, or have triggered events that dictate when to play the next frame. Will I implement this¿?, yet to see.
Initially I didn't have any framerate regulation, so the dog would wag his tail 10 times a second, ultra speed wag. Must of been fairly happy. ...and the panting looked like his chest was vibrating.
The dragon princess came in a little later, she was the next challenge. Lots of white space around the character, and the X-Y co-ordinate was in the top left of the sprite. It still is. Got her running around at first as there was only a single frame of idle animation which is a bit sad, would have liked some life in her as she stands around. Added a very simple retarded Ai controller that simply ran her off to the right... and then off the screen. Had to fix that, so she ran back and fourth.
So the sprites, how am I finding them to work with? I like the look of them, the animation is nice, but first impressions is that they are lacking animations I would like to have seen:-
* Dog Sit Down
* Dog Stand Up
* Dragon Princess idle
* Dog stand idle
This is no fault of the artist in any way. Normally when a game is designed there is a long list of states for a character that is generated before any sprites are made. The artists will have input and then they are created. So everything is ready to go from the start. There will always be room later on to add additional animations and character states as the design of the game changes. In this challenge's case the artists pulled off a phenomenal effort of sprites and animations in a short period of time, not knowing what a game may need. Also I can understand from the artist's perspective, why would you want to waste time on a sprite that may never get used? So big ups to the guys who made the art, its not everything we want, but its more than enough to give us programmers a challenge
I have no doubt there will be the budding few who will finish this challenge, then work with the artists and develop the sprites and animations further.
--------------------------------------------------------------------------
Where am I now?
Thats what I'm trying to figure out and the main reason I'm writing this, to put it down on paper so to speak and see if I can focus my attention on where to go next.
I want to re-write my state system a bit more, currently is just an enumerator, but I want to turn it into a array of structs that hold the properties of each state.
Basically, a character can be Walking, Running, Attacking, etc. But that only tells the program that they are simply that, either Walking, Running, Attacking, etc. Where it starts to fall short is, lets say I have attack animation. Theres nothing to tell the program that the attack animation has finished, how long its meant to take, or if the animation can be stopped. Eg, I may not want the player to be able to move while they are attacking, but I do want to be able to have a hurt animation play to interrupt the attack animation. So the new state system needs to say...
If Attacking, then can NOT Move, BUT can be interrupted by Hurt state.
So by having a big encapsulating set of properties, I can say what can and can't be done to any given state. Problem is with that is how do I write this? I know I wan a struct that holds properties. I think I may want to use an array to hold all the structs. But what is the parameter type I want to use to say what can and can't be done? What is a good way to set flags without needing to write down each and every other state and how it interacts with the current state?
This means a bit of re-work to the code which is inevitable, and it doesn't really add anything to the visual flair of the game currently. Its more under the hood stuff which is a bit off putting, when considering all I want to do at this moment is make things look cool. Been doing a bit too much under the hood stuff recently. I find after a few days of feeling like you done a good job of working under the hood, you work on a few other things, then realize you probably should have written the stuff differently. Its feels like its this constant state of wishing I had known what I know now, then debating to my self, 'do I just use what I have, or go and plow through big chunks of code, to make it work better?'
So I'll probably look at my code again, maybe see if I can sift though the tutorials on various sites to come up with a solution.
I have a big list of things ahead of me to do before this game is even a game.
* Basic physics in the world, so gravity affects me when I jump
* Collision detection (should be easy, as I've recently did a bit on my other game)
* Dragon Princess Ai (so she navigates the world)
* An enemy to attack
* Items to pick up
* Interactions between the DraPri and the Dog, etc.
* Sound?
* Background?
...Just had a thought.
Might hold off on new state/animation system for a bit. I need to get around to having a background drawn and the ability for the camera to move around the level. I already have code for this done in my other game, so I may just work on that for a little bit. Its something simple and easy I can probably do in a short time and it'll have a visual impact faily quickly.
So yeah, that will be my next mission, I'll play around with the camera and background. Probably start on the basics for a tiling system
..Now to find some interesting backgrounds to use from all the art