Final Major Project Dev-log

Game Title: A RedMou’s Room

A RedMou’s Room is an Autobiographical Puzzle game concluding 8 puzzles and some self-deconstruction contents showed by dialogues. Player can talk with 2 AIs in RedMou’s room and get some information about RedMou via solving puzzles in the room.

The background/narrative: the player is an Authority and he/she comes to the room to investigate the disappearance of the owner of the room: RedMou. Then he met two AI of the room, they told to player that player should solve puzzles left by Redmou to get information about him.

So the process of the game is about:

  1. Find interactive objects in the room.
  2. Click the object and go to puzzle level.
  3. Solve puzzle.
  4. Return to the room and repeat step 1.

INSPIRATION:
The early idea of the game is linked with my final thesis that discussed about how to get a better control of pre-produced tools but not be controlled by the tools. Since I have experiences about Unreal, and Epic store provides a plenty of useful tools for developer, so I managed to make a game that most of the resources in the game are collected from Epic Store or Internet. For this aim, I searched the Epic Store and found some interesting works, like Turn-Based RPG Template, Apartment Tech Props and Chameleon, these tools helped me in different area: gameplay coding, next-gen scene resources and post-processing.

On this basis, I began to conceive how to integrate these functions into a game and make it reasonable.

The main idea came from an autobiographical prototype I gave up in Term3, which is a walking simulator that shows the copy of my current room in game. I gave up it because I could not find a suitable gameplay, so the game could not make sense. But for this time, I find that it’s a good timing for me to analyze myself and express the thinking to player.

PUZZLE MECHANIC
The puzzle mechanic is based on the Turn-based RPG gameplay, and I paid at least two weeks to understand how the pre-produced blueprint works. Then I was able to modify the blueprint and transform it from a wargame to something closer to a puzzle game.

The biggest challenge of modifying a well-produced blueprint is, how to add new macro and variable in it and to ensure that the new node will not make something wrong that may be related, because efficient blueprints often have many variable references, casual modification may cause errors that are difficult to fix.
So, I’ll list the most important changes I made:

  • Added round limit and wave limit, now the game will generate a fixed number of enemies according to my configuration, and if the round limit is exceeded, it will fail.
  • Adjust the attack and health volume of all units to precise integers to facilitate players’ calculations.
  • Changed enemy attack logic.
  • Appends the number of current health to the health bar.
  • Adjusted the speed of all animations.
  • Added audios that controlled by blueprints.
  • Added Result UI, Restart UI and Guide UI.
  • Rule of the puzzle:
  • It is a turn-based game, player can act before the enemies.
  • Player can control two characters; each character has unique attack pattern and skill.
  • Enemies will just attack the closest target.
  • Player must destroy all enemies in limited turns.

ROOM MECHANICS
Writing the room scene’s blueprint is another challenge. I have to write all of the blueprint content for this level because it just has a completely scene. Another problem is how to link this level with the puzzle levels. I use “Open Level by Reference” API to transfer to puzzle levels, and when I do this, Unreal will nor save the statues of the room level. My solution is using a “GameInstance” to save those variables and set them again when come back to the room level.

The main interaction in this level is press A or D to change camera to observe the room and try to find some special objects. Then player can click the objects to transfer to puzzle level. The role of GameInstance is that the completed state of each level will be saved in it to ensure that the player will not return to the completed level.

PLAYTESTING
The playtesting has 3 steps, the first step is Puzzle Mechanic Testing, I brow the puzzle prototype to class and let everyone to try it, the result is that half of the people that played some puzzle games before can realize the mechanic very quickly, but some people even could not solve the first level.

The first Playtesting

The feedback shows something should improve: Players need a clear guide to know how to interact; Players hope that the feedback of the operation is more intuitive, which will affect the player’s decision; Maybe more mechanics, like to change units’ position by attack or skill.

According to the feedback, I changed the game rules. I canceled enemy’s moving step and ruled them to attack the closest target.

The second Playtesting

The second playtesting concluded more levels, including a 3-waves guide level. This test shows that players are willing to think about the puzzles, and some players who have summed up the rules and skills can solve the puzzles smoothly, which is what I want to see.

Unfortunately, for players who can’t find their way, the puzzles are too difficult and unpredictable, and the slow animation process can make them feel uncomfortable, so that repeated attempts are painful.

On the third playtesting, I assembled everything for the game and provided the full game process for players to experience. It generally takes more than an hour for players to clear the level, which greatly exceeded my expectations. Fortunately, the whole process can run smoothly, and there are no major technical problems. Players raised a lot of experience problems, which helped a lot in detail optimization.

