Week 11: Character Design for Zeta by Valzorra

Analysis of Suitable Hairstyles

After my series of realizations described in Week 11: Initial Iterations for Zeta, I decided to approach the character design from a slightly different angle and focus on Zeta’s personality even more so than I had done in previous versions. Zeta is one of the best professional gamblers and Poker Players in the world, taking immense joy in the game, in risk-taking, and in the high standards of professional casinos. Everything she does in gambling halls is a fun game to her, which is why she can seem so casual and lighthearted, especially when she is winning. Gaming and gambling are an essential part of who she is and of her personality. It only seemed natural to investigate what some of the Best Female Poker Players in the world looked like. The women who are thriving in a game normally dominated by men ought to provide at least some of the inspiration behind Zeta. I familiarized myself with legends such as Annie Duke, Maria Ho, Vanessa Rousso, Sofia Lovgren, and most notably Liv Boeree (displayed below). A common element between all of these Poker Players was that each had her hair down and flowing freely for comfort. What’s more is that most of these women have rather long hair, well past the shoulder. This brief analysis instantly told me how Zeta should be wearing her hair in a way that would distract her the least from her gambling sessions.

Zeta’s Clothing

Another common element between these poker players is that they are all playing professionally at tournaments in the photographs above. However, this is not applicable for Zeta at any point of As It Lies. In the game, Zeta is playing at the best casinos in the world, however, she is not doing it officially as part of a Poker Team, but rather for herself. Therefore, the clothing depicted in the images above would not be suitable for Zeta. Our protagonist is located in that universe’s equivalent of Las Vegas and plays only in the most notable and prestigious casinos and gambling halls. As such, those establishments expect their visitors to maintain a certain level of elegance and grace in the way they dress. Much like in many Las Vegas casinos, both ladies and gentlemen are required to be formal and up to standard. Therefore, Zeta would need to wear some sort of formal dress during her gaming sessions. Zeta values comfort, so her dress would not be too tight around her body. Additionally, Zeta is rather clever and well aware that she is a reasonably attractive woman. Even though it’s a cheap trick, by picking a relatively revealing dress, Zeta could potentially distract some of her opponents and gain an advantage over them. Keeping both of these requirements in mind, I browsed the web for a series formal and sexy dresses that would be fitting for a fancy casino, until I had decided on a design. The most notable images I took a look at are showcased below. I will most likely aim for a combination between the first image and Jovani dress.

Analysis of Appropriate Poses

Now that I knew what type of clothing Zeta needed and how her hair would look like, I had a much better understanding of the character and how she would appear visually. Her hair would be down and flowing, while her dress would be fitted around the waist, free-flowing at the bottom, and would reveal her cleavage rather cheekily and playfully. Zeta would not wear a lot of makeup to the casino, because although a dress is mandatory because of the strict dress code, no rule mentions anything about the amount of makeup women are to wear. Additionally, putting cosmetics on is a dull and time-consuming affair for her. Knowing these vital bits of information, I then conducted quick posture study in order to see how a professional Poker Player would normally sit at the table. Luckily, Zeta’s dress is very comfortable and not restraining at all, which is why these poses can be discussed. I analysed a few images of Liv Boeree (displayed below), and discovered that most commonly she keeps both of her hands on the table, focused on the task ahead of her. She is known to occasionally slouch and shift one of her hands away, however, those occurrences are not very common.

Concept Art Pieces

After taking the time to properly analyse existing Poker Players, and bearing Zeta’s personality, preferred casinos, and story line in mind, the Concept Art came so much more naturally and with ease. Whereas before I just seemed to be drawing random women in awkward poses, it felt like I was drawing Zeta now, and her personality started to show through so much more. Applying all of my research into professional Poker Players and into what casinos with dress codes may expect made the whole design flow naturally and intuitively. For example, the image below is a very good representation of Zeta on a particularly good night out and on a winning streak. Zeta is slightly over-confident, she enjoys showing off occasionally, so if she were wiping the floor with her opponents, she would absolutely make sure that they know how easy it is for her. She would have a smile from ear to ear, boldly holding her cards away from the table, a move avoided during standard play. Additionally, Zeta would not deny herself a few drinks provided that she believes she has earned them through her masterful play style.

She would have a smile from ear to ear, boldly holding her cards away from the table, a move avoided during standard play.

In addition to the personality peeking through in the concept art piece below, this is also the first instance where I started to design her dress. As described above, this dress is to be very comfortable, fitted around the waist and more spread out towards the legs, made from a very lightweight and fine material. The dress has a rather cheeky cleavage, with an elegant opening going down from her chest to her waist, much like the Jovani dress displayed above. Zeta has purposefully chosen this type of clothing as it may end up distracting her opponents from the game. You will notice that the dress has certain pieces of embroidery on it, which are meant as a homage to the Riemann Hypothesis. The Alteration Conundrum, which you can find out more about in the Narrative Section of the GPP, is based on the importance of the Riemann Hypothesis and is what sparked the idea for the entire story. Therefore, I thought it would be rather neat to add the curves of the Riemann-Zeta Function onto the design of the dress. Being the geek that she is, Zeta would also highly appreciate having something as significant embroidered onto her gown.

IMG_0640.PNG

Posture and Style

Whereas the Concept Art Piece above was more lighthearted and fun, displaying Zeta at her best games, I thought it would be rather useful to have an illustration of her under normal circumstances, perhaps at the start of a Poker game. This meant that for this drawing, Zeta would have a much more composed look, adopting the traditional Poker Player position discussed above. I based this drawing on the first image of Liv Boeree under the Analysis of Appropriate Poses Section, with her holding a chip in one hand, while the other is rather stretched out. When it came for the face, I went for a cartoony style, making the eyes quite large and the nose quite small and button-like. Not only that, but Zeta’s head in the image is constructed from one large circle for the skull, and a trapezoid for her jaw. I chose this style, because I felt it would be closer to what Zeta will actually look like in three dimensions. The 3D Modelling Style in this game would be rather low poly, with simple shapes and not too much detail. Therefore, in order to make characters stand out, they would need to have slightly tilted proportions, making the more important bits such as the eyes bigger.

Examples of the 3D Modelling Style I will strive to employ in As It Lies.

Examples of the 3D Modelling Style I will strive to employ in As It Lies.

Color Palettes and Choices

Moving on from proportions, it feels necessary to justify some of my color choices in regard to the Concept Art Piece displayed below. I’ve given Zeta very warm red hair and blue eyes, because there are very few people who process those traits in that combination. Therefore, Zeta having both would indicate that she is somehow special and significant, making her stand out from the other characters one would encounter in As It Lies. Additionally, Zeta’s dress consists of a series of vibrant shades of blue, which further accentuate that idea. Both Red and Blue are primary colors, so placing them against each other makes both stand out that much more. Not only that, but the blue of Zeta’s dress is also meant to accentuate her eyes and make them pop a bit more. Zeta’s skin color is rather ordinary, albeit quite pale as she does not spend much time in the sun at all.

Technical Execution and Reflection

Technically speaking, the image was created in Procreate, with the use of the Technical Pen from the Inking Section for the line work. It should be noted that I slightly changed the default settings, Streamlining that brush to its maximum as I wanted really smooth and gently curved lines in this illustration to give it a more polished and professional look. The Opacity of that brush remained consistently at 100%, however, its width varied slightly around 5%. I colored the piece using the Round Painting Brush Tool for most of the work and the Soft Airbrush Tool for the shades of the skin. Finally, in order to make the scene more atmospheric, I added a dim light and shadows over Zeta’s head. I applied some color over Zeta, decreased the Opacity of that layer, and then added a noise filter to really give the impression that this is a late night game. The finishing touches involved adding a series of Bokeh Lights in the background to give the illusion of activity behind Zeta and to make the image more dynamic. Overall, I am really pleased with how this turned out because through this process, I achieved a greater understanding of Zeta as a character, I refined my approach to character design, I managed to capture her essence in the finished piece, and I improved my skills in Procreate, which is a new software for me. The finished Concept Piece is displayed below.

Week 11: Initial Iterations of Zeta by Valzorra

Throughout this blog, specifically ever since Project Proposal 4 was introduced, I have continuously mentioned Zeta, the protagonist of As It Lies, giving little snippets of information about who she is and what she is like. I have been thinking about her as a character, what her major personality traits are, how she would behave, and what her story is. Based on those explorations, I have also thought about how Zeta might dress, how she might walk, what her posture is like and so on. I would like to take this opportunity to document my rather long iterative process for Zeta, how she was created, and how her visual style and appearance were determined. The very first step was to solidify Zeta’s personality, because that is what would drive her visual appearance and what she might wear. After all, an individual chooses their clothing based on what they would like and what would be of most use to them. I should also note that I did keep some of the details of the world in mind, more precisely the existence of the Alteration Implants, which may leave a visual trace.

She is intelligent, focused, creative, innovative, lighthearted, an adventurous risk-taker, a total gamer, slightly over-confident, extremely determined, and would do anything for the win.

In order to come up with as complete an idea of Zeta as possible, I decided to employ some of the techniques we learned during our Character Jam in Year 2. The specific method I used was to ask myself dozens of questions about the character, their habits, and their intricacies. Examples of the questions I addressed are “Where did the character grow up?“, “What is their daily schedule?“, or “What are their ambitions?“. The entire list of questions and answers regarding Zeta is detailed in the Characters Section of the Games Project Proposal. As they are rather relevant to the finished designs, I thought it would be better to include them there rather than repeat myself in both the GPP and the Blog. Once that process was complete I had a much better idea of Zeta as a person. She is intelligent, focused, creative, innovative, lighthearted, an adventurous risk-taker, a total gamer, slightly over-confident, extremely determined, and would do anything for the win. She frequents exquisite casinos, which would normally require a dress code, she casually hangs out with her friends in the city, and commonly stays at home to game as well. These three most common locations Zeta can be found in dictate that she would have at least three separate outfits we could see her in, namely her formal casino attire, her everyday clothing, and her clothing at home.

