top of page

Project Knight Dev Diary - 21 Aug

Writer's picture: Jonathon SherwoodJonathon Sherwood

9 AUG 2020

Having been caught up on multiple mini projects, it was hard to want to spend too much time talking about any one of them because they were cranked out just about as soon as they were started. The long-term project I've been working on has needed to be constantly put on hold with how much time is put into these smaller ones, but I don’t think it was a waste of time. I was able to learn a lot of clean code and basic functions that I think would have dramatically improved the original design of Project Violet. In order to be completely comfortable starting it back up, I’ve got one last project that will be used to learn cleaner 2D platforming concepts. 

Currently titled “Knight,” I’ve already found a multitude of ways to make code cleaner. For example, the animator now uses “Play” rather than a never-ending series of bools that are being turned on and off. The reason so much of Violet’s animations don’t work well is because there are so many lines of code just for turning off and on the animations that they often conflict or overlap. With this new method, I am able to call an animation for just as long as it is needed before returning to the previous state. 


I’ve also learned how to have a lot more control over character movement. With Knight, I have already implemented dashing, touch-sensitive jumping, and Coyote time. I was having a lot of trouble adding Coyote Time, or hang time, to a double-jump mechanic, as I wanted it to be that the player lost their ability to double-jump if they walked off a ledge, but still allow them to jump once. With some tweaking and playtesting, I was able to get it where I wanted.


I’m going to try starting back up the journal regardless of which project I’m working on. Maybe I’ll start titling them with what I was working on, and just post the entries regardless of what they are related to. After all, I’m never going to stop working on games, it may just jump from game to game based on schedule. 


11 AUG 2020

Worked on some initial combat to get a feel for the game. One concern about having such a small character is that his attack range won’t be enough to hit enemies without getting precariously close. I can change the attack range through script, but if the swing doesn’t look like it should be hitting then it doesn’t work. I may have to reanimate him, but we’ll have to see how it goes.

I also managed to get a player character fully animated, and I think he's exactly what he needs to be. I wanted a "human" but didn't have the time to animate a full body, so I think he satisfies that wonderfully. His attack animations are a little short, so I'll have to come back to that if I have time.


12 AUG 2020

Worked on some death animations for the enemy eyeball. I’m not sure how I feel about it, because I feel like a game like this almost means it shouldn’t HAVE a death animation. Not really, anyway. Right now, it rolls its eye to the back of its head and then tears apart and disappears. That’s... a lot to look at for a standard enemy dying to a standard attack. It’s a shame to lose the time spent on it, but I’m thinking I’ll just replace it with a particle effect.


14 AUG 2020

No matter what I say about my original shooter project, it can’t be denied that I got some great problem solving done. For this game, having a knockback/stun/invulnerability mechanic seemed like a no brainer, as you don’t want the player to die in seconds. Popping into my other code to see how I did it, while it is a bit sloppy, it plugged into this code very well. A little bit of tidying and I just took a project from a 6-hour research fest to a drag-and-drop. Very cool!


15 AUG 2020

Seeing the deadline of next Friday looming kinda discouraged me, but I really want to make this one as good as I can, so I pumped a lot of extra hours into it. A lot of the work is a little unnecessary, such as personally designing my own UI elements and fixing the eyeball’s death animations, but I am so happy with how it is turning out that I can’t allow myself to half-ass it. It’ll be great!


17 AUG 2020

If it’s a lot of hours it’ll take, it’s a lot of hours it’ll get. Another day putting all my effort into this game. I got the menu system up and running with a unique animation. I’ve never put a lot of effort into the menus because I’m not great at art and that tends to be a big portion of the title screen, but I think I managed to work with what I had to make it really cute. I’ve also started putting in music, win/lose conditions, and multiple scenes. 

In order to meet at LEAST my personal goal for friday, I need one more enemy and a full gameplay loop. That should be fairly attainable, but these next few days are going to be very busy with other things, so I’ll have to work extra hard!


19 AUG 2020

More great work done. I was able to implement a bat enemy that shows the player that it has been alerted by opening its wings, then chasing the player once they get too close. Trouble with a homing-in enemy was there was no grace period for the player to recover if they got hit and stunned. The solution was to have the bat bounce upwards and stop for a moment before charging back towards the player. 


I also made the player flash white when taking damage, and helped the GameManager retain player health and magic between levels.


20 AUG 2020

Noticed an issue with the bat, where occasionally the player could get just barely in range of it and then leave, causing the bat to think it successfully hit the player, without the triggers of actually hitting them. As such, he would stay stuck in midair. As it turns out, I used OnStay rather than OnEnter for dealing damage, yet OnEnter for telling the bat he managed to touch the player. This meant that for a single frame you could touch him without staying in him, causing him to stop. Fixed! 


Rudimentary win/lose conditions have been added to have a full gameplay loop, but the hope is to make them significantly more interesting over time. With the Friday deadline looming I don’t want to lose too much time to making it pretty, and just spending more time making it fun. Broken or missing elements like the bat needs to come first before a flashy lose screen.


I’ve also started adding music, looking for anything open source so I can potentially release this to the public. Very excited!


21 AUG 2020

Friday hit, and the game is finished. I once heard a moral that if you can make the thing the player will be doing over and over fun, it doesn't matter how many times you iterate on it. The gameplay is super fun to me, with movement being incredibly fluid and fighting off the enemies very satisfying. In order to make it more of a hack and slash, I'll need to dump in significantly more enemies, but the core of the game is finished and I'm very happy with it.


I think, in order to teach myself consistency, I'm going to finish my original project first before expanding on this one any further. I'm really proud of Knight and I'd like to spend more time on it, but all of these side projects were meant to teach me, and I think I'm ready to get back to work on Project Violet.

5 views0 comments

Recent Posts

See All

Comments


©2020 by Jonathon Sherwood

bottom of page