Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs

[DEVLOG] Kobito. Action-Platformer.

A topic by Giant Gough created Jan 28, 2020 Views: 256 Replies: 24
Viewing posts 1 to 13
Submitted (6 edits) (+2)

I'm late to the devlog party, but the past two days I've been setting up a few things which I'll list below. I can't decide if I want gold also to be the HP. So you start with 3 gold, each hit and you drop a coin till you die. Or the richer you are the more hits you can take. But if you spend gold you're giving up some of your life for whatever you're buying. So if you pay for a bridge repair to unlock access to a new area, that resets your Gold/HP down to 3. So you start the new area like you started the old area.

I would have to make sure that the Player doesn't spend so much gold they kill themselves. Currently abandoning this idea until I've got some other, more basic things set up. Like movement. Camera. Combat. A UI. A Menu. Basically I just want to finish with something simple, then if I feel like continuing with this project, do so after I have some nice groundwork stuff set up.

Goals for the first week are:

  1. Nice movement set up (Left, Right, Jump, Climb)
  2. A good camera set up (Smooth, shows all needed information on screen. Doesn't hide anything)
  3. A basic level set up that will feature everything I plan on putting into the game in it. Like a micro game in the level. A Dev Level. A devel.
  4. Pick up gold and add it to the UI that tracks gold
  5. Extra time will be given over to the menu
  6. Extra time after that will be given over to reading signs.

Goals for the second week are:

  1. HP tracking in the UI
  2. Attack animation and attacking from player
  3. Add an enemy that can hurt the player and be hurt by the player
  4. Maybe some kind of AI for the enemy. Something simple like puts a shield up when not attacking, then after attacking it's vulnerable for 2 seconds or so.      if(shielded) {invincible}    else {vincible}. I think that's how programming works.
  5. Extra time after all of this will go on polishing anything that needs it from either WEEK 1 or WEEK 2.

Jan. 26:

  • Built some simple sprites with Aseprite
  • Built some animations
  • Added movement, player can now move left, right and jump
  • Added animations for those movements
  • Built a small testing level
  • Added box colliders
  • Using a generic Camera Controller

Jan. 27

  • Movement has been smoothed.
  • Gap between sprites in my sprite sheets has been fixed.
  • Wrote a new, simpler camera controller.
  • Improved PlayerController.
  • Added a bit to my test level.
Submitted(+1)

Jan. 28

  • Finished camera controller completely by replacing it with cinemachine. Which I just learned existed.
  • Built out more of my test level
  • Created moving platforms
Submitted(+1)

Sounds really interesting!! Please share some gifs when you have something showable ;)

Submitted (1 edit) (+3)

Jan. 29

  • Built out climbing. Sort of. It's rough. I didn't realize climbing would be so hard. Here's a peak at what I've got for climbing.
  • Built an idle animation. He drinks coffee.
Host(+1)

oh my gosh this is so charming! i love that idle animation so much. also it's great that you've been able to rough out movement! you can always spend time polishing it later.

Submitted(+1)

Thanks. I wanted to have an idle more fun than just sort of bouncing up an down.
I never realized how long it would take just to get a smooth and fun movement system up and working.
Jumping is still not up to snuff either. Trying to get it to where if you hold space you jump higher and if you just tap it, you do a little hop. Can't quite figure it out.

Submitted (1 edit)

Jan. 30

  • Reigning in scope to just the basics of a platformer. Gold Counter. HP counting how many times I can get hit before dying. A few things to jump on. Jumping will not be the main point. Mostly getting gold will. Trying to make the player movement feel nice. Just a solid foundation. If I have time I want to use attacks instead of jumping on enemies. To kill them. That being said, today I:
  • Got my gold and gold counter built.
  • Put in an enemy.
  • Player now dies when hie by enemy. No game over screen just yet. The enemy sort of pushes your body off screen which is kind of funny.
Submitted

That’s kind of a brilliant game over screen. You could leave that happening faded out slightly in the background and just pop up “GAME OVER” in the middle of the screen or something.

Submitted(+1)

I'd like to, but the camera isn't that zoomed in so it would take a little while for him to get brushed off screen. Although maybe I can make the camera zoom in on the dead body when the player dies, then bring up a game over screen.

Submitted(+1)

Jan. 31 - Player death

RESPAWNING AND PLAYER DEATH is really difficult. I can't really figure it out.  I finally have it that when my HP reaches 0 it respawns me but: 

  1. I go from 4 HP to 0 instantly due to each frame = 1hp damage. So by the time the enemy has turned around I am dead.
  2. I leave my dead bodies lying around. Check it out:

PLANNED FIXES TO THESE PROBLEMS:

To fix the first problem I will probably create a knockback effect and some i-frames to give the player some space and time to respond.
To fix the second issue...I don't know if it needs fixing. I kind of like seeing my failed corpses hanging out.


