Game
Rogue Cadet
8 years ago

Day 52


Day 52: Today I have to confess that I relapsed. I got back to 9gag. I thought It wouldn’t harm. It was during lunch time. I had 5 minutes left. So I opened it. And I lost close to an hour… I installed a website blocker on Firefox some time ago to avoid that. But I didn’t on Chrome… Just in case I installed the same add-on Chrome too. Now the only way to open it is through IE. And I’m not addicted to THAT point. I still managed to get what I wanted done, and thus today I:

  • Fixed a bug I didn’t see with the square enemy. It didn’t have any animation so It couldn’t explode, and so it couldn’t die. Throughout the day, I fixed a few bugs like this. But I didn’t keep a real track, so I won’t write them down (definitely not because I’m lazy).

  • Implemented seven enemies. I wanted to finish all the enemies (nine in total). But since I left the harder enemies for the end, I didn’t have the time. More on that later. So these are the enemies I implemented:

    • “Teleport”: it teleport around at random and shoots the player. I had to fix this behavior code. Because after teleportation, the behavior which had stop while disappearing, restarted as soon as the re-apparition animation starts. But when it starts, the player can’t see the enemy so that wasn’t fair.

    • “5 points patrol”: like the “Square” enemy, it patrols the rooms with fixed way point. Except that this time it uses diagonals. Also it shoots in pentagram (5 bullets, star shape). I’m ashamed of the time I spent looking for the bullets angles. I took me way too long. Especially since all I had to do was 360/5 to find them… Funny thing though it’s called “5 points” because the enemy spass through the center. But it actually has only 4 points top left-bottom right-top right-bottom left. (Yes this is funny, I swear) (It’s just that when coding my standards of “fun” drop drastically)(And Yes I also used that joke yesterday (it’s what I call “joke re-usability)).

    • “Ghost”: it’s an enemy that can’t hurt you. It makes you believe it can though. It goes through the walls, and shoots “ghost bullets”. It disappears after a time. The tricky thing about was that I had no possibility of following the player without avoiding obstacles. So at first I thought of modifying the following script. But I didn’t want to add a check for every enemy, just for one edge case. So I “hacked”. In the avoidance code, I have a linear interpolation that makes that the closer to the obstacle the enemy is, the bigger is the avoidance angle. And the value it considers as the closest possible, is modifiable through the inspector. So I just set a negative distance and boom problem solved. Ah and also I had to write a small script so that the ghost dies after some time.

    • “Kamikaze”: like the “Melee” enemy, it doesn’t shoot and tries to hurt the player by going on it. But this one, goes faster, is smaller, and does more damage. But the trick is that it has a really low life. One hit and it’s over. It wasn’t difficult to make. The tools were sufficient (finally).

    • “Shield”: this enemy doesn’t shoot. But it has a shield that protects him and other enemies behind. The shield can’t be broken. But there’s an interval when it’s down. The hardest part of this was to make a decent shield sprite. I really suck at this.

    • “Hydra”: This one was complicated. Basically when you kill it, it spawns two smaller enemies, that in turn spawn two enemies. I had to first implement a spawner feature. I had problems with parenting and initialization in general. Because before, all enemies were present at the start. So they could listen for the player creation event to have reference. But when it’s spawned anytime? I had to change some code to make this feature possible. Once it worked, I had the trouble of when to make it work. I wanted to choose if I could do it at death or anytime. At first I thought of using the existing life based switch. But I had way too much time problems (destroyed enemy timing for example). So In the end I just put a reference to the component in the Enemy script and I enable it in the Death method. It’s not super pretty but it’s straightforward and it works.

    • “Spawner”: Just like “Hydra” except it spawns enemies during its lifetime, not at its final breath. This was super easy after the trouble I had with Hydra. No code were modified during the creation of the enemy.

  • Did a kind of market analysis. In reality, I just looked at SteamSpy for games with the rogue lite and shooter tags. This was way too quick to be called an analysis. But it was interesting anyway.

Sprint end: Are you surprising by this end? Me too. I thought the sprint would take me the whole week. But I decided to end it today. It was the “Enemies sprint 2” (the return) and I implemented almost all the enemies in the brainstorm list. There are only two left, the “Laser turret” and the “plankton”. But those two ideas would take longer than I want to implement, and I think that 18 enemies for the alpha version is enough. Doing this sprint was harder than I thought. I really enjoy coding features way more than doing content. And since that sprint was all about content, it was less motivating. Plus Skyrim special edition got released the weekend before and I just wanted to drop everything and play it. But in the end I’m still happy with what I’ve done. I have no idea what the new sprint will be. So the first task of the “unknown” sprint will be finding what sprint it is.



0 comments

Loading...

Next up

art comission.

Chiaki Nanami!

Path of Kami: The Evolution of the Lore

"Our work is never over" they said.

What you all think

Update 2.627

New challenges & new effects!

Horror WIP A track that will be featured in a future horror game soundtrack! Stay tuned!

Likes appreciated ✌️

#gamedev #composer #horrorgame #indiegame #IndieGameDev #soundtrack

it happens

Our menu, gathered a huge feedback and positive comments among foreign audience, what you say? Game Steam: https://store.steampowered.com/app/1543090/LiBER/

Hi all, Quick update with a bunch of fixes and changes.

Updated save system, optimisation and screen tear fixes, a new shoutout room and more sounds.

Don't forget to follow the kickstarter going live on the 20th! https://www.kickstarter.com/projects/9fingergames/zapling-bygone

Enjoy!