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:
- Hero character movement and distance for walk, run, jump, and dash (need to find the right distance to start blockouts)
- Camera location and how I want players to see this game during gameplay (finalize the camera location before blockouts)
- Hero character attacks and 3 side mechanics for the levels (complete one core attack mechanic to start designing levels)
- 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
for playtesting)
- Secret and trap examples for the level (details in documents, will share more when I ready to showcase a small demo)
- Add Version Control in my project (even though I will be working alone to make this game
I think it’s a good idea to have it just incase if I want to go back to older version.)
- Managing folders and planning/sticking to naming conventions for what has been decided in the document.
- 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 
Legal Disclaimer – Prohibition on Using My Content for AI Training
-
Protected Material
All photographs, illustrations, designs, written text, videos, audio recordings, source code, schematics, concepts, and any other information that I have posted or shared on any of my social media accounts, portfolio (collectively, the “Content”) are my exclusive intellectual‑property assets, protected by copyright, trade‑secret, moral‑rights, and any other applicable statutes.
-
No Use for AI/ML Training
Except with my prior written authorization and compensation, no person, company, organization, or other entity may:
a. Harvest, scrape, download, copy, or otherwise collect the Content for the purpose of creating or augmenting a dataset;
b. Incorporate the Content either raw or in a derived form into any machine‑learning, deep‑learning, artificial‑intelligence, or automated decision‑making system for training, fine‑tuning, validation, inference, or model‑deployment;
c. Distribute, license, sell, or otherwise share any dataset, model, or output that contains the Content for AI‑related purposes.
-
Cease‑and‑Desist Obligations
a. Upon receipt of a written request from me, you must immediately:
b. Halt all AI‑related activities involving the Content;
c. Permanently delete all copies, backups, or derivatives that contain the Content; and
d. Provide written confirmation of compliance within ten (10) business days.
-
Enforcement and Remedies
Any unauthorized use will be treated as an infringement of my intellectual‑property rights and may give rise to injunctive relief, monetary damages (including statutory or exemplary damages where permitted), and the recovery of reasonable attorney’s fees and costs. This Disclaimer is governed by the substantive laws of my residence jurisdiction, and any disputes will be resolved in the competent courts of that jurisdiction.
[/grid]
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.” 
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
), 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 
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 
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 
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! 
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
) 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 
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… 
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 
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 
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
). 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
) 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
. 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.
Day 18 and 19 Update: These took two days to finish, from initial prototype to final polish. I got the heart mesh from FAB, created materials by watching several videos online and reading official Unreal documentation. I found sound effects with Standard License but they did not sound right to me. It took experimenting in my basement studio to get them sound how I wanted for my project 
I also added nice rotation and moving animation that goes up and down for heart items and customized VFX for these items by migrating them from my FAB collection. I really wanted VFX to feel unique in my game without obsessively using them all over. It took some time to figure out but I’m happy with the results.
I have to admit that making 2d game in Unreal feels difficult but that’s a challenge I want to overcome through finesse (adding 3d mesh where they are needed). I will probably end up using about 10-15% 3d mesh and the rest will be 2d.
Here’s the video! Blue hearts permanently raise player health by +1, and each red heart heals the player by one heart and killing enemies will also drop items based on value from 0-----1. Coins will be used to level up the player, which I haven’t implemented yet 
Have a good weekend..
Day 20 Update: I worked on blockout level design today, my favorite part of game development
For this level, I wanted to make sure Level_01 isn’t too difficult but not too easy either. I focused on placing collectibles, enemy locations and making sure 70-80% of jumps either reward players with an item or lead to death. I did this on purpose to give players some time to learn jump, dash and attack mechanics. After several playtesting and adjustments, I am happy with Level_01 and feel good about moving to Level_02 after I set up level streaming tomorrow.
The enemies are pretty easy to kill in this level, especially if you take your time to figure out their attack distance. Players will meet first NPC at the beginning of Level_01 and will find out why our hero is here. They will get a special item (Blue Heart) which permanently raises player’s hearts by +1. I’ve scattered more of these throughout the level as a reward for exploring.
Once the full level blockout is completed, I am planning to host a small gathering at my house for close friends and family to try out the game for more feedback. I will also my close friends from Discord to playtest this game.
In the photo below, X marks are all the death areas if players makes mistake while jumping. I want to communicate effectively that missing a jump in this game has bigger consequences!
Main goal in Level_01:
- Get familiar with jump, dash, fight mechanic of the hero character
- Collect items to learn why they are important in this world
- Find a way to reach Level_02
Day 21 Update: I finished setting up level streaming today for Level_01 and Level_02 and most of the level is still in blockout stage, I think it’s a good idea to start working on this now. After carefully considering all the different ways to set up level streaming (I wonder if other devs have done it this way), I decided to do it my way for this project. I think it’s pretty simple and efficient, especially for 2D and 2.5D games.
I made two separate Blueprint actors, one for LoadLevel and the other UnloadPreviousLevel. This gives me more precise control over where I want to load and unload levels. Normally, people put these two together in one Blueprint but that doesn’t make sense to me because it doesn’t give me complete freedom over where I want to load and unload them and I don’t like the idea of having them next to eachother in one blueprint 
I think my method gives that freedom without directly using Blueprint inside each level or using a level streaming volume and casting directly to the main character. I am about 40% done with Level_02 and I might spend 2 more days to work on it.
Here’s how my level streaming set up with the video and image of each blueprint actor, I am not a pro optimizer but this method has helped me achieved high FPS and that will probably drop to around 80-100 after set dressing but it is still pretty good and I’m satisfied with this result 
Day 22 & 23 Update: I completed Level_02. After more than 15 playtests, I’m happy to say that the blockout level design for this level is complete. I want to communicate that each level will become more challenging as players progress. The difficulty does not come from tougher enemies but from the level design itself. If you look closely at Level_02, you might be able to see what I mean. I do not want to spoil anything for those who are looking forward to playing this game 
Level_02 is quite simple, almost like Level_01:
- find your way out of Level_02 by figuring out how
- location s item if you want
- location hidden ss item if players really want to explore Level_02
- collect other items scattered throughout each levels that help hero to grow stronger
P.S As I mentioned in my previous updates, no AI has been used in this project on my end. However, I do not know whether the game template I purchased used AI or not. I want to keep this project 100% human-made and I have no issue with other devs using AI as a reference or a tool to help develop their designs or make games. My only concern is having AI learn from my personal experiences without my permission. If you ever want to use my experiences as learning resources for your AI, just offer me few millions with a detailed contract to sign and I certainly won’t complain 
Here’ the images of Level_02 and some explaination: