• Register

Aspiring Game developer and Instructor teaching Programming & Game Development with the Unity Engine. Created Paddle Balls, ZombCube, and Magnet Destroyer, all available on iOS, Android, and PC.

RSS My Blogs

Imprecision: Devlog #10 - Imprecision, Modes, Alpha, and Updates

MMsGamingCo Blog

In these devlogs, I will show you the development process from start to finish, for an archery game. Before I begin developing, I like to brainstorm ideas and create a Game Design Document (GDD). Here is a link to a template GDD. This post will consist of the new name, precision levels, Alpha version, attributes, settings, achievements/leaderboards, logins, and deadline schedule.

Let's get started!


Hello, travelers! Let's look at all the updates since last time. I have decided to change the name from Precision to Imprecision, because it is not perfect. There will be two modes for Imprecision: Precision and Story. Attributes have been added the user can upgrade with points. Title screen, main menu, pause menu, and settings have been added. Achievements and leaderboards are implemented. Logins added for Apple, Google, Facebook, and anonymous. Deadline schedule in place for 2023 release.

Imprecision

Imprecision is the new name for the game. I like this name, because I know the game will not be perfect as I am just one developer. The modes in Imprecision will be Precision and Story mode. Precision is 50 levels testing the players accuracy. The player spawns on an island with a target that follows the player. Once the player destroys a target another spawns, until all targets are gone. The player is then given a star rating based on their points from hitting each target. If they get at least one star, then the next level is unlocked. Each level increases the speed of the target, the range at which it spawns, and how many targets spawn. Story mode will consist of 4 levels, where the player has to take down the Black Knights and reclaim the kingdom. Precision levels are done, just need polishing and bug testing. You can play the precision levels in the Alpha version of the game. I have started on level 1 and will talk about it in the next dev log.

Imprecision: Precision Levels

Attributes

Attributes have been added the player can upgrade with points to increase the player's abilities. There are 6 attributes (Power, Dexterity, Endurance, Vitality, Defense, and Luck). They increase these stats (Health Points, Attack Power, Defense Power, Attack Speed, Movement Speed, Stamina, and Critical Chance). This is mainly implemented as a trail run for my next game Holmgang. I think it will work well with Imprecision and allow the player to customize their character and play style.

Increasing Attributes in Imprecision

Title, Main Menu, Pause Menu, & Settings

The title and main menu screen show the island the player is on during the precision levels. It allows the player to sign in, upgrade attributes, play precision mode, play story mode, access settings, stats, achievements, and leaderboards. You can currently sign in anonymously, with Apple, Google, Facebook and soon Xbox. Players can pause the game to access the pause menu and quit to main menu, restart level or access settings. The settings consist of audio, visual, and game settings. In the audio settings, the player can control master, music, and sfx volume. In the game settings, the player can adjust sensitivity, toggle first-person or third-person view, and on mobile enable swipe to look. The visual settings, allow the player to enable or disable shadows and adjust overall quality. The Achievements are:
Red Delicious "Coffee Grinds in a Leather Glove" 5
Golden Delicious "The West Virginia Has-Been" 10
Granny Smith "The Original Sour Apple" 25
Honey Crisp "The Worldwide Favorite" 100
Perfect! 5
Perfection! 50
Perfectionist! 100
Bullseye! 5
Precise! 10
Precision! 50
Precisionist! 100
That's a Start 5
Keep It Up 10
Now You Are Getting Somewhere 25
Robin Hood 100
What is this for? 20

The Leaderboards are:
All Time Most Points
All Time Most Arrows Fired
All Time Most Targets Hit
All Time Most Bullseyes Hit
All Time Most Jewels Collected
All Time Best Accuracy

Main Menu of Imprecision

Deadline Schedule

Here is the official deadline schedule and anticipated release date of 08/04/2023! It shows upcoming milestones. I am a little behind schedule, however, I did just move into a house! I am getting settled in and have more time to myself. I look forward to releasing Imprecision this year!

Schedule for Imprecision

What's Next?

  • Level 1 (The Forest)
  • Enemy AI
  • Spider AI
  • Level 2 (The Cave)
  • Ogre AI
  • And more...

Stay tuned!

Code for project here: Imprecision

Read All Devlogs Here:

MMs Gaming Blog

Follow Me Here To Keep Up:

GitHub: github.com/mmhousto

Twitter: @MM6sGamingCo

