• 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.