Casual Clothing: Initial Iterations

When beginning to visualize this character I thought I would begin with her casual and everyday clothing, as that is the attire we are likely going to see her in most frequently for the duration of the game. After all, it would be absurd and inappropriate to solve complex environmental puzzles in a formal dress. Thinking about what Zeta would wear, I imagined she would enjoy something rather comfortable that she wouldn’t have to assess and consider for too long. She is not the type of woman that would stay in front of the wardrobe and consider what to wear for more than a couple of minutes. That is why my initial iterations of her outfit featured rather baggy shirts, with plain jeans that would all work well with any combination of clothing. The back of the shirt is slightly elongated, because that would make Zeta’s overall silhouette more distinct and the flowing fabric would make her movement more dynamic. To contrast her baggy shirt, Zeta would need to wear fitted jeans or leggings that accentuate the shape of her legs. These would be a rather plain color such as black, grey, or denim, so that she can wear them with nearly everything else in her closet. In terms of shoes, Zeta is most likely to wear a comfortable pair of sneakers, which would go perfectly well with the rest of her casual and plain attire. Below I have included a carousel of fashion inspiration for the first set of iterations in the character design process as well as a few notable examples of the hairstyle I was going for.

Having described her clothing, its now time to discuss Zeta’s accessories and other physical characteristics such as her hair and body type. Zeta is rather fit and healthy, with a naturally slim figure, which does not require a lot of maintenance. Her body would likely be highly styled in the finished version of the game, which is why I have not focused on it too much just yet. In these initial iterations, I was trying to create a visually distinct and memorable character, someone that would look and feel special. I made Zeta’s hair rather long to help achieve that goal, and styled it similarly to other notable female leads such as Queen Daenerys Targaryen from Game of Thrones, Aloy from Horizon Zero Dawn, and Lagertha from Vikings (displayed on the images above). In addition to that, I made Zeta’s Implant rather visible, with it leaving a series of marks and scarring all over her body. Finally, I added the three dice that she would continuously use in the game as three long necklaces around her neck, so that she could keep them safe and close to her. Following these basic rules and decisions, I made a few different concept pieces of Zeta, with mild changes to the outfit, such as drawing her with a hoodie or with shorts. In terms of poses, I was mostly looking for what seemed most exciting and dynamic, what would be striking and grab the eye. The results from my initial concept art and drawing session are displayed below. Most of the images below were drawn by hand with the exception of the last one, which tried to breathe life into Zeta by adding color.

Reflection on Initial Iterations

The first set of iterations for Zeta helped me understand what direction I needed to take my design and art in.

Upon reflecting on the concept pieces I had done until this point, I grew increasingly displeased with them. Although at the time I thought I had very good reasons for making the decisions that I did, I came to the realization that those images were not a good representation of Zeta’s personality. She way very well wear the same clothes as they are quite casual, however, Zeta would not wear her hair like that, pose like that, or even bother with accessories. In order to achieve the hairstyle showcased above, Zeta would need to dedicate quite a substantial amount of her time in front of the mirror in order to get the braids right, which is something she just wouldn’t do. Additionally, most of the poses, with the exception of the right image on the middle row above where she is leaning against a wall, are all very staged and unnatural. Zeta is completely natural in her behavior, she is the heart of the company, and is not feminine at all in her day to day outgoings. What’s more is that although the images above are good concept pieces in themselves, they do not really reflect any sort of style that would feature in the game. Overall, there were a lot of problems with the first set of iterations for Zeta. However, they were a very important step in the design process as they helped me understand what direction I needed to take my design and art in. What I needed to do now was to start the process again, and try to get to the core of who Zeta is through my designs.

Week 9: Environment and Lighting In Unity by Valzorra

Aesthetics and Lighting

The main mechanics in the Unity Prototype were completed at this stage as James and I had come up with a functional Movement Script, Camera Script, Teleportation Script, and Electrocution Script. All of these mechanics worked as expected and there were no obvious bugs or inaccuracies with them. That’s why I thought it would be rather nice to modify the prototype environment in Unity and to make it more a bit more presentable and thematic. Additionally, this was a nice way of adding additional floor space onto into the prototype, allowing for further mobility to any testers. I started the process with the idea to recreate a very basic and abstracted City Street, as that is one environment we may see Zeta in throughout the game. I started this process by including additional 3D Planes and positioning them next to the green ones in the preexisting version of the prototype. Once I was happy with the space I had, I took basic cubes generated from within Unity and edited their dimensions to make them look like buildings. I kept adding on blocks and buildings, changing their shapes and sizes until I was happy with the overall look and feeling of the environment.

Positioning the Buildings and Floors in Unity.

Once I was satisfied with the positioning of the different objects I thought I would edit the lighting and make it appear as though it was a thematic night scene, only illuminated by street lights and signs. At this stage, many of these aesthetic decisions are not particularly significant, because the most important part of this prototype is to showcase the functionality of the mechanics. Anything else is there to make it a bit more aesthetically pleasing for anyone testing the prototype. With this in mind, I decided to make the lighting seem native to the environment, as though it was coming from flickering lights onto the buildings. That is why I have included a series of Point Lights with different Range and Intensity settings scattered throughout the street. Additionally, these lights have slightly different colors, ranging from pinks to purples and blues. This results in a very beautiful mix of color that gives the environment a distinct nighttime feeling and is reminiscent of neon signs and highlights. Once I was happy with how the lighting tuned out, I directed my attention to the Buildings, and made a few materials to color them in and make them fit into the rest of the scene. What’s more is that I thought it would look even better if I were to add an appropriate Sky Box, so I picked up a free one from the Unity Asset Store.

Overlap of the Point Lights’s Range, which produces interesting pleasing color mixes.

Solving Axes Rotation and Scaling Problems

Once I was happy with the aesthetics of this prototype, I thought it would be nice to replace the current tablet-shaped model with the 3D Model I was working on during Week 8: Intro to Modelling with Blender. However, that could have gone a lot smoother than it did. When I added the model to the project, its axes from Blender did not match the conventions used in Unity, which resulted in the model appearing to lay down. This problem tested my spacial orientation and my capabilities of accurately estimating rotation and after a series of failed attempts, Google Searches, and a series of questions for James, I managed to find the fix. In order for a model from Blender to stand up straight and behave as expected, the model needs to be turned on its X-Axis at 90 degrees. Once this fix was implemented in Blender, the model worked as expected in Unity. In addition to the issue with the axes, there was a minor scaling issue in Unity, which made the Range Indicator grow exponentially in size. The problem was that the Unity scale measurements did not correspond to those in Blender. As the Range Indicator is parented to the Player Model, and the Player Model was rather scaled up after the import in Unity, the Range Indicator also grew proportionately. This fix was rather easy and all it required me to do was to downscale the model in Blender by the appropriate amount. Once that was done, the model was imported into Unity once again and the Range Indicator appeared as expected. Overall, importing 3D Models from Blender into Unity had its intricacies, however, all problems were solved with the mere configurations in the 3D Modelling Software. Additionally, this was a valuable learning experience, because now I know what edits I would need to make when I am importing future models into the project.

Some of my failed attempts at trying to solve the rotation issue in Unity.

The Finished Prototype

After these aesthetic changes and after fixing the issues with Axis Rotation and Scaling, a new NavMesh was baked, and the prototype was tested. I was happy to discover that there were no further issues with it and that all of the aesthetic and environmental changes ran smoothly. I was a bit concerned that the player and the enemies would blend into the environment and would be difficult to spot, however, upon running the prototype, they seemed easily distinguishable from everything else. I created a series of different materials to add onto all of the separate models into this prototype, some of which emitted luminosity to stand out even further, such as the Enemies and the Player Model. A detailed video of the prototype in its complete state with all of the environmental details and functioning mechanics has been provided below. The full source code, scripts, materials, and assets can be reviewed in the Unity Project.

Week 9: Paper Prototype by Valzorra

After our feedback session on the Friday of Week 8, Adam recommended that I create a paper prototype of the dice rolling mechanics and the actual process by which one selects abilities. I thought this was a fantastic idea, so during Week 9 I spent some time creating and testing the paper version of this mechanic. In order to do that, I needed to design a very simple level that allows for creative exploration, sufficient movement, and for all of the mechanics I had so far to be utilized. That’s why the goal of the Paper Prototype was to get from Point A to Point B, all while navigating an environment with enemies scattered throughout. My hope was that the simplicity of the level and goals would provide the perfect conditions for testing the actual mechanics without making things too complicated for players.

The first decision I made was to use a very basic Hex Grid as the hexagonal shape means that the player would be able to move to either side with only one space. By contrast, it would take two spaces to re-position the character diagonally if the grid were a made of squares. Using a Hex Grid also eliminates the necessity for any special rules relating to adjacent tiles and so on. While crafting the level, I filled in some of the Hex Tiles, to indicate that those blocks were walls, which means that the player and the enemies would not be able to walk over them or to see through them. Another key decision I had to make for the Paper Prototype was how many dice to use and what type. I chose to run the paper version with three six-sided die, because at this stage I had settled on a total of 7 abilities, including the Telekinetic one, which would allow you to alter the results of the roll. I’ve chosen to go for a set of three in order to give players a sufficient number of opportunities to make combinations with their powers and to come up with more creative solutions around the level. Based on user testing, the number and type of dice may change later on.

Dice.JPG

The Rules

