• Evaluation
• Overview
This college course has been the first time on a awhile that I have had to create a project to a set time frame. This link is to a file containing the final product I created for the FMP project: https://drive.google.com/file/d/1pKlvd9nU3T8CJw_1fFWZ2Auevvz8UJJv/view?usp=sharing. The following page I will evaluate my planning/time management, ability to complete set tasks and my work produced for the project.
How effective was your planning and management of this project?
• Planning and management
This being my first project that I have had to plan out and keep to a strict deadline, I didn't have anything to gauge my tasks against. I did try to make a Gantt chart and and filled out an action plan in order to keep myself on track. I also made sure come up with a rough idea of what my final product would need, then I placed each intended feature in a priority list. I then proceeded to use this list to know what needed implementing and in what order to do them, I also had to test each step to make sure there were no serious bugs before moving on.
As such I ended up having to drop a couple things being the power bar, currency and mini to be specific. The main reason these were dropped is because they had low priority and when it came around to starting them, I had already used most of the production time on the main features.
As for the above mentioned Gantt chart, I have never had to create of use one before. I found it hard to keep to the timeline I set out on the chart and missed a couple personal deadlines, but once I got used to the idea of the chart it did help in keeping me more on track. In future projects I will definitely use the concept of action plans and Gantt charts as it does help with time keeping and having a rough idea on what is required to be done and when.
Did you carry out everything you intended to in box 2 of your proposal? If not, why not? (Justify any changes)
• Ordinal plans and changes
In this section I will explain what I originally intended on making for the FMP, I will break it down into the three core ideas I had (main menu, in-game UI and one level)
• Main menu
The main menu was supposed to consist of several buttons (start game, controls and exit) that would be used by the player to run several functions. The start button was simple to create as it only needed to load the level that I created and wasn't too complicated, the exit button was also easy to create as all that it needed to do was to terminate the program. The main issue I came across was the image in the control's menu, I couldn't get the image to fit the resolution of the screen as it changed. I ended up leaving the resolution issue till later if I had time, I ended up not having the time to fix it though. I also had the idea to create an accompanying image to the buttons for the main menu, but I intended to do most of the art at the end of the project and focused on getting the functionality done first. The reason no image was added was i ran out of time creating the functionality for the project and no art was made.
• In-Game user interface
As for the In-Game Interface, I wanted to create a pause menu and a couple lists of selectable buttons. (for buildings and units) I originally focused solely on getting the functionality for the menus done, the pause menu was intended to be left until last. The menus (buildings and units) turned out not to be too complicated as I only really needed to create the functionality once for the building's menu, then it could be copied to make the functionality for the unit's menu. As for the currency, power and pause menu they had to be cut to make more time to finish the other parts of the project. The reason for this was mostly that I had chosen a little too much to get done in the time I had, I also wanted to make sure what I did do was up to a decent standard. As for the mentioned map that I would create if I had the time, this was never looked at because the other parts of the project took too long in themselves.
• One level
As for the level I was going to create I wanted to make an area the player could interact with, this needed the user interface mentioned above. I wanted to make it so the player could spawn objects into the level by selecting them in the user interface, the buildings can be placeable at any time, but the units need specific building(s) to be spawned. I originally planned for both buildings and units to cost a set amount of currency, but this was going to be done as the last part of the project but as mentioned above this was but due to time constraints and being too complicated given the time frame available. Units were also supposed to only be summonable when not only the currency was available but the building where powered, but this was also cut for the same reason as the currency was.
That being said I managed to create the building placement, unit spawning rather easily so I had enough time to focus on creating a more complex feature of character/unit movement using a custom point and click system as explained in the production page. The nav mesh required to get the character to move was simple enough and so was getting the mouse inputs to both select and move the units. The hardest part of getting the units to move was getting the input from the mouse, this itself took most of the week I dedicated to getting this feature to work. In the end I linked everything together using a cast to component, this ended up fixing several issues that I had that where to do with cross faction interactions.
How did the secondary research help you develop your product?
For my secondary research I ended up mainly using the internet to search for sources as there wasn't many other options on getting information for the style of product I wanted to design. This being because the style of game I'm going for is kind of old and I could dint any info about it elsewhere. I did also supplement this by looking into games on digital distribution services such as Steam, Origin and Epic Games. Then there was the videos and movies that I was recommended by friends and family to look into that contained similar ideas to what I was planning.
The research I had carried out ended up not being utilised to its full potential, the reason for this is that it was that the research focused on what people would expect in the visuals of the project and how they would expect it to be laid out. My intention was once I finished the mechanics for the project that I would focus on making the interface visual more in line with what they would be in the final product and have completed the visuals for them. I ended up having barely enough time to implement the functionality of the core features, so this ended up not getting done, I did however start by putting the placeholder buttons where in intended them to be for the final iteration.
How did the primary research help you develop your product?
Although the research wasn't fully utilised, it did give me a rough understanding that people liked to have more straightforward and easier to understand mechanics in their games and by extension the interfaces the game have. This helped by making me focus on making my mechanic work in a similar way to other games in the genre, this would make it so it feels familiar to anyone that has plaid game of this type before.
What tools, techniques and processes did you use to develop and create your product? (Full production process)
For pre-production I found it hard to get multiple different sources of research for my project, this was mainly because the type of RTS game I wanted to make is pretty old and not many rescores about them exist outside of the internet nowadays. I did try looking into various other sources of inspiration such as movies and magazine after my group char but they didn't really have much that was relevant that I hadn't already used. That being said it did help in focusing my ideas into a more structured effort to get something that would appeal to more people.
For my project most of my time I was using unreal engine from the epic games' launcher, I used the feature the engine has called blueprints. Blueprints are a way to produce a functional game without having to actually use code directly. It did help that already have a basic understanding of how programming works, along with the blueprints this made creating the project rather simple. The only real issue I had was that unreal engine is coded in C++, I was originally taught in C# so there was a small learning curve due to the differences in programming languages used.
What problems did you have and how did you overcome them?
One problem I had was the fact I have never had to document things properly before, so getting used to what was needed was a bit of a struggle. Due to not having the greatest memory I kind of struggled in keeping things in check and properly recording things. For my next project I will definitely look into creating a prober development diary that will be updated right away so I don't have time to forget things or get muddled up.
As stated above one of the main problems I had was the fact unreal uses a different language to what I've used before, to deal with this I ended up using unreal engine documentation to figure out how certain differences in the code. The issue where mainly because c++ does things with different commands and is object oriented, that I'm not entirely confident with my understanding of yet.
As for the production of the project I had an issue arise of an untextured sphere appearing at random, it tends to interfere with the projects function when it appears. I tried several times to figure out what it was and how to fix, but I ended up taking too long and was eating into my time. So, I decided to ignore it for the time being and just document its presence, I believe it has something to do with the default character trying to spawn but being deleted. The reason I deleted the default character was that I wanted a custom camera movement rig to be controlled instead, and I'm guessing this messed with some function in the background and caused the bug to occur. For my next project I would have to look into this bug further so it doesn't end up repeating itself.
Evaluate your personal achievements
I personally think I achieved several things in this project mainly being better timekeeping, understanding programming better and learning how important prior planning is. For the time keeping, actually having to do a project and keep record made me realise what actually goes into a project. So, I have a more reasonable idea of what I will be able to do given the same amount of time. I also have achieved a better understanding of my own skills and where I need improvement going forward.
What new skills did you learn?
I have learned a lot about unreal engine in the time on the course, I have managed to use the program to create basic layout and functionality of a game. I also learned a lot about blender and where I need to improve using the program. I believe this course has given be the basic skills to make a game, but I still have a way to go before I can make anything decent. That being said I believe I have learned the basics that I needed to go forward in improving my learning as I know what I need to do next.
As for what I learned from using unreal engine, I managed to get a better understanding of newer programming languages. I was ordinally taught in the c# language although at a basic level and thought it might be a good idea to get back into programming and learn C++ instead. The fact that unreal engine runs on c++ is a benefit as it allows the user to see how the blueprints translate to code, this allows you to learn how to code while making the blueprints.
Coming into the course I already knew a fair bit about making models in blender, unlike unreal engine which was learned more or less from scratch. I used to make models for 3d printing so I had a basic understanding of how to make airtight meshes for my models, but I did learn the importance of keeping a good topology on my models while being on the course. I also now know that both the topology and amount of vertices in a model can negatively impact the animation of the model as well as the smoothness of the games framerate.
What were your strengths?
My key strength are my practical skills and the fact that I will attempt anything and if I can't do something I won't stop until I figure it out. That being said I had to learn over the course of the project that sometimes it's best to leave things for a while, this being because focussing on one thing to much can detract from getting the rest done and ending up with nothing to show for it.
Before coming to the college I already had a basic understanding of both 3D modelling and programming. For programming, I had already been taught to do the basics in C# and because of this understand a fair amount about the logic behind programming. That being said I wanted to come back to college to brush up on my skills and learn a new language, that being C++, the reason for wanting to learn this language its not only is it what unreal engine uses its the most common one used in modern games.
As for the 3D modelling I originally started as a hobbyist creating the models for games alongside a few friends that did various parts of the process themselves. I then got back into the hobby when 3d printer came out, as oi though I would be fun to create some physical version of my old designs. For all my time in this hobby I used the program called Blender, so I have a decent understanding of how to make models themselves. That being said I still have a couple skills to learn that being UV unwrapping and texturing.
How could you further improve your outcome?
I would have to do further research into the different features of unreal engine and how they work. Such as importing and animating 3D assets so I can replace the placeholders I used. I would also have to look into proper AI implementation, so the player has an enemy to fight against instead of making buildings and spawning units to move around. I would also need to look into multiplayer implementation for unreal engine and the practicality of it.
I would also need to learn how to UV unwrap properly as I'm not too confident in the skills that I have at the moment in that area. I would also need to improve my skills at creating natural looking assets such as people, animals and nature related props as I'm not that good at creating these.
Do other people like your work, what do they think of your final product? Give the responses from 3 peers
1
Lauren Game Comments:
Liked - I like the general look of the game, the 3D cubes with the shadowing makes it look interesting and modern. I like the simplicity of the menu, you can hardly go wrong when entering the game. I like the use of the keyboard arrows and then you are not messing about any complicated mouse movements.
Improved - I think mainly the user interface elements needed improvement, the instruction/setting menu for one. It has been laid out more clearly to make it less confusing and make the information stand out more. I also think on the game play, the options with the numbers and arrows could have been placed in a box to separate the game play.
General - You have made a good start on the product but there was potential to expand on the elements.
(These comments were taken from a chat on teams)
2
3
How does this feedback help you and would you make any changes?
I noticed from the feedback of testing the game several key areas showed up, there being several good points as well as some parts that could use improvement.
The first good point that comes up in the menus were simple and intuitive to navigate, although there was some recommendation on making the buttons stand out from the level. This could be achieved by placing them in a box box around the buttons, I was also recommended to swap the arrows on the button in the user interface as this would be more initiative to the user.
As for feedback on the camera controls, I was told that having the arrow keys as an alternative made it more simple to control the camera. I was also told that the movement of the camera felt intuitive and easy to understand how it worked.
For the building based functions, the main feedback was that the building placement cursor made it easy to understand where building could be placed and where they couldn't. It did this by either being green when you can place building or red when you can't, the only problem that was highlighted was the glitch that allows for buildings to be placed on units.
As for the units functions, I was told that they were easy to understand and simple to use. I was however told that they where a little basic and could do with being given more organic and natural feel. It also highlighted a couple issues with the movement and collision of the units that went unresolved, This being because it was the last feature to be implemented and I didn't have enough time to playtest the feature and implement bug fixes.
Because the feedback came at the end of the project I didn't have the time to implement the recommended changes to my project, I will however take this feedback into account when creating future projects. I will also aim to get more feedback during course of the net project, so that I can actually have time to incorporate it into my work.