Fullmetal Barber Testing Process and Design Choices

During Fullmetal Barber , We went through several pivots and changes, and most of the changes were made while testing our game. At the start of the project, we sat down to create a testing plan, and we all agreed that testing constantly during development would be the best course of action, while then using the Synergy exhibition as a final playtest with people that hadn’t seen the project before. We managed to act upon this fairly well and because of this we managed to root out issues and fix these rather quickly.

Our process of testing was as follows. We decided what we needed to test, and what we wanted to find out from the test (E.g. does is the game too accurate). We then consider whether it is something we want to test ourselves or have someone else test for us. Whoever was testing, we took notes on their feedback or behaviours that happened in the game or in the minigun itself. We then sat down to discuss the feedback, and after that went on to take action against it. Whether it be scrap the feedback or implement it, we made sure to listen to it and consider if it was something we could have use for in our game.

One piece of feedback we made sure to listen closely for and made sure to shape most design decisions after, was the weight and accuracy. We did not want it to be light, nor too heavy, and we wanted the player to have trouble aiming because who the hell can make precise movements with such a bulky weapon? Once we had settled on the drill engine, it was definitely heavy enough to act as the full weight of the minigun, and it did add some inaccuracy to the game. Of course, we managed to enhance this inaccuracy using violent screenshake while firing the button of the minigun.

Every now and then we had a classmate or lecturer over to test for us, giving us feedback on the construction or the weight of the item. When we let our lecturer playtest the minigun for the first time, we got the feedback that the barrels would become to heavy, and that we needed to use another material for them. We constantly looked around for materials and eventually found very light, thinner plastic tubes we ended up using for the minigun.

One example would be the choice to switch from using the Arduino Leonardo as a mouse rather than using the wiimote. We noticed that the wiimote combined with a program called GLOVE_PIE was very buggy and the connection was very unreliable. We started looking for alternatives, and found out that you can use a gyroscope/accelerator connected to an Arduino Leonardo, and it will work as a mouse. Thanks to us testing it, we managed to switch it out and make it work before any major showcase happened.

Thank you for reading this blog on the design choices and playtesting of Fullmetal Barber. Now that the project is coming to a close it is very interesting to reflect on the process of our creation and where we started off, as well as looking back on the choices we made.

Darkness Dwells Project Management

During this trimester I have worked with a bunch of different types of project management, as well as had the opportunity to be the project manager for our commercialisation project. For this blog I will write about my experience with project management during Darkness Dwells.

After researching around, most industry people (like Heather, and her article) seem to enjoy using WBS (Work Breakdown Software), such as Trello or Hack’N’Plan. Luckily we’ve been using Hack’N’Plan as well as spreadsheets to manage our work during Darkness Dwells, which is something I will discuss below.

The first thing I made sure we did for darkness dwells, as soon as I took the reigns as project manager, was decide to have weekly meetings. I wanted to make sure I knew what was going on with the project at all times. I also made sure that we used source control and Hack’N’Plan, as mentioned above, to plan out our work.

Spreadsheet

One method I tried out for the first time was week to week planning. I am aware that HNP does this, but I really wanted to be able to look at it in a spreadsheet, along with everyone's responsibilities for that particular week. I think this worked really well because it helped me keep track of what we had to do in the time we had left. This was also updated with time, as we pivoted at a certain point in the development.

Hack’N’Plan

Although half of the team were against using it, I enjoy using  HNP a lot. It helps me track time and is very useful to keep on top of things and make sure you know what to do. What I encountered as a difficulty during this project, as the project manager, was to motivate my team to continue updating HNP, and unfortunately it reached the point where we stopped using it. But up until the point where that happened, it worked well for us.

Slack/Discord

In order to keep in contact with everyone we decided to use Discord. However we were told that we had to use Slack for the project, so we sort of altered between the two. The reason for this was because everyone of us was used to using Discord for schoolwork, as it is a very flexible program for chat rooms. We ended up having to remind each other to use Slack, and therefore hopped between the two. In the end, we used Discord to talk to each other and Slack to talk to contributors.

Project management

This is one of the few projects I have been project manager for, and unfortunately I have had a better experience in the past. I think it all came down to the fact that I wasn’t engaged enough to take the reigns, and also because no one really wanted to be project manager so I offered to do it. I still have a lot to learn when it comes to controlling a team,  but hey, the game is out there and ready to play so I think it went well. I think it would be easier if I was more into the game.

Thank you for reading this rather short blog. My brain is pretty mushy at the end of trimester, so I'm happy I managed to get something about our process in here.


 

Fullmetal Building - Material Design Dev Diary #2

This dev diary will cover how we made our weapon and the game for Full Metal Barber. It will cover materials, technology and software we used in order to get everything to work.

Product

The game in its current state is a toy, where you have to cut a persons hair using a minigun. The minigun is a controller you hold and aim with, in order to fire at a screen where you'll see the crosshair.  Originally the game featured a shotgun, but we switched to a minigun after thinking about the experience. 

The experience we are looking for, is a controller that feels good to use. We want a fair bit of heaviness to the weapon along with screenshake when firing in order to purposefully make the weapon imprecise to use. What we want from this game is for people to be able to cut weird hairstyles, and then upload an image of the hair on twitter.

