• Math blog

    This week I worked on updating the way that the secondary weapons switch between animations, which required an understanding of boolean algebra to determine when and what animation to play.

    Along with the transitions and logic for the animations, I also had to create some temporary animations for the stake launcher that I made last week, and had to use a understanding of geometry to create animations from scratch using the Godot animation system.

    Work Blog

    This week I was really focused on getting the secondary weapon animations working, but I had finally been able to fix a bug I had been dealing with for quite some time. Said bug being an issue where when switching secondary weapons, it wasn’t assigning the weapons script to a variable, therefore whenever a function of that script was called, it would not work. I had also spent a small amount of time working on getting the foundation for two other main weapons (that being the dagger and the longsword) into the game, but not giving them animations/functionality just yet.

  • Math Blog

    This week I have been using vector mathematics, along with algebra to be able to implement a new offhand projectile weapon, that will be able to pierce through enemies and deal differing damage depending on how many enemies have been pierced through, along with making the projectile disappear once a certain amount of enemies have been hit.

    Work Blog

    As is outlined above in the math blog, I have implemented a new secondary weapon! There were some odd bugs that I encountered, such as the collision detection not working all the way, but after asking Mr. Compton about the bugs, I got them fixed! I also tried to fix the secondary weapon switcher, but It seems that I was unsuccessful sadly.

  • Math blog

    Throughout this week I continued to work on the secondary offhand weapon for the player to use. I used vector mathematics and probability to be able to randomize the velocity of smoke particles that appear when using the secondary weapon.

  • Math blog

    This week I worked on implementing a off hand projectile weapon in our game. I had to use vector mathematics to be able to understand how and where to apply impulses to have the projectile travel in the desired path. I also had to use geometry to be able to determine whether a projectile has hit an enemy or piece of terrain, and react accordingly (Damage the enemy, or bounce off the terrain).

  • Math blog

    This week I worked on creating and implementing sound effects into our game. I had to use math such as probability to be able to randomize properties of certain sound effects such as the players footsteps, and attacks. Along with this I needed to utilize Vector mathematics to be able to position sound effects at the right places within 3 dimensional space to align the audio’s position with where the sound would be coming from in real life.

  • Math blog

    This week I completely refactored the weapon attack system, along with the weapon animation system. To do this I had rewritten the attack code to use a state machine, along with boolean logic to determine which animation to play and which damage values and percentage chances to fetch.

    Along with this I had implemented the ability for the player to do a “critical” hit when attacking, which multiplies the players damage for said attack by a small amount.

    Work Blog

  • Work Blog

    For this week I have been working on finalizing the villagers navigation and making the villagers state machine work correctly, as the villagers had up until now not been able to correctly idle, and would not wait when grabbing a new movement position.

    Math Blog

    This week, using vector mathematics and coordinate space transforms was imperative in making the Friendly NPC AI. The AI needed to move through 3-dimensional space and calculate the velocity they need to have to reach their next position on a navigation path.

    We were using this to make the NPC villagers move around the village that they inhabit instead of standing in one spot. This is useful to increase player immersion and help make the world of the game feel more alive!

  • Unfortunately, I had a sickness throughout the entirety of week 6, and as such could not do any work, and math blog is all but irrelevant due to me not doing anything the entire week.

  • Work Blog

    This week, we have started our first game jam of the year! We were given the theme “Safe!” for this jam, so I decided to take the theme as literally as possible. My game pitch & concept was a puzzle roguelike named “Safest Safes Safely Unsafe’d”, where you play as a locksmith tasked with picking various types of safes. I was a little worried about the jam pitch, but I gained a large team of 8 people with the pitch, so it seems that it worked out! Throughout the week I have been designing the different lock types and refining the main gameplay loop for the game. I haven’t done any coding this week unfortunately, but as the lead designer on this jam I have lots of designing to do.

    Math blog

    When designing the puzzles for the game jam this week, I had to use randomization and probability at every step of the process. The game is a rogue-like, and as such, every “run” has to be different. Because of this, I had to use and design randomization for each of the puzzles that the player has to unlock in the game. For example, for the key lock puzzle, the player will have to set a randomized number of pins, each of which has differing random attributes. Along with this, multiple puzzles directly depend on randomized numbers to complete the puzzle, such as the combo lock puzzle, where the player will use randomized clues on the safe (such as a randomized serial number) to be able to determine the code that they have to enter into the lock. Adding these randomized elements to the game was essential for both replay ability, and

  • Work Blog
    Week 1:

    Last week was the pitch, and the project started. I had pitched my game idea and then ultimately joined the team for the game “Salem Stalker”, which is a slow-paced, open-world, melee-focused FPS game. After joining the team, to learn the basics of Godot, I did this tutorial all throughout last week, and partially on the weekend. Throughout this week, the task I have been working on is getting friendly NPC pathfinding working using the Godot NavigationServer3D. While it still is not working as intended it is really close to done and I think that it will be finished by early next week.

    Math Blog
    Standard: Number and Quantity (Vectors)

    Throughout the past two weeks, and particularly last week, I have been using the vector standard quite a lot. I had to use the vector standard within my code for a small tutorial project in Godot, where I had to have meteors flying at the player. I had to use velocity, acceleration, and translations to be able to make the meteors move across the screen and toward the player.

    Standard: Algebra and Functions (Coding)

    Throughout the past two weeks, I have also been using the coding standard. I have been coding a NPC villager that has randomized pathfinding that depends on boolean statements to decide where the NPC will pathfind and move to next. I have also been using functions to be able to make the NPC move and pathfind using the Godot NavAgent node.

    Images on the way of code and such. I will have them in by next week.