Oregon State University|blogs.oregonstate.edu
Blog Owner
Brandon Plumbo

Category: Student Journey

Keyframes and Scripts

  December 2nd, 2024

My teammate Jon’s one request this week was a walk cycle. Having never animated a walk cycle in 3D before, I was unsure how big of an undertaking this would be. About four hours and three YouTube videos later, the character was rigged and walking! Blender makes it surprisingly easy to animate a humanoid character.

While the animation is a bit exaggerated in some areas and robotic in other areas, I think it is a good base for future walk cycles. Recently, I worked with Jon to integrate this and an idle animation into our player movement script. The result is much more natural gameplay. It’s starting to feel like a real game!

The animation comes alongside a proof of concept of multiple systems within the game. I modeled a basic initial scene for the game after much back and forth during the design process. Jon and Matthew have been busy developing a robust player movement system, while Bran has developed an initial shader.

Reflecting on where I was beginning this term, I have learned many new systems within Blender. This enables me to develop assets of a quality I wasn’t sure I’d be able to produce for our game in this short timeframe. Of course, the assets we have currently are a bit janky, but I am confident that if we are able to narrow the scope of assets and revisions that the team will need to produce, I will be able to build some pretty polished characters and scenes.

I’ve familiarized myself with our current code base and hope to contribute more to our C# scripts. I will likely handle scripts for object interactions and the animations I create. This will streamline the process of uploading and integrating assets.

Over break, I will be working with Bran to develop a texturing pipeline that will work with the shaders we are developing. I will also build a block-out of our entire Bunker scene so that we can get started on a rudimentary game loop. Exciting updates to come!

Read the post...


3D Workflow for Game Development

  November 11th, 2024

My journey with the senior capstone project so far has taken the direction of honing my skills in using Blender 3D for game design. The “isometric” perspective lends itself well to our proposed farming game. While we could build a 2.5D title like Stardew Valley, we have decided that our specific game will benefit from a few different advantages of 3D. We are building a farming game centered within a post-apocalyptic world. Thousands of years after the collapse of humanity, the player is tasked with restoring the environment via agriculture. Two key levels of this game will be underground bunkers and the surface world. By building these levels in 3D, the meticulous process of managing transitions and depth within a large and varied environment is avoided. Another deciding factor for 3D development is that multiple teammates have experience with 3D asset creation and processes. Our experience will allow rapid development of a unique aesthetic that will help differentiate this title from other farming titles out there.

The above image is the most recent blockout I made of our v0.0.1 bunker level. While it still needs to be fully textured, shaded, and populated with assets, this provides a great starting point for the development process.

Something I am learning, working with my teammates, is that an initial concept may not convey the final vision very well. We are all eager to rush to the stage of development where concept becomes polished design, and ideas are fully visualized on the screen. It can be hard to meter expectations during early stages of design, so I have opted to finish one asset (the hallway) in order to show what something close to the final product may look like.

After a few stages of back-and-forth, I sought notes on the hallway asset. I found that my teammates are looking for a toon shader aesthetic with hard outlines. Notes also brought out that my teammates prefer contrast between bright and dark tones. This process of design and review is likely a good simulation of being a 3D artist. It is similar to the process of requirements gathering, except the clients are my teammates. Knowing this information moving forward, I have a concrete idea of what is needed for each asset. For hard outlines, sharp corners are favored over beveled geometry. Toon shaders simplify the interaction of materials and put the focus more on color value rather than material properties. I am glad we were able to describe these aspects so early on in development.

My prior experience with 3D modeling in Blender largely involves creating designs for my 3D printing business. 3D printing has a unique set of requirements, such as keeping models manifold, and notably, there is no major cap on polygon count. Game design, on the other hand, heavily relies on efficient topology with low poly counts. Because of this, I have held myself to a higher standard of efficiency when building concept models. Initially, this YouTube series on game asset creation in Blender by LMHPOLY was extremely helpful. It outlines modeling, texturing, and exporting a 3D asset from Blender to Unity while maintaining best practices. Adapting my previous workflow to this new set of standards, I now feel I am experienced enough to create any asset we might need for the game, given enough time.

My next focus will be modeling and rigging 3D characters. In our post-apocalyptic setting, there will be organic life, robots, and cyborgs. Each type of character represents a different combination of modeling techniques. For organic life, I will use subdivision modeling and rigs with weight painting. For mechanical AI, I will use hard surface modeling and rigid rigs via vertex groups. Cyborgs will use a combination of these methods. Below is a block-out of a cyborg Llamma trader that would likely pull carts of goods to be traded with the player.

When creating more detailed 3D art, a concept sketch is invaluable for referencing proportions, etc. Ideally, you can use sketches from multiple perspectives to facilitate the creation of 3D shapes against the reference. (As a side note, I have been working to further my 2D art skills. Inspired by my teammates, I think a more general understanding of art will improve my 3D work)

As with earlier stages of the project, I predict that further creation of concept art will be a great boon to development. With each new design, I learn new methods of simplifying the modeling process or improving the quality of assets for our game. Feedback from my teammates helps us hone the game’s aesthetic and design philosophies. In conjunction, these realizations will ensure smooth development.

Read the post...


About Myself

  September 27th, 2024

Hello all! My name is Brandon, and I’m a student based in Washington State (PDT) taking Ecampus courses at OSU. I actually started out on campus in Corvallis for my first two years of classes but transitioned to Ecampus due to the flexibility it afforded in running my business.

I run a 3D printing business full-time outside of school. This mainly involves designing 3D models and creating CG renders on the promotional end. Blender is my main 3D software of choice, but I also use Nomad Sculpt on my iPad and Fusion 360 for CAD projects. I am also learning OpenGL for code-based 3D projects! Below is an example of some of my work:

Outside of school and work, I enjoy doing anything outside with my friends! This summer, I went on a good number of backpacking trips and got really into mountain biking. Below are some photos of the highlights:

This term, I am taking CS 461, the first in the Senior Design Project series. I am most interested in projects involving 3D game development because I have been wanting to learn a program like Unreal Engine or Unity for quite some time and game development is the avenue within my major that aligns most with my interests. The project I am most excited about is Let’s Launch a Game because I am a fan of sidescrollers and working with this team would provide a unique opportunity in real-world indie game development. The Escape Room Challenge would offer the opportunity to build interactive 3D environments within a game engine and is likely the project that I am most qualified for. I am also interested in the AR Arcade Classics project after talking with Hannalore, a fellow dev, about utilizing VR Headsets and building this project in Unity.

I am also taking CS 450 Intro to Computer Graphics this term, along with my business minor-related coursework. I am excited for all the learning to come!

Read the post...