Project Mero 2D (Action Adventure Game) (Unreal 5.6)

Day 1 Update: This project (2D Action Adventure Game, linear path that feels connected and open to some sense) is inspired by games like Zelda series, Dark Souls series, Hollow Knight and Mario during my free time. (I am a professinal freelance Level Designer).

Today, I made some key documents to decide what exactly I need for my game before starting/creating the project in Unreal Engine and designing blockouts.

The key thing I wrote that I need in order to succeed:

  1. Hero character movement and distance for walk, run, jump, and dash (need to find the right distance to start blockouts)
  2. Camera location and how I want players to see this game during gameplay (finalize the camera location before blockouts)
  3. Hero character attacks and 3 side mechanics for the levels (complete one core attack mechanic to start designing levels)
  4. Three main enemy references with 2-4 sub enemy categories and their attacks/movements in the levels (leave enemy locations throughout the level and playtest even if it is just a cube with angry face :angry_face_with_horns: for playtesting)
  5. Secret and trap examples for the level (details in documents, will share more when I ready to showcase a small demo)
  6. Add Version Control in my project (even though I will be working alone to make this game :sweat_smile: I think it’s a good idea to have it just incase if I want to go back to older version.)
  7. Managing folders and planning/sticking to naming conventions for what has been decided in the document.
  8. Start optimizing the project from Day 1 as much as possible. (nothing is perfect, I am bound to come face to face with bugs and mistakes but I will do my best to implement what I have learned. If you have any suggestions feel free to post your comment. This game will entrily build with Blueprints.)

Full Disclosure: Initially I was thinking to do back up in my external hard since I am working alone but I have decided to work in this project as if I am working with other devs using Version Control and communicating efficiently from start to end. I also bought a game template from FAB recently to use for this project. This template comes with a decent amount of mechanics to customize for my project quickly.

One of the key things I have gained and this keeps growing with every project I work in my freelance field is to understand the core mechanics and work/adjust around them to create an interesting level that complements each other to something I find exciting and iterate them until the levels establish the good mixture of thrill, excitement and tenacity.

Wish me luck. I plan to release this game on Steam and Itch (less than 4 bucks) and, most importantly, I am making this game for someone very special :smiling_face_with_three_hearts:

Day 2 Update: Today, I created the test project using the game template I bought. I moved all the template folders in my new content test folder and updated all the redirectors before deleting the game template folder. Don’t ask me why I decided to package the project immediately after doing that but my first instinct said, “Let’s find out what errors I will come across doing this.” :sweat_smile:

I had to try a few times before I was able to properly package the template and play the demo. I also checked all the maps, blueprints, UI, SFX, music (My wife and I are going to make our own music for this project) just to see how they made this game template and I have to admit, I was able to understand about 35-40%

One of the main things I have decided in this project is not to add any extra art assets until I am happy with blockout level design while using some polished assets provided from the game template. I absolutely do not like it when I hear people say don’t focus on making blockout (prototype, greyboxing) for a game. In this project, I am going to show how awesome blockout can be and how much it can help making a game.

This week, I am going to focus whenever I am free to check in details on how the demo was implemented, deep dive into blueprints and change values in hero and enemies characters to see what happens. I am also going to intentionally break this project since it is just a test folder. I have not connected to Version Control because I am not ready yet to commit to starting a designated folder to start, finish and ship the project from it!

Day 3 Update: I think the reason I decided to make this post for daily updates or when I work in this project is to come back here after project is released and be proud of myself that I did it and also to share it to others who may be looking for some inspiration. I don’t want to tell anyone how it should be (well…unless you are working for my project :nerd_face:), all I want is to share these updates for myself and anyone looking to see my progress.

I am starting to believe that paid freelance work I do is much easier than working on my game project because I know exactly what needs to be done and how to change or iterate to provide what my client wants. Good thing about my situation is, I am working on my game when I am free from my freelance work and they are all paid 3D projects because I don’t think I could handle paid 2D project work on top of my 2D Project. I would definitely choose paid work if that were to happen but I highly doubt it.

