My first real project in a C# console app. I decided to recreate the classic game show Jeopardy. It was really fun figuring out how to get strings to print in the console to visualize the game board. I really wanted each square to be it's own, that way I wouldn't have to type out the entire board by hand every time.
I just learned how to make functions, so I went all out and made each question it's own function that would get called depending on the square selected.
I used an array of ints to represent the squares. The ints kept track of whish questions have been answered already. I had another array of ints to represent the black and white tiles for selecting.
I would only need an array of bools to represent the board and one int to represent the selected tile and use the for loop iterations as a counter to know when to highlight a tile for selecting.
I would also like to have some sort of file IO to allow easier creation and storage of the questions and answers. This would also allow multiple round becuase quesiotns could be randomized from a pool.
One step closer to making an actual game. Conway's Game of Life is a simulation of cellular automaton that demonstrates how complexity can arise from simple rules. I learned how to seed randomization to allow the player to start from the same initial state. The player can also save custom states, set simulation speed, step through iterations, and customize the visuals of the grid, background, cells, and the nnumber overlay.
Normally there are 4 rules that determine whether a cell is alive or not. I turned those 4 rules into only 3 conditional statements, and it still has the same behavior.
Probably pretty standard stuff, but I was really proud because no one else in my class thought of it, and it showcases what I believe is one of my strong suits. I know how to change the logical flow of the code to almost anything, without changing the final result of the application in any way other than performance.
A lot of this project was setup for me because it was for school. Also the instructions were very concise and there wasn't much room for creative freedom. I would want to come up with some way to "gamify" the game of life and make it more engageing for the user.
This project taught me the fundamentals of computer graphics. We learned how to simulate get a computer with only a two dimensional screen of pixels to display 3D objects. I used a coordinate system and then applied perspective with division "perspective divide".
Starting from a completely blank C++ project in visual studio and without Direct X or Vulcan; I was able to render polygons and even texture them with UV coordinates. The Final part of the project was to read FBX files and render entire models.
I would love to go back and redo this project from scratch again. I would also expand on it and make an entire game engine, and use that engine to make a game.
Stage 1: 2D and animation
Stage 2: 3D
Stage 3: Textures
Final Stage: FBX files
Starting with a project already set up, I was tasked to make some basic elements of a game engine. Things like collision and object pooling
I created A frustum to simulate a cameras perspective, render distance, and field of view. I created colliders for collision. And I created an object pool that limits the number of objects in the scene at once and reuses them rather than creating and deleting them all the time, for preformance.
I created a grid that accurately gradients between two colors. The colors of the grid shift over time. I also used the particle system i made and attached it to a controllable gizmo, and had it emit particles when you press space. I also combined all the assignments for this class into one project, rather than removing the old stuff.
Stage 1: Grid
Stage 2: Particles
Stage 3: Gizmos
Stage 4: Frustum and Collision