Itch: Mms-gaming-co.itch.io

Website: MMs Gaming Community

Precision: Devlog #9 - New Input System, Cinemachine, and Target Follow

MMsGamingCo Blog

In these devlogs, I will show you the development process from start to finish, for an archery game. Before I begin developing, I like to brainstorm ideas and create a Game Design Document (GDD). Here is a link to a template GDD. This post will consist of adding a target spawner and target follow, new input system, and cinemachine.

Let's get started!


Hello gamers, it has been awhile. I have mainly been focusing on implementing the new input system, so it will be cross-platform. I have created the scripts to spawn and make the target follow around the player and updated the third person camera. I created the tilemap for training level with grass blocks, dirt blocks, rocks, grass, and trees/stumps. Also, here is a little life update: I just started a new job as a Programming & Game Development Instructor!

Target Spawner & Follow

At first, I had an idea to use a simple waypoint system for the targets to follow. This was not working after instantiating a target, so I decided to just make a target script that will rotate around the player at different speeds and locations. The target spawner script, spawns a target at a random location within a range I specified. If no targets are left another will spawn, until 10 targets spawned has been reached, at the moment. I will update this for different difficulty levels. Let's take a look:

Target Following the Player

New Input System

Next, I realized I was using the old input system and wanted to implement the new one. This took longer than expected, but I have now got the hang of it. This implementation will make porting to any platform easier. Here is some gameplay on an Xbox One Controller:

Controlling Player with Xbox One Controller

Cinemachine - Third Person Perspective

I have added the use of Cinemachine to control the third person cameras. It will move the camera's position as you look up and down for better view and transition to an aiming view. Some tweaking still needs to be done, but it is looking a lot better.

Third Person Cinemachine Camera

Extra

Added a simple rigidbody to this apple to apply some physics.

Apple being shot and physics applied.

What's Next?

  • Creating more voxel tiles for tilemapping
  • Creating more levels and new enemies
  • Fixing player slightly moving to left if standing still
  • Adding AI movements for target, knight and cyclops
  • And more...

Stay tuned!

Code for project here: Precision

Read All Devlogs Here:

MMs Gaming Blog

Follow Me Here To Keep Up:

GitHub: github.com/mmhousto

Twitter: @MM6sGamingCo

Itch: Mms-gaming-co.itch.io

Website: MMs Gaming Community

Precision: Devlog #8 - Shot Power, Levels, Enemies, and 3PP

MMsGamingCo Blog

In these devlogs, I will show you the development process from start to finish, for an archery game. Before I begin developing, I like to brainstorm ideas and create a Game Design Document (GDD). Here is a link to a template GDD. This post will consist of adding shot power, concept for a new level, new enemies, and third person perspective.

Let's get started!


Hello gamers, I have had doubts about the terrain idea for level concept. It is not the feel I want. I want the art style to be consistent across the game, so my plan is to do 3D tiles of voxels. The training level and new level will be redone this way and will look much nicer!

Shot Power

I have added shot power to the game, depending on how long you hold down the fire button. The arrow is fired upon release. Still working on animation to match up with Mixamo animation and timing.

Shot Power for Bow in Precision

New Level Idea

One of the levels will be in a castle. I have a mock concept I created in Magicavoxel and exported to Unity. I also plan on re-doing the level. Like I said before, I will make it where there are voxel tiles that I can place around to create the map. Here is the prototype of the level layout.

Level Idea for castle area in Precision

New Enemies

I have created two new enemies. One is a Cyclops and the other is the Brutal Black Knight, the main enemy the player will face. These models are not the final forms. Here is the black knight walking.

Black Knight Walking

Now the Cyclops walking, still need to create his club.

Cyclops walking

Third Person Perspective

I decided some people enjoy playing in third person perspective compared to first person, so I have added this camera view. Deciding if I want to make it possible to switch views in-game or select which when creating the game save/player. Here is a start to the 3PP view.

Third Person Perspective

What's Next?

I will focus on completing the animations for pulling the string back, creating voxel tiles for training and castle levels, and adding AI movements for target, knight and cyclops.

Stay tuned!

Code for project here: Precision

Read All Devlogs Here:

MMs Gaming Blog

Follow Me Here To Keep Up:

GitHub: github.com/mmhousto

Twitter: @MM6sGamingCo

Itch: Mms-gaming-co.itch.io

Website: MMs Gaming Community

Precision: Devlog #7 - Terrain, Grass and Score!