POLISH:
        - To make the whole transition a bit nicer I think I'll put a small delay on the respawn so it's not so jarring.  Maybe a 3 count or something.

        -I have an HP Bar, but it doesn't do anything yet. It will decrease each time the player gets hit. Unfortunately, I don't know how to make it decrease smoothly, so it'll decrease in chunks. But it will get the job done. Here's an image:


OTHER THOUGHTS:

Programming is hard. If someone has some cool resources for newbs, I'd appreciate it. Specifically Unity with C#. Right now I'm patching together information from 100 different tutorials and everyone has their games set up so differently, so I'm constantly trying to take what they're doing and make it applicable to my game. For example, someone has HP and respawn in the LevelManager/GameSession etc. Another will have it in the PlayerController. So figuring out the best way for my game to work can get confusing. I sort of feel good about getting this far, though.

Submitted(+1)

I think the old bodies lying around is pretty cool, as long as they can’t break anything (block entrances, etc.)

I work as a software developer, but take my advice with a pinch of salt, because I’m not much of a game developer.

HP is a property of the player, and so it belongs with all the other player properties (position, scale, rotation, etc.).

Respawn is a bit more difficult. If you have it as a method on the player, then you can easily update the HP and position. You’d probably lose the dead bodies by doing that, unless you Instantiate() a new player object. That might cause weirdness when it comes to controls and things like that.

Just try to keep things in the place they logically belong. If the player has health points, then HP belongs to the player. If something else needs to know the HP (your health bar) then it will need to be able to reference the player to get it.

Coupling those GameObjects together seems to be a pretty common thing to do in Unity, so that’s probably fine for now, even though I’d usually say to avoid tightly coupling independent objects. Most typical solutions are going to be huge overkill for your game in the next week or so. :)

For tutorials, I’d say to find one that is producing something just like what you’re working on, and stick with that for examples/inspiration. Trying to follow more than one will probably just jumble things up, like you said. See if you can find one with the source code available for close inspection.

I think you’re doing great, and the best thing you can do is practice!

Submitted(+1)

I appreciate the advice!
I might do so refactoring after I get HP and player death working right. Then work on the final big part of the game which is combat. But super simple combat. I hit something with a stick, something dies.

The more I build the more I want to include, like losing coins on death, then a death run back to corpse etc. But anything above what I"ve already included is a bit out of reach. Especially with the time limit. I figure I'll finish this and then after this gamejam start a new  game with the info I've picked up.

Submitted(+1)

Yeah, I’ve come to terms with the fact that if I want to make the game I have in my head, I’ll need to continue for a long time after this game jam. I’m just hoping to get the most basic implementation done now so I feel like I achieved something. :)

Submitted (3 edits) (+1)

Feb. 1

I finished the death process by:

  • I no longer leave the corpse of my player laying about for them to pile up after death.
  • HP bar decreases after each hit the player takes.
  • The player is bounced back away from the enemy after being hit.
  • The player has a small window of i-frames after being hit.
  • Game resets on death. (I'm only planning one small level, so I don't think I'll be including any checkpoints or anything as dying isn't too much of an inconvenience.

Here's what it looks like:


EDIT: I just realized, watching this back, that the respawn happens too fast. I'll have to implement a way to let the death sit a few seconds before respawning. I also realized the gold the player picks up is lost, but also the gold picked up in the world respawns with the rest of the world. I think, just for the sake of time I'm going to leave it this way.  As I still have to implement some kind of goal for this game l to work with. And a way to kill enemies. Ideally also a reason for the player to want to pick up gold anyway. つまりMy remaining main goals are:

  1. Make it so the player can kill enemies. Not by jumping. I hate having to jump on stuff to kill it. Probably by swinging something sharp and maybe heavy. 
  2. Create some kind of end goal for the player to reach.
  3. Menus

And side goals are:

  • A way to use the gold you get, so you have incentive to pick it up. 
  • Maybe a jump back button for dodging.
  • Then polish, polish, polish. And I'll call it my first game.
Submitted(+1)

It’s coming along nicely! I agree about the delay, because in your gif it sort of looks like you’re just bouncing off the enemy. Perhaps something like this:

  1. Die
  2. Fall to the ground like before
  3. Corpse fades out
  4. Character fades back in in respawn position
  5. Player regains control when fading ends

Up to you, of course. :)

Submitted

There is a knockback effect when the enemy hits the player, but when life reaches 0 he lays down for approximately .02 second before respawning down in that bottom corner.
A fade out/in would be cool. I'm not sure how to fade a game object, though. I think in order to make sure I can get all the remaining things I want to add finished I'll just slap a timer on it and throw a fade out in the polish pile for now.

I appreciate that you keep checking back in on my devlog, by the way.
I've taken a look at yours and I'm excited for it. Survival is among my favorite genres.

Submitted (2 edits)