Today was one of those days where I just felt too much due to a lot of information I was uploading in my brain. I took a break, ate something, went outside and I spent time in my basement home studio and started working on my music project which honestly gave me such a fresh breather that I ended up finishing the few things that was needed to be done to release my music project in Bandcamp today. I know I will be using a few of the tracks from this album for the main menu and credits.

I think I was really excited about the fact that my wife and I are going to make music for this game. I also spend my time to update the album cover, design my bandcamp page and submit all important information needed to publish this instrumental album. If you don’t know what Bandcamp is, this is one of the platforms that still offers, buy an album to listen services and has no subscription system. You can still listen to the songs without paying but if you want it for yourself offline, you have to buy the album. They provide Artist accounts for free and they make money through a 10% revenue share on merch sales and 15% on digital music, artists get directly paid about 82% or so from Bandcamp which is a pretty good deal in the music industry. I don’t work for Bandcamp, just trying to explain and no you don’t have to buy my album. I have it set up as unlimited play time to everyone for this album.

Day 4 Update: Today, I spent time creating the logos for the Thumbnail, Editor Splash, and Game Splash in Project Settings. This was my first time doing this and I have to admit these settings were confusing to get right on the first try, so it took me some time. I had a mix of jpg and png images and adjusted them accordingly.

I used the assets from my purchased Game Template to put together a scene for the background of my profect main logo. I do not know if the assets that came with the template used AI or not but no AI was used on my end to create these. Geek Man Games logo, on the other hand, was simply a Wireframe shot of my level design from Unreal Engine using the built in High Resolution Screenshot tool and I added text to it.

Did you know that the Game Icon logo in the Project Settings has to be circular like the Unreal logo? I made a 256 x 256 square logo and it would not automatically input it as a circular logo. I found this out today. Try it if you don’t believe me.


Day 5 Update: I worked on the hero character for jump height and distance. I am still working on getting this number right, I need to fine tune the exact distance and height. I also need to figure out if I am adding dash before committing myself to designing levels in UE but as for now, this is what I have:

  • Max jump height: 310 Units (will most likey change into 250 or 3 or 350)
  • Max jump distance: 700 Units (perhaps 5.5 or 6 is better)

As you can see, I am using 3D blockouts and I plan to use this method for the main map, it’s easy this way because I can place all the enemies, interactables and anything that is connected to gameplay in the middle of the top mesh at 50 Unit mark and replacing them during set dressing will be very easy since all I have to do is place them at that location and place any environment art for visuals at 70, 75, 80 and so on, this will make sure there is no overlapping assets in gameplay.

I connected my project in Version Control today and did a few tests to make sure my commit and revert is working. I prefer committing my changes by submitting directly into the app rather than using Unreal Engine to submit. I am able to see in more detail exactly what I am committing in Perforce, GitHub or Diversion.

Have a great weekend and thanks for reading my updates. I am super excited about this weekend because I am headed to a small fishing trip on Sunday.

Day 6 Update: I will be back working on Project Miro 2D after 6 days from today. I am currently busy with paid freelance work and participating in game jam with devs who have worked in AA and AAA titles. It’s a great opportunity for me to learn work flow and add experience.

Day 7 & 8 Update: I worked on a moving platform, appearing and disappearing platform then I made Niagara Effects in Unreal and added sound effects. This process took longer than I expected and thanks to my programmer friends who helped me solve the moving platform issue :star_struck:

Tomorrow, I am going to make few different spike death traps and put together all finished assets in one level which will help me in the long run when I use Actor Palette to start dressing the blockout. I still haven’t got the right camera position, jump height, dash (only when the player is on ground, air dash will not be added in this game) and distance to what I want in the level which is why I have only made a small blockout for now to check if my platforms are working.

I will keep making smaller stuff like spike traps, moving platforms and other things until I find the right match for my camera, height, jump and dash distance.


Day 9 Update: I worked on making spike death traps and put together all finished assets in one level to use Actor Palette during the set dressing phase. I don’t know if this asset was made using AI since it came with the template but I am planning to use them in my project.