MMsGamingCo Blog

In these devlogs, I will show you the development process from start to finish, for an archery game. Before I begin developing, I like to brainstorm ideas and create a Game Design Document (GDD). Here is a link to a template GDD. This post will consist of adding terrain, trees, grass, rocks, bushes, and creating a score script.

Game On!


Welcome back, Gamers! This week, I have been working on the layout of the starting training area. In this area, the player will learn to move around, aim, and fire an arrow, before moving on.

Terrain

To start, forests are not flat! This means we need some terrain! I used Unity's built-in Terrain Tools package. This is an excellent tool to sculpt terrains for your game/level. Here is what the terrain looks like with some basic textures added as well.

Terrain for Training Area in Precision

Trees, Grass, Rocks, and Bushes

Now, we will need objects to bring the environment alive. I downloaded a free pine forest asset pack from the asset store for some of these objects. Added an LOD group to my tree, so I can paint them all over the map. Here is how our scene is looking now:

Starting Scene of Precision

Let's look at my simple grass I created with a few quads and a shader graph. You can also see the small tree's leaves moving in the wind.

Grass and Small Tree Moving in Wind

Score Script

I finally got around to looking into the Target Script and how we can determine what ring the arrow collided with. I find the difference from where the arrow hit and the center of the target. Then calculated distance of each ring and compared them all. Here is the result!

Target Script

You can see in the console the color I hit and the score goes up accordingly.

What's Next?

Need to create a target spawner for the first level. The game will start and the player will have to shoot at the targets. Some will be moving. There will be a set number of targets and at the end, the score will be calculated to see how many stars you got for the level and if you beat your high score. Ideas for a bowmaster type of game mode as well. Where there are two players and they can not move. They are distanced away from each other and have to try and hit the other.

Stay tuned!

Code for project here: Precision

Read All Devlogs Here:

MMs Gaming Blog

Follow Me Here To Keep Up:

GitHub: github.com/mmhousto

Twitter: @MM6sGamingCo

Itch: Mms-gaming-co.itch.io

Website: MMs Gaming Community

Precision Devlog #6 - Scenery, Lighting, and Post-Processing

MMsGamingCo Blog

In these devlogs, I will show you the development process from start to finish, for an archery game. Before I begin developing, I like to brainstorm ideas and create a Game Design Document (GDD). Here is a link to a template GDD. This post will consist of auto-generating objects in the scene, lighting, and post-processing.

Game On!


Lightning

Some tips I have learned, from Brackeys, is to have a backlight to counteract your main light source. For our scene, we will use the directional light because it is an outdoor scene in the woods. I have an idea for a day and night level of the forest. We will start with day, as the archer needs to train before night. I also added a directional light that faces straight up, to light the clouds, from below.

Scenery

I wanted the levels to be dynamic and different, so the player can not master them. I created a level generation script, that spawns a random object at a spawn point. The first level is going to be based in the forest, so lots of trees! Let's see the level generator in action!

Level Generator


Post-Processing

I have been researching which render-pipeline will be more suitable for this project. Since it will not be high definition graphics as I am using voxel assets. I have chosen to go with the Universal Rendering Pipeline (URP). This with the help of the post processing stack will really bring the game alive. No more dark shadows! Here is a demo of everything we have talked about above:

Post Processing for Precision

I will be adding more effects and making the game look nicer. Currently just messing around with all the effects and testing things out!

What's Next?

Still need to create the script for our archery target and I am thinking about the scaling. Do the assets seem too big? I also need to add terrain and grass, this is a forest you know.

Stay tuned!

Code for project here: Precision

Read All Devlogs Here:

MMs Gaming Blog

Follow Me Here To Keep Up:

GitHub: github.com/mmhousto

Twitter: @MM6sGamingCo

Itch: Mms-gaming-co.itch.io

Website: MMs Gaming Community

Precision: Devlog #5 - Shot Timer, Jumping, and Testing Objects

MMsGamingCo Blog

In these devlogs, I will show you the development process from start to finish, for an archery game. Before I begin developing, I like to brainstorm ideas and create a Game Design Document (GDD). Here is a link to a template GDD. This post will consist of adding a shot timer, animations for jumping, and testing objects in the scene.

Let's do this!


Hello, Gamers! This week I have been tweaking the shooting and arrow scripts, adding animations for jumping, and populating our prototype with objects. I have an idea of how to calculate points from the archery target. Instead of tons of colliders, I am using the mesh collider and creating a script to calculate distance from center of the target.

