
4. Fallen Gods
A 3D Fighter game, focusing on AI and combat (player & entity interaction) using Unreal Blueprints.
With the grown confidence from the game jam, going into the second one with an extended time length felt better. I feel that starting out we have all got on well having multiple meetings discussing all the ideas we have putting them together into a document. The first challenge that I have found is working together with the other coders in the group. Being able to work on the same project collaboratively is something new to all of us but making sure we communicate and document what we are doing/done is key. For next time, we will use source control to make sure that we can safely work on the same game/project.
We all worked on a sub dev diary for this game which can be found here:
After submitting Fallen Gods, we had received lots of feedback, mainly on the gameplay. For the first submission, the main areas of improvement are adding more combat moves and making the combat itself feel smoother. We had positive feedback on the environment and the fact that the fighting was included, but the game is unfinished. One area to improve on next time is time-management and assuring that the ideas we have can be completed in the time frame we have. The ideas we had where too big and needed to be simplified.
Getting another 2 weeks to improve on our games, I continued to work on any major/minor bugs that where in the game and worked on the feedback that we got. One major area I know I needed to improve was general gameplay, and so I changed around the health system and also added more combat systems for diverse play style. I also worked across multiple days to make a health kit pickup system, however I failed to get this to work due to how my poor organisation of my class trees and now I know for future projects I need to work on my class layouts and organising where everything is within the game/content folders, as this made it very hard to work with inheritance of classes, getting lots of errors with child and parent classes not being able to communicate. Getting this all done before the deadline wasn’t an issue in making the game more exciting and playable past the first enemy, however I left it down to my team to upload the game to the Jam on time (as I was unable to at the time), but they failed to get it up before the deadline. We also wanted a GitHub set-up, however, our team member let us down and failed to make any progress with it. For future projects, I feel as a team we need to assure that deadlines are firmly made and to organise our time much better, not leaving work until the last minute to sort. To do this, I think that having more regular meetings – whether its online calls or meeting up in person to plan out or get some work done – would be healthy for the game making process as it promotes communication and assures everyone is on the same page and has something they can be doing.
Overall, from this second Game Jam, I have managed to greatly improve my skills on unreal engine in blueprints, animations, rigs, scene management, classes and much more. The area I would like to work on the most next time is teamwork and being able to use source control on a program like Jira or GitHub to work on projects as a team.
Hindsight Review of Fallen Gods: (01/05/2023)
After looking through my code and game with my now decent experience with unreal 5.0 through my CSGO workshops and artefact, I realise that my blueprints can be seen as ‘Spaghetti Code’. After reading through a forum post on the Unreal Forums, user TegLeg (Spaghetti, What Can We Do about It?, 2014) had a similar (slightly larger) issue of code being super long and unreadable and hard to manage. One of the best ways I found to sort this that I wasn’t aware of is using Sequencers to stack code on top of each other. Also, collapsing functions down to take up less space giving them appropriate names for each function. Another area that I found was messy was my content drawer, which I know can be easily fixed by simply using named folders in an organised hierarchy and putting each actor/blueprint in the appropriate folder given them all good names that can be easily recognised to say what they are/do.
Also, looking through the errors I had with trying to communicate with other actors and classes, I can know realise that I need to use casting through the player character/controller for assets associated with that, and then I can also use Get Actor of Class for other actors and access the class variables and functions through there. I can use event dispatchers as well to fire off functions in other classes.
spaghetti, what can we do about it? Messy blueprints. (2014, October 16). Epic Developer Community Forums. https://forums.unrealengine.com/t/spaghetti-what-can-we-do-about-it-messy-blueprints/13336





