© 2024 Twirlbound. All trademarks are the property of their respective owners.
Roles: Programmer Intern
Team Size: 15
Internship Duration: 6 months
The Knightling is an open world action-adventure where you play as an aspiring knight in search of their missing mentor, Sir Lionstone. Equipped with only a legendary shield, you’ll brave your way through the lands of Clesseia to become the unlikely hero.
In this project, I designed and implemented a modular Entity-Component-System (ECS)-based settings system that allowed for efficient management and customization of gameplay, graphics, and audio configurations. This settings framework provided flexibility, enabling easy adjustments for different gameplay needs and player preferences, and was important for ensuring performance consistency across various hardware setups, since this game targets many platforms.
Another important contribution was the development of a procedural and event-driven encounter system. The encounter system allows diverse scenarios by combining randomized and scripted events, allowing the team to set up bespoke and radiant encounters with ease and consistency. Working with senior programmers and designers, I aligned these systems with the overall project vision, identifying technical constraints and exploring gameplay possibilities.
I prioritized efficient, project-appropriate data structures and algorithms, ensuring that each new gameplay system was well-integrated with the existing codebase. I maintained regular check-ins and code reviews, ensuring that new features were fully tested and that any connected systems were thoroughly validated to avoid unintended impacts. By following rigorous testing protocols, I safeguarded code stability and contributed to a smooth, iterative development cycle.
Modular ECS-based settings system
Gameplay, graphics, audio settings
Expanding graph editor toolset
Procedural and event encounter system
Create new gameplay systems that meet project intentions and are coherent with the existing codebase
Choosing appropriate data structures & algorithms for tasks
Carrying out regular check-ins, and integrating development into the shared code base
Collaborate with senior programmers and designers to discuss the constraints and establish the technical possibilities for gameplay
Ensuring that code changes are fully tested, and testing other connected features that could be impacted by the produced feature