Slow and Steady Systems Builds
During this last week, a lot of the Progress made was behind the scenes, setting up to implement features that'll come to fruition at the end of this week. Unfortunately that also means we don't have anything fancy to show in the game for now.
We now use a Fullscreen window and have our Camera in the classic Top-down, Isometric mode that ARPG fans are familiar with. We've also added in slightly more fleshed out controls and *A Debug Camera Mode* to help us while testing some graphical features that can be toggled on and off in-game.
A lot of this early work is focused on getting assets in smoothly and setting up systems so that they are easy to play around and experiment with. A requirement for the Game we're making as part of this Project is that it shows off our Graphics Programming Skills with the final product being able to display a variety of objects all with different, realistic materials and using modern techniques that are being used in the industry. Designing a Renderer that supports modern techniques like PBR Materials and Compute Skinning while keeping it performant is a difficult task that requires good sense of Engine Architecture to avoid running into bottlenecks. We needed to move away from hardcoding the objects we were drawing and implement a more versatile system for this.
With that as a goal, we worked on our previous demo with a single Mesh with a simple texture to now have support for multiple meshes in the game, all with different Materials. These things are pretty basic to people used to Engines like Unreal or Unity but they are also foundational systems on which a lot of the Game's features will be built on. And in addition, for those interested in Graphics Programming, we we re able to implement a technique called Bindless Rendering, which lets us minimize State changes between draw calls, a necessity when developing a Performant and Modern Game Renderer in 2023.
Another complication in this endeavor was the FBX file format, which is a very flexible way to store 3D model data that might sometimes trip you up with Model Information being stored in ways you weren't expecting, requiring you to handle many different possible permutations when importing these in. Work was also done to ensure that we dealt with the various ways FBX supported model data to be stored and that our Asset Import Pipeline worked with a variety of models so that we are limited by this later on in our development cycle.
Hopefully that's some new terms to familiarize yourselves with while we work on this week's tasks so that the post at the end of this week will have a lot more to show off.
Team Three Was Taken - Sreenath Premkumar Sreekala
Salvager
Sci-Fi Action RPG
Status | Prototype |
Author | threewastaken |
Genre | Action |
More posts
- Mixamo Mesh Bone WeightsOct 22, 2023
- Particle Systems and Burn outOct 22, 2023
- Shadow Maps, Particles and AnimationsOct 22, 2023
- Splash Screens: aka Don't mix your Drawing APIsOct 21, 2023
- Scaling to every Circumstance: UI LayoutsSep 09, 2023
- Separating the Game from the EngineSep 02, 2023
- Catching Up: Refactors and UI ScreensAug 12, 2023
- Setup for SuccessJul 08, 2023