Hi there πŸ‘‹

Welcome to my blog

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). ...

Shay Power

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. ...

Shay Power

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. ...

Shay Power

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. ...

Shay Power

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. ...

Shay Power

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. ...

Shay Power

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.

Shay Power

Dev blog - 7: Midterms

midterms took up a majority of the time so we didnt get much done.

Shay Power

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. ...

Shay Power

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. ...

Shay Power

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. ...

Shay Power

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. ...

Shay Power

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. ...

Shay Power