At this point I knew what type of map I was going to use, and I knew what dice I would be using. I picked up a few high quality models from the board game Descent to function as placeholders for the player and their enemies. This meant that I now had all of the key components to test this paper prototype out. All that was left was to come up with a few basic ground rules of how this game would be played. The first important bit to figure out was how the turn system would work in this prototype. Taking inspiration from Descent, I decided that during a turn, the player would be able to perform to actions. One action would be a Movement Action, while the other would be an Ability Action. A Movement Action allows the player to move up to 4 spaces in any direction. Ability Actions will be described in further detail shortly. Once the player has completed their two actions, the enemies also get a turn. An enemy turn consists of another set of two actions, one Movement Action, and one Melee Attack Action. Enemies can also move up to 4 spaces in any direction, and in order to perform a Melee Attack Action, enemies would need to be located in a tile adjacent to the player.

It’s important to note that both the player and all enemies have only 1 HP, which means if anyone gets hit once, they are out of the game. This system has been implemented because to me it was crucial to set this prototype up as a strategic experience, rather than something you could fight your way through. Players must use their abilities in combination to maneuver across the environment and the enemies in a strategic manner, and their mistakes would mean death. This also correlates with my idea of Zeta as a character so far, because she is no brawler or fighter, which means that most enemies would have an edge on her physically. However, she is quite clever, which is why she uses her intellect to escape such confrontation. In addition to having 1 HP, enemies also have a stat for how far off they can see. Their line of sight is 4 spaces in any direction from the enemy, while the player does not have a limit to their line of sight.

IMG_2293.JPG

Now that I have discussed the basic Turn System of this prototype, and the basic stats of the player and enemies such as Movement and Health, it’s time to move on to the abilities. It was necessary to come up with a table of basic stats for each ability and to assign them to a number on the dice. Additionally, each one would have a certain range, which is indicated by the number of tiles in any direction it takes for that ability to reach its target. Some abilities would take place instantly, as soon as the player chooses to cast them, while others would have a predetermined duration. Duration is measured by the number of turns a certain ability would last for. The powers I have chosen to explore within this prototype are Teleportation, Shield, Blinding Light, Stopping Time, Chameleon, and Electrocution. I would like to take the opportunity to note that the Chameleon Ability is taking the place of what used to be the Sound Wave Ability. The Sound Waves, which used to reveal enemies behind walls, are not particularly useful in a top-down view camera, where the player would be able to see most things anyway. In contrast, the Chameleon Ability provides more opportunities for a stealthy approach to problem-solving.

  1. Teleportation

    • Dice Number: 1

    • Range: 5

    • Duration: Instant

    • Effect: Teleport the player to a desired location instantly.

  2. Ability: Shield

    • Dice Number: 2

    • Range: N/A

    • Duration: 2 Turns

    • Effect: Forms a protective shield around the player, allowing them to take one extra hit from an enemy.

  3. Blinding Light

    • Dice Number: 3

    • Range: 5

    • Duration: 1 Turn

    • Effect: Causes the player to emit a blinding light from their body, temporarily stunning enemies and rendering them unable to act.

  4. Stopping Time

    • Dice Number: 4

    • Range: N/A

    • Duration: 1 Turn

    • Effect: Stops time for all enemies and NPCs, except for the player. The player is able to move and use other abilities while time is stopped.

  5. Chameleon

    • Dice Number: 5

    • Range: 5

    • Duration: 2 Turns

    • Effect: The player takes on the form of a chosen enemy within the range of the ability. Once the player has put that mask on, enemies would not attack them, as the the player would appear to be one of the enemies.

  6. Electrocution

    • Dice Number: 6

    • Range: 2 + 1

    • Duration: Instant

    • Effect: The player can damage a selected enemy within range with an electric bolt. If there is another enemy within one space of the first target, then the second enemy will also take damage from the electric bolt.

Those are the six available abilities and which number of the dice they correspond to. The interesting and innovative mechanic that we are testing here, is the actual manipulation of the dice roll. Players would be able to change the roll and strategically plan which abilities to use. As they roll the three dice they would be able to make a total of three changes to them. From left to right, the first die could be changed twice, rotated both along its X-Axis or along its Y-Axis, essentially leaving the player to choose any ability on the die. The second die from left to right could be amended only along one axis, either the X-Axis or the Y-Axis. The third and final die cannot be changed and the player would have stay with that ability and figure out how to implement it in their solution. Players can cast these abilities in any order they choose, and they are not required to cast all three. I believe that sums up most of the statistics and core mechanics of this paper prototype. So far, it seemed rather promising and it even made me think that this would not be a bad idea for a board game as well. However, as I am intending to include a fun little narrative within this experience as well, so far I will not be turning to the world of Tabletop Gaming. Now, without further ado, let’s have a look at how the testing went.

Testing the Prototype: Step-by-Step

Testing the Prototype: Changing the Roll

The example above showcases a step-by-step description of how the game would be played and how one could maneuver through the environment using the abilities rolled from the dice. However, in that specific, play-through the player did not feel it necessary to change any of their abilities because they were happy with how the dice rolled. Below I have embedded a video recording of a player who chose to change their first ability in the manner described above in the rules. The change their dice twice, once along the X-Axis and once along the Y-Axis. They chose to keep their second and third abilities unchanged. Unfortunately, the player was not successful in completing this level as one of the enemies was able to complete their turn and get in melee distance of the player. However, this play-through showcases the mechanics beautifully and according to the rules.

Thoughts and Reflection

Overall, I was very pleased with how the testing sessions for these mechanics went as it genuinely seemed kind of fun. The prototype did exactly what I was hoping it would do and it gave players the opportunity to choose how they would maneuver through the level. Each time the level was tested, players used different sets of abilities to solve the puzzle, many of which worked. This means that the mechanic successfully provides a variety of different solutions to the same problem, making each play-through unique. The condition of all characters having only 1 HP made the prototype all about strategy and forced players to think carefully about what powers they used and when. What’s more is that it seemed like all of the mechanics transitioned to the board game format beautifully, thus providing a fairly accurate idea of how this would work in a video game.

The first test conducted allowed players to roll the set of dice without any limitations, so long as they exhausted all three abilities per roll. In that test, the level was solved without much trouble and with the use of only four spells. After that test, James recommended to try and set a limit on the number of times one could roll the set of dice. We tried playing it again, under the condition that there could be only one roll. This made the game a bit more difficult, however, it was still manageable provided players planned their movements carefully. At this stage, James made another great recommendation, which was to allow players to roll the set of dice as many times as they needed, however, with each roll after a predetermined number, the enemy’s line of sight would increase. This could work quite well because it means that if players are stealthy and as strategic as possible, then they would have an easier time solving the puzzles. On the other hand, if they use their abilities recklessly, they will be a lot easier to spot, putting them in increasingly difficult positions.

Another revelation from these tests concerned the individual abilities themselves, Teleportation, Chameleon, Electrocution, Stopping Time, Blinding Light, and Shield. As I watched people play the paper prototype I came to the realization that some of the abilities are functionally identical. For example, there isn’t a great deal of different between what Stopping Time and Chameleon do, they both help the player move undetected. This has prompted me to analyze each individual mechanic again, to rework some of them, and to figure out a better set of abilities, which would be more exciting and varied. I will aim for each ability to fulfill a different function and to be more interesting than just the first thing that comes to mind, which I have realized is what a lot of the current abilities are. This massive redesign of the individual powers will commence next week and I may even need to change the type of dice I end up using.

These are the type of questions and considerations prompted from this very simple paper prototype. Once all of these mechanics are also implemented in the digital version, I would have a much greater understanding of what could work in that format and how to balance it properly. The main bit to take away from these testing sessions is that the mechanic of dice rolling not only seems to work, but it also quite fun and that the individual abilities will undergo a redesign. I look forward to continuing the tests digitally.

Week 8: Prototyping Abilities in Unity by Valzorra

Having crafted a basic system for the camera and movement of this prototype, I thought it was now time to introduce some of the fun abilities that would help players maneuver through the environment. At this stage, I had a very rough idea of what I wanted those abilities to be based on some initial idea generation in Project Proposal 4, As It Lies. I felt the strongest about Teleportation as it would give players mobility and flexibility and about Electrocution as it is a damage-dealing ability that would help players confront any threats. I would like to note that these have not yet been set in stone and could be amended or removed as the design and development process progresses. Additionally, I would also like to reiterate that the work described below has been a collaborative effort between James and myself and that this prototype would not be possible without his help and guidance.

Range Indication and Teleportation

The very first ability I wanted to try my hand at was the Teleportation Ability. The exact methodology of how this power would work has been described in detail in Project Proposal 4 in one of my storyboards within that post. However, to briefly summarize, once the player has selected that ability, they will be presented with an indicator of their range in the form of a circle around them. The player would then be able to click anywhere within the Range Circle to select a target location, and after they have made their selection, they would be instantly teleported there. There were a few problems to solve within this description, the first of which was to figure out how to best implement the Range Circle Indicator, which would be used for a series of other abilities as well. I knew what I was going for, which was ideally a large circle around the player, which would give them a clear indication of where their abilities stretch up to. Additionally, the Range Indicator needed to appear only as players are about to perform an Ability and had to disappear and reset as soon as the ability has been executed. That way, players would not have circles all over their screens without necessity. A terrific example of the type of indicator I wanted is constantly used throughout League of Legends as shown below.

League of Legends Range Indicator

For my own prototype, the Range Indicator was handled through the use of a very basic cylinder, scaled to X: 1, Y:0.0001, and Z: 1, making it as close to a two-dimensional circle as possible. That Cylinder was then placed straight on top of the Player, keeping them in the center. The Cylinder was then parented to the Player, which meant that as the Player moved, so would the Ranged Indicator. Additionally, in order to see the scene clearly, a Semi-Transparent Material was added to the Range Indicator with the transparency set to 50 out of 255. At this stage, I had a very simple environment and a Player character with a large semi-transparent circle on top of their head, meaning I was ready to actually make the Range Indicator work. The system for it functions in a similar but slightly more intricate manner to the way Player Movement is handled as described in Week 8: Prototyping the Camera and Movement in Unity.

