Sunday, April 2, 2023

CAGD 370 Blogpost 2

Our team finished the second sprint, we have a lot of good progress but still have a ways to go before the prototype is complete. The good news is that all of the foundational elements are there and everything in the game works—at this point, we know that no matter what, we’ll have a functional playable prototype. Elements like skating, gliding, acorns, and the first level are all in the game. The next step is going to be looking at the game’s completeness, making sure there’s a good amount of other features. 

During this sprint, I made design documents for the HUD and power-ups, so that my team can have a good idea of what we’re going to be designing. I also coded in the acorns, and gave them a model. The acorn collection is a dynamic system that counts how many acorns are in the level at the game’s start, so this way, the designers can add more acorns to the level without worrying about breaking the HUD. I also wanted the acorns to look nicer than just deleting on touch, so now they quickly shrink and move towards the player, to indicate picking up.

Hand in hand with collectibles, I also set up the rest of the HUD, which included the speedometer and the timer. For the speedometer, I grabbed the rigidbody of the player and used its velocity, then rounded it. For the timer, I tried a formula to round it to two decimal places, but then it would jitter back and forth since it would truncate whenever there was a trailing 0. Fortunately I found a truncation function in the ToString() method, and set it to always only display two decimal places. I also made a model for the jump pack power-up that our programmer implemented. I know that art should be minimized, but there’s going to be at least three power-ups, so I think it’s useful to the player to have a way to distinguish between them. The model is also pretty simple.

We faced a couple of challenges during the sprint, the first was that kickoff was a little trickier since we didn’t have class time to do it. We distributed some work out over the weekend, but reviewed it and modified it slightly in person, where it was easier to discuss. When it came to our cards, we were better about splitting things down from the start, however, this led to some redundant cards.

Another challenge was that our level designer was out sick for a few days towards the end of the sprint, but fortunately he pulled through and got a blockout of the first level completed. While we had six cards left at the end of the sprint, we completed over twenty. The work we didn’t get to was the level flag, the dash powerup, and the second level map.

Going forwards, the next area of focus is going to be adding intractable objects to the levels beyond the existing collectibles and hazards. Once they are designed, the programmer can implement them, and the level designer can put them in the levels. We also need a system to load into levels from the main menu, as well as tracking stats, and saving player data. Currently, there’s also a few more power-ups to be coded in. When those features are done, the levels can be completed, and the game will be ready!

 

Monday, March 27, 2023

CAGD 370 Blogpost 1

The biggest difference between this game design project and the previous ones I’ve completed in this and other CAGD classes is definitely the scope. Previous projects, such as paper prototype board games or individual digital levels, were a linear process that only took a few weeks at most. However, with the Game 2 project, we have to plan for a final product that will not be complete for two more months. This means that a lot of the first sprint was dedicated to things like level maps, paper prototypes, game design documents, and setting up unity and github. 

One of the unique challenges we faced in the first sprint was dividing tasks into small enough pieces. With programming it was pretty easy for us to identify everything that needs to be in the game, but for aspects like building the levels, it took some thinking to figure out how to break them down into short tasks. Eventually we got things right, and broke up the level building into stages with drafts and final versions for both the map and digital level. 

On the design side, we completed our treatment, paper prototype, and a level map for the first level. On the programming side, we completed almost all of the basic controls of the game, getting the movement and the ice skating physics working amazingly well.

The first task I had a large hand in was the game treatment. I wrote up what our group discussed and made the concept artwork for the game. Going into the project, the pitch gave us the idea of how the character should move, but we spent a while discussing how the rest of the game should be structured. One such element was the level design, which got clearer once we got some concept art.

There were a couple elements we compromised on, or somebody suggested it and then it was modified. For example, we discussed adding an upgrade system to the game. However, this might not fit the game too well since the levels have to be designed to precisely match the movement, and alterations in the player’s speed could make everything feel off. So we took that idea and tweaked it a little bit, agreeing on using power-ups instead. 

The largest task I took on during the first sprint was constructing the paper prototype. At first, we struggled to come up with good ways to translate our game into a paper format, since it’s a 3D platformer. Eventually we decided to just focus on the skating mechanics. I figured that the best way to do that would be a game about acceleration, so our paper prototype focused on accelerating and decelerating your x and y velocities to maneuver around an icy course. It translated perfectly, and all of our playtesters found that it represented the concept very well. 

