GAM150 Week 5 – Brainstorming and Shooting Mechanics

I have been doing some brainstorming of ideas for my mod, focusing in on a concept inspired by the Playdead games Inside (2016) and Limbo (2010) (fig.1). I like the concept that I have come up with as I think it would be easy to turn into a short game working with the stub given to us.

(Above) Figure 1: Idea brainstorm for the 2D mod.

I have already incorporated a crude shooting mechanic into the mod project with the help of a 2D tutorial (Brackeys, 2018). Using a free mushroom asset from the Asset Store (Sev_4, 2019), I was able to make a projectile prefab which would be instantiated and fired in front of the player (on an empty child object named ‘firePoint’) when the left-mouse button is clicked. I am happy that I have been able to get this working in the game, however there are some flaws needing to be addressed – the projectiles only fire from left to right and don’t despawn after they have hit a collider, which could lead to potential memory problems if too many objects were in the game. I would also like to give the player the ability to aim before shooting. I will need to do some research and try to figure out how to fix these problems over the coming weeks if shooting is to be a core mechanic.

(Above) Figure 2: The projectiles being fired in game. The despawning issue can be seen too.

I enjoyed this week’s lecture on level design and environmental storytelling as I have always been fascinated with games’ unique capacity to telegraph different narratives through the exploration of their playspace. I enjoyed analysing how context affects the structuring of a level, with multi-player maps requiring a more free-flowing design, encouraging forward momentum, whereas many single-player levels are linear with minimal backtracking to promote the feeling of progression. This information will all prove invaluable to me when designing my 3D level design mod later on in the GAM150 module.

While going back over the lecture, I took the time to go over some of the recommended reading. I found the ‘What Happened Here? Environmental Storytelling’ presentation (Smith and Worch, 2010) to be particularly informative. It is apparent to me that environmental storytelling is a delicate balance, needing to be traceable for a player, and not only tell an individual story, but also echo the world at large. Their unique take on systemic environmental storytelling was something that I hadn’t considered and will definitely utilise in the future. The blog post from Joel Burgess on modular level design (Burgess and Purkeypile, 2013) was also insightful. It was interesting to learn of the ‘double-edged sword’ of modularity and repeated designs – while this framework allows for time-effective and cost-effective workflow, it runs the risk of causing ‘art fatigue’ for the player if the designers of not take effort to vary layouts and object arrangements.

Paul’s Unity workshop covered a lot of important features this week, namely colliders, tags and layers. I have used these features (particularly colliders and layers) in my personal projects, and so have a basic knowledge of them, but it was good to go over each in detail and see how they work in conjunction with one another. It was a lot of information to absorb in only two hours, so I will likely go back over the recording to consolidate my understanding.

As per every week, Paul recommended that we follow along with a Unity tutorial. This week I followed a ten-part tutorial (Brackeys, ) which took me through creating a 3D endless-runner-like game, complete with multiple levels, and title/credits screens (figs. 1, 2 & 3). I really enjoyed this tutorial as it was the first time I was able to create a ‘complete’ game and it taught me a great deal of helpful features and techniques.

(Above, top) Figure 3: A running level. The gameplay involves sliding left and right to avoid obstacles in order to reach the end goal. (Above, left) Figure 4: The title screen with an animated title and start button. (Above, right) Figure 5: The credits screen with a quit button.

References:

BRACKEYS. 2018. 2D Shooting in Unity (Tutorial) [YouTube user-generated content]. Available at: https://www.youtube.com/watch?v=wkKsl1Mfp5M [accessed 20 October 2020].

BRACKEYS. 2017. How to make a Video Game in Unity – BASICS (E01) [YouTube user-generated content]. Available at: https://www.youtube.com/watch?v=IlKaB1etrik [accessed 21 October 2020].

‌BURGESS, Joel and Nate PURKEYPILE. 2013. Skyrim’s Modular Approach to Level Design. [online] Gamasutra. Available at: http://blog.joelburgess.com/2013/04/skyrims-modular-level-design-gdc-2013.html [accessed 25 October 2020].

Inside. 2016. Playdead.

Limbo. 2010. Playdead.

SEV_4. 2019. ‘FOOD Free’. Unity Asset Store [online]. Available at: https://assetstore.unity.com/packages/2d/textures-materials/food/food-free-145841 [accessed 20 October 2020].

SMITH, Harvey and Matthias WORCH. 2010. ‘What Happened Here? Environmental Storytelling’ [online lecture]. GDC Vault. Available at: https://gdcvault.com/play/1012647/What-Happened-Here-Environmental [accessed 25 October 2020].

GAM150 Week 4 – Design Fundamentals and Introduction to 2D Mod

After being introduced to the new 2D side-on/top-down mod I am feeling confident that this is the route I would like to pursue. I feel that there is much more room for possibility and creativity within this framework and it is much less limiting than the previous framework. I ran into a bit of a creative wall with the previous mod and found it less inspiring than the current one.

I was looking forward to working on a platformer game with this mod, as it is one of my favourite genres, so I did some preparatory learning for it with the help of some YouTube tutorials from Brackeys (2018). By following along with them I have learnt many new things about how Unity works in a 2D context. I can use the tilemap editor to arrange 2D levels using modular tiles and applying colliders to the appropriate platforms. I have also learnt the basics of mapping player movement, along with creating corresponding animations for each player state through transitions and parameters. Finally, I am able to make 2D cameras that follow the player through the Cinemachine package, tweaking smoothing and lookahead time to create the desired framing. Using the ‘Sunnyland’ package (Ansimuz, 2017) from the asset store, I made a simple level with some platforms to jump on and crouch under (figs. 1 & 2.) I really enjoyed the whole process, and the modularity of the tiles saves a lot of time while designing levels.

(Above, top) Figure 1: The game running. (Above, bottom) Figure 2: The game in editing mode.

I enjoyed this week’s GAM150 workshop on game design fundamentals. It was interesting to go over terms that I am mostly already familiar with, and understand how they are actually utilised to contribute to a game’s overall play experience. I was previously unfamiliar with top-down / bottom-up design, zero sum / non-zero-sum games and the MDA framework, on which I found the further reading (Hunicke et al.), to be fascinating, so I am pleased to be able to add them to my repertoire of game design vocabulary. My most valuable takeaway from the lecture, however, was the concept of core design pillars. It strikes me as a great system to adhere to when developing games as it ensures nearly everything you incorporate supports these key values and the vison they uphold. It took me a while to distinguish pillars from features, but now that I understand the concept I can imagine how easy it would be to overcomplicate a game and overwhelm players if developers were to have too many pillars or deviate from them. I took some time to think about my favourite games and attempted to break them down into their design pillars:

BioShock (2007): 1. Evocative environmental storytelling 2. Versatile toolset 3. Interplaying systems 4. Story-rich

Papers, Please (2013): 1. Constraints 2. Randomness 3. Dark humour 4. Moral dilemmas 5. Controlled chaos

When developing my 2D mod, I will establish my core pillars early on, and make sure to constantly evaluate my game against them in order to have a vision that is consistent.

References:

ANSIMUZ. 2017. ‘Sunny Land | 2D Characters | Unity Asset Store’. Unity Asset Store [online] Available at: https://assetstore.unity.com/packages/2d/characters/sunny-land-103349 [accessed 14 October 2020]

BioShock. 2007. Irrational Games, 2K.

BRACKEYS. 2018. How to make a 2D Game in Unity. [YouTube user-generated content]. Available at: https://www.youtube.com/watch?v=on9nwbZngyw&list=PLPV2KyIb3jR6TFcFuzI2bB7TMNIIBpKMQ [accessed 18 October 2020]

HUNICKE, Robin, Matt LEBLANC and Robert ZUBEK. ‘MDA: A Formal Approach to Game Design and Game Research’. [online PDF] Available at: https://users.cs.northwestern.edu/~hunicke/MDA.pdf [accessed on 18 October 2020].

Papers, Please. 2013. Lucas Pope, 3909 LLC.

GAM150 Week 3 – More Additions to Flappy Bird

This week I have been tweaking and changing the Flappy Bird (2013) mod in numerous ways (fig. 1). Firstly, I replaced the bird sprite with my own – aptly named ‘Eggy Egg’. More notable, however, is the fact that I have now changed the genre of the game to be more in line with Angry Birds (2009). Helped greatly by an extensive YouTube tutorial (Weimann, 2020), I was able to create a ‘slinging’ feature where you pull back on the sprite and release the mouse to send him flying. So far this is the only (very basic) level I have made, with the goal being to shoot the egg in-between the pipes in order to exit the screen and advance on to the next level. I like this idea, and I feel that it changes the gameplay a great amount, however it might be seen as deviating too much from the original stub given to us. I will keep adjusting it, however I am looking forward to the introduction of the 2D side-on game mod next week, as I feel that there is much more that I could modify with a game of that genre.

(Above) Figure 1: My Flappy Bird mod, Eggy Egg.

This week’s GAM150 lecture was interesting. I had not considered many of the difficulties of communicating game design with a team, but I can already see how essential clear communication is within a team. Miscommunication can cost great amounts of time and money – both of which are often limited within this industry. On a smaller scale, I have seen the negative effects of poor communication when working on the GAM110 Game of Ur group project – with people doing work on the same thing or not having full understanding of what is required of them. Furthermore, by writing up my Flappy Bird (2013) mod idea into a game design document, I was able to better conceptualise what the game will be – showing how this process can be helpful even on a personal level.

Next week, I would like to continue following Unity tutorials to help me to better understand the engine. I will also need to dedicate a lot of time to the Game of Ur project, as we will be showcasing the finished boards at the end of the week – exciting!

References:

Angry Birds. 2009. Rovio Entertainment.

Flappy Bird. 2013. dotGears.

WEIMANN, Jason. 2020. How to Make a Game – Unity Beginner Tutorial [YouTube user-generated content]. Available at: https://www.youtube.com/watch?v=OR0e-1UBEOU&t [accessed 8 October 2020].

GAM150 Week 2 – Further Unity Practice and Consolidating Ideas

This past week has mostly been spent learning more Unity as, coming into this course, I was a complete beginner with the engine. Paul’s Unity Workshop on Friday was informative, showing me how to utilise canvases and the importance of creating layouts catered to the areas you wish to work on. I have also experimented with the Flappy Bird (2013) project provided and changed aspects of the code to see how that effects the game. As well as this workshop, I have been following along with more YouTube tutorials (Imphenzia, 2020) that took me through the process of creating simple games from scratch. Through these tutorials I have gained knowledge on the basics of coding in C Sharp, parent / child objects, common components, prefabs, animations and loading new levels. I still have a long way to go before I become fully comfortable with the engine, but this new knowledge will definitely help me to make further modifications to Flappy Bird (2013).

After further brainstorming and fine-tuning, I feel that I have settled on some ideas that are achievable within my skill set and of an appropriate scope. This monitoring of scope has been greatly helped by my recent experience of working in teams for the GAM110 project for which we are creating a board game inspired by the Royal Game of Ur. Everyone in our team had great, expansive ideas, however we had to remind ourselves to be realistic and work within a scope that is conceivable and won’t require excessive play testing to balance. I am glad to be able to transfer this mentality over to this personal project for GAM150, whether I choose to pursue the Flappy Bird (2013) mod or the 2D side-on mod.

Following some trial and error, I was able to replace the columns with some pixel sprites I had made in Photoshop by dragging their sprites into the renderer within their prefabs (fig. 1) I also changed the background to be a farm (also made in Photoshop), by dragging the image into the SkyTileSprite’s renderer. While this isn’t a gameplay modifier, I still like how it changes the aesthetic of the game.

(Above) Figure 1: The game running with some of my own created assets.

So far, I am finding it difficult to make many gameplay modifiers, besides small changes to jump height and gravity, as there is a lot to delve into within the project (most of which I am unfamiliar with.) Because of this, I have spent some time this week reading through the code and trying to understand what each line does. I know that being fluent in coding is not essential to a game designer’s role but it helps us gain more understanding of the process and builds towards our ‘T-shaped’ skillset which will be valuable in an industry context.

If I were to stick with this mod as my final submission, I would like all assets to be created by me. After learning more about it in this weeks GAM150 workshop, I think I would also like to change the context of the game (perhaps continuing with the farm theme), add a shooting mechanic, and enemies to kill.

Going forward, I need to make more assets, and think about how I will implement significant changes to the core gameplay. I will likely watch more tutorials to enhance my knowledge of Unity, as well as attending Paul’s workshop on Friday. If I get stuck I will access the wide range of content available online or, failing that, email one of my lecturers about a specific problem.

References:

Flappy Bird. 2013. dotGears.

IMPHENZIA. 2020. LEARN UNITY – The Most BASIC TUTORIAL I’ll Ever Make [YouTube user-generated content]. Available at: https://www.youtube.com/watch?v=pwZpJzpE2lQ [accessed 30 September 2020].