CRITICAL REFLECTION
The FMP shows that it is still not very easy for individual developer to control the pre-produced tools. I always felt big limitation when I wanted to add a new function to the current framework or improve the current function, especially in Unreal blueprint projects. But it doesn’t mean that the way that using pre-produced tools to build a game is impossible, as I said in my final thesis, developers should have enough knowledge. Tools can only help developers to save time, or sometimes give some inspiration, but most of the time the main idea should not be replaced by tools.

DevLog-Insomnia

Insomnia is a meta game, the main idea of the game is “People always trust something they fantasize about”. Firstly, I wanted to make a game with three different levels, and there are some kinds of relationship between these levels. Player will transform in the levels and find the narrative under the surface.

Inspiration:

This game’s inspiration comes from Story Untold, which is a narrative puzzle game combining with varies of mechanics. Story Untold have four stories and finally player can tell a main thinking about the game.

According to it, I want to build a spiritual world with fantasy colors. The mechanics don’t need to have too much connections. firstly, player begin in a room with a typewriter, they will switch to the second level by completing something. The second level is explained by texts, player can type some keywords to explore the story, and switch to the third part. The third level is some action puzzle mechanics, player will return to typewriter room when pass the third level. The game has four loops just like it.

Mechanic:

Level01:

Player can click the red typewriter to open the letter UI, and drag any sentences to the block below, then there will be some texts appear on the paper. Clicking the “Enter” key can switch to another level.

Level02:

Player should read the text and find some keywords. Explore the game by entering keywords.

Level03:

The third level conclude some action puzzle elements, player’s target is to approach the lighting door and try to collect all white boxes.

Playtesting and feedback:

Level01:

  • Try to let players know which object can be interacted. For example: when cursor stay over an interactive object, cursor will change to another shape.
  • Add more interactive text so that player can build different letter.

Level02:

  • Need a more detailed guide level to tell the player how to type.
  • Give players suggestion when they try too many times.
  • Add more available keywords.
  • Add more branch for exploring.

Level03:

  • Visual guidance of lights is very necessary.
  • Platform jumping is always difficult, which will make players annoyed.
  • Pushing blue box is an uncomfortable interaction.
  • White boxes should conclude more message.

Devlog-12 Seconds Physical Game

Inspiration

For a 12 seconds game, the mechanics should not be very complex so that players can easily to understand how to operate and achieve the target. As for a Physical game, I got some reference from Tabletop Game and Traditional Game that using reality components. So I want to make a gameplay that already exists in reality.

Main Idea

Player can press the right-click button to control the rotation of the maze, and the ball can move by the effect of gravity. The goal of the game is to make the ball reach the end within 12 seconds.

Coding

  • A restart button is necessary because players will try many times.
  • I tried many ways about how to control the rotation, above keyboard button or mouse, the current approach is not entirely reasonable, but modifying the code logic means that the gameplay and levels need to be changed, which requires a lot of time. I’m still exploring new method to solve the problem.

Play-testing & Feedback

  • Rotation controls are too sensitive. A bit hard to control.
  • The collision of the ball with the wall always causes some bugs.
  • 12 seconds is too short.

Devlog-Procedure Art

Inspiration

As my Interactive Picture Devlog (Devlog-Interactive Picture – A developer’s site (arts.ac.uk)) said, I will continue to explore the interaction with cubes. At the same time, I also preparing for the 12 seconds physical game. Gravity could be a good way to describe “procedure”, so I can make cubes just falling down and seeing the dynamic influence.

Coding

  • Cubes can be created in a random X range from +9 to -9.
  • Cubes’ color controls by SpriteRenderer. I use X and Y position as the RGB numerical value so that they can have procedure color change.

Main Idea

You can just sit there and waiting for cubes filling the whole screen.

Play-testing

  • Can add various of sprites.
  • more variable colors.

Devlog-Interactive Picture

Inspiration

When I developing the A&C game, I found it interesting to design a series of interactions around cubes and boxes. I have made some mini demo before, so I planned to explore the connection about position and color.

Mechanic

The mechanic of the game is simple that you can click everywhere on the screen, every time your clicking will create a cube at the clicked block position. Cubes will change color basis on the mouse’s position so players can see gradually color changes.

Coding

  • Cube interaction: I filled the screen with cubes and set the alpha to 0 so they are invisible when game start. Can set the alpha to 255 by clicking.
  • I use the x,y position of mouse as cube’s SpriteRenderer RGB to get a dynamic cube color.

Play-testing & Feedback

  • Firstly I made this game as the Procedure Art work, but David told me that it is more like a Interactive Picture, so I decided to change the game’s theme and do another new Procedure Art.
  • The color gradient looks good.
  • Can add some optical illusion tricks.

