Frosty Four Digits 2013, A Part 2 of

Posted by Darthvender on Dec. 4, 2013, 12:57 a.m.

So I figured out the name.

Chill (fig 1)

(fig 1, a player existing)

Day 3 saw massive progress on the platforming engine. Whereas on day 1 I had been stuck on a problem with the player getting trapped in the wall, on day 3 I not only added the ability to move freely on free-form ground as opposed to 32x32 square blocks (fig 2), I also was able to rig up the beginnings of the engine that controls animation, which I've had little experience in. It's turned out well except for a few bugs when pushing things and when performing actions I had not foreseen, such as jumping while moving. Nope. Never saw that one coming.

(fig 2, a player on a free-form slope)

As for Day 2, it was well spent on pizza and waiting for guests to get up our treacherous mountain pass, 2 of which got stuck and had to be towed. Makes me wish Canada had taken California sometime so I could be warm for these 6 months of the year.

I also took some time to implement a feature I hadn't planned on, which was dynamic water. Not really so dynamic as to be flowing around, but more dynamic than just some sprite-ass-sprite sitting there. No, this is more of a series of nodes that cycle up and down based on some entropy and a sine wave. Nodes react to the player and slightly propagate to their neighbors, though I seem to have implemented them in such a way that if the values aren't exactly right, they'll feed back on each other and eventually crash the game. Since I wasn't planning on implementing them in the first place, I've set the values so they won't feed back and just written them off as "Good enough" for now. If I have time to do so when the rest of the game is done, I'll go back and look into it.

For now, however, I'm going to be working on fixing the animation engine. The glitching when the player pushes something is unsightly (fig 3). I might end up just dedicating an animation to it rather than taking too long on it.

(fig 3, look at me I can an edit)

As it stands I'm very happy with the sprites I've made (fig 4), but the ground sprites are for development only and will be unrendered and covered by one continuous foreground sprite per level. This will look better in the long run and will also force me to make the level more interesting gameplay-wise than graphically so. Or at least, that's the plan. After the animation and platforming engines are done, I'll be moving on to the combat engine, which I expect to prove a daunting task as I've never attempted anything close to a brawler before.

(fig 4, look out below)

PS: Did you know that, in Game Maker 8.0 at least, setting the sprite_index to a sprite that has fewer frames than the current sprite resets image_index? CAUSE I DIDN'T FOR ABOUT A DAY THERE.

PPS: No I probably won't do these every day. But it helps keep me interested.

Comments

JuurianChi 8 years, 5 months ago

I'm interested in seeing that combat when you're done with it.

btw, what is the music in your video called? I want to hear more.

Darthvender 8 years, 5 months ago

What, you've never watched The Price Is Right?

And I have no experience in combat engines like this what am I doing

Toast 8 years, 5 months ago

The water sounds cool. I get the sine wave bit but how do you render it? That's one thing I've never figured out.

I like the idea of a single sprite for the foreground but know that it's a total pain in the ass to update the graphics afterwards.

JuurianChi 8 years, 5 months ago

Quote:
What, you've never watched The Price Is Right?

Not really. I think I've only seen it once in my entire life, and I was five then.

Darthvender 8 years, 5 months ago

Yeah Toast it was always a mystery to me until recently.

As long as you can get the points of cell's height and the height of cell's wave you can draw a primitive between a base point and those two points, then draw another one to fill in the bottom.

It looks really cool and I've spent far too much time just moving around in it.

Toast 8 years, 5 months ago

Oh yeah, of course. I don't have primitives in the game library I use though. So I'd have to code it from scratch. Eek.