This is how the Range Indicator appears in the prototype for Teleportation.

This is how the Range Indicator appears in the prototype for Teleportation.

The first step in the process was to indicate what the maximum range of Teleportation would actually be, which was determined by a simple float. For the purposes of this prototype, the value has been arbitrarily set to 15. The next step was to ensure that the Range Indicator would only be displayed when the Teleportation was actually used. As the Range Indicator would only really be needed if an ability has been activated, its Mesh Renderer was disabled in Unity for all other general purposes, making it invisible to the user. The only occasion on which the Mesh Renderer is enabled through code, is when the player presses down any keys associated with the activation of powers. For the purposes of this prototype, I have set it up so that pressing T activates Teleportation. The dice rolling mechanic will be implemented at a later point. Once the Mesh Renderer is enabled, the other important aspect of displaying the Range Indicator is ensuring that the Circle resizes itself according to the range of each ability as indicated by the associated variables. To do that, a line of code has been implemented, which states that if the Current Power is Teleportation, then the Range Indicator will be scaled in accordance with the maxTeleportRange variable. This is basically how the Range Indicator is handled within this prototype not only for Teleportation, but for all of the abilities that would need it. Therefore, the entire system for displaying the Range Indicator has been compacted in a switch statement as showcased below.

void ShowRangeOfPower() {
        switch(currentPower) {
            case "TELEPORT":
                //Enabling the Mesh Renderer
                rangeIndicator.GetComponent<MeshRenderer>().enabled = true;
                //Scaling the Range Indicator accoring to predetermined variables
                rangeIndicator.transform.localScale =
                new Vector3(maxTeleportRange, 0.01f, maxTeleportRange);
                break;
            case "ELECTROCUTE":
                rangeIndicator.GetComponent<MeshRenderer>().enabled = true;
                rangeIndicator.transform.localScale =
                new Vector3(maxElectrocuteRange, 0.01f, maxElectrocuteRange);
                break;
            //If no powers are selected, the Meah Renderer is Disabled
            default:
                rangeIndicator.GetComponent<MeshRenderer>().enabled = false;
                rangeIndicator.transform.localScale =
                new Vector3(1f, 0.01f, 1f);
                break;
        }

After the algorithm for the Range Indication had been sorted, it was time to code the Teleportation itself, which was a relatively straightforward process. The function works by casting a Ray from the Main Camera directly onto a location in the environment selected by the player. Just as with Walking, the Player can select a target location by pressing the Left Mouse Button. The function then checks whether the the target location is within the predetermined Teleportation Range and whether it is on a Walkable surface as indicated by our NavMesh. All floors within this testing environment have been marked as Walkable and if the player were to click anywhere else to move, such as on a building or outside of the environment, then the Player Character will be taken to the closest point to their selection. If the target location answers to both of those conditions, then the Player Game Object will be Warped to that point. The last bit of that function simply states that once the Teleportation is completed, then currentPower variable goes back to Null, thus resetting the whole process. The Teleportation function used in the prototype is displayed below.

 void Teleport() {
        RaycastHit h; 
        if(Physics.Raycast(Camera.main.ScreenPointToRay
                          (Input.mousePosition),out h, 100f)) {
            //If the Player Selects a location in Range and on a Walkable area
            if(Mathf.Abs((h.point - transform.position).magnitude)
              <= maxTeleportRange && h.collider.gameObject.layer == 9) {
                nAgent.Warp(h.point);
            }
        }
        currentPower = "NULL";
    }

That’s the basic premise of how both the Range Indicator and the Teleportation Ability work. The player can move freely within the environment and once the press T, a large circle will appear around them. If the player clicks on a surface within the environment that is also within the Range indication with the Left Mouse Button, then the player will be instantly teleported to that location. Currently there is no cool-down of any kind on the Teleportation, which does make it kind of fun to play around with. Below I have attached a few screenshots to display how the Teleportation Mechanic works in the prototype, and a video will be available in future blog posts.

Initial Phase of Teleportation: The Range Indicator appears in front of the player, allowing them to select a location.

Initial Phase of Teleportation: The Range Indicator appears in front of the player, allowing them to select a location.

Final Phase of Teleportation: Once a selection has been made, the player is transported there instantly.

Final Phase of Teleportation: Once a selection has been made, the player is transported there instantly.

Electrocution

Now that the Teleportation mechanic had been created and fully functional, James and I thought we would move on to Electrocution as it is the only damage-dealing ability in the game, making it rather significant. The Electrocution mechanic works by allowing the player to select an enemy within a certain range. Once an enemy has been selected they will take a certain amount of damage. If that initial enemy has any number of other enemies surrounding it within a certain range, then those secondary enemies will also take damage. In a sense, it is a strategic chaining mechanic meant to represent electricity going through enemies. The first step in this process was to create a list that would contain all of the Enemies, which would be affected by the Electrocution. Then, the algorithm finds the first enemy that would be affected by checking whether the player has selected a target marked as Enemy and whether that target is in range. If the selected enemy answers to both of those conditions, then it is added to the newly created list of Enemies Affected. The player selects the first target by clicking on it with the Left Mouse Button, and a Ray from the camera locates the selection much like with Teleportation.

After the first enemy has been located and added to the List, then the script searches for other enemies in range that would also be affected by the Electrocution. To begin with, a check is performed to see whether the List of Enemies Hit is empty or not. If the List is not empty, then an Overlap Sphere Collider is placed over the existing enemy within that List. The sphere’s radius is equal to a predetermined maximum range for the Electrocution. The next check performed is to see whether or not there are any other enemies within the Overlap Sphere Collider. If there are, then those enemies are also added to the List of Enemies Hit. Through this method, we can get all of the enemies that would be affected by the Electrocution. After this list has been filled, Damage must be applied to the Affected Targets. For the purposes of this prototype, a very simple check is executes, which simply states that if an enemy is within the Enemies Hit List, then that enemy will be destroyed. That’s the overall logic behind how the Electrocution Script works and the code for it can be reviewed below. Images of the visual process within Unity have also been included.

 void Electrocute() {
        GetComponent<PlayerMove> ().enabled = false;
        nAgent.SetDestination (transform.position);
        RaycastHit h;
        List<GameObject> enemiesHit = new List<GameObject>();
        //Get Initial Victim
        if (Physics.Raycast(Camera.main.ScreenPointToRay
                           (Input.mousePosition), out h, 100f)) {
            if (Mathf.Abs((h.point - transform.position).magnitude) 
            <= maxElectrocuteRange && h.collider.gameObject.layer == 10) {
                enemiesHit.Add(h.collider.gameObject);
            }
        }
        //Find next victims
        if(enemiesHit.Count > 0) {
            Collider[] nextVictims = 
            Physics.OverlapSphere(enemiesHit[0].transform.position,
                                 maxElectrocuteRange/2f);
            foreach (Collider c in nextVictims) {
                if(c.gameObject.layer == 10) {
                    enemiesHit.Add(c.gameObject);
                }
            }
        }
        //Visual Effect
        for(int i = enemiesHit.Count - 1; i >= 0; i--) {
            if (enemiesHit [i].GetComponent<LineRenderer> ().Equals (null)) {
                enemiesHit[i].AddComponent<LineRenderer>();
            }
            enemiesHit [i].GetComponent<LineRenderer> ().positionCount = 2;
            enemiesHit [i].GetComponent<LineRenderer> ().material = 
            Resources.Load<Material> ("Materials/lightning");
            enemiesHit [i].GetComponent<LineRenderer> ().startWidth = 0.2f;
            enemiesHit [i].GetComponent<LineRenderer> ().endWidth = 0.2f;
            enemiesHit [i].GetComponent<LineRenderer> ().startColor = Color.cyan;
            enemiesHit [i].GetComponent<LineRenderer> ().endColor = Color.cyan;
            if (i == 0) {
                enemiesHit [i].GetComponent<LineRenderer> ().SetPosition 
                (0, enemiesHit [0].transform.position);
                enemiesHit [i].GetComponent<LineRenderer> ().SetPosition 
                (1, transform.position);
            } else {
                enemiesHit [i].GetComponent<LineRenderer> ().SetPosition 
                (0, enemiesHit [i].transform.position);
                enemiesHit [i].GetComponent<LineRenderer> ().SetPosition 
                (1, enemiesHit [0].transform.position);
            }
        }
        //Apply damage
        foreach (GameObject enemy in enemiesHit) {
            enemy.GetComponent<Renderer>().material.color = Color.blue;
            Destroy(enemy, 1f);
        }
        currentPower = "NULL";
        GetComponent<PlayerMove> ().enabled = true;
    }
Initial state of Electrocution: The Player has activated the ability and can now choose a target.

Initial state of Electrocution: The Player has activated the ability and can now choose a target.

Middle state of Electrocution: The Player has selected the only target in range and the damage has been distributed to the enemies surrounding the initial target.

Middle state of Electrocution: The Player has selected the only target in range and the damage has been distributed to the enemies surrounding the initial target.

Final state of Electrocution: The damage has now been dealt and all enemies are destroyed.

Final state of Electrocution: The damage has now been dealt and all enemies are destroyed.

Reflection and Feedback

Overall, I really enjoyed working on these mechanics with James, because of how fun they seemed to me even at the prototyping stage. Because there were no cool-downs to these abilities at this stage, they could be used in combination with each other. For example, I found it quite entertaining to use Teleportation to get in range of the enemies and to then use Electrocution to defeat them, all in a manner of seconds. I think that with the addition of new abilities and their refinement, even more fun combinations will be possible. In terms of challenges, I thought that the Electrocution mechanic was rather tricky, especially because it was quite difficult to actually visualize the effect. James and I tied to apply some sort of texture as opposed to a single colored Line Renderer, however, we did not have much success. This indicates that I would have to do some more research on how one achieves effects of Lightning that can be controlled. And although this is just a simple prototype, I would like to refine the Range Indicator and make it a bit more intuitive. The main problem with it for now is that it has to stay on top of the Player’s head, because any other position results in it colliding with the environment, which can look quite broken. However, these problems may end up finding their solutions in Semester 2, because there is still quite a bit of design work to do for this Semester. Nonetheless, I am really excited about what we have so far, and I look forward to developing it further.

IMG_2269.JPG

After a long week of prototyping we had our Formative Feedback Session with Adam on the Friday of Week 8. At that point, I was relatively up to date on what I had been doing so far, so thankfully he was able to see most of my work. We primarily talked about Project Proposal 4 or As It Lies and I briefly went over the main mechanics, the abilities, the dice rolling, and some elements of the world. Overall, Adam’s feedback was positive and he had some really good recommendations on where to take the project forward. For example, he recommended that I translate the game into a paper prototype, specifically for the dice-rolling mechanic and to ensure that it would actually be fun. Additionally, after seeing a 3D Model I was working on, he suggested that I create somewhat of a style guide to help narrow down the specific style of models and game overall. Adam also suggested that I should carefully consider what abilities to include in the game, as they shouldn’t seem random or boring. That’s why none of them have been set in stone yet, and I will be reworking some of the powers later on, possibly through testing with the paper prototype. Quite reasonably, Adam also expressed concerns about the size of the project as I am working alone. That’s why we agreed that I would create a timetable for the second semester in order to ensure that the game will be fully completed by the time it needs to be presented. I intend to start working on Adam’s recommendations as soon as next week, so hopefully I will have even more clarity and information by next Friday.

Week 8: Prototyping the Camera and Movement in Unity by Valzorra

In addition to some experimentation and practice with 3D Modelling in Blender, Week 8 was also dedicated to developing a basic prototype in Unity around Project Proposal 4. I should also mention that for now the working title for Project Proposal 4 is As It Lies, so I will be referring to the game with that title in all future documentation until it is changed. The first set of important decisions that needed to be made in regard to the digital prototype was how to the camera and movement within this game would work. To answer both of these questions, I needed to ask myself what is the actual goal of this game, what am I hoping to achieve, and what is the essential experience I want players to go through. For now, I knew I wanted this to be a problem-solving experience where players would have to navigate through an environment by using a series of special abilities. As previously described, the abilities would be determined by the roll of a set of dice and players would be able to control and change the roll to some extent. With that in mind, this game is very much a strategic experience, and I would not like it to be possible for users to punch their way through the level.

Camera Angle

Having narrowed down the overall experience I would like to create, I began analyzing different camera perspectives to try and figure out which one would be the most appropriate one. The first version I analysed was the standard over-the-shoulder or third person camera angle. These type of cameras are usually used when the character and how they act is rather significant to the overall experience, shifting the focus away from the environment. We explored a lovely version of this camera angle in one of our Tech Workshop Session, so I had a pretty good idea of what it would look like in the game. However, I decided against it, because a large part of the screen with a third person camera view is focused on the player’s character rather than on anything else. This would be very problematic because precision and accuracy would be rather important in this strategic problem-solving game. Additionally, the solutions to levels would be incorporated within the level design, which means that the environment would be a major focus of the game. Therefore, I knew straight away that third person was not the way to go for this project.

Example of a Third-Person Camera Angle in Skyrim. Nearly 1/3 of the screen is occupied by the character, which is not ideal for As It Lies, which needs to give you an accurate view of the surroundings.

Example of a Third-Person Camera Angle in Skyrim. Nearly 1/3 of the screen is occupied by the character, which is not ideal for As It Lies, which needs to give you an accurate view of the surroundings.

Since I had established that the layout of the level would be the focus of this game, I started thinking about the potential of a first-person camera angle. First-Person Camera Angles display the game through the eyes of the protagonist, dedicating the entirety of the screen to the environment and the events going on in it. In theory, this sounds perfect for As It Lies, as it will enable players to look at their surroundings carefully, to analyse them, and to figure out how to maneuver their way through. However, even though this is closer to what I would ideally want for the game, it does not focus as much on the strategic and planning elements as much as it could. What is the most crucial about this game is the level layout and the careful positioning of separate abilities. As nice as a first-person camera would be, it does not allow for that careful strategic planning of using your powers. What’s more is that upon further investigation, I discovered that if As It Lies were in first-person, it would echo a series of other games in the genre more than I would like, namely Dishonored. What I want to avoid more than anything else is re-skinning a preexisting game, as that would make the exciting dice-rolling mechanic fade. Therefore, I had to take a look at other options.

As fond as I am of the First-Person Camera Angle, it is not appropriate for As It Lies, because it neglects the strategic elements I want to convey and it makes the game too similar to what’s on the market.

As fond as I am of the First-Person Camera Angle, it is not appropriate for As It Lies, because it neglects the strategic elements I want to convey and it makes the game too similar to what’s on the market.

After taking a look at those two options and realizing they would not work, I began analyzing a Top-Down or Isometric Camera Angle. Top-Down and Isometric Camera Angles places the player above the main action and scenes, often giving them a bird’s eye view of what’s going on. This wide oversight of an area is the most precise and accurate way to make strategic decisions about the environment. This gives the player complete and total control over what is going on in the scene allowing them to make the best possible judgement on how to solve the situation they have been placed in. The only problem with a Top-Down/Isometric Perspective is that is detaches the player from the events, thus making it more difficult to establish an emotional connection. However, the main goal of As It Lies is to provide an exciting experience with environmental puzzles all wrapped up in the context of an exciting world and story. Therefore, as long as players are having fun, emotional attachment to the game is not a priority.

I would like to take this opportunity that the Camera Angle of As It Lies is closest to Top-Down/Isometric, but would likely be a mix between that and the General Third Person View. This combination would still provide enough flexibly for strategy, but would help the player connect with the protagonist and events that are going on more-so than a pure top-down view. Additionally, this would give me more flexibility as I could chose where to lock the camera based on the level and I would not be confined to solid view that’s always straightly vertical to the ground. The closest example I can think of would be the League of Legends Camera System, which is locked into the same position, oftentimes onto the player and follows them as they move. The League of Legends camera system allows for careful strategic decisions and enables players to work together and see everything that’s going on in the scene. For more on Camera Angles, have a look at this fantastic blog post I found on Gamasutra.

A camera angle similar to the one in League of Legends would be ideal for As It Lies.

A camera angle similar to the one in League of Legends would be ideal for As It Lies.

Creating the Prototype and Movement

After I had made my decision about what Camera Angle would work best for As It Lies, the way the player would move in the environment became very straight-forward. Traditionally, Top-Down and Semi-Top-Down Camera Angles are accompanied by a mouse-click system for movement. Therefore, at this stage I knew that I wanted the game to have a Top-Down Camera View, similar to League of Legends in terms of angle, and that the player would move through the environment by using their mouse to click on a target location. Now that I had come to those conclusions, it was time to actually make a prototype in Unity that would showcase how it all works. I would like to note that as I am not a very experienced programmer, I had quite a bit of help from James in the creation of this prototype both during our Tech Workshop Sessions and beyond. Therefore, anything you see from here on out in Unity has been a collaborative effort between the two of us.

To my surprise, crafting a locked Top-Down Camera that would follow the player is actually quite easy to do. The first step of this process was to position the camera adequately, so that it fully shows everything that’s going on in our testing environment. For the purposes of this prototype the Camera was locked in a relatively arbitrary position, above the testing environment and player, in such a way that it would display them efficiently. After that, a basic Camera Move script was created and the first thing that script does is to locate the Game Object in the Scene tagged as “Player“, which in this case is a basic cylinder. After the Player has been located, the script takes into account any changes in the player’s position according to the coordinate system. After those changes have been calculated and assessed, they are applied to the Camera in the same manner, causing the two objects to move simultaneously. That way, the camera is constantly looking at the player from a predetermined angle and is moving along to the actions of the player. Below I have attached a few screenshots of the scene in Unity and the code for the Camera Movement as an image and in text format.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraMove : MonoBehaviour {
    private GameObject player;
    private Vector3 offset;
    void Start () {
        player = GameObject.Find("Player");
        offset = player.transform.position - transform.position;
    }
    void LateUpdate () {
        MoveCamera();
    }
    void MoveCamera() {
        transform.position = player.transform.position - offset;
        transform.LookAt(player.transform);
    }
}

An example of how the Camera View Point is directly looking at the player. If they were to move, the Camera would directly follow the player, always keeping them in the center of the image.

Programming the Player Movement Script was slightly more challenging as it involved moving the character by mouse click rather than more conventional means such as a controller or keyboard buttons. First of all, I needed to do some work with Unity to determine the areas that could be walked over in this environment. This meant that I would have to bake a Navigation Mesh to indicate that the three green planes on the screen are Walkable Objects. Once that was created, I also needed to indicate which Game Object was the Player. Therefore, I tagged my basic Cylinder as “Player“ and proceeded to attach a Box Collider and a NavMesh Agent to that Cylinder. These Components in combination with the baked NavMesh are what would make the Cylinder move over this very basic environment. Both the Box Collider and the NavMesh Agent have not had any of their default settings altered. Now, with all of those Unity bits and pieces sorted, I could get down to the actual code. The Player Move Script works by saying that if the player presses the Right Mouse Button onto a Walkable part of the environment, then a Ray will be cast from the Camera to the location the Mouse Cursor is directly over. That way, once the player clicks on a part of the environment, then they will be automatically moved toward the location where the mouse was clicked at a predetermined speed. I have attached the code for the Player Move script below.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
public class PlayerMove : MonoBehaviour {
    private NavMeshAgent nAgent;
    private float currentSpeed;
    void Start() {
        nAgent = GetComponent<NavMeshAgent>();
        currentSpeed = nAgent.speed;
    }
    void Update() {
        GetPlayerInput();
    }
    void GetPlayerInput() {
        if(Input.GetMouseButtonDown(1)) {
            MoveToClick();
        }
    }
    void MoveToClick() {
        nAgent.speed = 0f;
        RaycastHit h;
        if (Physics.Raycast (Camera.main.ScreenPointToRay
                            (Input.mousePosition), out h, 100f)) {
            nAgent.SetDestination(h.point);
            nAgent.speed = currentSpeed;
        }
    }
}

Thoughts and Reflection

These were the first of many scripts to come. James and I designed and crafted the Camera Movement System and the Player Movement System, which will be the building blocks of the entire project. Overall, the process for these two scripts was rather smooth and James and I did not have too much trouble making decisions in regard to them. I did wonder for the longest time whether a first person or a top-down camera perspective would be ideal for this game. However, after seeing the prototype with the top-down point of view, I know we made the right decision, as this perspective accentuates the strategic elements of As It Lies. So far, I think this has been a terrific start to the prototyping process and I look forward to writing more code and designing the algorithms for the abilities, dice rolling and so on.

Week 8: Intro to Modelling with Blender by Valzorra

After reading week was over, it was quite the relief to get back into my normal working schedule and to begin creating assets and prototypes during Week 8. At this stage, I had completed my idea generation and had come up with four fleshed out project proposals, one of which I was thinking of taking forward. Aside from mathematics, the common element between all four project proposals is that they would work best in a 3D environment. There is a potential problem with that as I have never really interacted with any 3D Modelling Software, aside from brief endeavours into texturing during Year 2. However, I am really passionate and enthusiastic about these projects, I want to bring them to life and to make them happen, which is why I have chosen to take on this challenge and learn how to create 3D Models. Week 8 was the perfect time to do this, because if I couldn’t handle the process at this stage I would have enough time to reconsider my options and potentially join a team. Nonetheless, I was determined to try my best and to create an asset by the end of the week. My program of choice was Blender as it is a professional-grade 3D Modelling Software, free of charge, and it was the program I used to texture last year, which meant I was conversational with its interface.

I started my journey into 3D Modelling with Blender by attempting to create a low-poly proportional female figure. Zeta, the protagonist of Project Proposal 4, will most likely be a healthy and athletic female, which is why I thought that trying to create a body for her as practice may be useful. Additionally, I have chosen to focus on a low-poly style as I am only beginning to learn 3D Modelling, and focusing on stylised and low-poly models would be a more feasible choice for my FMP. Overall, I would like to reiterate that my main goal here is to become familiar with Blender, to learn some of the basics of 3D Modelling, and to determine whether or not this was something I thought I could handle if I were to work by myself. The finished asset itself may not necessarily be used in the game, but if it does make it’s way to it, then all the better. Now, without further ado, let’s dive in.

Make Human

Before I started working in Blender, I thought I would explore other software for crafting Human 3D Models in order to create something to use as a reference for my own model. James S. recommended that I explore Make Human as it’s an open-source program designed specifically for making anatomically correct human models. Upon downloading and opening the program, I was surprised at how easy and user-friendly it was. Make Human generates a human 3D Model and allows users to change their gender, shape, form, and more, through the use of sliders. One can make humans taller, shorter, more muscular, chubbier, and all facial features may also be amended. Make Human even has a few in-built hair styles and clothing for the model, all textured. Below is an example of the default human model and the way the sliders work in this software.

The whole process of crafting a model was really easy and straightforward, and all I did to create my character was to work with the default model and to adjust the sliders accordingly based on the features I wanted to change. I made the woman a bit slimmer, more muscular, and taller than average, as she is meant to be quite healthy and relatively athletic. I made her face slightly sharper and her nose a bit longer than the default model. After I was happy with my character in terms of facial features and overall body shaped, I took advantage of Make Human’s built in poses and facial expressions to bring more life to the model. The image below shows the finished character with Make Human’s textures. I went for a braided hairstyle as it seemed to work best with her face, and a pose to make the model seem more life-like. However, I would like to reiterate that these decisions are not particularly significant just yet, as I am merely using this model as a reference by which to create my own 3D Human Figure. Once I was happy with the model and it looked somewhat like what I envisioned for Zeta, I exported it as an FBX (as Unity tends to like that format), and was ready to begin working with it in Blender.

Modelling in Blender

Once I had my FBX from Make Human I imported it into Blender to use as a guide for my own model. I chose to work with a model in the A-Pose, as my character will be rather unlikely to lift her hands up past that point, allowing me to model the shoulders with more detail. This is in contrast to the T-pose, where detail on the shoulders can get lost or distorted while doing animations. They key bit to remember here is that I am making a low-poly yet proportional human, which is why the highly detailed Make Human (MH) model serves as nothing more than a guide. I started off with a simple cube at the bottom of the left foot and I began shaping it and forming it along the outline of the MH model in order to get an abstracted version of the foot. One of the main tools I used was the Extrusion Tool, which works by selecting the face one would like to extrude and then pressing E. What’s lovely about Blender is that it automatically determines what type of extrusion would best fit the selected face, thus making the process a little easier and more user friendly. Another tool I used very commonly was the Loop Subdivide Tool (Ctrl+R), which creates a loop of edges and vertices around the selected object. This was hugely beneficial as it’s the way I was able to divide the cube I started with into a shape with more than eight vertices. Once you have those vertices, they can be dragged along each axis and changed into desired shapes, which is how I formed the foot.

The original imported A-Pose Model from Make Human.

As I was working with my cube, continuously using the Extrude Tool and the Loop Subdivide Tool, the model I had was slowly starting to look like a foot with an ankle. The MH Model was incredibly useful as it gave me insight into where to break the lines and form the appropriate curves of the human body. In that same fashion of using these tools, editing my vertices, shifting my edges, and occasionally grabbing entire faces of the model, I went up along the leg and was sure to include the key curves and breaks in it. I really enjoyed this process of abstraction because I had to continuously ask myself how much could I take away from the shape of the foot before it ceases to resemble a foot anymore. I was aiming for a relatively abstracted version, but still clearly distinguishable as a human foot and leg.

Going along the leg and progressing towards the waist with the described techniques.

Up until this point, I had been working only on one side of the leg, slowly creating half of the body. After a handy tip from Richard, I turned on the Mirror Modifier in Blender, in order to connect simultaneously create both the left and the ride side of the human. The model was mirrored along the X-Axis, with Clipping and Merge enabled, as I wanted both sides of the model to be connected and to result in one coherent shape. After enabling that modifier, I continued to go up along the body and to extrude it all the way up, working along its curvature. The most difficult and and time consuming areas thus far were by far the areas of her bottom and her breasts, as those we most shaped like an oval, which means they required significantly more subdivisions of the plane. Nonetheless, I was greatly enjoying the process thus far and was excited to complete the finished piece.

Once I had crafted the body up until the neck, I branched off to the sides to complete the arms. Using the same methods of Extrusion and Subdivision, I proceeded to form the elbows, the muscles, and the armpits, which were rather challenging. I had the most difficulty viewing the area underneath the armpits as positioning the camera in a convenient way to edit the vertices often caused me to see the inside of the model, which was not very helpful. Nonetheless, I managed to work my way around that issue by positioning my view towards the side of the model rather than directly beneath. Another very challenging part of this area for me was the hand. I knew that I wasn’t going to create all five fingers as that seemed unnecessary for a low-poly model, so I focused on the thumb and combined all four fingers to essentially create a mitten. Nonetheless, I found it really difficult to account for the curvature of the palm, and I required a series of subdivisions to get that done correctly. After it was all complete, I was rather pleased with the result as it did resemble an abstracted human hand. However, I am eternally grateful I do not need to repeat the process on the other side.

Extrusion of of the area around the armpit, which will eventually form the arm.

The hand and arm near completion, by far one of the trickiest areas to get right.

After I had created the entire body, including the arms, it was time to proceed to the head, the section I found the most challenging. In the same fashion as before, I began by extruding a small section from the neck and slowly matching all of my vertices to points in the face where they touched the MH Model. The difficulty with the head came from the fact that it was the most ovular part of the entire body and thus required more vertices to get it done accurately. Additionally, as this is a low-poly model I did not model the face based on the MH Model, but rather made my own version, which only had very basic indents to indicate the eyes and the mouth, and a simple bump for the nose. I did go over and edit the face a couple of times because I kept making mistakes with stray vertices and geometry, but nonetheless, I got there in the end.

Blender25.png

Below is an example of how I would fix any mistakes I found within the face and the entire body. Whenever I notices that something was off with the model in Solid View, I became suspicious of what has transpired. To investigate the issue, I would enter the Wire Frame View of the model, which only displays the mesh of the model. Once a face is selected as shown below, if there are any stay vertices or edges, they become really easy to spot. The way I fixed problems of the sort was a bit clumsy, but nonetheless, efficient. I would merely delete or dissolve the problematic vertex and then merely fill in any holes the process may have caused in the model. I was rather lucky, because I did not have an abundance of such instances at all, so there was no need for excessive deletion and rebuilding. Once the head was all done and I had fixed all of my mistakes along the way, I went on to clean up the model from any stray or unnecessary edges and vertices, which significantly decreased my Vert Count and my Tri Count, making the model much more optimal.

Blender28.png

Once I was happy with the model overall, I took a look at it from afar and tried to experiment with some of the Modifiers in Blender. Specifically, I wanted to make the model look even more low-poly than it already was. That is why I explored the Decimate Modifier, which essentially decreases the number of Polygons in the model. I found the process rather exciting because by editing the Collapse Ratio, which is a slider, I could change the model from its current form to a single triangle. The question I was asking myself while using this Modifier was how much information can I take away before the object is virtually indistinguishable. I found that for now, the ideal ratio was somewhere around 0.3050, however, I could decimate it even further if needs be. Another Modifier I explored was the Triangulate Modifier, which essentially divides each face of the model from Quads to Tris. I personally much prefer Tris, because mathematically, any three points can fall into the same plane, which is quite nice to model and work with. Quads on the other hand, do not always have all of their vertices in the same place, which can lead to some difficult to spot and undesirable geometry. Once all of the Modifiers were applied, the model was complete.

Blender39.png

Thoughts and Reflection

To my surprise, I’ve really enjoyed creating this model. The process was not overly complex and it was an excellent exercise in familiarising myself with the Blender, some of its shortcuts and its interface. There were plenty of challenges along the way, most notably with the more ovular shapes of the human body, but they were all manageable and I managed to work through them without too much trouble. One very frustrating setback was that while I was crafting the head, my computer completely crashed causing me to lose some of my progress. However, I took it as a learning moment, and acknowledges that I should be saving rather frequently as there is a risk of things like that happening. Through this model, I have now familiarised myself with Modelling via Extrusion, working with vertices, edges, faces, I’ve explored a few modifiers, and I have clearly pushed the technical limitations of my personal computer. I’ve explored how to fix certain problems and how to optimise my model by dissolving unnecessary geometry. To top it all off, I am rather happy with the final result, which is attached below. This is my very first 3D Model and it seems to look rather decent, better than I expected in any case. The model seems fairly well optimised with 934 Verts, 1,920 faces, and 1,920 Tris, although there does not seem to be a solid number one should aim for with these stats. Creating this figure took me about three days during which I was also working on other prototype pieces. This should hopefully mean that if I stick with a relatively low-poly style, I should be able to feasibly create a 3D game by the end of the year, which is incredibly exciting. This exploration has been incredibly motivating and I am looking forward to getting back into it.

HumanBody.png

Week 7: The Riemann Hypothesis by Valzorra

Overall, Week 7 was rather slow as it was Reading Week, which meant that most of the week was free from any workshops or lectures. I took this time to catch up on some of my project proposals, which have already been published, and to document bits of research I did that are quite significant to Project Proposal 4 in particular. I will take this moment to note that the research itself was done last week, however, I am only now getting about to documenting it. Hopefully, it will all make sense and click together once laid out. Additionally, I wanted to take the opportunity to summarise and reflect on what Andy said during our one to one. Now, without further ado, let’s get into the research and updates.

The Riemann Hypothesis

The Euler–Riemann zeta function plays a crucial role in modern analytical number theory and has a variety of applications spanning across fields such as Probability Theory (*wink wink*), Physics, and Statistics. It’s basically a function whose argument can be any complex number other than 1, and whose values are also complex. Euler first studied this function as a real variable and was able to work out its values at even positive integers. In fact, the first even positive value of the function provides a solution to the Basel Problem. Riemann then expanded on Euler’s analysis of the function and established a relationship between its zeros and the distribution of prime numbers. What’s more is that from the Euler-Riemann zeta function stem a variety of other number series such as the Dirichlet Series and L-functions.

The real part and the imaginary part of the Riemann Zeta Function at the critical line.

Now that I have provided a very basic overview of the Euler-Riemann Zeta Function, I can move on to briefly describing the famous Riemann Hypothesis. The Riemann Hypothesis proposes that the Euler-Riemann Zeta Function has all of its zeros at negative even integers, which are all trivial zeros, and complex numbers with real part equal to 1/2, which are the more exciting non-trivial zeros. As the Euler-Riemann Zeta Function is closely connected to the distribution of prime numbers, if this hypothesis is to be proven it would completely revolutionise the way we interpret modern number theory and pure mathematics. What’s important to note here is that if this unsolved problem is proven it could open a series of doors to new ways we can think about mathematics and apply them in the sciences and in invention. Solving this problem would change the way encryption and computer system security functions fundamentally, which may be a reason why some might not want a solution to be found.

The Riemann Hypothesis has a series of parallels to the world and events examined in Project Proposal 4. In that universe, the equivalent of the Riemann Hypothesis, is the problem of humans only being able to use one implant, which is determined genetically. Even though there are a total of seven Alteration Implants developed, no one has managed to crack how one individual can use multiple at the same time. That is the major unsolved mystery of the time and the narrative of the game would revolve around what it would be like if such an important problem were to be solved. Additionally, one reason the protagonist is called Zeta is to echo Riemann Zeta Function and how she essentially managed to solve her universe’s equivalent of that problem. More details on the specific narrative will follow soon, however, even thus far I thought it was a nice nod to this area of mathematics and the potential consequences it may have.

Riemann, 1859

Andy’s Feedback

The Friday of Week 7 was dedicated to one to one sessions with Andy, and I was quite excited to hear what he had to say. As I was most fond of that idea, I presented Project Proposal 4, the game involving dice and managing environments based on what rolls. I gave Andy a very brief overview of Zeta’s world, of her character, and of the main dice-controlling mechanic. I described the special abilities I thought would be appropriate and how one would be able to shift between them. When I was finished with my explanation, Andy seemed pleased with the idea and even mentioned he is not completely sure what to add on to it. He asked me what I was most concerned about at that stage and I mentioned that although I have figured out how the world would work, I have not yet designed an actual level. Andy did not seem incredibly concerned about this and reassured me by saying that it sounds like a game he would like to try. He also recommended a book called The Dice Man by Luke Rhinehart, which revolves around a man who makes most decisions in his life by the roll of a dice. Overall, I was rather pleased with the feedback as Andy was not really able to punch any holes through the idea, which hopefully means that it’s rather solid. I look forward to getting more feedback on it from Adam and my course mates.

Week 7: Project Proposal 4 by Valzorra

Background

The core mechanic, the environment, and the story would all be based on mathematics, making this game a passionate love letter to the field.

Coming from my research on Probability and Chance, as well as Matrices and Markov Chains, I sought out to come up with a game where chance and probability were essential to the main mechanics (for more information on the research itself, please refer to Week 1: A Welcome Return, Week 2: Calculus and Cancer, Week 3: Research on Mathematics, Week 3: The Matrix, Week 4: Markov Chains, Week 5: Mathematics Visualised). With this in mind, I instantly thought of dice, and how dice could potentially be used and controlled within a game environment. Some of the questions I was thinking of were how would different dice impact gameplay, what would be the statistical chances of landing on certain faces, etc. (for more on Fair Dice, please refer to Week 3: Research on Mathematics). Keeping this idea of chance, probability, and dice as central mechanics, and coming back to my goal of creating a fun and empowering experience, with a few cool notches to mathematics (for more on this revelation, please refer to Week 5: Just for Fun), I thought it would be really exciting to assign special abilities to each side of the dice. Additionally, using my research on perspective and concepts like Desargues’ Theorem, I thought it would be quite cool to base the environment on those geometric principles (for more on that, head to Week 4: Dimension). The puzzles and environment in this game could stem from geometric proofs of theorems. This would mean that the core mechanic, the environment, and the story which is loosely based on the Riemann-Zeta Hypothesis, would all be based on mathematics, thus making this game a humble love letter to the field. I have detailed the specifics of the project below.

Project Overview

The action takes place in the late twenty-first century in a world not too dissimilar to our own, where humanity has come up with one of its greatest inventions, the Alteration Implants. There are a multitude of Alteration Implants or Alters for short, all of which give their users special abilities, such as Telekinesis, Teleportation, and more. All of the Alteration Implants developed immensely benefit society and are used in the workforce constantly. For example, the transportation industry has never been more punctual since the introduction of the Teleportation Alters. Each individual is genetically susceptible to only one type of Alter, which means that one person can only use one ability based on their unique genetic code, much like Blood Types. Because of this biological predisposition, individuals can usually only work in professional fields related to their Alter. The entire society is structured upon this principle, and the great scientific mystery of this time is to try and figure out how to enable people to use more than one.

You play as Zeta, a bright and ambitious young woman who has managed to crack this mystery. Zeta is also a highly-skilled and compulsive gambler. She lives in this universe’s equivalent of Las Vegas and plays competitively at the largest tournaments in the city. However, as skilled as she is she could never defeat the top ten players in the city, which is why she was looking for a way to gain an edge. Through her advanced mathematics and engineering skills, she figured out how to infuse standard six-sided die with the Alteration Implants available in this universe. After this breakthrough, she could use the dice in tournaments and gain an advantage over her opponents. Having a Telekinetic Alteration Implant herself, Zeta can also change the way the dice rolls, having freedom to pick and choose which side it would land on. However, unfortunately one of the players eventually catches on to what she is doing, starting a thrilling chase and mystery for Zeta, that will test her wits and determination. More on the specific details of the narrative would follow in future developments and posts relating to this project.

In terms of gameplay, what makes this project exciting is the intricate use of the dice and the opportunity to control chance and incorporate that into problem-solving scenarios. Zeta will have the power to use a total of three die. Whenever the player wants to use their abilities from the dice, they will roll all three and receive a certain value for each. Each value on the die will correspond to an ability. Using her Telekinetic Powers, Zeta would be able to change the way one of the dice rolls. She may change only one dice in the beginning of the game as she would not be particularly skilled at using her Telekinesis. As the player progresses through the game, they would have further control and would be able to change two and maybe all three die. Once the player has decided which dice they would like to change the roll of, all abilities may be used in the order the player chooses. For example, if I rolled a 3, a 1, and a 2, then changed my 3 to a 6, I would end up with a 6, a 1, and a 2. At that stage, I would be able to pick the order in which to use these abilities take place and I would have to make my way through the level based on that selection. Zeta is a gambler, so her risk-taking nature is perfectly incorporated into the gameplay. Additionally, this encourages the player to make the most of a situation with the hand they were dealt, connecting to larger themes of free will and choice.

Concept Pieces

I began some work on concept pieces and mechanics for Zeta’s abilities last week during our Tech Workshop session (for more on that, have a look at Week 6: Exploring Ideas and Mechanics). I have chosen a series of abilities that could potentially make it to the game, predominantly based on what the needs of that society would be. The Alteration Implants would have been researched and developed in order to help mitigate and alleviate some common problems within society, or to make existing practices more efficient. That’s why I have strove to ensure that all abilities have a good reason to exist within this society, which is why people would have invested into their research and development. I already knew I wanted to have some form of Telekinesis in order to help Zeta move the dice. To come up with other appropriate abilities for that purpose, I did a bit of idea generation based on the question If you could have any superpower or special ability what would it be? After I had a list of abilities that answered that question, I then proceeded to filter those answers with the question, Which of these abilities could be commonly used and benefit society? After answering that, I was left with a list of seven abilities, specifically:

  1. Telekinetic - Service Industry, Nursing, Building, Implanting Alters, Military

  2. Electric - Engineering, Computer Science, Chemistry, Robotics, STEM

  3. Teleportation - Transportation, Law Enforcement, Military

  4. Defensive - Firefighters, Law Enforcement, Military, Mining, Dangerous Professions

  5. Light - Agriculture, Ecology, Show Business, Entertainment

  6. Sound - Navigation, Military, Show Business, Entertainment, Ultrasonic Engineering

  7. Stopping Time - Secret Services, Military, Law Enforcement, Security

Idea Generation for all of the abilities functioning within this society.

Idea Generation for all of the abilities functioning within this society.

After narrowing down what all of the abilities within this society would be, I made a few storyboard-like sketches to showcase these mechanics individually within the game. The illustrations below do not really show how they would work in combination with each other, but the main idea is that these would be used to navigate through the environment. Additionally, levels would be designed in such a way that a multitude of combinations of abilities could solve the problem, resulting in a series of different approaches to the same situation. I have also explored a few different versions of some of these abilities, as I have yet to fully make my mind up about how they would function within the game. In any case, this would be something to explore within my prototypes over the coming week.

IMG_0505.PNG
IMG_0506.PNG

Thoughts and Reflection

So far, this is definitely my favourite idea as it seems the most fun, it connects the best to my research, and overall has the potential to achieve all of the goals I want it to. I have yet to decide whether this experience would take place in three-dimensional or two-dimensional space as both have their pros and cons. If I make this a two-dimensional game, it would incorporate a lot of the things I am interested in, such as perspective and what type of information gets lost within perspective. My only reservation about making it two-dimensional is that I am not fully certain how to make it an exciting puzzle-solving experience that does not entirely rely on traditional platforming techniques. Whereas if I were to make the project three-dimensional, I would be making the idea slightly more generic and it may lose some of its mathematical flare, however, it is practically guaranteed to work efficiently. Overall, I am quite confident I will be taking this idea forward, at this stage it is only a matter of time to try and figure out how to present it. Hopefully some feedback from the presentations next week will help me get that clarified.

Week 7: Project Proposal 3 by Valzorra

Background

During our lecture on Markov Chains, James mentioned that they are primarily used in the fields of Marketing, Software Engineering, and Computer Science and have not necessarily been explored to their full potential in video games. That’s why I would be interested in creating a game which heavily features Markov Chains and individualised AI in its algorithms. That way the player would have a unique experience with the game, as its AI will continuously change based on their actions. For example, enemies may record and observe how the player behaves in order to predict their movements and become better managing them, which would involve Machine Learning, an area that I find rather exciting. Similarly, if the player happens to consistently overpower challenges set out within the game, enemies may become more vigilant and careful around them. The project would be all about adaptability of the AI and crafting a personalised experience based on what the user does, not dissimilar thematically to Project Proposal 2. Although there could be potential ethical considerations that might prevent this from happening, implementing some of James’s work on emotive AI into such a project might result in an interesting and unpredictable experience.

Project Overview  

I have always been fascinated by Edgar Allan Poe’s The Raven, which I briefly analysed in Week 3: Research on Poetry, and I believe some of the poem’s themes would connect perfectly with the idea of an individualised, possibly emotive AI. It deals with universal themes like consciousness, handling emotion, overcoming challenges, grief, loss, whether or not the mind and senses can be trusted and many more. Those themes in combination with my desire to create individualised AI, made me come up with the idea of a horror experience loosely based on Poe’s work where the main antagonists are seemingly unpredictable NPCs, whose personalities and behaviour would be dictated by Markov Chains. Additionally, what would make this experience even more impactful would be to design it for Virtual Reality as the medium would increase player immersion, thus making the characters seem more real.

This exponentially chaotic experience is essentially personalised horror based on sophisticated AI and themes from Poe’s work.

The events of this experience would start in a modern-day hotel room, with no specific explanation of what is going on, however, the environmental would suggest that we have just checked in (open suitcases, clothes on the bed, and so on). As the player explores the empty hotel room, they will discover the room door to be open, leading to a long hallway. Down the corridor there would be an old and shaken man, pointing towards an open elevator at the end of the hallway. As that is the only clear direction to go in, the player would naturally enter the elevator. At this stage, the elevator doors would close and could lead the player across a journey through the different floors. Each floor would reveal a different part of the hotel which the player can explore, such as the reception area, a bar lounge, an entertainment centre, and more. What’s more is that each time the player enters a new floor, it will appear as though the overall style and time era the hotel is in has changed. This will add to the overall idea of increasing chaos, horror, and disorientation. This connects to the themes of consciousness and questioning one’s own sanity found in Poe’s work.

It is precisely within those strange environments that the player will encounter the two main entities in this experience, the lovers Lenore and Arcadia. Lenore and Arcadia are seemingly all powerful beings who have a ghost-like presence in every single room. They would be the agents of chaos within this world, turning the tides from sanity to insanity and madness. They are everywhere, the span across space, across time, and the player will know that they are more powerful than them. Lenore and Arcadia would both adapt to the environment based on what the player does. For example, if they run through the whole experience without stopping to look around, they may become more aggressive and grab the player’s attention. Whereas if the player is rather calm and takes the time to look around at all details within the space, Lenore and Arcadia may be more subtle, leaving smaller hints about their presence. This would all be based on the variety of player personality types for example the Four Bartle Types, namely Killers, Achievers, Explorers, and Socialisers and the Unified Model (for more information, please refer to this wonderful Gamasutra Article).

The Keirsey and Bartle Model for Player Personalities

The Keirsey and Bartle Model for Player Personalities

Chris Bateman's DGD1 Model, which may feature in parameters that would dictate AI reactions

Chris Bateman's DGD1 Model, which may feature in parameters that would dictate AI reactions

I have constructed a very loose narrative that will be primarily conveyed through the environmental design and occurring events. In short, Arcadia is a talented singer, dancer, and performer, who unfortunately was never given the opportunity to perform in front of an audience as various managers and organisers would continuously deny her access. That is why Lenore, who is Arcadia’s demon-like lover, has created this hotel that perpetually traps its visitors. That way every night there would be an ever-expanding audience for Arcadia, keeping her happy and fulfilled. In a way, it’s a rather romantic gesture. Simulating the cyclic nature of The Raven and the idea of no way to escape circumstances, at the end of this experience, it will be uncovered that the player has actually been the old and shaken man from the beginning, guiding an unaware guest. At this stage, the player will have a series of options to reflect upon. They will have to decide whether these supernatural and time-bending events actually occurred, whether they have been trapped in this hotel with no escape, whether they have been playing as a mentally ill man who’s consciousness and senses betray them, whether this has all been a dream, or whether this has been a constructed scenario in the imagination of the old man. Either way, this personalised horrific experience would make players question notions of sanity, of how much we can rely on the senses, of consciousness, all built upon sophisticated AI.

Concept Pieces

Without going into too much detail, I have taken the liberty of developing visuals and a storyboard for a few of the key scenes in order to better convey the feeling and setting of this experience. Below I have attached a few sketches of Lenore, the main villain within this experience. She is an elegant beautiful woman, who has incredible confidence in her own ability. She is entirely devoted to Arcadia and would go to extreme lengths to keep her happy.

Radial Arc 5.png

Below I have attached an environmental sketch of one of the areas within the hotel. I thought an impressive lounge/bar area would be rather exciting to look at and explore. It is based on a few night clubs and bar spaces that I found quite atmospheric and that could potentially feel both welcoming and frightening depending on the events that take place inside. I also quite enjoy the architectural choices, especially placing the bar itself in the middle of the room, with seating areas around the walls, which I have applied onto the storyboards. Additionally, this would be the main area Arcadia performs in, so it should be quite interesting to have a look around the space and try to interact with the guests that would be in a very similar position to the player. This would also provide dozens of opportunities to feed information to the AI and make them take adapt to player choices.

Below are the first few pages of storyboard based on a scene that would take place within this performance area. I have not finished the scene just yet as I am not still undecided on whether this project will be going forward or not. The text around the images should explain what is happening in the scene and the actions/movements taking place. Hopefully, this will convey a small part of what Lenore is like and how she may behave when interacting with the player.

Thoughts and Reflection

I am quite fond of this experience because it has the potential to be a thrilling VR adventure, built upon sophisticated AI and some of the world’s greatest literary work. Additionally, I quite like the idea of slow descend into chaos, up until the world of this hotel seems to be falling apart. All of this to conclude with the player questioning what has happened and whether they are actually trapped within the hotel or their own mind. However, although the foundations of the project are based entirely on mathematics and code, I do believe it veers away from the overall theme of Maths, Chance, and Probability. Therefore, I am not convinced I will be taking this project forward, but I would still like to hear what others have to say about it before I make my mind up. Until then, onward with ideation and prototyping.