Sunday, September 4, 2022

Hay_Ross_s5176168_InteractiveCharacterProject

ushorty2@outlook.com
ross.hay@griffithuni.edu.au

2733 Interactive Characters

Week 1:

A game engine is the very core of a game of which it runs on. The engine manages and displays everything the developer imports and arranges. The developer's choice of engine is the very first step in making a game.

A Game engine is used to manage, organise and ultimately create a world in a virtual space. layout rules and perspective are all interchangeable to suit the needs of the designer/developer. Unreal in particular can be used to create and alter realistic environments in real time (as seen in The Mandalorian).

using the interface:
- inbuilt Grid snapping tool (different from base unity)
- a different control scheme in terms of camera movement
- largely similar to other interfaces such as unity or blender

Following Tutorials and generally using the engine has highlighted its attempts to streamline the tools available to designers. Unreal's Blueprint system attempts to simplify the coding/scripting process into a more easily digestible layout through the use of nodes. This method has also seen use in other programs such as blender in order to control the materials and textures of a 3D object. C++ is still available however to those with better understanding of it and who would rather control their code.


Week 2: Story Telling 

Myths, Legends, and Fables has had such a large and lasting impact on story telling as they have lasted the ages through all manner of record keeping from word of mouth to written page, live performance to animation. These tales in particular usually hold some cultural significance and often carry some lesson to be learned. They serve to inspire or warn of dangers, often through heros and monsters or great trials to overcome, and in this they remain memorable and familiar. 

Story Concept: Little Red; and the Woods of the Witch,
Little Red wanders the wood in search of her Grandmother's cottage. She is stalked by a fearsome wolf. Finally making it to the remote cottage her Gran welcomes her. Before Red can give her the mysterious basket the wolf intercepts, crashing through the window and planting itself between red and the Grandmother, Protecting her from the now obvious witch. Still young and nieve, red is reluctant to flee but her demise quickly approaches. The cottage door explodes into splinters and a tall rough brute of a man stares down the witch. Outnumbered she flees, leaving only the Huntsman, Great Wolf and Little Red to form an unlikely trio. (apologies for the corny writing, not alot of practice).

This Story coveys the Theme of deception through appearances. At such a young age, red could never have anticipated that her own grandmother could be so horrible.

As a Game Concept:
Little Red finds its inspiration quite forwardly from Little Red Riding Hood, a popular children's fairy tale. There is a lot of intrigue from "Grim Fables/Fantasy" as it takes what is often a familiar and friendly story and turns it on its head to reveal a darker tone. This take on Little Red Riding hood is nothing new but i always found it amusing none the less. Alice in Wonderland also makes for a fun Grim story to tell.

The Provided story concept could easily serve as an opening cinematic (comic like design maybe) to a game about a more grown up Little Red. The Huntsman, now nearing his older years trains Red to hunt the Witch in his stead. We would learn of his distain for her and what lead him down this path. The wolf could serve as a companion, maybe even mount or summon, players often enjoy an animal companion. 

Game play wise, a 2D, light hack and slash with some platforming, and moody comic esc visuals, could make for a beautiful and stylish walk through grim fantasy. 

Interactions: 
Red and the Huntsman would make for an interesting dynamic as Red might still show reluctance in slaying her Grandmother, but the old huntsman would share with her his desire for justice and revenge.

Red and Wolf; a companionship built on unspoken trust. Red may never quite know why the Wolf hunts the Witch but she is determined to repay the wolf for saving her life all those years ago.

Red and her Grandmother; Red continues to feel her Grandmother's pull and throughout the game might even hear from her. Being user of magic it is likely many of the games challenges will stem for her. She may be able to speak to Red through small animals like rabbits and crows, while enticing larger more dangerous creatures to pursue her.


Week 3: Interactive Characters and Genre

What Genre does my Project idea fall under; Little Red easily falls under 2D platformer with maybe some horror esc art direction.

Technically speaking, my Project will require some staples of platforming such as jumping, strafing, and falling, all of which are already covered in Unreal but may see some adjustments. On top of that i would like to add both hit and hurt boxes so i can have some combat or danger available to me. I would also like to experiment with basic enemy AI capable of seeing, following, attacking, and jumping in order to reach higher ground. 

right: Simple character concept for Little Red.








Week 4: AI Path-finding

Using the example of 3D path finding i will attempt to use it in a 2D setting and work on having a jump ability so enemy AI can follow the player throughout the level. 

I worked up till Part Three of the advanced tutorials, which has helped me create a reliable chase mechanic with smooth animations. The Behavior Tree should make it easy to recreate AI characters with different jobs. For example, one character might attempt to get close to the player character in order to bite them while one flies high up and shoots projectiles. This may also allow the play character to utilize a friendly summon that attacks pursuers.


Week 5: Character Animation

