Studio 2 Project 2 Post Mortem

The entire project did not go well. I had set aside time in my project plan, scheduled it out and worked on my game accordingly, but unforeseen errors arose in the coding department. I’m not entirely the best script writer in the world, but I did manage to work through a few of my issues whilst eating up the time that I was to use to implement audio and more art assets into the game.

My errors began with the movement controls. I had them working and exactly the way I had planned out, did it in under the time I had allotted and was quite happy with the results. But when it came time to work on having the dog companion follow along with the player, I had intended to use the NavMesh tool in Unity, which is where I developed my first issue.

The NavMeshing tool in Unity only allows creating a navigation plane on the X and Z axis, which is common for most 3D games. My game however was based on the X and Y axis, where its controls worked perfectly and the mouse controls to look and shoot were implemented perfectly. After much faffing about, I had to change the axis in which my game was on, because I simply had no idea how to make a core mechanic of my game, available to use without NavMesh.

This reworked the entirety of my movement, I had to set specific movement values and struggle with the mouse cursor not responding with the regular input commands due to the axis change. So I had jury rigged a simple set up for the controls, mapping the Q and E keys to rotate left and right respectively. This made the entire feeling of being outside very very sluggish and bogged down.

Having completed the movement overhaul so it’d work with the X and Z axis, I got to work on the NavMeshing, and the logic required to allow the dog to follow the player, and chase after a bunny game object on screen. The dog would chase the bunny and return after eating it (colliding and destroying the object), and add 1 to his current health. If the dog had eaten something in this instance of the outside level, he will no longer chase after bunnies and let the player shoot them. Which is where a short problem occurred where the RayCast method worked originally, after remapping the movement, caused issues which were solved by creating a different shooting mechanic, where a physical object would be spawned to fire outwards from the player.

I was incredibly disappointed with how the project was going, but I stormed on ahead anyway. I implemented a logic system that allowed the dog to chase a rabbit and return to the player. And after setting that up I realized I had to develop a ‘game manager’, which I had previously no experience in doing. I rescheduled time to set up the manager and link it to all my various scripts and set up the spine of the project. I could create logic dictating the health of the dog, the players health, the dogs mood and the various effects I had planned for the game. I linked the text pop ups to the game manager from various triggers in the cabin and things went well enough for a time until I destroyed my project with a single line error. I had my movement broken, the logic, the everything, in the scene didn’t work, because I had added something I couldn’t quite remember to the Game Manager.

I worked through trying to solve the problem of the broken project and ignored my scheduling in the process, meaning the weather effects, the proper triggers and dialogue pop ups, and implementing the sound I had designed for the game, a few features I wanted to have done properly were ignored, because the rest of my project was not functioning.

At the end of the day, when I had finally fixed the Game Manager, worked through the issues it had. I had decided to give up. It was the day before the play testing, the majority of my game was there and it was not a very pretty masterpiece that I had initially intended it to be.

I did learn a few things during this project however, it was not an entire waste of my time. I did learn how to use the NavMesh tool, and created a semi decent AI that would walk around the NavMesh, and along with that, I did learn how to create a GameManager, while it did still break my project for a short time, I managed to properly deal with it, and find a solution. I also spoke to an Audio guy, Francis and and two good friends willing to do art work for me. The artwork made for me was an interesting experience because I had to teach myself to talk to artists, and talk about what I want whilst having them understand me. The same goes for Audio students, having to have a meeting and sort out the details I want, have them understand me also. It was an interesting experience.

What I’d like to do different next time for a solo project, is extensively write out what exactly I need for the project, sit down and figure it all out before I do it. I don’t want to be caught having to research what a Game Manager is half way through a project, and then haphazardly stitch my various scripts to it. I realize that I need to sit down and think about my project before touching Unity.

So to summarize Winter, the Studio 2 Project dealing with Emotions. The final product was an interesting mess, but it lead to some interesting discoveries and learning outcomes for me, and I’m definitely happy with what I learnt during my time working on it.

Advertisements

Design Insights Project 2

My random thoughts over the week of working on my game.

Ask the player a question, of someone that they trust, or someone that they love? It’ll excuse the derogatory terms dilemma when naming your companion.

Working on Navmesh in 2D settings do not work, as the Navmesh is working on the X and Z axis as opposed to my original X and Y axis.

I should either buy a Navmesh 2D plug in, or move my work to the X and Z planes.

Rewrite the movement, so W = moveUD = 1, S = moveUD = -1; Not fun ^^^^ Fixed the rotation. Movement does not work as intended. Redo movement. Have dog set to chase after the rabbit that is closest to it?

If statement, asking what level it is, if the scene is Cabin, set the movement to lock the W and S keys, as well as the Q and E rotation keys. If it is outside it’ll bring back the normal top down controls.

If statements showing the dogs health(?) If the dog is OK to go out it’ll sit by the door, if it is sad and wants to play it’ll stand in the middle of the room. If it is sad and does’t want to do anything, or close to death, it’ll sit by the bed. If statement random between 2 values, 1 means winter blizzard, 2 means clear skies.

Moving towards the door, if blizzard, text dialogue pop up saying “its too cold, I’ll die out there” Pressing E will send the dog out. If statement of how well the dog is doing, will determine the chances of it dying.

I broke my movement (Saturday) and after 7 hours of working on the movement, the dog logic, the bunny logic, the Nav Meshing issues with the spawn points and such and then the GameManager died halfway through implementation due to me completely missing a simple line screw up.

I have the basis for the Dialogue implemented, now I just have to write up the dialogue, and set up where and when I want specific stuff to pop up. Looking at the current rate of things, I believe I’ll be able to have a very poor game by Thursday, but I’ll most definitely continue work on this project because I thoroughly enjoy the idea, and desperately want to get this emotion game working.

The beginning of the Project 2 “Winter”

I’ve been working on the GDD, though not very much has been added, I’ve been internally contemplating, talking to an Audio guy; Francis. The internet has been playing up for me as of late so loading my Google Drive has proven more than troublesome and a quick prototype to see if I like the movement for the top down segment of my project was completed on Saturday, and since deleted because it was relatively simple in design.

Some insights I’ve had for getting my NPC dog to be attached to the player in some way was to think of ways to have it act on something the player wants, without them realizing it. I was contemplating having the dog stick by the player when it was not chasing down animals, but as soon as a rabbit is visible in the game screen it’d chase it down for the player, leaving the player to hunt for themselves. I was hoping some form of bond and co-operation would happen here, forming some artificial trust or actual trust in the companion would be viable.

To strengthen the players connection to the dog, I was hoping to implement a naming feature to the companion, but knowing the general gaming audience would take the Pokemon route and name it like they would their rivals, with a plethora of swear words, and derogatory terms. So its still up for consideration if it should be added in, considering a the emotion tied to the companion is ruined if its lovingly called “FuckFace”.

Since I’ve been working on an audio asset log, I’ve come to realize that games have a huge amount of audio in them, and should probably dedicate some time to getting the right descriptions for the assets I want.

Studio 2 Project 2

So I have to make a game that transports the player on an emotional journey. So I guess I’m gonna have to kill a dog or something.

Dream Company Bethesda has rekindled my love for them with their E3 conference. So I’m hyped 😀

I suppose with my project, I want to make the player feel attached to this dog, and then kill it. More ideas will come surely but currently I’m still salivating over the Bethesda E3 conference. But I’ve had a think at least!

Studio 2 Week 1

Studio 2 is a thing! Make a game in a week! I chose mine to be about censorship. I seem to make negative progress by the time I dig into the work. I can happily design stuff and work my way through the process of how mechanics work and how they change the game, but as soon as I have to do them, its like hitting a brick wall, that punches back.

I worked on getting the basis of the game working, moving up to specific items will prompt a text pop up with some flavour text added in, allowing the player to remove the content from the world. Also pop up text from an NPC who will respond to the removal of an item. Having not initially understanding what coding practice I should utilize, it took longer than expected and I feel like I’ve wasted my time on this project. Despite all that, I’ve managed to set the game up to a point where I can easily implement more content, based off of the initial framework. Aside from that, all I can really say is work is being done, and will be ready in some form or another by Thursday.

Week 9

Started the RPG and got classes down, rough outline of the work going on would be the stats are in place, each of the characters are on screen and do not interact as of yet. No issues yet, apart from having issues with setting up regions to begin with, it was a simple user error by misspelling it completely.

Week 8

Tried implementing the proper raycasts for the Laser once again but due to unforeseeable reasons, it did not work. Upon asking programmers in the Games Studio, they were stumped too (Due to poor coding practice on my part). Added in a kill count, linked the level together to trigger once the kill count max is reached and added in bomb counter and RPG counter. Fixed an issue with the health not going down on occasion as the enemy bullets were hitting the players gun and or the 3D text.