One of the things I was really surprised about today in my 2d assets research via FAB was there is almost nothing (may be 1 or 2) to buy, If you are 2d artist you should definitely make some and sell it over there, as for me I will go check Itch page to gather 2d assets for my blockout design but this is not important right now because I still need to finish the blockout level design.

I am not planning to learn how to make 2d assets nor I am going to use AI to generate them but I can’t afford to pay money to make customized assets for this project. The best course of action as of right now for me is to spend few hours everyday checking Itch page to find assets made by artists that are affordable :sweat_smile:

Day 10 Update: Today became my wake up call as I was working at my level. I realised that my FPS dropped to 60 from 120. This is because I haven’t set up Level Streaming in my basic level and I don’t think Basic Level in UE comes with World Partition but the third person template comes with default World Partition if I remember this correctly, I think it’s a bad idea to do World Partition for 2d games. I have done Level Streaming in 3d projects. It will be interesting to try out for the first time in 2d. I have decided that I will use Level Streaming once I start set dressing and sort them out as I work on each area separately.

I still haven’t got the right camera position, jump height and dash distance for the hero character. I really need to get this right by next week so I can focus fully on designing levels but getting this right for this project has been challenging. I don’t want to rush this process because if I don’t get this right the entire game will fall and that will make my face look like this :frowning:

I implemented something interesting today. I checked all my blueprints for appearing and disappearing platforms and I made one of the platforms disappear in 3 seconds using the existing codes but implemented in a way that it doesn’t reappear again. I do have to be careful and find the balance in this trap or else the players will get frustrated and won’t come back to the game. I placed rest closer to the area where the trap is and when they die, players can quickly try again.

Day 11 Update: Today, I implemented two doors in the game. One opens when the player presses a floor switch and the other opens when the player gets close to it (I can find interesting ways to implement these doors in the level). This surprisingly took longer to set up than expected. First, my 2D mesh had no collision and I couldn’t find any tutorial to solve this in Unreal Engine so I added a 3D mesh, assigned material with opacity set to 0 and created a material instance and used it to make all the 3D meshes invisible in the level. By the time I remembered, “Hide Actor in Game” feature, I had already implemented them my way.

I also worked on sound effects for the doors, floor switch and locked door, fine tuning them will take some additional time. My 20+ years of experience as a guitar player in various bands and recording albums with my heroes has certainly helped me bring those experiences into my project and use audio tools to craft unique sounds for the game but my primary expertise is in making music rather than sound effects.

In the video below, you can see how I used 3D mesh in my 2d project by making them invisible and using this trick made implementation much easier. If you know whether using “hidden actor in game” is better for optimization compared to my invisible material method, let me know and reply to this message.Have a great weekend! :smiling_face_with_sunglasses:


Day 12 Update: This was a tough one to get right. I wanted to create a decent VFX and sound effect for opening the door when the button is pressed, as well as a door opening sound that triggers when the character is close to it. It took almost a full day to get this to where I wanted it to be.

I am really good at making music but sound effects are tricky. I used the existing sound effect that came with this project and took it to my basement studio to create this unique and satisfying door opening sound. I am happy with the final result.

I struggled quite a bit with getting the camera swap functionality working. After going through many guides and videos, I finally did it. I do not know if the template used AI or not but no AI has been used on my end to create my work. I am planning to keep this way for this project.
Here’s the videos:

Day 13 Update: Today was a fun day for me because I spent all day making breakables that felt right and satisfying for my project. I know there are tons of devs who think breakables are a waste of mechanic since it has pretty much no sense of why to have this in a game but I can add so many interesting ways to incorporate it in my level designs.

For me, I grew up playing Zelda series, Dark Souls series and breakables has been like a tradition. It is so satisfying. I still remember the feeling when I cut the grass or breaking pots in Zelda game for the first time.

All my experience is in blueprints, never done hard coding and implementing this was quite a challenge for me, thanks to my friend who is an incredible programmer (his main job is not even making games :joy:) guided me implementing this in blueprint.

