Don't wanna be here? Send us removal request.
Text
Final Evaluation
I think for what I’ve got done at home, without such open access to help as I would have in College, my game has gone really well so far in it’s development. Thought it’s far from being completely finished, it’s still perfectly playable for what it is at the moment, and in my opinion, though there is not a tonne of gameplay aspects like dodging around buildings etc at the moment like it will when it’s done, given I am currently making the map, and removed the test map, I still think it’s pretty fun to play on it’s own just in an open plane, though it’s not without it’s issues at the moment, which I will talk about later.
youtube
What I think has gone well in this project is the amount of new things I’ve learned in Unreal, such as setting up an AI to use a character blueprint and follow commands etc, and using an Array to get things done quicker and more simply then before, like getting a certain set of Actors and doing things like assigning values to them as a group, and despawning them etc. While these things are fairly simple, they have made a lot of new things possible for me in game development, and as well as those two main things, I also learned a tonne of other useful things in Unreal on the side.
I think the two main things that were most successful in making my game, was the code I managed to get done, and the custom music I made for the game in Logic Pro X. These two things both went very well, as I got a lot more code and mechanics done that I imagined I would be able to, and the music I made really bought out the personality and vibe I wanted my game to give.
On the side of working from home, I can’t say that I found it better overall than working in College. Though it was very quiet, and my own setup is definitely my favourite for making games out of the other two setups I switch between at college, I honestly found it hard to motivate myself to work on my game at times, as given I was on my own setup, it was a lot easier to get distracted by things on it etc, though I did manage to get more motivated towards the end of the project, as I was getting more used to a home working environment, and more into working on my game instead of playing games. I also found myself a lot more anxious about getting something made in Unreal for some reason when working from home than I did in college.
Some things in my project that I think could have definitely gone better, would start off with I wish I could have done some more work in Unreal earlier on, as I hardly spent anytime in Unreal at the start of the project, and then had to put a lot more work in towards the end, that I feel could have been more balanced out, and I could have gotten so much more done if I had began in Unreal earlier on. Another thing I want to add, is something that really could have gone better is the way I coded the AI. While it works, I feel like the tutorial I used, while being useful, wasn’t really the exact sort of thing I wanted, and now I’m having to try and edit the code for the AI controller, as it has stopped functioning properly for some reason and I am not sure why, and still debugging/figuring out what's wrong, as they don't seem to know how to turn corners anymore, as well as some other things. I have an older version of the game to roll back to if I can’t figure out what went wrong on that front, though I am positive I will be able to get this sorted, and get back on track with finishing my game, and getting it submitted to the Bafta young games designer awards.
What I am planning to add to my game in the future, is a full detailed town, with NPC’s that can be seen inside doing things, as well as getting the current textures for the ground etc more interesting. I am also going to be adding the mechanic where the cacti start off slower, and gradually build up speed until they are harder to shoot at, but cap at the point where it would make the game impossible if they got any faster. The first thing I have to get done though before I do that, is fixing the AI’s broken navigation they have developed for some reason.
Overall, I am really pleased with how my game has gone, though this has made me a lot less keen on working from home, after realising how hard it is to get things done without fast access to help. Another thing I have learned, is Unreal is definitely not the best place to make a 2D tiled pixel art game, and though I knew that from the beginning, this project has really confirmed for me that Unreal is really mainly designed for 3D games, though I don’t have any other software than Unreal to use for 2D games given I can’t code with C++, and Blueprinting is the only way I can get code done at the moment, though I may learn some C++ in the future.
0 notes
Text
Get Feedback On Project
To get feedback on my project, I created a google doc to automatically make pie charts and store responses to feedback I get, and sent out a questionnaire with a video of my game for feedback.
As my game is not currently in a fully completed state, I decided to showcase my game as a demo that shows off the main parts of the game, just without a fully completed map.
After getting feedback, it was mainly positive, consisting of these responses:
I was honestly surprised I got such positive results for the art, given it’s really not my main in games design, through I did surprise myself with how well the designs for the characters turned out.
I am glad the music I made for this game got such positive responses, as I spent a lot of time making this music, and it’s good to know the work I put in paid off. I’m also glad this is one of the most positive responses, as audio/music development is a part of games design/a hobby I want to keep working on and potentially turn into a main in my job.
Understandably at the moment, the results for do you think you would play this game are around 50 50, as there is not a tone of gameplay at the moment, and I agree in its current state it looks like it would get boring pretty fast. Though I will add it’s supposed to be fairly simple as it’s designed to be an arcade game, which should be something where someone can just pick up a controller and instantly know what they’re doing.
As for the last Pie Chart results, this was probably one of the most important questions, as this game is designed to be on an arcade machine, so I’m glad the majority of responses said they would play this game in an arcade.
Final Text Feedback
At the bottom of my Questionnaire, I added a section where people could say what they think the game should have added to it, and if they think anything could be changed to be better, and some of the responses I got in that section were really useful, to the point where some of the ideas I am actually going to use to add to the game.
The first thing I wanted to mention, is I’m pretty sure some of the people who answered didn't really properly read the description where it said the game wasn't done, and was going to have things added to the map like a town and some decorations, as a few of the responses said ‘you should add’ what I said I was going to be added, though some of the other responses had some really useful ideas and tips I thought were worth mentioning in this blog post.
I think the best Idea I got was somebody said it would be good if the cacti started off slower, and sped up the further into the waves you get, making it harder to shoot at them, and this is something I think I will eventually implement before submitting the game to Bafta next month.
The other response said you should be able to aim and move in different directions, though this doesn't apply, as the criteria for the game was it had to be controllable by just one joystick, and one button, therefore I cant do that as it would need an extra joystick, and make playing the game harder on an arcade machine, though I may add this before submitting to Bafta, as they have no Criteria on what the game should have.
0 notes
Text
Making The Art/Tiles For My Asset Sheet
I began with drawing some simple assets for the roof and the floor in Photoshop, and importing them into Unreal to see what they look like
After confirming they looked good, I started making basic structures, to determine if I needed more tiles, but after that I realised in all my wisdom, I didn't think about the fact that the textures aren't gonna line up when they’re at different angles for the edges, so I had to make some more.
I made the new sprites and bought them into the level, ready for making into basic buildings
The Way I decided to do the buildings, is have them from a top down without a roof perspective, but at this moment, I dont have enough time before my final blog posts to get the rooms fleshed out with things, so for now I am going to send the game to people to review as a sort of combat demo, where the buildings will all be empty, but by the time the deadline for Bafta comes up, I should be able to have everything done and eliminate all the bugs.
0 notes
Text
A Game Breaking Bug I’ve Been Getting
Well, it had to happen somewhere in my game, and I’ve began to notice this bug more and more lately. I think the most simple way to put it, is eventually after you get far enough into the game, the player just starts taking damage for no reason, and after looking into it, I think some enemies are getting stuck in the walls after a certain amount spawn, and this is causing them to think they are always at the player for some reason, therefore it keeps outputting success in the Blueprint, and dealing damage to the player.
My Fix For This:
To attempt to fix this, given I need to remake the map again, is going to be making their spawn areas way bigger, and telling the game with the spawn actor of class node not to spawn them if it knows they are going to clip through something and cause problems. So far, I think this may have solved the problem, however I may encounter this issue again on a larger scale if I get further into the game where much more will spawn
0 notes
Text
Coding the Power Up System and Making Prunkleys Turn Into Normal Cacti
This is an update of what I’ve been working on recently. I finished things off on the code front of my game by making a power up spawning system that will randomly either spawn a movement speed booster or a shooting speed booster. So far, everything works great with that. The way I got it to work, is every 60 seconds, it will spawn a power up at the centre of the map, which will give the player either of the two buffs I mentioned for 10 seconds. I have also added code in place to stop another power up spawning if the current one hasn't been picked up. When one spawns, it notifies the player by flashing some text on the screen, and playing a notifying noise.
I also finally added the mechanic I mentioned at the beginning of my blog where I said I was going to have it so the Prunkley clones will turn back into normal cacti after you eliminate them, which could potentially block your way etc.
The only thing I have left to do now, is to get all the assets done, and bug fix
0 notes
Text
Making The Main Menu Screen + Making Art
For the main menu screen I wanted to have some really nice title art. I spent a while designing a really nice background that you’ve seen before, for this title art to sit in front of, and overall I’m really happy with the outcome:
To add to the menu, I drew my own variety of sweets to go around the title:
This is my finalised version for the title screen:
I finalised it by adding the buttons for starting etc in the bottom left, and after that was done, I set everything up in a Widget Blueprint with this being what it looked like when everything was done:
I also added an instructions page as well as updated the lose screen, which can be seen here:
0 notes
Text
Animating And Creating Art + Game Progress
I was a little worried, given that I’m not very experienced in art that I was going to do horribly at recreating Pablo from a top down view, let alone animating, though luckily it went better than I thought.
Looking at the picture of him we got given in the intro powerpoint as a reference to colours and things, I thought he might look better in the top down animation if he had a cowboy hat on, so after some testing with designs, I found a good design after experimenting, and for a bit, and added his ears coming through two holes in either side of the hat, after which I added his body, and from that drew his arms holding his two revolvers.
After some testing with animating, I thought I would not only animate his feet, but I would also make his ears sway backward and forward, and after I got something I liked, I lay out all the frames, ready to be imported into Unreal as a sprite sheet.
After Importing him into Unreal, I changed the way the gun fired to make sense with the two revolvers he had, and made some background screens, as well as some game title art.
Then I managed to figure out myself how to set up the Booleans to decide what flipbook he was going to be depending on if he was moving or not.
After that since I had time, I worked on the instructions screen and the Death screen. Another thing I did is implement one of the words we had to include in the game, ‘Let’s Party’, which shows up at the start of each round. These can be seen in this video, as well as the overall progress the game is at:
youtube
0 notes
Text
My Games Current State
I know I made a post on this yesterday, but I thought I would make another today, as so much has happened with the progress of my game today I thought I would basically just quickly update everything I’ve done, and include a video of my game at this moment.
The changes I have made since last time, are I have added another part to the player UI, where it now displays a wave count down timer before a new wave starts. I also have the entire wave system working with no apparent bugs or problems just yet which I’m very pleased about as it means the game is almost done!
Here is a video to show the progress its gone through:
youtube
0 notes
Text
Getting The Wave System Done
To begin with I had an idea of how I was going to get this to work, but what the tutorial showed me ended up being pretty different to what I imagined it was going to be, and overall I have to say a lot of what I was taught in the video was very new to me. I think after revising what I’ve done a few times to get it into my head, I’ll know how to do stuff like making a wave system on my own next time, as it made logical sense to me everything the guy was doing in the tutorial, but I knew the second I started I wasn't going to be able to remember it in one go, though I can always come back to this post as a reference to help me out if I get stuck on this in the future.
First, I created what the person in the tutorial basically described as an AI Manager, which is what basically runs the waves, and contains more or less all the code to do that. Its set to get all actors of class ‘AISpawnLocation’ which is the name of a note blueprint I set up in positions around the edge of the map. It then adds the amount of actors to the Spawners variable. After a 2 second delay to give the level time to load, it will initiate the countdown wave, which runs a validated get, so that if the Countdown Timer Widget already exists it wont have to make it again, and just directly target an event in that widget blueprint instead, after which activating the Spawn Next Wave Event.
This Widget Blueprint I just mentioned is what displays and runs the countdown. To get it working, I added a horizontal box to the bottom left containing two text components. After naming the components and typing out ‘Next Wave In: ’ on the left one, I added the box and the text on the right as variables, and in the event graph, I added 2 custom events. These event basically just work to make a timer that ticks down from 10 seconds, the variable for controlling the time it takes being stored in the AI manager and connected to the node that triggers the count down so it can be passed to the Widget Blueprint. After it detects the timer has got to zero, it will take it off the screen and have Pablo say ‘Here we go again’.
After the Spawn next wave event is triggered, it gets how many enemies you want to spawn, and then goes into a spawn actor from class node, that has the class of enemy I made named Prunkley_Enemy. After that I split the spawn transform pins so I could get to just the Spawn transform location, and told it to get how many spawn places there are, take away 1 as the engine counts from 0 and up instead of 1 and up, and then told it to spawn the enemies from a random spawners location, but added some security nodes to they didn't spawn in each other and glitch everywhere, so they spawn at a random reachable point in a radius of 200 with a bit of extra height added to them so they cant fall through the floor if they spawn in a group.
To get this running automatically, I created two functions, 1 that does something when an enemy is spawned, and one that does something when an enemy is killed. Every time an enemy dies in the Enemies blueprint, it will call the enemy killed function, which removes that enemy from the total Enemies, and then checks if the enemies are zero or below, if they are it will add to the amount of enemies being spawned, and then initiate the countdown wave again and start another wave.
When an enemy is spawned, it will add it to the total enemies in the world. This way, the AI manager keeps track of how many enemies there are in the world, and knows when to start a new wave etc.
Overall, I definitely understand how this works, but its going to take some revision of this code a few times to memorise how it all comes together and works etc, but for the moment I am just really happy I have this working, cause now I can build off this code to finish the game, and it should be done very soon!
0 notes
Text
Weekly Reflection
I think that out of every week so far, this one has been by far the most productive. I’ve gotten so much work done for my game, that all I need now is the wave spawning, and the intro cutscene, and then it will be finished and I just need to make the art for it, and add other things like a menu etc
As you can see from that screenshot, I have the AI working, but I don't have it so it will auto spawn them yet, though I will be doing that after this post has gone up.
Something I wish could have gone better, is I wish I had started putting this much time and effort in before, because I am really enjoying the work I am doing, and I’m getting so much work done at the moment.
Next week, I am most likely just going to be finishing off my project in Unreal, fixing bugs, polishing some code, and finding a way to optimise the game to run better, because right now my 2060 Super is pinned to 100% usage for some reason, when all the game is at the moment is literally blocks moving around a 2D environment, and I have even disabled graphics options etc in Project settings but this still hasn't helped. I think I’m gonna DM staff about this or look online for help, cause although I know the game doesn't have to be perfectly optimised, I at least want to get it to the point where its not going to be hard to run on older systems
0 notes
Text
Plan Recording Feedback
For recording the feedback I get from people, I think I’m going to send a link out to others to be able to install my game, and after they've played it, I will send a google doc questionnaire or something like that for them to fill out. After I have gotten a set of feedback, I can then look back through the answers and see if there is one single issue or request that keeps popping up, and then I can improve the game from there. I will also ask them outside of the questionnaire if there is anything they want different and if they have any questions etc
I decided to make the Questionnaire now, so I didn't have to remember it later and scrape one together quickly, so here is a screenshot of part of it. I will send out a link to it with the game when It’s done.
I am planning at the moment to mainly send the links over Discord for people to get the game and try it out.
The only problem I really have with getting feedback, is I wont necessarily be able to get a lot of it, and some of the people I will be asking are not going to be in my target audience, though this should be alright, as the game is still designed to be enjoyed by more or less everyone.
0 notes
Text
Polish Something
I decided after looking at what I had made, the AI movement worked, but wasn't very smooth and they kept stuttering etc.
Overall, I decided that would be the best thing to polish, as it was the most noticeably unperfect thing there. I found out after looking online for help, that apparently disabling orient rotation to movement on the CharacterMovement component of the enemy base, and then enabling Use controller desired rotation, really helps to smooth out the AI movement, which it did.
It also said to disable Use controller rotation yaw in the (self) section of the blueprint.
After doing that, the AI movement was so much smoother, and I’m very pleased I got to learn how to polish that aspect of the game, as it was annoying me in the back of my mind how jittery they were moving.
Here is a video of the before and then the after:
youtube
0 notes
Text
My Games Current State
So far, my game is going very well. I’ve got a lot done over the past couple of days, and all I need to get done now, is the wave system and the intro cutscene. After that’s finished I just need to make the game textures and finish with a title screen, and then my game will be in a releasable condition, though I may finish and submit my game for this project without textures, but in a fully playable condition, If I don't have enough time.
Overall though I’m pleased with how everything is going to far, and my game should be more or less done in the next 3-4 days. Here is what I have at the moment:
https://youtu.be/gI1HwKMFw2w
(I know the you died screen is absolutely awful looking. The pink background is going to be an image, and I’m yet to make the buttons)
0 notes
Text
Setting Up The Health Bar The Players UI
So I had made this post once before, but for some reason I resized me chrome tab and it just completely deleted everything I had spent the last half an hour typing out, so, here I go again, hopefully this post makes it out.
I wanted to get the health bar for my players UI done first, as that would be the post important thing in my opinion to get sorted first in the UI. I managed to teach myself how to make a custom shaped Progress Bar by using two images and overlaying them, so I went into Photoshop, and using the help of a free pixel art heart that I found online as inspiration, I created what was going to be the full progress bar, and then made a monochrome version to be the background, and give the illusion the heart is draining as the player loses health.
This is the design I ended up using:
After making them and setting up the Progress bar in the Widget Blueprint I created for the players UI, this is the result I got:
https://youtu.be/VUsWzIZxRRo
(I tried adding a gif, and it would display and play, but for some reason it wouldn't let me post it with it and it kept saying failed to upload, so I uploaded it to YouTube)
All I needed to do after that, was set it up to be bound with the player health, which luckily is very quick and simple to do cause it just requires some very simple maths.
As the percentage of the bar is measured from 0-1, it wont be able to understand the player characters 0-100 health, but luckily the conversion is as simple as getting the player health, and dividing it by 100. I created a custom event called update health bar, and added a float to its input list that I called health, as I can then give that input information (The Player Health) from the ThirdPersonCharacters Blueprint when it comes to update the health bar. I then set it to divide that input it gets by 100, before feeding it into a set percent node that controls the percentage of the health bar in the player UI.
All I did then, was add a node after the damage calculator, that will update the health bar, as well as tell it what the Health input I gave it will be.
Now, the health bar works perfectly in-game, and I am ready to add other things to the UI in the future. The post after this will be the current state my game is in
0 notes
Text
A Theoretical Problem
A problem I’ve though of theoretically at the moment, is I think that if I made the art and animations top down but at an angle like the way Stardew Valley is, the way I have the characters moving at the moment, when you go in a direction the entire character is going to rotate with it, instead of flip with it like in the side scroller I made where it worked fine.
What I mean by this, is if you hold right, the character will rotate 90 degrees to the right and move right, and basically be dragging their face along the floor. And if you go down the character will just be upside down, and I have no idea how I’m going to solve this.
My theoretical idea of how I’m going to solve this problem, it not make the entire hitbox rotate, but only the Spawner arrow I have so you can still aim, but the animation and character wouldn't rotate as well, but then I would need a dynamic position of Pablos arms, of where Pablo would be pointing his guns and it would mean for him to flip I would need to constantly check the direction the player is going and update his animations, and that just seems like its a terrible idea.
The overall change I have decided to make, is I am going to make it fully top down, so you will see the top of Pablos hat, and his legs and arms swinging either side. That way, when it rotates, it will do what I would want that to do and spin Pablo to looking at the direction he is walking, similar to the way you control the character in the game Dark Wood, and you can see what I mean in the first trailer that pops up when you follow the hyperlink I’ve added, where you can see the player character moving around.
0 notes
Text
Solved Problem
I had a problem with Unreal when I first started trying to create a project, that was so bad, after a project generated, there was just nothing there and nothing that was in the Content browser worked etc. It looked like this:
It was supposed to look like what's in the thumbnail of its icon:
I spent ages looking for a solution to this problem, as if I didn't find a solution I would have likely been unable to make my game, and I was fairly stressed out about this, as nothing was working, and there was no help for this online, I ended up asking Year 2′s and when that didn't work, Sam for help, but luckily, I managed to figure out what was wrong from pure luck, after I created a project with a different name, and that worked perfectly.
It turns out, when you make an Unreal project name, it doesn't work with certain characters, but it doesn't stop you from creating it with those characters in the name. I don’t know if this a bug, or some code and files couldn't be generated because those didn't support that character in their name, but I had ñ in the project name for Piñata, and when I put Pinata instead, it fixed all the problems.
This took a while to troubleshoot, but after I got it done I was very relived, as I thought there was just something wrong with Unreal, but now I’ve learned not to use special characters and things in project names, as that breaks things, and this is something I’m glad happened to me now, so I could learn from it rather than later on.
0 notes
Text
Setting Up The AI
This part I was probably most worried about because I didn’t know what to do, but with the help of the video I have been using for the past few posts, that can be found here: https://www.youtube.com/watch?v=nI1KcW3mjAA&t=4882s, I was able to get it done very easily, and I now know how to set it up, and how to do it again if I need to.
I began by Creating a DetourCrowdAIController, which I gave a PawnSensing component, and a view around it of 180 degrees. I then set the Base Enemy blueprint to be possessed by this AIController when it is spawned or placed in the world.
Next I went into the AI’s blueprint, and told it to on the event of possessing the Enemy, it was going to cast to it and set that character it was possessing as a variable, which I called enemy.
I then went into the Base Enemy Blueprint, and created a custom event called GoAfterPlayer, and set up the target in the inputs section, which appeared under the event.
After that I gave the ThirdPersonCharacter the tag Pablo, and returned to the AI’s blueprint, creating an ‘On See Pawn’ event, telling it to check if the actor it sees has the tag Pablo, and then if it does, its going to promote that pawn to a variable, and I’ve called it player target, to make sure it doesn't do this multple times, Ive dragged in a get PlayerTarget node, and converted it to a validated get, so it only runs the branch if it doesn't already exist. After this has all run, if it has located a pawn with the tag ‘Pablo’, it will trigger the custom GoAfterPlayer Event, where the enemy is thing being controlled, and the Player Target is the target.
Upon triggering the GoAfterPlayer event in the Enemy Base blueprint, it will activate an AI Move To, where the target on the GoAfterPlayer event, will be the player/Pablo. What I’ve set up from this point, wasn't influenced by the video, cause I had already learned this from an earlier part in the video, and from that point it went off into something that wasn't relevant to what I wanted in my game, so I made it that on success of reaching the Player, it would trigger another event in the EnemyBase blueprint called Attack, where it would apply damage to the player, stay still (stunned) for 2 seconds to give the player a chance to get away, and then it would retrigger the GoAfterPlayer event, and this will loop between the two events forever until either the player dies, or the enemy dies.
I had to redesign the players death code a little to be compatible with this new code I had added, which I excpected, so I added in the ‘Event AnyDamage’ node, and set up a new health system that connects back into the death screen and things I had set up before, and also just for debugging purposes and development for now I have also told it to print the players health every time they take damage.
After this, I will be setting up a wave spawning system, and polishing some other parts of my game, and once all the mechanics are done, I will begin to make and add the art to replace the blocked out version of my game its currently in
0 notes