top of page
  • Writer's pictureJack McPherson

Unfinished Business Development Diary

Unfinished Business Development Diary

Jan 21 2019

The Pitch!

I’ve got two different prototypes available for my final major project each very different in both visual aesthetics. One game primarily revolves around cutting down trees and building bridges. I’ve presented them to the class because I can see the potential in both. But it was unanimous in class when I presented them both and I’ll be making Unfinished Business for my final major project. Unfinished Business is in the vein of untitled goose game where the premise is you play as a meddlesome ghost whose goal is to haunt a business to the point of closure.

Jan 22nd!

Dev Log 1# “Look a moving table!!”

So now development has started I’ve created a demo testing scene where I can develop some of the mechanics of the game. I’m starting with just making the objects shake! Which is just using something called random inside unit sphere in unity. I can also scale the strength of it so I can have a small tremor or make it go absolutely insane!

The shake currently works on mouse down, while the player holds down the left mouse the object will shake!


Dev Log #2 "Tables, Barrels and other things"

So I've finished a messy prototype to show off tomorrow in class. I've managed to make some of the core mechanics. The player can now pick things up with the mouse, just need to get them to be thrown on release. As currently it's just the object drops to the floor. If I can make a decent feeling throw I think it will add a whole new dimension of play to the game. You won't have to possess everything meaning the player can be more sneaky. ALSO I've made the possess objects mechanics which feels brilliant! As it's very clunky and life like how the objects flop about.

I’ve also opted to use a 3d model I’ve previously made and placed a cloth over his head to show he’s a ghost. I like it but it’s far from what people expect a ghost to look like so will likely change.

31st Jan

Dev Log #3"Stacking ghosts do?"

After showing off the current playroom to my class I got some really good feedback. They shed light on that picking up an object is fun but I should also be able to adjust their height allowing for more versatility when controlling objects with the mouse. People also VERY much enjoyed the possession of objects and how clunky and heavily they moved. They said it makes them feel chaotic in a very good way which I think is going to inform the direction of this project quite a bit. Untitled goose game is chaotic but restrictive because you can only do things a goose could realistically do. SO a way to go could be goose game on steroids. Just pure untethered chaos.

Although not immediately clear the cup is floating quite high. Also I’ve turned of the mesh renderer for the person below the came as people thought it looked less ghostly, more child on halloween.

The next thing im going to work towards is shedding a little more light on the pick up and throw as I think although not a popular as the possession, you could be very destructive by throwing things.

5th Feb

Dev Log #3 "You throw like a ghost!"

I've figured it out! the throwing was actually a lot easier than I thought. Was overthinking it. Took some time to come back to it, turned out I was adding force correctly but not in the right order in my code. Reviewing your code and save you a lot of time and headaches! Also I made a nice wall to practice destroying. I think I'll look at destructible's next. Show the player the effect they can have on things aside from throwing them. I’m trying to imagine all the things the player will be able to break!

6th Feb

Dev Log #4 "Destroy ALL TABLES!!"

I looked into how to destory objects and it was actually VERY easy! Thank’s to a tutorial from Brackeys online, essentially it what I did was create a broken version of the object and instantiate it on the right collision. I took my objects sliced them up in 3ds Max and gave all the pieces rigid bodies so when it breaks they all fall.

Pre broken Broken!

7th March

Dev Log #5 "Beginnings of NPCS"

So I’ve started working with NPCS as they will play a core part of my game it’s insanely important that I’m able to create reactive NPCS as they will be reacting to the players effect on the world. If they are not reactionary and smart then half the charm of being a ghost is lost. I’ve got this place holder NPC to cycle between different positions and do different actions. SO far so good, however when adding multiple NPCs it will become immediately more complicated. First I need to get this one to react to changes in the objects states.

8th March

Dev Log #6 "Beginnings of NPCS Pt.2"

So with nesting a cone in the NPCS head I’ve gotten it to react to changes in objects. Which is really encouraging, feels good to see an NPC reacting to something I do!

I’ve also got the cloth to rest quite nicely on the players head by placing a sphere where the head would be. The cloth feature allows you to paint which parts of the cloth will hold tension when colliding so with some time spent with that I think the player definitely looks more ghostly! Hopefully I’ll make some headway on the reactions soon!

18th March

Dev Log #7 "Beginnings of NPCS Pt.3"

So in having tried to create several states for the NPCS to switch to depending on both their states and the objects their interacting with, also looking at the possibility of having them ragdoll it’s become clear there is so much more to these NPCS then initially thought. I can’t see how I can make this game without having multiple NPCS so this is goint to take some time and investment to get right. I’ll try seeing if I can figure it out myself first because I’m quite sure I know how to make the NPC ragdoll, and I have an idea on building some kind of npc scare manager to handle all the npcs. I’m beginning to see the main challenge of this project.

20th March

Dev Log #8 "Making changes"

So the work on the NPCS has taken a real toll on momentum for the project, multiple NPCS and multiple ways they can interact with the player is much bigger in scope than initially thought. I’ve decided to scrap the throwing objects mechanic for the player with the mouse. It seems to be the least popular feature of the game and I need less things to think of when programming the NPCS. With the ragdolls I’ve found a way to successfully make them ragdoll. I made a manager that adds enables and disables the limbs of the character from kinematic to with gravity. IT works and is great to see. BUT as there now seems to always be a but, I can’t get them to stand back up. And from what I’m looking at online and the tutorials available, the level of programming knowledge to make someone seamlessly stand back up without going bonkers is apparently VERY high. So some highs and lows. I’ll do more research and see what I can find to make the NPC stand up after ragdolling. The reason this is so important. With regards to feedback if I throw a table at an NPC, they should fall over. It makes sense and would look strange if they didn't so this has to happe

27th March