I am getting really close to getting the right jump height and distance for the character and I adjusted the camera angle a bit but I think it needs to be a little bit further away. I was playtesting my level today and found out that some of the platforms were hardly in the camera for players to know where to jump. My main skill is level design so obviously I am going to take my time to get this right :nerd_face:

Here’s how it looks and I am going to have wood, metals and pots but I ain’t making breakables in 2d, that stuff feels impossible to me. I find it easy to implement breakables in 3d. The other major gameplay stuff and environment will still be 2d:

Day 14 Update: Today was probably the most annoying work. As I was working on customizing my character jump height and distance, I noticed something concerning. At first, I thought it was just one or two sprites from the template but my nightmare became reality when I found that almost all sprite Default Materials were set as Base Material aka Master Material… :scream:

I am no expert when it comes to materials in Unreal Engine but even I know that this is bad. I had to change and assign about 387 sprites Default Material into Material Instance I created which took me orettu much all day. I did it manually for each sprite and I wonder now as I write this update if there is a way to do this easily just like bulk name edit.

I was frustrated but it was worth it. I am very happy to have caught this early on in development of my project. I had to fix some of the collisions for the sprites and it was relatively easy to do this in Unreal.

Day 15 Update: I worked on customizing the character, which required editing several textures. I focused on basic edits to adjust colors and added darker tones.

I adjusted the jump height/distance and dash. I will not be implementing double jump or air dash in this project. I created blueprints to place them directly into the level. This allows me to easily verify jump heights and dash distances which will help make it really easy to do blockout level design without constantly having to remember. I can simply drag and drop from my content drawer when I need them :smiling_face_with_sunglasses:
Have a great weekend. Here’s how they look:

Day 16 Update: I implemented two kinds of doors. The first door opens with a key which is simple but I already have ideas to make it interesting for my levels. The second one the cooler door I think, it opens when the player breaks the crystal and swaps camera from player to show where the door is opening. This can be customized so players need to find and break 5 hidden crystals or as many as I want to open one door. I cannot wait to put them in my levels to hide items, shortcuts, npc, possibility seems endless for me to make levels with this :smiling_face_with_sunglasses:

Thanks to my programmer friend who helped me get the crystal breaking door working. I also found out that some of my blueprint size maps are getting bigger and as you probably know, I’m not an expert programmer. I’m going to keep working on my project as I learn and grow because this really is fun and also helps enhance my main skill (Level Design).

I got sound effects from a website that comes with a Standard License. I recorded and tweaked them in my basement studio to make the sounds I wanted. I’m pretty happy with the final result and grateful with skilled I learned during my years in music industry (not mainstream :grinning_face_with_smiling_eyes:). I also made materials for the floating key and crystals which took me some time to finish after watching many videos online.

Day 17 Update: Today was an interesting day because I worked on customizing the main menu for the game. This took surprisingly long, some of the audio and assets are just placeholders to see how it looks. Honestly, I did a decent job but not as good as someone who designs main menus professionally for games.

I also have good news to share, one of my talented musician friend has decided to create background music for some of the levels. My wife and I are still making music for this game and I think it will be great to bring another musician on board to create something different. My programmer friend has been great help as well. I am still working alone in this project but having people around to ask for help feels right to me. I am also helping him with my level design skills for his project. One of the cool things about this collaboration has been that we’ve been inspiring each other and discussing ideas for his project and mine.

Tomorrow, I am going to work on item pickups like coins, health hearts and permanent +1 health when players find special items hidden throughout the level. Most importantly, I’m almost ready to start my actual work (level design :heart_eyes:) which is my favorite part and I love it so much. When I’m creating levels, my mindset is that I’m playing my favorite games for the first time. I plan every single area meticulously, working on the levels while maintaining references and bringing my creativity together to bring the level design to life. It feels incredibly rewarding to me, which is why I love it so much. I’m pretty good at it because I get paid for it and people have been starting to come to me asking for my opinions about their project level designs. However, I am not as good as the level designers behind my favorite games :sweat_smile:. I have also been receiving messages few times where people have asked me to be their mentor but I am absolutely not ready yet not until I know that I am one of the best level designers in action adventure games.