We learned a few things from the paper prototype. It confirmed our hypothesis that maneuvering around a level on ice skates would be engaging for players. It also confirmed our hypothesis that acorns as bonus collectibles would be a good incentive for players. For the level design, we learned that since players will slide around, there should be some extra space on turns in case they slide too far. 


Wednesday, November 30, 2022

CAGD 270 3D Level 2 Feedback

For our second level using the 3D Gamekit, we were instructed to make a hard level with a medieval theme. I had several people playtest the level in class. 

In constructing the level, I utilized the theme by building a castle with battlements at the top. I wanted to make use of the 3D environment by designing a level with three separate levels: the first floor, the basement, and the second floor. I start players outside the castle so they can get a view of its size from the outside before they enter into a courtyard. The courtyard has a few enemies, two closed doors to the right wing, an open door to the left wing, and a giant gate to the palace inside. The goal of the level is to open the giant gate.

While the level doesn’t follow a straight path, players do have to take a specific route. I tried to make this route feel natural by having locked doors and collapsed stairs as barriers. First, the player goes into the left wing and platforms across some acid. They use a switch to open a door to a gated area of the outside garden, where they then touch a crystal. Upon activation, the floor drops under the player, sending them into the basement. This is meant to catch the player off-guard, but it’s just a friendly trap since it is the intended route. 

In the basement players have to cross a large acid pit across platforms that sink into it. They then have to cross some moving platforms to reach a switch that lowers a door up above, which then blocks the player from the way they came. After climbing some stairs, players can use a crystal switch to open another door, and then go back out into the courtyard. Now that the doors to the right wing are open, they can enter, and jump up the broken stairs to access the second floor. Up top, players cross battlements with enemies and moving platforms. Finally the player reaches a crystal switch that opens the giant gate, ending the level. 


The level is fairly complicated, however, none of the playtesters got lost. The only section anyone got confused about was entering the right wing from the courtyard, so I could maybe add a glowing crystal to indicate what new area has opened up. No players got significantly stuck on any section, although some had trouble with the acid pit in the basement. I actually found that section frustrating, so I would like to add more platforms and alternate routes in it, such as rising platforms that move on the opposite cycle to the sinking ones, meaning there’s always an available path for the player.

Everyone liked re-entering the courtyard and getting to see the upper floor of the castle. Everyone really liked the platforming throughout the level. I think that players had a good sense of exploration as the wove throughout the structure.


For the second version of the level, firstly I’d like to advance on the theming by adding more castle features, like spires, crenellations, or buttresses. I would like to make the courtyard area a little more challenging by adding some more structures to it as well. I would like to refine the basement area and part of the upper floor. If time permits, I might experiment with getting some textures in the level as well.


Monday, November 14, 2022

CAGD 270 3D Level Feedback

 For the version two of my 3D game level, I had an in-class playtest to have a couple people try it out. Compared to the first version I added some more rooms to the end, and improved some existing rooms with more hazards and checkpoints. For instance, there’s acid in several rooms now, and some more platforming in the room that introduces enemies. This also opened up the first room a little bit more. 

Everyone liked the platforming a lot. Nobody got lost or confused on where to go, and everyone had an easy time figuring out what to do. Some people experienced some light and simple challenges with the platforming, but everyone seemed to find this enjoyable, and it was never to a degree that was frustrating. 

Many players made quick work of the first few rooms, possibly seeming bored. Most of them had to re-do a couple jumps on the last few rooms, and faced some minor challenges with the enemies. Everyone completed the level quickly, but about half of that time was spent in the tutorial sections. That’s the major reason I think a few more challenge rooms at the end would be a major improvement.

In terms of improvements, I think the level should be a bit longer. It advances the mechanics at a good steady pace. The last few rooms are when things start to get interesting, when players have to clear out enemies in a room whilst they take on its platforming challenges. Extending that out further with new rooms would be an improvement.

Additionally, sections such as the acid pit in the first room that preview the upcoming area with the moving platforms or the upper window that lets players look back on where they came succeed in giving the level a sense of cohesiveness. They work to create an environment that feels interconnected. I think expanding the level would benefit from this: using height variations and acid pits to let the player see the connections between the level’s challenges. 

