This week I’ve mainly worked on rapidly getting a working version of our final idea out. I implemented a new collision checking system. Instead of colliders I’m now using some calculations to compare angles with the player. So the obstacles compare the angle with the player. When the angle is between a certain value you “completed” an objective.
I changed the way we handle obstacles too. I’ve created a base class from which we inherit. The base class itself inherits from monobehaviour.Each inherited object must implement a “GetState()” method. This will either return “FINISHED,FAILED,GOING”.
I’ve also implemented a very basic bezier spline curve which we can use to sample to position so the Obstacles fly in at a certain curve.
I’ve also implemented a new system of switching shapes. The buttons now remember what shape was your current shape and store it. So when you press the button you will switch your currently used shape with your center shape.
Added a whole new prototype idea (one that we discussed during the meeting.)
The player now consists of a base mesh with several sockets, on these sockets shapes can be attached. The shapes rotate together with the base shape. Every shape can be swiped to a different socket and the base mesh will change. Meshes adapt their rotation to what socket they are on. Designed the user interface for this, on the lefthand side you have a sprite of the player mesh (not rotated) with its four sockets. On the righthandside you have your building blocks. These can be dragged (or with a swipe) to the sockets of the player. If you swipe a mesh on a socket back to one of the three placeholder sockets on the right, the socketmesh detaches from the player again and you can add other parts etc.
Also added the 3 (placeholder ofc) models, made 3 sprites for the UI and programmed an efficient drag and drop system for the UI.
Also added five small iterations on the original idea:
Iteration one: Disables the accelerometer of the phone, we had the feedback that it would be almost impossible to tweak the accelerometer for different phones etc. Rotation is now being handled by taping either the right side of your screen (clockwise) or left side (counter clockwise).
Iteration two: Enables the accelerometer for rotation. Which I smoothed out and tweaked for my own mobile phone. It is a very enjoyable gamemode.
Iteration three: Introduces a small new feature I implemented. You can drag the shape around with your finger. The holes are now being spawned on different heights. Tricky gamemode, hard because of perspective.
Iteration four: Same drag mechanic except for the fact that the x axis is locked. This eliminates the problem of iteration three, the perspective problem is gone. Fun and intuitive to play. Maybe not the hardest gamemode though.
Iteration five: Drag and drop, no locked axisses and rotation (without accelerometer). Very hard on mobile. But also very fun on pc (but that’s not the target platform.)
During our feedback we got the feedback that we should have iterated more on our idea. Changing certain aspects of the idea. Iterating with how to use shapes, and so on.
I’ve prototyped some of the ideas this week. In order to proceed to prototyping we first had to find a good solution to a very relevant problem. We needed a good way to detect what shape the player draws on the screen.
So we needed something to easily handles gestures and touch input. I’m not planning to write my own gesture recognition system so I used a unity package called TouchScript. This allows me to quickly add new custom gestures when I need it.
Then for the shape recognition I first stumbled on this library that used point cloud recognition. I searched the asset store and found PDollar Point-Cloud Recognizer
This has helped us a lot for implementing an easy way to add shapes and recognize it.
Below you can find some gifs of different prototypes.
Stacker(most left): Here you have to draw the shape you see as fast as possible to decrease the stack. If you complete 1 stack another one pops up. Keep doing this until you get a couple of shapes wrong
Draw them out(top right): Draw out the parts of a shape you won’t need and keep the ones you want
Pattern drawing(bottom right): The idea is that you have a certain pattern on the panels. you have to draw this pattern so that the door opens and you can proceed to the next door.
This idea is not implemented yet.