Creating The Game

The Shooting

First of all we needed to make the shooting mechanic work, before working on everything else. While my teammates were off planning the build of the minigun itself, I sat down to create the game. First of all, I used a mix of scripts I already had and google to create a simple script that shoots using Raycasts. Raycasts are essentially invisible rays that can detect where they hit and provide a ton of information and uses doing so. Once this was ready, I had to make sure that when you fired the script would only react if you hit hair. This was done using Unity tags, and tagging a test object with the tag "Hair". 

Lightgun Stuff.gif

As you can see in the GIF above, there isn't a particle effect firing when I click anything else than the red ball. This was the basis for how we made the hair in the game.

Michael

We knew we needed a model to hold all the hair we wanted, and there was only really one place we knew where to get it. The Makehuman application. Makehuman is a program that let's you get a realistic looking human model for games or animations, fully rigged and entirely customizable. We made a simple, bald character in that program and imported him into Unity, where we started working on the hair to place on his scalp.

Hair

We weren't sure how we wanted the hair to work. We had long been brainstorming different ideas of using either shaders or a terrain hidden beneath his head, using grass as the actual hair and coding some sort of brush that would remove the grass in real time. We also had an idea for using a model of hair and looking into removing one vertex at a time. What we eventually settled for is having a small prefab (made from a sphere) that was called hair. 

Whenever hair was hit by the raycast, it would burst into a particle effect, and fly off the head. This was created using the Rigidbody component on the hair prefab. When the prefab got hit, we immediately disable the kinematic option and enable gravity, as well as giving it a force push in the up direction of he object itself.

When it comes to placement of the hair we had multiple methods. The first one was to hand place each ball of hair (which in the picture below, you can see that it would take some time). Finally, our lecturer suggested using Polybrush. Polybrush is an addon to Unity that allows you to paint on models. The special thing with this is that you can paint prefabs onto models, as if you were paining trees onto a terrain. This worked fantastically for us since we only had to draw a hair and beard onto him, cutting time massively.

Michael.PNG

JUICE

We then decided to add some juice/polish to the game by implementing screenshake and particles. The main effect of the screenshake is both to make it feel like your actually firing a minigun and trying to aim with it. We also decided to make hair fly everywhere to really emphasize that you're shooting off hair. 

The Minigun

Planning

For planning we used the program TinkerCAD in order to create an idea of what the materials were and what it would look like. Granted, it looked nothing like it in the end but it was good for us to start thinking about materials early on.

gun.jpg

Material Gathering

When it came to material gathering, my Teammate Paul found a place called "Reverse Garbage" here in Brisbane, where you can find a ton of stuff for a low price. We decided to take a daytrip there, and see what we could find

29920499_10215894746705805_1019288954_n.jpg
29955591_10215894747025813_932445534_o.jpg

We ended up finding almost everything we needed for our build here, and it only cost us a total of $10. We found some plastic pipes for the barrel, some pool filter, a box with a really nice handle that could hold the arduino board and an old vacuum cleaner handle for... the handle.

The Build Part 1

As soon as we got home from Reverse Garbage, we started to put it all together. First of all, we laid everything out on the ground so that we could sort of see how to assemble everything.

29856057_10215894746425798_1278471077_n.jpg

First of all we decided to work on the barrel of the gun. We weren't entirely sure how to attach the barrels to the filter, but we decided to just duct tape it for this first iteration of it.

29855637_10215894745785782_640436168_n.jpg

We also very crudely taped the vacuum cleaner to the main component box, as well as moving its handle so that you could hold it. At this point we were very pleased with how it was looking and how it felt. Our only problem at this stage was connecting the heavy barrel to the very light component box.

29942608_10215894745545776_271348277_o.jpg

The Build Part 2

After assessing our materials and what we had, we decided to remake the body of the minigun. We had access to an empty speaker, which looked really good and also could fit some sliding door rollers so that we could have the barrel spin inside it.

newgun.jpeg

All we really needed at this point was a motor. We had been experimenting with an arduino board and a small motor, but we needed to transfer it to a bigger one and build it all into the gun for it all to work properly. Thanks to Paul spending many hours with the barrel, we managed to put it together and make it more sturdy.

30074363_10215894745105765_2011679119_o.jpg

After having tested with a few small motors, we managed to find the motor from a drill, which was quite powerful and heavy enough to provide some weight to the minigun. Below you can see the current state of the minigun after most parts have been attached.

30826243_10216057241488073_2075339681_o.jpg

So let me explain how it is all hooked up. the handle is screwed to the body of the minigun. Inside the handle are two alligator clips attached to the arcade button that acts as a mouse click. Inside the body is the Arduino Leonardo. This is also connected to the drill motor and the MPU6050 (Gyroscope/accelerator) that acts as the mouse movement. What isn't pictured above is the new barrel's that we are in the process of attaching. We are currently attaching lighter plastic barrels to make it easier on the motor to spin.

That is all for now! we will showcase this game at events in the future, so keep a close look at my twitter for more information. Two of them are Synergy at SAE Brisbane next wednesday, and Squiggly River Artscade at Netherworld in the near future.

Take care, and thanks for reading!