Certain rooms could also be expanded to aesthetically make it feel more open. Primarily I’m thinking of the first room with the moving platform and the first room with a switch. Having some more height variation in these rooms would help make the level feel more like a real environment. If future versions introduce something like collectibles, I think levels would benefit greatly from being more open.

The last room that has some platforming and several enemies to me scratches the surface of the design starting to get more interesting and dynamic. 


Overall things went very well. There were no major errors or glitches, and nobody had difficulty or got stuck anywhere in the level (since it’s supposed to be easy). For this type of game I really want to emphasize exploration, so I think having bigger areas with more nonlinearity would benefit it a lot. More deliberate structures could be an improvement as well. I like the contrast when the player goes indoors towards the end of the level.


For the next 3D level we design, I’m definitely going to have a combination of outdoor and indoor challenges with a focus on interesting and intuitive platforming. A couple flavor elements in the environment would also be a good way to encourage players to explore. I definitely want to experiment more with activatable objects and switches. 


Monday, October 24, 2022

CAGD 270 Mega Man Level 2 Feedback

For my second Mega Man level, the requirements were to feature two power ups from a list, and use any platforms and enemies from Mega Man 1 and Mega Man 6. I picked the oil powerup and the kick powerup. I also utilized the flip platform, plantform, and spike platform. 

The first two screens are a quick tutorial of how the new platforms work. I’m proud of how I got the invisible tutorial to work. The flip platforms are pretty self explanatory, but for the spike platforms, I set up a passage where players will first step on a downwards facing spike platform to see it flip over, and then hit their head on the underside upwards facing spike platform to see how they can be flipped from the bottom. In the next screen, there are some plantforms and an easy enemy, so that when the player shoots at the enemy, they will see how plantforms can be opened by hitting them with shots. 

The first powerup I introduce is the oil. The player first encounters a lake with a ledge too high to jump to. However, if they swim under the lake, they can acquire the oil powerup. The cave is full of water, so when the player uses the ability to defeat enemies, they will realize that the oil floats and that they can ride it across the surface of the water. Eventually the player loops back around up to the lake, where they can figure out they can cross the lake on the oil. 

The second powerup I introduce is the kick. I have a ladder the player has to climb to jump to a ledge that’s out of reach. Because of the ladder climb, the player can’t use the oil to reach it. The player instead has to climb a different direction to acquire the kick powerup, go through a brief tutorial that shows how it works, and then return and use it to make the jump. 


I had several people playtest the level today on October 24th. For the successful parts of the level, all players were able to figure out how to use the powerups, and everyone completed the level. Players liked finding the oil powerup in the cave, and then realizing they could use it to cross the lake they couldn’t cross before. The following screen, where players skate past a bunch of enemies, was always successful as well. One player really appreciated the kick tutorial that showed how it can be used mid-air to gain extra distance. Most players found the challenge level to be very fair and deaths were rare.


For the challenges, a few players couldn’t figure out that they should return back to the lake from the cave right away. I think I could’ve made the circulation more clear on the cave exit screen. More players struggled to find their way back to the spot where they needed to kick to clear a jump. Additionally, while the jump tutorial worked for some people, others got stuck on it for a while. The player ascends three screens with the ability, but some players got stuck for a while since falling at the top means you have to climb the whole thing again. The penultimate screen, despite only having two enemies, was incredibly difficult for all players. From one perspective that’s good game design, since it creates a notable challenge by combining a few simple elements, but in practice it was way too hard. I think splitting it up into two screens with one enemy each would’ve been better.


Monday, October 17, 2022

CAGD 270 Mega Man v2 Feedback

This is the feedback post for version two of my mega man level. This level was limited to only using the basic attack, only having enemies from mega man 1 and mega man 6, and only using destructible blocks, quicksand, falling blocks, and key doors. The first version of my level was successful, but I still noted the feedback I received and made a handful of improvements. I had several people playtest version two of the level, and here is what I found during the playtest. 

For version two of my level, I made several overall changes. The main one was adding large health orbs at every checkpoint. I also introduced key doors. I added one door with the key in the same screen early on in the level to introduce the concept, and then at the middle of the level where the key is a few screens away. This shows the player that sometimes they have to search for the key. Since the player is ascending, the player sees the door first, so they know immediately that they need a key and where they need to bring it back to. Once they climb higher and find it, they don’t feel lost because they already know where the door is.

