🤑 Indie game store🙌 Free games😂 Fun games😨 Horror games
👷 Game development🎨 Assets📚 Comics
🎉 Sales🎁 Bundles

[DevLog] KiiMyy

A topic by anmeichan created 1 year ago Views: 424 Replies: 14
Viewing posts 1 to 13
(+3)

Hello, I'd like to keep a devlog here just to have all my progress more in one place. This first post will basically just repeat what I posted on Tumblr, about the concept of the game I want to make.

Overview

KiiMyy will be a platformer with the objective to reach the end of the level. The player controls Kii (in green), who has the ability to transform into Myy (red) by collecting enough gems, found on the stage and dropped by defeated enemies. Myy will turn back into Kii after some time has passed without collecting any gems. Kii and Myy each have their own advantages; Kii has a stronger attack to fight enemies and move boxes onto switches, while Myy uses their claws to climb rocky terrain.

There is no real backstory or characterization for these two yet, as I came up with them just for this jam.

I will be using Stencyl for the first time to create this game, so please let me know if you have any tips I could use!

Goals

  1. focus on gameplay more than art and story.
  2. create one level
  3. learn how to make tilesets and sprite sheets
Host

oo the concept of transforming for different abilities is really neat! i'm excited to see your sprites and how the differences between the two are reinforced in animation. good luck!!

(Edited 2 times) (+2)

Day 4 Update:

Yesterday I was able to add player control, and today I added the gems that need to be picked up. The numbers in the corner are meant to be the player's health and energy but I'm not sure why they're overlapping? According to these, their positions should be set so this doesn't happen...

The energy variables aren't changing when I pick up the gems as they're supposed to either so I'll try to address that next. I'm still not sure if the health and energy should be a global or local attribute so I need to study that as well.

Next objectives:

  • fix collision with gems so it doesn't stop the player before gem is killed?
  • fix health and energy placement
  • make energy increment when a gem is collected
  • create an enemy sprite

If any Stencyl users out there have any tips to give, please let me know!

Host

hmm that is really odd--is it possible that the anchor points are off, or are the text objects anchored all the same way? also those variables are probably best as global i'm guessing since you'll be drawing them in text but also assigning them when pickups happen. best of luck with those! also your art is rly nice whoa it's neat to see some non-pixel art!

Day 5 Update

I managed to fix the health bar issue, which turned out to be because I added two instances of health counters but I wasn't actually able to see it in the scene editor without any images to represent it. Because I couldn't see them, I also could not remove them from the scene so I ended up just deleting the level and starting over.

for now there are two bars to act as placeholders for health and energy, I'll probably make those smaller. I wanted to try drawing the health and energy as rectangles on top of the ones I made but I don't think the layering is correct.

The energy is increasing when I collect gems as they should. The problem is when I hit the max amount of energy. I wanted the energy level to decrease back to 0 over time, so this is the logic I tried before:

 photo 2016-01-06_19-57-37_zpsbhueansn.png

But when I tested it out the game froze and stopped responding, meaning it somehow got caught in a loop? For now as you can see in the gif I simply reset the energy to 0 when it reaches the limit.

Created a simple slime for an enemy and added it to the scene. so far there are no collisions or walking set to it.

Next objectives:

  • make the slime walk around
  • create a kick animation for Kii to attack the sprite
  • create the collisions between Kii and the slime
Host

hi!! i think your "do every x seconds" line is causing the game to crash! loops are very dangerous stuff and you have to remember that //every tick// they must execute and exit. this means your loop is waiting a whole second before decrementing--and finding that its condition is still true--is unable to exit--and? im guessing probably halts every other process and causes it to crash while executing this decrement every second. my suggestion would be to scrap the loop entirely and create an isDecreasing boolean. once (energy >= maxEnergy) is true, turn isDecreasing on and create a timer or if statement underneath a check for isDecreasing to decrement the energy. once energy reaches 0, isDecreasing will be turned off. this probably needs some tweaking but this will be a much more stable way for you to decrement the energy!

Thank you for your advice! I was able to get it working exactly the way I wanted!

 photo kiimyytest5_zpsahjgguit.gif

I found that a big problem was also that I was trying to decrement the energy all the time instead of once a second, so it was stuck constantly trying to do the loop which made it crash.

Host