Devlog-Bitsy Narrative Game

Inspiration

This game’s idea comes from The International 10, which is the most important DOTA2 competition in a year. DOTA2 has a great number of fans and players in China, Chinese players expected the Chinese team to win the TI10 championship because it has been 5 years since the last champion. But things went contrary to their wishes, LGD Gaming lost the final match. It is a bit of unacceptable for Chinese players, Much of the debate was about decisions made at the Ban & Pick stage, a lot of people even thought it was a fake match.

Main Idea

So I want to express some of my thinking about the phenomenon via the Bitsy game, it could be simple, just focusing on dialogues and less of interaction game play.

The game names “Why Not Ban Magnus?”. The main character in the game is magnus, a hero from DOTA2. Magnus played well in the finals and destroyed the Chinese team so players wonder why they didn’t ban Magnus.

I think that people just didn’t want to accept the truth, they lost their impartiality and the mindset to enjoy the game. So my train of thought is to express my opinion through Magnus’s dialogues.

Play-testing & Feedback

  • Could be more trick in the game process.
  • The end of the game needs more feedback.
  • Text doesn’t convey ideas well.
  • Maybe a longer process?

Devlog-Avoid&Collect

This is my first work of the mini brief, It is a challenge for me that I hardly ever solo a electronic game before but do some graphic work like 3D art or concept art in a team. So I thought that I could find some ideas which can be implemented with relatively basic code.

I found some inspiration while thinking and the code learning process, push box could be a suitable mechanic for me. I also managed to use some mechanics like Rhythm Dungeon to approach the A&C theme.

Early Design

Firstly, like other push box games, player’s aim is to push box to the target position. You should avoid the enemies(blue boxes) who have a behavior logic that every time player moves a block, they will also move along their own direction, they will turn to the opposite direction when they attach the wall.

Coding Problem

I tried many ways to develop my character moving code, the code should also have effect when pushing box. I spent a lot of time on how to interact with the box and enemy, finally I got some method to solve this problem: Raycast is a effective measure.

I also learnt a lot about how to use Unity tools to make my work efficient and stable, this is very helpful for my future project development.

Play-testing & Feedback

Some main problems and opinions:

  • Hell taker has a similar mechanic, so the puzzle design is important.
  • The logic of three kinds of cubes motion sequence should be more clearly. Sometimes they will crush and create bugs.
  • Some collider problem.
  • Enemy’s motion logic should be more easy to understand.

Devlog-18 cards game

Inspiration

I’m a MTG player and i paid a lot of time playing the Midnight Hunt draft on MTG Arena. Midnight Hunt’s story happens in Innistrad,where is a world with human, zombie, vampire and werewolf. One of the main mechanic of the series is “Day&Night”, which means that a creature card has both human side and werewolf side, they will transform to other side as the day’s changing. It’s really a inspiration for me that I want to make some Two-sides card to develop a tabletop card game in the background of human and werewolf.

Early design

I created 3 human classes and 3 werewolf classes at first, then I get 9 different cards by combining them in pairs and double them to get 18 cards.

Target: Protect as many villagers as possible to get enough point to win the game. The final point is the total points of villagers minus the total points of werewolf on Ground.

Action:

  • Firstly, player should cast a card from top of the deck to ground as the human side or the werewolf side and cover the previous card.
  • If a human is covered by werewolf, put the human card to the graveyard.
  • If the card has abililty, cause the ability.
  • Player can only cast both human and werewolf 9 times.
  • If there are 3 continuously werewolf or human cards on the ground, player will lose the game.
  • Repeat the process until there is no card in deck.

Mid-term-developing

ClassAbilitiesPoint
HunterWhen it is casted from the backside, kill the wolfwere on the top of ground. 1
CivyNo ability. 3
ProphetWhen it is cast from the backside, look the back side of card on the deck. 1
Head wolfEvery wolfwere’s point plus 1 when check point. 1
Young wolfWhen Young wolf kills a human, add 2 points when checking. 1
Cursed wolfWhen it is casted from the backside, Cursed wolf become human and cause the human side ability. 1

Play testing

I took several times of play testing among hard-core card games players and people who are not familiar with board games.

During the play testing, I got some suggestion and feedback. The game has been updated three times basis on the feedback.

  • Players will play the game for 3 nights, each night needs to use 6 cards, of which 3 are human cards and 3 are werewolf cards.
  • Civy’s point changes from 1 to 3.
  • Young wolf will permanently add 2 points when kills human.

I also upload the game to the Workshop of Tabletop Simulator, so you can now click the link to play Midnight Survivor on computer.