Shot Timer

To disallow the player from spamming arrows, I added a timer they must wait for. It is the duration of the shooting and arrow draw animations. I also updated the script to add arc to the arrow. Here is the update method in my Shoot script. Now, I just need to rotate the arrow.

Update method for Shoot.cs

Here is what it looks like in-game!

Shot Timer Demo

Jumping Animations

For the jumping animations, I made it where if you are running or walking there is an animation for it, then if you are aiming there is no animation. This way you can still jump forward/back/left/right and still fire an arrow. Here are the running and walking jump animations in-game:

Running and Walking Jump Animations

Objects

As you can see from the gif's above, I have been adding new objects to the scene. I think the first level is going to be in a forest. I have lessened the strength on the shadows to help with lighting. I think next week, I am going to work on more lighting. Here is a gif of me running through the scene:

Running through the scene

What's Next?

For next week, I need to work on the archery target script and a point system, as well as getting the arrow to rotate in the air and more lighting. I will also look into ideas for grass and a cloud system.

Stay tuned!

Code for project here: Precision

Read All Devlogs Here:

MMs Gaming Blog

Follow Me Here To Keep Up:

GitHub: github.com/mmhousto

Twitter: @MM6sGamingCo

Itch: Mms-gaming-co.itch.io

Website: MMs Gaming Community

Precision: Devlog #4 - Player Controller, Aiming and Shooting!

MMsGamingCo Blog

In these devlogs, I will show you the development process from start to finish, for an archery game. Before I begin developing, I like to brainstorm ideas and create a Game Design Document (GDD). Here is a link to a template GDD. This post will consist of editing the player controller, and adding aiming and shooting animations. Let's get started!


What's up, Gamers! I hope you all had a good week. This devlog, I set out to add animations for shooting. This means, I will also need animations for aiming, drawing an arrow, putting the arrow back in the quiver, and aiming while walking. I did take out the turning animations for walking and it is much nicer. They were not needed, as the player can look around to turn.

Note: The player won't see most of these animations, because the game is in First Person Perspective, so I do not want them perfect. I just want the player movement to be smooth.

Player Controller

To make these animations work, we have to add some more parameters to our animator with more states and update our PlayerController.cs script. Here is what my new tree looks like now, with the shooting, aiming and walking animations. There may be a better way to do this, but it is working exactly how I want it to.

Player's Animator Tree for Precision

Aiming Animations

I wanted the player to only be able to shoot if they are aiming. I achieved this by adding a parameter and bool, for if the player had his bow drawn. For the putting arrow away animation("Up Arrow" from Animator Tree), I just reversed the drawing arrow animation("Draw Arrow"). Also, running will set the bool to false, putting the bow down. Here is what the aiming animations looks like from above:

Aiming in Precision

Shooting Animation

The fun part, shooting my bow in first person! Since the functionality is already set up, I just have to add the animations and tweak the camera. This is what we get!

Shooting in First Person for Precision

What's Next?

I still need to add a timer, or another way, to make it where you have to wait until the draw arrow animation is finished before you can shoot again. Currently, you can spam tons of arrows. However, there will still be a bottomless quiver of arrows! We still need a jump animation and definitely some more scenery.

Stay tuned!

Code for project here: Precision

Read All Devlogs Here:

MMs Gaming Blog

Follow Me Here To Keep Up:

GitHub: github.com/mmhousto

Twitter: @MM6sGamingCo

Itch: Mms-gaming-co.itch.io

Website: MMs Gaming Community

Precision Devlog #3 - Colliders, Rigging and Animation

MMsGamingCo Blog

In these devlogs, I will show you the development process from start to finish, for an archery game. Before I begin developing, I like to brainstorm ideas and create a Game Design Document (GDD). Here is a link to a template GDD. This post will consist of a new idea, Colliders, Rigging and Animation. Let's get started!


Hello, Gamers! It has been a busy week for me. I had an interview for an Associate Node JS Developer position. I also had an idea to change the player controls, from just looking around to being able to move! I pictured the Archer(Player) could navigate through levels/areas shooting targets or enemies to obtain score.

Colliders

Still working on a script for the archery target, to define the rings with an array of box colliders. Finished adding box colliders to the white, green, and yellow rings. This is very tedious!

Box colliders progress so far on the archery target for Precision