aa fantastic!!! i'm glad you figured it out! altho i do want to say even if you did all of the energy decremented at once the "once a second" part would stall the loop from exiting immediately which would prevent the tick from being able to finish up and run anything else. wait/timer commands aren't meant to be inside loops 3:

Day 6 Update

Today's progress was recorded as a video demo, which you can view here.

The biggest update, besides what's addressed above, was just adding the kicking animation and being able to assign it to a button. I looked into how to make Kii and the slime damage each other but there were so many components to the preset behaviors I found that I didn't know where to start x.x I think I'm making it harder than it actually is because my approach was to make a new type of collision box around Kii's kicking foot to damage the slime, so maybe tomorrow I'll try just defining collisions between the enemy and Kii's left/right side.

Next objectives:

  • Start creating Myy's sprites
  • focus on health/damage system

Day 7 Update

Today I was busy with other responsibilities, and I'll be pretty busy this weekend too, so there won't be much progress for a while. But at least I have the basis for Myy's placeholder sprites, and I'll be able to add them into the game next time.

 photo 2016-01-08_23-00-30_zpsvqs7fqmb.png

(I rely too much on the downscaling to hide the imperfections ;;;;)

Next Objectives:

  • Add Myy as an actor to the game
  • Implement the health/damage system (make sure this works before moving on!!!)

After all this though there are only two game mechanics left to add, so I might actually be able to complete an actual working prototype in time for the jam!

(+1)

Day 9 Update

Took some time to read up on some more things such as the details of the health system behaviors (I'm using a premade set from StencylForge) and how custom blocks can be used in other behaviors. Thanks to that, I was able to get a basic health system working in my game!

Although, as you can see, it's still very touchy... I tried to make it so that kicks would damage the slime, but the collision is also damaging the player character. Also, for some reason, the slime can be damaged simply by walking into it.

I also took the time today to add Myy to the game, which was easy because they have all the same functions as Kii.

(Putting them next to each other shows that Myy has a slightly smaller head...I'll have to fix that if I have time to clean things up.)

Next Objectives:

  • adjusting Myy's collision boxes
  • fixing code so that everyone damages each other properly
  • make an energy bar display

Day 10 Update

Another video demo with today's work, watch it here.

The issue I was having with the attacks was that I need to make sure that damage would only be inflicted if the attack animation was playing. To prevent the enemy from hurting the player during the player's attack, I set a temporary invincibility during the animation as well, though I'm not sure if that's the proper approach for it.

The energy bar display was pretty much a copy of the same code used to make the health, but using the global energy attributes instead.

I also tried to create a behavior for enemies to drop gems when defeated, but the gem doesn't seem to "fly out" of the enemy and bounce like I would like it to. Here is my code for the drop:

 photo 2016-01-11_21-10-16_zpsesrqcc9u.png

I'm sure it's only because I don't fully understand how the "push" block works, like what the force number represents? I will also double-check the collisions on the gem itself to see if it matters.

Next Objectives:

  • create sprites/images for:
    • Myy's attacks
    • Kii transforming into Myy
    • Myy reverting back to Kii
    • an item to restore health
  • Implement Kii's tranformation to Myy when energy is maxed
  • Implement Myy reverting back when energy is depleted
  • (if time) create new behavior for climbable walls?
(+1)

Day 12 Update

Only implemented the change from Kii to Myy and back today. I wanted to have actual animations to transition but sudden negative thoughts stopped me yesterday :(

Next Objectives:

  • implement ability for Myy to climb walls
  • start building an actual playable level

i love the transformation idea!!! and your jumping animation for kii looks so good!!!!!!

(Edited 1 time)

Day 14 Update

I spent all day trying to implement Myy's wall climbing ability but I wasn't able to get it working the way I wanted it to. The idea was to have them stick to the wall and then be able to crawl along it using the up and down keys. I was never able to make it so that they stay still on the wall (the best I could do was make them slide down really slowly). So in the end I wound up using the premade wall sliding and jumping behaviors instead of all the work I put into the one I made orz.

I think at least I would be able to make a full level now, but I think I will end up submitting this game late to the jam because of many other things going on this weekend :( I will try my best to make the level show how both of their abilities are necessary to advance through the game.

Next Objectives:

  • make one level
  • create start screen
  • create behavior when level is cleared

bonus little wall shimmy gif that was meant to be use for the climbing ahaha

image