Project Rationale
Over my previous year at college and the earliest part of the current year, I have had a chance to show both the world and myself the skills that I think would make me a very valuable asset for the games industry, more specifically the world of programming, but generally speaking the whole world of indie development.
At the start of the first year of college (2023-2024) I managed to complete a 2D project with a distinction as a result, this is without me having any sort of experience beforehand to do with 2D work. This project showed me I was quick to learn when creating concept art which would be incredibly useful for making whole games when working alone. This project was followed up by a 3D project where I got to showcase my knowledge in 3D modelling (again without much time to learn what I was doing), this project was once again finished with a distinction as the final result and further showed me my ability to adapt when it comes to multiple fields in the games industry. This is the point where I started increasing the amount of programming and modelling I did from home, I hadn't yet discovered the world of Blueprint programming but I enjoyed my ventures into C# to the point I made a tic-tac-toe game totaling 900 lines in the space of a couple days without the tutors saying for me to do anything at all.
Whilst working on these side projects I had a group project, this was centered around the idea of making an escape game and included me with a few of my peers, I was the lead modeller here and by the end of the project we had together achieved a decent final product, not a full game by any means, but it was a very good result given the amount of time we had and how much experience everyone on the team had to deal with. This was a great starting point for another venture into the world of teamwork when it comes to making games. My next venture into the world of team based game development was for my final major project in my first year of college and led to the creation of a full game called STC, short for Subject To Change. This project taught me how tedious and yet helpful working with a team could be; you alone achieved less as there was more management involved, but the team as a whole created an overall better quality and more fleshed-out project. I would love to do this again, but I feel that the whole tediousness of keeping track of the less active members took away from my own work and experience during the project, because of this I'll be trying to work as alone as possible for this project. At the start of second year I made an escape game completely using my own blueprints and models, the game was also entirely my idea, and although only being a partial success it went extremely well in the end. I missed out on a lot of what I wanted to do in that project but in reality it wasn't because it was too much work for 1 person, but more because it was my first proper venture into blueprinting past light switches, I managed to make many custom events and so much more.
My final project before the FEP was a 2D game called 'till he returns', this game was totally playable by the end of the project and to be honest I was extremely proud of it. I had to design characters for this game, implement them into the Unreal Engine project, program the whole game alone and set up things like checkpoints and hidden Easter egg areas to make it stand out amongst the competition. this project made me incredibly confident with blueprint work and a plugin called PaperZD, this would help me unbelievably when it comes to making a 2D game, 2D games now are much rarer in the games industry as modelling and 3D based development is quite a bit easier than 2D and so more often seen. My ability to work in 2D development and with pixel art will undoubtedly set me apart when it comes to my peers, and I intend to put it to good use.
Project Concept
The concept for my project is a 2D story game similar to "The Rain Man" (game) and "Happy Hills Homicide", the basic idea is that you play a character of yet to be decided origin, sex and race with a story that is also yet to be decided, all I know currently is that I can decide the story and character details through primary and secondary research once I fully start the project. The story is also only intended to be decided on after research is done and should be a part of my planning work, this story will be concise and fairly short in order to ensure I can get it done in time.
I believe the best way to present my final game will be through a download on itch.io but also a google site (the one you're on). This google site will hold a full explanation on the work I did during the project, what I was thinking at all points, all of my planning work will be visible on this site and showcases of the work I get done will be obvious and well described. I also plan on having my research work being on here, and if any work is done on an external online sites, I will link it and screenshot the contents just incase the link fails to work. I also think I'll use a showcase video such as a trailer or gameplay video as a show of what I managed to achieve by the end of my project.
I won't be using any studios and will just be doing work from home and College for the most part. I will make use of software like Asesprite, photoshop and Unreal Engine 5 with plugins like PaperZD and others I will find on FAB and the Unreal Engine Marketplace through my research and suggestions from peers. I will also make use of online sites like Trello and Miro in order to plan my game and create time-plans for the work I need to do. My home computer and microphone alongside the college computers will provide everything I need for this project to be a success. Every time I do a massive advancement on my project I plan on getting my peers and tutors to have a look at what I've done and change it, after this I can write a short paragraph explaining what I will do with their opinions as well as what I will do with the information and opinions I got from the people judging my work, often this will mean doing minor changes and often I'll take a chance to show initiative by pushing the work forward rather than changing what I made, the game is going to be my own project with the opinions and views of others on top, not the other way round. The majority of my work will be done from home using my home computer rather than at college, I enjoy doing my work quite a lot so I have a lot of doubt that I will get overly distracted by games I have downloaded or streaming services.
The projects main aim is being able to have everything I need to make a 2D story game in the style of "Happy Hills Homicide" including the animations for a monster, a character, items and the basic sprites for all of them. The main aim for the project also includes having levels planned out, a game development document fully made, mocks of what the levels would look like and some programming work such as speech boxes for characters, item interactions and basic story triggers that could be used in the game complete to a good standard.
These assets would then be implemented into a level where I could show off the assets working in an actual game engine, the best way to do this would obviously be making the game but I doubt the time will be there for me to actually do that so it's more likely just going to be a showcase level with different ways to activate each event or animation in order to show everything working. If I do get the time to do that though, I would like to have a bare bones game that uses the assets I made in a way that shows their usability in a quality indie game.
Evaluation And Reflection
As usual, I believe that evaluating and reflecting on my work and the future of my work will be a vital part of the production, this sort of behaviour will not only allow me to find mistakes I have made, but also fix them in a timely manor. One thing that's going to be vital to this behavior being a net positive for the production will be making sure these actions are done in a timely manner, in order to do so I'll be doing weekly reflections on my overall work for the week as well as reflecting on how I think some of my work went just after I finished it as a sort of much less complex look over what I completed and the contemporary thoughts I had on it.
I will be doing this at the bottom of each production page, and the overall weekly evaluations will come on a seperate page. Furthermore, I will be doing a final evaluation at the end of the project to help me further highlight what went wrong or well on a macro scale, no doubt helping in my projects when I eventually reach university.
I believe that software like chatgpt can highlight areas I have gone wrong, so in theory I could make some use of that tool (obviously made clear when I have), much more likely I could use Miro to highlight my reflections in my planning and research phases, as well as using Trello to plan when my weekly reflections/evaluations need doing as well as all other kinds of work during the project. To further improve my evaluations I'll be often getting the opinions of peers and adding on my own opinions, furthing my work greatly.
How Has My Specialism Developed?
My current specialism is games programming, and my specialism initially began in the 60s. Games made in the 60s could only be played on large mainframe computers unavailable to the general public, meaning the games weren't making profit and certainly weren't ever intended to, a far cry from what most popular games are made for today. Mainly, games programming properly began in the 1970s, this is around the time that popular game consoles like the Atari were available to the public. At this point in games programming history a single person (if they had the know-how) could create an entire game. Of course, from the 70s to the 2000s gaming advanced rapidly, people understand that computers were becoming much stronger and so they demanded the quality of their games to advance with the same pace.
In the modern age, it's necessary to have multiple software engineers and specialised game developers working on a singular game if you want a product worthy of selling and having people play when so many other brilliant options exist now. Luckily, the prominence of games in the modern era means that plenty of ideas have been tried out, with many bugs fixed and many game engines created to the point that any idea you have is 100% possible to make as long as you have enough team members and time. Modern development features a lot that previous game makers never had to worry about, the modern age requires a simple and pleasing UI to be coded into the game, physics to fit the story and gameplay, artificial intelligence and so much more. Furthermore, in the modern age games must be coherent and fit well together like a sort of Lego set, otherwise reviews will be bad and the company will go under.
The most important part of games development is by far programming and programming languages. Video games tend to use some of the same languages as normal apps do, really it has always depended on what you're trying to program the game for. Popular languages have been c#, c++ and c, this is different for consoles who tend to use things like assembly. Although at first this sort of thing was quite important, the newer game engines allow for games to be coded in a user favourite language and played on multiple systems such as consoles and PCs, this brought games to multiple types of playerbase and so the gaming market was advanced an exceptional amount. The most popular ones currently are unreal script by epic games and QuakeC. The invention of the API allowed the same program to be used on multiple systems, with libraries available to help program games, making the job of the video game programmer much easier than in the older days of game development.
Nowadays, game engines are allowing pretty much anyone to make the games that the forefathers of game development could only ever dream of. Unreal Engine and Unity are by far the most famous now, and with the next big game always around the corner there are millions trying to find their fame and fortune in the games industry using tools like these game engines, with development easier than it ever has been. In 2020 the games industry as a whole was worth 160 billion dollars with 150 million global gamers. Although the technological prowess of places like Japan and America have traditionally dominated the market with companies like Nintendo, other countries like china have seen significant growth and advancement into areas like virtual reality and the meta verse. The current game engine leader is Unreal engine, where the software has built in physics, it's own programming method and much more like amazing graphics and easy implementation. In the modern age, the doors are always open for new game developers to take the spotlight and advance the games industry to never before seen levels, developers who have a distinct childhood of playing video games, experience that gives them a competitive edge on the game devs of old.
What is the current professional workflow of my chosen specialism?
How will I structure my FEP to match this?
A key part of the game workflow begins before you even start making the game, you should always consider one of the most important parts of game design, not biting off more than you can chew.
You should always think of game development in a grounded way, it's very unlikely that you'll be able to make the next call of duty of league of legends but you might still make a successful game, just limited by your abilities and not hindered by your ambition if you went too overboard in your ideas like many game developers fall into the trap of. Expectations shouldn't be low but also shouldn't be exceptionally high or failure is certain. A game developer needs a mix of artistic and technical skills in order to pull off a development, and the best way to increase the chances of success is the use of a workflow or a pipeline, both being the same thing. According to the site that I'm using for research purposes, there are various challenges that a game company can come across that can be mitigated with a good enough level of discipline and steps for the project.
(Image sourced via the Kinematic link in the bibliography)
Despite my chosen specialism, I can't make a game working alone as a games programmer without making up for the lack of team members. This means that I'm choosing to base my own FEP structure off of that of a generalist or an indie developer, where different work types are going to need completing at different points in production in order to have a completed demo by the end of this project.
To make my project successful I'll have to do many different jobs over the relatively short development cycle of my project if I want to have a working demo my the deadline, this is going to include many jobs such as animating, level designing and programming, with programming of course being the biggest of these due to the need for a large amount of interactivity in my game. Of course with my game only being an attempt at a demo I'll not have to spend too much time on each of the different game development segments but I'll have to ensure that enough time is spent on each of the different segments of the game's development cycle without leaving any in a bad state of quality.
According to the image on the right, I should first set out the story, mechanics and interactions of the game before I move onto the concept art and level prototyping. My limited time and lack of expertise in concept creating means that I might completely skip this segment or much more likely limit the work I put into it, the lacking quality means that it's unlikely to be massively helpful to the development but I still aim to have some basic designs made for the characters as well as the environment and UI, the UI being something I've always kept simple in the past and wish to change and advance my skill in. It's also recommended by this site that I should do level prototyping around the same time, with level blocking taking place only once any modelling and animations have been created. In my case this means making the sprites and animating them rather than actually modelling anything as this is a 2D game. This is the same for the material editor, I won't need that part as I have no models to put any materials on. Following the creation of the sprites and the animations they'll need, I'll move onto arguably less important things such as lighting, sounds and effects. These are parts of the production that the site seems to leave until last, and because of this I'll either do as they suggest or just monitor the time I spend on such things to keep it to a minimum so it doesn't intrude on the much more important programming or modelling.
One thing I notice isn't included on this image is how game programming should be handles, I imagine it's just classed under level prototyping but it isn't made very clear on this image. To get past this issue I'll be working on the game programming using substitute sprites such as black squares with question marks so that I know interactivity is coded as it is by far the most important part of any game in my opinion. When I have the basics sorted when it comes to game interactivity I'll add and make the needed sprites, with things like collectables and easter eggs being added only once everything the game needs (including sound and UI design) is done. This will hopefully allow me to get the game done in a timely manner and ensure that no matter the issues I face I can get the work done by the end of the project. Things like effects as you can see at the end of the pipeline on the image could include features like changing weather as the game progresses, though this can wait till the end like the site seems to suggest is the best way to do it.