Author: Kai Pearson

  • Unit 3: Making the texture

    Unit 3: Making the texture

    I started by UV unwrapping my model and displaying it with a temporary uv grid.

    I then vertex painted the seperate textures for the ease of creating masks in substance painter.

    I started playing with the smart materials and seeing which textures I liked and wanted to combine things onto.

    As an example of the tweaks I made here is the before and after of the stick material you can see above.

    Left ImageRight Image

    I changed all the colours and added cracks, and dirt effects onto the handle.

  • Unit 3: Creating the model

    Unit 3: Creating the model

    I Started the model with a beveled curve that I moved the handles around to the desired shape.

    In then converted the curve into a mesh with quite high face counts but this is a asset the player would see upclose and therefore I would prefer to be smoother.

    I also extruded out the ends slightly then shrunk them down into sharp points.

    I then created 2 small circles (for the top and bottom), with screw modifiers to create this coil shape. I then converted these to a mesh and sharpened the edges like I did to the main staff.

    I also subdivided for a smoother mesh and removed the interior 2 rows of faces for UV unwrapping sake and also simply to save faces.

    As you can see I also manually curved the coil around the upper part of the staff and also around this cross joint peice which I added with the ‘extra mesh addons’ plugin.

    I modeled the blade with many curves again, which I converted to meshes and filled in the faces to create the final scythe.

    The topology on the blade is not the prettiest looking however I was still trying to make sure I had no n-gons and lower face count as the client would most likely use this in a game which means beatiful topology is not the primary goal. As you can see as I made each part of the scythe I uv-unwrapped it.

    Finally I also vertex painted to help with simple masking in substance painter.

  • Escape room devlog 7: Spawning Randomised Actors

    This week I created a ccontrolled randomised spawning script for the starting and end pieces.

    Firstly I created an array of all the tiles manually so I could garuntee they were in numerical order

    For the first peice I simply generated a random number from 0-23 and used that number to take the location of a tile that has that index.

    However I wanted it to also spawn in a random direction so I had to create a function that stopped it from being able to face the outer bounds and create a unsolveable puzzle.

    The function took the index of tile, and checked for each outer location, then set the possible rotations to ones that would not face the outer bounds. There may have been more optimal ways to do this however I like to do things manually and accurately to minimise mistakes.

    To spawn the next peice it is a little more complicated as it has to check for the previous peice and all the tiles in a 1 tile radius.

    I created this function to check from an array of tiles then calculate the grid of tiles from the first selected tile and remove them from the possible spawn indexs.

    I wrote it like this so I could reuse the code for the third tile and just change the arrays to the second ones instead of the first.

    This is the 3rd peice being spawned. You can see the inputs to the previous 2 variables being set then the using them to spawn the peice correctly.

    Their is one flaw with this code which is present with all peices including the placeable oness is that the spawn rotation and location only works in that one axis, as Im changing the world directions not the local directions, I looked into how to fix it much as I have higher priorities but I will make a blog on it at in the future.

    Next blog I will probably work on the power being able to flow through the wires from the start to the 2 ends then set a variable when its open which I in further future will use to close/ Open doors.

  • Podcast Production: 2

    We re-recorded some extra parts for the ending and also some parts where there was excessive laughing.

    In editing I mostly cut out stuttering and excessive laughing or silence.

    For example this section where I cut out loads of stuttering and excessive giggling.

    I then added background music to keep the listeners attention.

  • Escape room devlog 6: Rotation

    For the pieces being place I wrote this, which defines the rotation amount then applys it to the physics object when its being held.

    And for placing them onto the grid I simply used the same raotaion amount for the spawn node.

  • Podcast Production:1

    We did not differ from the plan too far, with a tiny bit of referencing later parts earlier than planned.

    The mic was alright, however we didn’t sit evenly away from each other and there was quite a lot of background noise coming from us knocking the table. I will slightly edit this out.

    The room was quiet though and we did record most of the audio we need.

    Towards the beginning we start quieter and towards the end the vibrations in the table get worse. So we will record a few extra clips next time.

  • Escape room devlog 5: Collection and placement

    To display the widget above the peices to pickup and also to pick them up with E I wrote.

    The when E pressed runs a macro which runs:

    Which defines which piece changes which variable in the UI hotbar. The which piece to collect variable is defined by:

    Which gets the class from the line trace and sets the integer number for each type.

    The tile selection to place onto I spent alot of time rewriting to work slightly better and this is what I ended up with which still wasnt perfect.

    To hold the pieces in the air before placing I wrote:

    Which I thought was pretty smart as I used the same piece of code for all 4 types of peices by using variables which I changed to define the spawn paramaters.

    To place and pickip pieces onto and from the grid the code was pretty simple.

    The Unsnap from tile event is shown below:

  • Twine blog 5: Further storywriting

    Twine blog 5: Further storywriting

    This week I tweaked the fonts of all the characters slightly and also finalised the story.

    The final layout is shown below.

    Here are the changes made to all of text styling.

    Left ImageRight Image

    Overall I just wrapped up the planned story passages I had, and deleted some of the planned passages that I had no time to fit in. I also correctly formatted all of the passages that I had written to the best of my knowledge.

    The finished story can be played here:

  • Twine blog 4: Storywriting

    Twine blog 4: Storywriting

    This week I simply worked on formatting a few more passages .

    I made no changes to the javascript or css code, I just mainly just progressed the story with planning passages.

    Left ImageRight Image
    Left ImageRight Image

    The images above show the difference between my planning passages to when I format and write them properly.

    As you can see the story has come along slightly from the week before, though there is still much more to write in further weeks.

  • Twine blog 3: CSS and Javascript

    Twine blog 3: CSS and Javascript

    With the basics down from the week before I continued to play around with A.I To create the more complex code.

    I First created different styled text for each character that I could call useing a macro class in the span around the text, instead of writing all the Text changes everytime someone spoke.

    Above you can see how I styled the text differently for each character.

    I also changed the link hover animation from the normal underlined text that changes colour. To text that enlarges, tilts to the left and changes colour. Which allows the Links to stand out and also be obvouis to click on as it moves when the mouse hovers over it.

    This was much simpler to do and customise, unlike the character macros.

    I then thought of a cool effect of the text being written as you read it.

    e.g.

    This was fairly painful to have work correctly. As the macros and variables within, used to be displayed when they should be hidden.

    This caused me to have to format the text I write with a <div> at the start and end, and also <span> around the text that I wanted to format. This is still easier than having to re-write:
    color: #aaddff;
    font-weight: normal;
    font-family: ‘Lato’, sans-serif;
    font-size: 1.1em;
    font-style: normal;
    and more… Every single time a character spoke.

    I finished this week with a basic structure that had been half formatted correctly, and half to be formatted. Next week I will continue writing the story and adding the correct notations around the text on passages I plan out.