Lecturer in Game Design | PhD Student | Indie Dev

Honours Blog

Posts tagged Lighting
19/03/15 Project Update

Quite a large update for this week seeing as we have a demo-day this Friday; some new features and some bug fixes. This week I had finally gotten round to modelling the new couch and chair and implemented a new 'Object Inspection' mechanic for key objects in the game.

Models:

  • Clock (Hands set to "One Past Midnight"- Reference to Andrew Lindsay's Project)
  • Lighthouse Ornament (Last Solus - Reference to Jamie King's Project)
  • High-Backed Chair
  • Couch
  • Side-Table
  • Cushion
  • Medicine Container + Tablet
  • Pill Organiser 
  • Radio
  • Cup
  • Plate/Saucer
  • Log
  • Ash
  • Firepit thing
  • Card x2
  • Picture Frame (Free-Standing) - Visual Update

Textures & Materials:

  • Clock (Face, Body, Glass, Door)
  • Lighthouse Ornament
  • High-Backed Chair & Couch (Sharing the same material for the time being - Placeholder)
  • Side-Table
  • Cushion (Placeholder)
  • Medicine Container
  • Pill Organiser
  • Radio
  • Cup
  • Plate/Saucer
  • Log
  • Ash
  • Firepit thing
  • Card x2
  • Video Tape Box x2
  • Picture Frame Texture (Small) x12
  • Large Picture x1

Lighting:

  • I have removed the ambient point lights that illuminate the room when the main lights are off. They have now been replaced with a togglable sky light to make the lighting model less 'patchy'.

Interaction:

  • This week I made good progress on the new mechanic where the player can "inspect" key objects in the scene (Started last week). There was little/no documentation on how to achieve this mechanic online through kismet so I spent most of this week and last trying to get this to work. When the player presses "E" on a key object they be able to view the model in a full 360*. The player controls the object using the arrow keys and leaves the viewer by pressing the "Enter" key.
  • Pressing the "H" key displays a hint to the player showing which key objects they can inspect. This hint mechanic is implemented by having a secondary model (slightly larger) that is toggled on when the "H" key is pressed: This model has a scrolling white emissive material that should make the interact-able object temporarily more visible.

SFX:

  • Clock Tick
  • Clock Chime
  • Light Switch (On + Off)

Animation:

  • Initial "Waking Up" cut-scene has been updated.
  • Clock Pendulum (Attempted to Sync with Clock Tick Audio, still not 100% synced)
  • Fade transition between main scene and object inspection scene.

Fixes:

  • Fixed some unintentional hard edges, overlapping UV's and lightmaps.

GALLERY OF UPDATES:

OBJECT INSPECTION:

HINT MECHANIC:


SUMMARY:

This week's work has been some of the most rewarding so far. Managing to get my object inspection kismet sequence working was difficult (and its still got bugs!) but having that extra mechanic in there gives my honours project another layer of depth and interaction. The animated clock pendulum and sound of the clock ticking make the room feel more "alive" which is a nice touch in my opinion. I'm pleased with how it's going so far and hope that my project goes down well during the demo-day. Over the next week work on the honours project shall start to slow down drastically due to shifting focus to other course work. I feel that the honours project in its current state is "Submit-able" whereas the rest of my coursework is not. I would like to add more notes, some audio narrative and extra environmental objects at a later date.


NEXT STEPS:

Models:

  • Dog Bed
  • Dog Toys
  • Plates
  • Cups
  • Folded Linen
  • Notes
  • Pocket Watch
  • Key
  • Phone Plug (Currently just plugged into power)

Textures:

  • Dog Bed
  • Dog Toys
  • Plates
  • Cups
  • Folded Linen
  • Notes
  • Pocket Watch
  • Key
  • Phone Plug

Interaction:

  • Fix bug with Object Inspection mechanic.
05/03/15 Project Update

This week's work was focused towards the engine side of the project. There were a few issues regarding lighting that I wanted to fix, alongside implementing a new feature. The new additions and edits are listed below:

Models:

  • Glasses
  • Video Box
  • Video Cardboard Sleeve
  • Plastic Wrap for Coffee Table

Textures & Materials:

  • Glasses
  • TV - Stronger Specular Map on Screen & Body
  • Roof - Removed Normal Map
  • Material Instances added to emissive textures for objects related to lighting

Lighting:

  • Brighter lighting when lights are 'on'.
  • More ambient lighting when lights are 'off'.
  • Warmer and more vibrant fireplace light.

Interaction:

  • Added a new mechanic where the character is short-sighted. This means the player has the ability to locate the glasses in the room to clear up their vision. I felt this touch adds an extra layer of depth to the character and setting. The mechanic is completely optional as the player is not forced to locate the glasses.

GALLERY OF UPDATES:

MATERIAL INSTANCING:

In the prior lighting system the player could turn off the lights, but the bulbs and glass remained illuminated (as this was done through the material properties). To sort this issue I researched material instancing which allowed me to alter the emissive properties of the materials during play through kismet. These changes mean that the emissive channel of my materials can be toggled on or off through a matinee sequence similar to the lights (Toggle between a value of 0 and 1).


SUMMARY:

Although not as productive a week for modelling as any prior weeks, I've decided to start implementing more mechanics to support atmosphere and narrative. The room is more natural now with the only major items that are required in the room now being the final Armchair and Sofa models. I wish to start adding in more environmental narrative in the coming weeks.


NEXT STEPS:

Models:

  • Armchair
  • Sofa
  • Magazines/Newspaper
  • Magazine Rack
  • TV Remotes

Textures:

  • Magazines/Newspaper (A few variations hopefully)
  • Magazine Rack
  • TV Remotes

Interaction:

  • GFX Movies for showing written text and investigating objects.
05/02/15 Project Update

Starting this week I have decided that I will now be using a weekly blog format posting every Thursday. This new format will allow me to better formulate my blog posts as they were previously sporadic and of a lower quality than I was hoping to publish. Now that most of my process in terms of asset creation has been explained I will be condensing the content in these posts.

The latest update to Forget-Me-Knot was rather large due to the lack of recent blog posts. I will quickly list the assets and changes made to the game in its current state:

Models:

  • Door (Handle, Glass, Body)
  • Door Frame
  • Skirting Board & Roof Trim
  • Record Player

Textures:

  • Normal Map for Walls
  • Normal Map for Carpet
  • Emissive Maps for Window Glass
  • Emissive & Normal Map for Door Glass

Interaction:

  • Door Handle Animation
  • Animations can now be reversed (closing) by reactivating the trigger (No longer requires a seperate closing volume
  • Drawer SFX added
  • Cupboard Door SFX added
  • Record Player Animation(s) & SFX

Lighting:

  • The previous lighting model has been redone. Lighting now looks more natural with the additions of a new spotlight that is activated when the room lights are turned off. This spotlight replicates the natural light coming in from the window.

Video of Updates:


Record Player:

The current textures for the record player and speakers are not final as I was more concerned about the animation and interactivity aspect. The player can toggle the record player on which plays 2 animation sequences (The first moves the Pickup Arm over the record and moves it down to make contact with the spinning record disk. The second animation is a subtle looping 'bobbing' animation for the Pickup Arm.)  The player can activate the record player by pressing the interact button, and deactivate it whenever they please.


Global Game Jam - Narrative Progression

During the Global Game Jam 2015 at Abertay I created a prototype game called "Respire" with a team of 4 of my peers. My task on the project was to work in the engine to build the environment and add interaction. I worked on creating a sequencer in Kismet that would allow the player to progress to different "Story Beats" once the previous one has been completed. The original Kismet for this was created within 24 hours so it was messy and badly optimised. The day after the game jam, I worked on refining the Kismet Sequencer so that It both ran better and was easier to understand. I think will adopt a similar system in Forget-Me-Knot to handle narrative progression.

Old Sequencer:

New Sequencer:


Summary:

I feel that I am making good progress towards my 'end goal' for the honours project. The main concern with Forget-Me-Knot is that I am essentially creating a "whole package" of audio, visuals, gameplay and narrative. Although it is a lot of work, I shall try not to let it overwhelm me. I am finding that these blog updates are a great way for me to gauge both my progress on this project, but also my progress as a game designer/creator.


Next Steps:

Models:

  • Television
  • Telephone
  • Record Sleeves
  • Sideboard
  • Typewriter

Textures:

  • Update record player texture
  • Create textures for above assets

Audio:

  • Start scripting narrative and implement the narrative sequencer.

Lighting:

  • Make the lights in the fireplace flicker.
A New Desk

The desk has received a visual update! Seeing as the desk will play a relatively big part in the game, it was only fitting for it to look the part. I wont describe the process as I normally do, as it is nearly the exact same as with previous models. Overall i'm happy with the new model as it is a large improvement on the previous desk.

Installing Walls & Windows (8.1)

After reworking the shape of the room from the previous prototype, I decided it was about time to add some windows for a more 'natural' and less 'jail cell' look. To begin, I cut a large hole in the wall, then built a placeholder mantel and frame to gauge how the final window might look.

Once the placeholders are created, I rebuild each piece in greater detail. Once all of the pieces are reworked, I will UV all of the pieces, then create all of the textures. In the case of the windowsill to keep consistency in textures I prefer to batch texture as it keeps the techniques I use fresh in my mind.  I decided that the next stage in modelling my window would be to create the curtains. The curtains were built from a poly-plane which I positioned to create rough material folds then extruded the plane back to give the curtain some depth.

To shape the curtain in a more natural position I used the Lattice Deformer tool to retain the previous fold detail whilst also giving it the appearance of being drawn back.

The plastic frame for the window glass was a relatively low poly model. I found that the level of detail of the placeholder model was sufficiently realistic thus didn't require editing further. To create the net-curtain I used a basic plane, created similar folds to the original curtain and applied a semi-opaque texture to it.

Below is the final image taken from the UDK engine.

Lighting, Physics & Basic Interaction

Today I had to go to Whitespace to work on my honours project. Frequent power failures in my village due to heavy rainfall have made 3D modelling and UDK work nearly impossible as even when saving often some files ended up becoming corrupted. To counter this problem I traveled to Abertay to work on the dual screen PC's in Whitespace.

Today's progress mainly revolved around removing the default weapon loadout, UI, adding in physics objects, dynamic lighting (toggleable) and testing other interactive mechanics. I started the work fixing a lighting issue with the walls by combining multiple wall panels in Maya before exporting them into UDK and replacing the existing walls. 

Smaller objects are now interact-able with the built in PhysicsGun. The objects have a higher mass than they normally would to depict the strength of the old man. The controls are left click 'pushes/prods' an object, where as holding right click on an object will allow it to be picked up and moved around. This mechanic could be useful for hiding objects behind others for the player to find.

Pictured above is a screenshot depicting where the light sources are, and also - if you have keen eyes - the custom collision mesh I had to create for the bookshelf. I was having issues with Autoconvex collision where the book collision meshes and the shelf's collision mesh were encountering problems. These problems lead to the books being 'ejected' from the shelf. Thankfully by implementing custom blocking volumes the issue is now sorted.

I also ran tests on adding hinged physics doors to the game, these would hopefully mean that opening cupboard doors and such would work in a similar way to in Amnesia. Sadly the tests did not work exactly as planned and more iteration on this feature will be required.

UDK Project Start

As each asset is created, I tend to import them straight into UDK to apply the textures and get a rough indication of how much space I have left for further assets. Although this is a very simple approach, it is effective at keeping the interactive aspect of the project progressing. When modelling objects for environments it's easy to find yourself engrossed in the modelling process and completely forget about the game aspect of the Honours project. By constantly going between Maya and UDK it allows me to judge my rate of progression as well as check for alterations required in textures, models or their positioning in UDK to create a believable environment.

Terrain, Lighting, Fog and Player POV

While looking through the settings in UE4 I noticed more in-dept control over player view, fog, terrain, lighting etc. The most interesting for my honours project was the player view controls, I found a way to make the character short/long sighted. This could prove interesting as I may implement a mechanic around the character requiring glasses to see properly. Unreal Engine 4 appears to have more accessible controls over the more intricate details which I am finding quite enjoyable to explore.

First experiments in Unreal Engine 4

This was my first experience (first time opening) Unreal Engine 4. I decided that I would experiment with a few of the features that I enjoyed the most in UDK: Terrain Tool, Skybox, Lighting and Water. The experiment was just a quick 'play around' with some of the tools later on in the evening, but I still think the results from just building an environment without any tutorials or assistance were quite nice.