Dev Log #9 "Player feedback"

So while regathering myself for another big push towards the NPCS I’ve taken a step back to focus on the player and feedback for them. The fail state of the game is about being seen and I wanted a new and interesting way of showing that, That and with all the feedback I’ve been given a consistent point raised is the player model. It looks more like a cloth than a ghost and I took the plunge and modeled a little cute ghost which will I hope make the player not feel bad about throwing furniture at helpless NPCS .

*The new ghost! Featuring dancing robot in the background!*

Dev Log #10 "Rag dolls"

So I have hit a cross roads with a choice to make in my game. On one hand I wanted to have built this ragdoll system myself and be able to say it is of my creation. But for the life of me and the sheer amount of time I have spent on it I quite simply can’t crack it. However someone has and I’ve made the choice to buy the asset extension, ‘Puppet Master’ which allows me to separate physics from animations and have the NPCS climb to their feet when being knocked down and it is a brilliant site to behold. And it adds a new sense of hilarity and light heartedness to the game which I’ve wanted for day one. I had to admit that there are clearly somethings with regards to programming I just can not do. But as a designer, that’s no reason to not take advantage of those who can. This purchase came out of my bursary and was not cheap. But to make the game a reality and to have it reach the heights it can. I had to bite the bullet.

31st March

Dev Log #10 "New skin"

So having used the same temporary assets for such a long time it;s high time I started building the game and the playspace in which it’s all going to take place. Simply due to the fact I want the NPCS to work as well as possible. For the time being I’m going to stick with my place holder assets and model what I can when I can. So long as the game worlds for submission I can focus on asset replacement for the end of year show.

4th April

Dev Log #11 "Bugs….lots and lots of bugs"

Now I’ve built the first iteration of the play space putting the possessing mechanics to the test with lots of different objects. I’m seeing that lots of different objects are being possessed at once. I’ll have to look again at the “scare manager” which has become the defacto game manager. It’s nice to see and it’s quite funny seeing a heard of tables hopping across the room. But it’s not what’s needed for this game.

6th April

Dev Log #12 "Hadouken!! And other non broken things"

So things have steamed ahead quite nicely, I managed to fix my multiple possession bug through a sphere collider that detects which objects have been places in the player’s vicinity. After that I tab through and dependant on which one is highlighted is the one that becomes possessed! I found a free online tool for outlines as the game needed better feedback as to which objects the player was about to interact with. I’ve also started working on the key interactions with objects in the level. The arcade for example when possessed shoots an energy ball from the screen! I instantiated the word “Hadouken!” above from Ryu from a street fighter. A small subtle little nod to my favorite fighter game. Hopefully Hadouken isn’t a copyrighted phrase.

11th April

Dev Log #13 "Playroom demo! "

The time has come! After spending some time online doing work with Navmeshs and behavioural AI I’ve got a reactionary NPC who will react according to multiple actions from the player. I’ve placed the demo on my itch and I’m ready for my first wave of testing.

18th April

Dev Log #14 "Burn out "

I’ve been working on the game all day every day so I’m taking a couple of days away to not think about the long list of feedback! I’m going to remain productive! I’ve entered the ludum Dare game jam with some people in class, keep my code sharp but not have to think about the game for a few days. Need to keep on top of not burning out again.

15th May

Dev Log #15 "Feedback Loop P1. "

So I’ve spent some time on other university projects and have been in full swing on the game for the past few days. Thanks to some lessons from Oliver with how to streamline my AI and make everything much more universal and modular I’ve had much more time to focus on the design of the game and the goals the player has to complete.

As you can see from this image not only have I colour coded the rooms but I also now have multiple npcs in the scene! Also the game is brighter after having spent some time creating new materials and getting to know the lighting system a lot more. I wasn’t even aware there was a separate window for lighting like the inspector and navigation maps! This comes from feedback from class the the game was initially quite depressing, Which could have been what I was going for it being a game about a ghost. But I want a more fun atmosphere in the game!

25th May

Dev Log #16 "Feedback Loop P2. "

After another round of feedback saying the transparent ghost is actually quite hard to see which was made abundantly clear when I tried to find the ghost in a black and white image (the ghost was essentially invisible!) The ghost is now fully opaque all the time and I’ve made a new UI showing the players visibility.

3rd June

Dev Log #17 "Feedback Loop P3. "

Currently just organising the NPC routes and animations alongside creating other objects with features for play for the game. At night to get better at my 3D modelling I’ve been doing different projects modeling different characters. One of Which I’ve placed in the game as an action figure and a statue along with other model projects. For the end of year show I’m hoping to have more of my models and replace the npcs with my own characters.

10th June

Dev Log #17 "Feedback Loop P4. "

The Initial goal of the game was to have a total of 7 NPCS of which I realised quite quickly that was over scoping and adding more difficulty then needed for a game about chaos and interactions. However with my 5th NPC I keep running into an issue where it’v Nav mesh agent keeps bumping into an invisible wall. And I have combed over everything in the scene and there is nothing there. In the below picture you’ll even see I remodeled the Motion Capture area of the Map. The width of the corridor that the NPC needs to travel through still keeps causing this mime blockade. SO I’ve made the executive decision to make it 4 NPCs and I’ll up the value of the ghosts visibility to even things out.

17th June

Dev Log #18 "Finale. "

This is the final push with feedback and quality of life changes made, most small things with UI and feedback for the objectives. The game has been my everest but I climbed to it’s summit and I’m proud of what I’ve accomplished. I set out to make a crazy game about haunting a business to the point of closure and I did it! With no shortage of bumps along the way The game turned out in my own humble opinion, to be fantastically fun, visually brilliant and funny. I’m going to keep on with the game towards the end of year show and make sure it has the most polish it can.


Post: Blog2_Post
bottom of page