There were also some smaller changes I made throughout the level for quality of life improvements. In the early section, I made some platforms bigger or closer together. In the midsection, I reorganized some enemy placements to make it easier to get in and out of secret areas. This area also got some simpler platforming and one of the tougher rooms was made easier. The later sections of the level remained mostly unchanged, with some extra tiles to make it easier to backtrack through screens to reload them without bumping into enemies.


I had several people playtest my improved level. Most of the changes were subtle, but players noted how the overall flow of the level was greatly improved. No players died at all, which is desirable for an introduction level. Players were still challenged to approach encounters in a thoughtful manner, and some faced setbacks like falling down or losing health, but the quicksand and new health pickups ensured that these were easily recoverable and non-punishing. I think that my level is very successful as an introduction to these mechanics.

Also unlike last time, no players got stuck anywhere, even on sections that proved troublesome. 


There was only one flaw, which was that some checkpoint areas had small cracks players could fall through. I intended these to just be for decoration, but in this case I think gameplay is more important, and adding an extra tile or to would be beneficial. Still, only one person had trouble with these.


I agree with the players that most of the improvements I made had much to do with the overall flow of the level. Players progressed through sections where everything functioned as expected, and didn’t get caught on awkward geometry or enemy placement. They didn’t struggle with where to go, what to do, or what the outcome of actions would be. These elements are critical to the flow of gameplay, and make for a very satisfying introductory level.


Monday, October 10, 2022

CAGD 270 2D Mega Man v1 Feedback

For our first intro into Mega Man level design, we were given the following requirements: ten minute time, quicksand, falling platforms, breakable blocks, mm1 and mm6 enemies, health and checkpoints only, and a western theme. I had several classmates playtest my level in class. 

The level was split into five sections with four checkpoints between them. The first section introduces breakable blocks, enemies, quicksand, and platforming, all at a slow and easy pace. The second section adds more platforming and enemies, increasing the challenge slightly. The third section introduces sliding and has more platforming. The fourth introduces a few more enemies, and the last section introduces falling platforms. 

Overall, it went really well. The level was fairly linear, and players had no trouble figuring out where to go. Players rarely died, and most were able to complete the level with little difficulties. Players were able to flow through the encounters without getting stuck and by making good use of the mechanics. 

For breakable blocks, players had no trouble breaking them to clear their path or find hidden areas. I added lots of sections where enemies are positioned atop breakable blocks, and all players realized that they could shoot out the blocks under enemies to cause them to fall, defeating them with much more ease. This worked perfectly. 

I added quicksand as a hazard at the bottom of levels that was much more forgiving than death pits. It’s much easier since players can jump back out with a charitable timer before they sink. This also worked perfectly as intended, as players were still challenged by platforming but in a very easy, non-punishing way that had lots of room for error. 

Players were also able to complete the segments with falling platforms without much difficulty. All players enjoyed discovering that they could defeat tough enemies by crushing them with falling blocks. The first encounter like this worked as intended every time, with players going for the health pickup and killing the first tough enemy with the blocks. This meant that in the second encounter, they knew what to do right away.

Players were able to slide under blocks with ease, but not everyone thought to slide under enemy projectiles. However, none of the projectiles were damaging enough for this to be too harsh. 

Checkpoints were spaced well, with about three to four screens between each. The secret areas rewarded players with health, but often times this wasn’t especially needed. All the elements were introduced at a comfortable pace to get players used to each, and nobody had difficulty understanding how they worked or what to do.


There were several notes I took as players playtested the level for some improvements:

  • Checkpoints need health pickups, so players going through the whole thing in one attempt can replenish their health without dying to reset their health being the optimal strategy.

  • A few difficult encounters could benefit from having more health pickups.

  • A few platforms at the start of the level could be a bit bigger.

  • A few areas had the respawning enemies get in the way, so they should be adjusted.

  • One player got out of bounds underneath the quicksand in one area, so that needs to be fixed.


Those were the major takeaways I found to improve the level. However, the fundamental design was highly successful. The enemies were the right amount of difficult, the platforming was intuitive in most places, the circulation elements and path forwards was obvious to all the playtesters. 


Featured Post

Aftershock Simulator Sprint 3

This is th e tutorial video I made for my team demonstrating how to use the objective system I designed this sprint. I’m really happy with h...