After Completing the tutorial I would note that the animation was not complete as the character cannot turn its body separate to the camera. This was brought up in the video however, and would likely be easily fixed. 

Following the advanced tutorials i imported a 3D character and gave it appropriate idle and running animations. Unreal Engine has many functions and importing assets seems to almost work out the box save for some appropriate file references and directions. As discussed in the tutorial, it is possible for multiple 3D objects to share the same skeleton rig. This is works for models sharing similar characteristics like two arms and legs. If proportions are off slightly it is still possible to alter rig without making a new skeleton. Extra Items such as Tails and more limbs are also possible. I would imagine this is how "skins" work in games like Fortnite, some skins appearing quite different but able to share a rig and animations while also being able to showcase new ones.

For my Project i am using 2D art for characters so some of these mechanics won't be utilized, however i may experiment using 3D animations to take key frames and use them as references to make the production of 2D sprites easier. Environment details may also benefit from 3D by allowing for potential wind physics on foliage. 

As for Character animations, I will attempt to work with Unreal's Flipbook function animated my characters with key frames made from 2D art. I aim to take a stylistic approach to this assessment but am open to alterations is it suits my interests.

Some Research into 2D animation in Unreal has highlighted a couple options such as skeleton rigging and flipbook. I have used rigging before in Unity however i intend to work using sprites through the use of flipbook as it better suits the style i am pursuing. So far i have managed to get the player character to display different sprites by performing running, jumping and returning to idle.


above: Character in Game, and blend tree used to blend Idle and Run animations.


Week 6: The Player Character

This Week's Tutorial discussed how to create a character controller from scratch including controls and movement values. With the finished controller the Player can walk and look around in first person, as well as jump, run, and crouch. The running could be easily altered to be as fast as needed and jumps could behave as if suspended in zero gravity as long as you held the button.

Running and suspended jumping will both play key roles in Task 2's creation. Building on these mechanics it may be interesting to experiment with more traversal options such as double jumping and sliding. Such actions will require more sprite work and understanding of character states.


above: Character Controller made using video tutorial by Ben Ormstad.


Above: Senji game concept. 2D shooter with switchable characters


Above: Little Red character concepts and basic mechanics 
Below: Temporary Character Sprites







week 6 discussions:
Through the tutorials I aim to create a game that allows the player to interact and/or talk with NPCs through popup dialogue windows, attack enemy NPCs inflicting damage as well as receive damage, and switch Player Character States allowing the player to change to character with potentially different abilities. 

Simple Dialogue System:
The final project version contains a Simple Dialogue System (SDS) used to give basic information. This system can be used to get one off, repeatable dialogue from an NPC akin to an "info dump" or as a tool to communicate simple environmental details, for example, by interacting with points of interest and displaying your characters internal thoughts. Below is an example of the SDS being used to display two different lines of text with each "E" key press.


Advanced Dialogue System: 
An Advanced Dialogue System (ADS) would allow the Player to interact with NPCs and environmental cues in more depth than a singular button prompt. On activation the player would have access to a popup menu much like the SDS but with the addition of labeled buttons. In its simplest form this would allow the player to move through text much like the SDS using a single button to reach the end of dialogue at their own pace. However, with the addition of more buttons, developers can allow for multiple endings to dialogues or events. Through the use of ADS, a player might be able to learn more from NPC characters or make choices in the game that lead to different outcomes.

In Little Red, these interactions may allow Red to speak to the Old Woodsman and learn of his history with the Witch. On the other hand, she may be able to interact with a puzzle that requires her to place certain items in different spots through the use of dialogue, or perhaps she can speak to her would companion and ask him to interact with items for her. 

Currently Little Red uses only the SDS as Development time was used elsewhere to explore further character interactions. This system will suffice and was the original intended system with the Advanced Dialogue being a potential route of interesting research.

Environmental Interactions:
A simple animated door uses a lock feature to remain closed until the player character steps on the button to unlock it. Once unlocked the player character will activate the opening animation whenever they approach and the closing animation when they move away. Using this set up it would be possible to set up interactions to create bridges and mazes, and alongside the Dialogue and AI interactions, could make interesting level designs. 

Attack Interactions:
The third interaction intended for the Interactive Characters was for the inclusion of a simple combat system involving the use of Hit Point (HP), Attack Animations, and Enemy AI.

A HP system is not currently in game but would be applicable to both the Player Character and Enemy Characters.

In practice I could not get an Attack Animation to work as the Blueprint was set up in a way that prioritized the Idle and Jump animations and seemingly did not allow the attack animations to play while they were running. 

Enemy AI is currently a simple system of moving the character left and right. This could be repurposed as an environmental hazard or simple enemy creature. Further Development could see the AI tracking the player and being able to jump to higher ground. 



 Game Studio - Reflective Journal Week 1: Our team has welcomed a new member giving us a total of 6 members, 3 programmers and 3 artists. Ou...