Feb. 2

  • Added a coroutine so that I could have a timer for respawn. I've found about 2 seconds seems to work well. I'm not sure what a coroutine is, but apparently it's necessary for this kind of thing. Here's a GIF of the new respawn.
  • Player can now attack and kill enemies
  • Added a nice animated gold pile icon to the UI to indicate that the counter there is definitely for gold
  • Updated the camera, makes it feel a bit nicer. A bit tighter.
  • Updated Combat hitbox. Made it more generous just for ease of playability.
  • Updated Jump so that when you just tap space you don't jump as high vs if you hold it you jump higher and stay aloft a little longer.
Submitted(+2)

Feb. 3

Took forever, but I got sounds for footsteps, jumping, dying, attacking, taking damage, some generic acoustic guitar in the background and menu clicks. I can't really add sounds to the enemy being hit because of how the code is written. I'd have to refactor a lot of stuff and I don't want to do that yet. So instead I'm ignoring it for the time being.

I have accomplished everything I think I wanted to to finish minus putting together a proper level. So now that I've got some extra time to do things I want to:

  • Make the menu nice and less generic
  • Add toggle sounds for when you toggle buttons in the menu
  • Maybe a sound for when the Pause menu comes up
  • Add intractable shopkeeper NPC for dialogue and purchasing health. The health wont go into an inventory, though. Just sort of automatically heals you. Maybe I'll make it a coffee shop. Buy a coffee and staying for a while heals you. Then you go back out. 
  • More enemy types
  • A level or two that are relatively nice
  • And if time really allows, a boss. 

Quality of life improvements will be made first, I think. I can't believe I've gotten it this far, honestly. Although after work I've been putting in about 4 hours a night. Excited for progress.

(+1)

Hey just wanted to say that I love the art style! Good job on making everything look cohesive :)

I also want to say that I feel for you with not being able to add a sound effect because of the code design. I don't know how many issues like this I've run into just over the course of this jam. I hope you find a solution!

Submitted

I appreciate it, especially because I was worried about it being sloppy due to time constraints.
I might be able to work something out, but sometimes I just have to take a break from a problem for a bit and then come back to it fresh.
I hope you also find solutions to your problems!

Submitted(+1)

Feb. 4

BIG NEWS. Lot's of cool stuff I didn't think I could figure out got figured out. Somewhat. I have NPC'S! Enemies drop loot! Enemies make noise when hit! The Pause menu has sound! Oh, let me organize it with bullet points.

  • My first NPC every. Pikako. Will add appropriate lines of dialogue later. This is a place holder. I'd like her to sell something, don't know if I have time for that, though.
  • Enemies drop gold! Never thought this would be so easy to implement.
  • ^^ Check out the gold counter in the bottom left corner. Added some bling so it shines and looks nice, neat and easy to read.
  • NPC's play a sound when they are hit now. Took a lot of figuring out because my code is a mess. This game would not be able to scale too well I imagine. Which is fine because I don't even have a real level yet. Just this test level.
  • The conversation stuff with the NPC is getting worked out. She'll also make a silly sound like NPC's in Hollowknight.
  • Can now unpause with the same key you used to Pause instead of having to click continue.
  • Pause menu now makes noise when brought up and when buttons are pushed.
  • Fixed some other audio issues here.
  • And many other quality of life improvements that aren't really worth documenting were made.

I do not have time to implement a boss. So I'm going to flesh out conversation with Pikako, build a level, add another enemy type and hopefully have Pikako sell the player food for restored health. You wont have an inventory or anything, health will just fill up in the bar. I'll draw a small walk up cafe that she'll be standing in.

Let me know what you think so far! Thoughts, comments, concerns!
I'm very excited. I've never gotten this far with a game.
Enemies drop loot! So cool!!

Submitted

That’s cool! Did you have one really productive day?

Submitted(+1)

Yeah, for various reasons I got off work early, went home and started plugging away. Some things I thought would take a long time did not take a long time. So I was able to play around with npc's.

Submitted

Feb. 5

Don't know what I did today really. I fleshed out the Menus a little bit more. Tried to get it to fade from Menu to the Level, couldn't figure it out. Got frustrated and went to draw a new enemy type. Slow day. Much needed. I think that's about all I'll get done today.

Tomorrow I want to put in the new enemy into the game. Make it's behavior slightly different. Instead of walking back and forth I'd like it to walk towards the players position. After that I'm just going to build a small level for the player to experience what I've done so far.

If there's any time left, and there probably wont be, I'd like to go back to fade in and out from Main Menu to Level. Not sure why I'm having such a hard time figuring it out.

Submitted (1 edit) (+1)

Feb. 6


I really hate building levels. It's incredibly boring and monotonous. I wish I had someone to do it for me. But that's what I'm doing.
The more I play through my game, the more bugs I'm noticing too. I will have the game finished in time, which was my original goal. But it's not going to be very good. My skill is still too low. But in this game I can see a really good game whenever my skills are high enough.


Like what is this:

Keep getting weird lines. I've implemented Pixel Perfect. Made sure my orthographic size made sense. Can't figure it out. Only thing I can think is that when I sliced up my sprite sheet this happened. Cut a bit off the top. I don't really feel like replacing everything now, so I'll see if I can find a work around. Wish me luck.