Rigging

I decided to edit our characters appearance. I replaced his hat with a Robin Hood style one and edited the quiver. With the player controller change, I am auto-rigging the character with Mixamo. It has lots of animations ready to use as well.

Auto rigging with Mixamo.

Animation

I am using the Longbow Locomotion pack, from Mixamo, to animate my character. I have working walking forward/back, walking left/right, turning right/left, running forward/backward/right/left, stopping and idle animations.

Here are the walking animations in first person. I may or may not take out the turning animation and the player can use mouse or toggles to look around.

Basic walking animations for archer.

Here are the running animations in motion. I like these better than walking, because you can go diagonal instead of turning.

Running animations for Precision

What's Next?

For next week, I need to add aiming, shooting, and jumping animations, and finish the colliders on the archery target.

Stay tuned!

Code for project here: Precision

Follow Me Here To Keep Up:

GitHub: github.com/mmhousto

Twitter: @MM6sGamingCo

Itch: Mms-gaming-co.itch.io

Website: MMs Gaming Community

Precision: Devlog #2 - Shooting and Mouse Look

MMsGamingCo Blog

In these devlogs, I will show you the development process from start to finish, for an archery game. Before I begin developing, I like to brainstorm ideas and create a Game Design Document (GDD). Here is a link to a template GDD. This post will consist of mouse look and a start to shooting functionality. Let's get started!


Welcome back! This week we focused on mouse look and how the player will shoot the bow. The player(s) will be stationary and able to look around to aim. They can shoot at targets or other players depending on the game mode.

Mouse Look

I removed the walking script and created a mouse look script that will move the camera, players rotation, and arms and bow with respect to mouse position. Here is what it looks like in testing:

Mouse Look

Shooting

The player should be able to fire an arrow with the left mouse button. They are to aim at a target or player and expect some dip. I added a small crosshair (dot) to help the player aim for testing. The arrow still needs some work after it has been fired. It does not change angle as it dips. The arrow will stick to whatever it collides with, until it is destroyed after a timer. Here is what I have so far:

Player firing arrows at target

What's Next?

As you can see in the shooting Gif, some arrows go through the target still. I still need to add all the colliders for each section of the target and create the point system. Will also work on getting the arrows to behave correctly in the air and create a shooting animation. This means, having them rotate and change angle when dipping down.

Stay tuned!

Code for project here: Precision

Follow Me Here To Keep Up:

GitHub: github.com/mmhousto

Twitter: @MM6sGamingCo

Itch: Mms-gaming-co.itch.io

Website: MMs Gaming Community

Devlog #1 - Creating a Game from Start to Finish

MMsGamingCo Blog

In these devlogs, I will show you the development process from start to finish, for an archery game. Before I begin developing, I like to brainstorm ideas and create a Game Design Document (GDD). Here is a link to a template GDD. This post will consist of the game idea, game design, start on prototype of voxel art form and some simple animations. Let's get started!


Game Idea & Design

The game will be a 3D FPS, arcade like game, where the object is to have the best accuracy to obtain the highest score. The game will be available on mobile and desktop. The player is an Archer. You and other players will shoot at targets to get points. The art style will be made in voxels. Voxels are like pixels but instead of each color being a 2D pixel they are 3D cubes.

Prototype & Animations

I started by making some basic voxel assets in Magicavoxel. Export those to .obj. Then exported the ones I will animate to Blender, so I can rig their parts. After that, you can export as an .obj to use in Unity along with the .png you get from Magicavoxel. Here I have placed them in the Unity Scene on a flat ground:

Assets in a sample Unity scene

Next, I wanted to see how hard it would be to animate them. I created an idle and a simple walking animation, even though the Player may not be able to walk in-game.

Walking and Idle Animation of Player in Unity

It was not too difficult to animate the assets with Unity's built-in animator. I think I am going to stick with the Voxel art form as assets are fairly easy to create, export, and animate.

What's Next?

Now that I have a character, I need to create shooting animations and add colliders to the target. I will be going by outside imperial rounds under AGB rules, where they have score values 1, 3, 5, 7 and 9. In addition, there is an inner 10 ring, sometimes called the X ring. I think I will achieve this with a lot of box colliders. If you have another way, please comment below.

Follow Me Here To Keep Up:

Twitter: @MM6sGamingCo

Itch: Mms-gaming-co.itch.io

Website: MMs Gaming Community