A introduction to my blog!
Hi, my name is Shay Power, I have created this blog to document my journey as a software developer. Im not very good at writing, so i will be trying to keep these blog posts short. let me introduce who i am and what I do. I started programming at the age of 14, when i built my first PC. I originally began with python and used that for the past 4 years for both personal and professional projects. i have a deep knowledge of the django framework, and worked as a freelance contractor developing web applications using it. I also run a home server as a hobby, and a 3d printing farm (both FDM and M/SLA), I also am a strong advocate for FOSS (Free and open-source software). ...
Dev blog - 1: The start
The Beginning In the first week, we formed our development group. The team consists of 10 people, each with the following roles: Team Members & Roles Kuba - Project Director / Generalist Caoimhe - Story Writing Shay (Me) - Programming / Game Design Leo - Programming / Game Design / UI/UX Pedro - Programming / Generalist Misha - Programming / Sound Design Adam - Generalist / Art Work Cian - Generalist / Art Work Piraka - Art Work Lucretia - Sound Design Collaboration & Tools We are using Figma Whiteboard to collaborate and share ideas, and GitHub for version control. ...
Dev blog - 2: Setting up!
The Beginning The second week focused on fleshing out our game ideas, with my specific responsibility being project structure and version control. Based on my past experiences in other development fields and some guidance from the Godot documentation, I settled on the following structure: . βββ assets βΒ βββ audio βΒ βΒ βββ effects βΒ βΒ βββ music βΒ βββ fonts βΒ βββ sprites βΒ βΒ βββ characters βΒ βΒ βββ items βΒ βΒ βββ tiles βΒ βββ ui βββ config βΒ βββ data βΒ βββ settings βββ docs βββ export βΒ βββ builds βΒ βββ logs βββ scenes βΒ βββ characters βΒ βββ effects βΒ βββ items βΒ βββ levels βΒ βββ main βΒ βββ ui βββ scripts βΒ βββ characters βΒ βββ global βΒ βββ items βΒ βββ levels βΒ βββ ui βΒ βββ utils βΒ βββ async βββ tests βββ commits I also set up a GitHub workflow that automatically creates a backup branch, always one commit behind the main branch. Iβve also enabled branch protection, requiring all commits to go through the dev branch first. Merging into production now requires approval from two other team members. ...
Dev blog - 3: First steps
This week was mostly about reviewing ideas and deciding which ones were feasible and easy to implement. A big part of our discussions focused on game progression and how weβll handle level design. Level Implementation Plan For now, weβre sticking with premade levels contained within a single scene. This keeps things simple and lets us focus on refining gameplay and balancing progression. If we have enough time later, weβll look into adding procedural generation to mix things up. ...
Dev blog - 4: basic movements
Moving to GDScript This week, we made a big decision to switch from C# to GDScript. The main reason? The lack of resources and support for C# in Godot was slowing us down. While C# has its benefits, we realized that sticking with it would mean spending way too much time troubleshooting instead of actually developing the game. GDScript, on the other hand, has a ton of community support, better documentation, and is just more in sync with how Godot is designed to work. ...
Dev blog - 5: Map Generation
Art Direction Meeting Week 5 was on the quieter side overall. We had jone team meeting this week, which was mostly focused on the art direction for the project. We spent some time talking through the visual style weβre aiming for, as well as how to keep things cohesive across different assets. A few early ideas are starting to take shape, and itβs good to see the creative vision starting to come together. ...
Dev blog - 6: Art implimentation
Art work! week 6 consisted of implimenting the art to replace our placeholder assets. i also worked on again refining the code provided by pedro and misha to be more clear and consise.
Dev blog - 7: Midterms
midterms took up a majority of the time so we didnt get much done.
Dev blog - 8: Weapons
Ranged Weapon Fixes Week 8 was pretty productive. I spent most of it working with Pedro and Misha on fixing the ranged weapon implementation. There were a bunch of little issues that needed ironing out, but we managed to get everything working a lot more smoothly by the end of the week. Group Presentation We also had our group presentation, which I think went really well. We each put in work on it and covered our parts, and it came together nicely. ...
Dev blog - 9: Health UI
UI Refinement Week 9 was focused on refining the user interface and adding some core gameplay features. I spent the week on the UI originally made by leo β improving layout, consistency, and making sure everything feels clean and functional. Health Bar System I also added a health bar system to track and display the playerβs health, and it took me way longer than expected due to how we designed our health system. eventually i got it to work, and now it updates real time to display the current health of the player. ...
Dev blog - 10: finalizing UI
Quality of Life Settings Week 10 involved implimenting quality of life settings, we implemented a basic settings menu, currently it includes sound control, with plans to expand it later. Itβs simple for now, but itβs a good starting point for future tweaks. Home Screen We also added a home screen to serve as the gameβs main entry point. It gives the project a more complete and polished feel right from launch. ...
Dev blog - 11: Polish
Week 11 consisted of polishing and finishing up the game, we have stopped expanding scope and implimenting new features, we are in the process of adding all the sprites and sounds to the game as some of them are still placeholders. we are also in the process of finalizing the implimentation of map generation, i have gone through the code base to look for potential improvements and the overall quality is good. i have fixed some bugs (mainly movement related). i also expanded the current level to test pathfinding some more. ...
Dev blog - 12: Retrospective
OUR GAME: https://github.com/CSG001-Project/UntitledGame SOURCE CODE: https://github.com/CSG001-Project/UntitledGame Trailer: https://youtu.be/X7zBNPeTrxs This blog post outlines my overall experience developing this game. While Iβm happy with what we created and proud of the final product, Iβve realized that game development isnβt really for me. I found that I much prefer general software development building tools or applications for specific tasks over relying heavily on creativity, a game engine, and the implimentation. I prefer clear requirements and use cases, rather than designing worlds and mechanics from scratch that dont have a strong bases. ...