Adam Lau's profile

SNHU GAM495 EPortfolio

Professional Self-Assessment
    My name is Adam Lau, and I am pursuing a BS in Game Programming and Development through Southern New Hampshire University. This is my last semester and through my academic adventure I gained immense knowledge and skills that I will take and use for the rest of my life. I have a young son that has yet to start school. I am currently in the coffee industry and am hoping to change careers and become a video game programmer. I would love to start my own gaming studio but the realist in me would be satisfied with starting as an intern or entry level at an established company.

    These four artifacts fit together as they display and showcase a broad range of skills, abilities, and knowledge gained through my time at SNHU. These artifacts are by no means the only things I worked on as a student and not an exhaustive representation of my talents and abilities. They do show my ability to work in different game engines and programming languages. As well as being able to work with third party applications to create assets and import them into each game engine.

    I've gained an immense amount of knowledge through the courses of SNHU. Not only the technical courses but the general education courses as well. These courses will definitely help me with my future career. From research processes to essays, everything can and will be used throughout my life. These projects have prepared me for breaking into the gaming industry as well as getting me through promotions.

    My work throughout my time at SNHU and in these artifacts shows my mastery of the program outcomes. I can create and document code in a variety of languages and game engines, work with 3D and 2D dynamic gameplay, AI, debug, adhere to industry standards, and much more. Every programmer has his or her different way of programmer, however, most if not all programmers keep a universal standard to a certain extent. Things such as name conventions, commenting on their code's functionality, etc. I also had the chance in one of my courses to create a game in a group environment. That was a lot of fun and opened up my eyes to the pros and cons of remote work with a team from all different time zones. It also reinforced the idea that communication is key. If someone if struggling, communicate that and the team will come together and do their best to help. We all had different backgrounds and experiences but pooled our expertise and everyone was assigned what they were best at.

    I used game programming best practices by commenting my code and following appropriate naming conventions. I also had the pseudocodes laid out in my head or on paper. Commenting my code helped me out later on when I had to refine my artifacts. I had forgotten a good bulk of the functionalities of my code but thankfully I had written efficient comments and followed appropriate naming conventions of my variables. Pseudocode helps plan out what I'm thinking in my brain and bring out physically and shows me the direction of where I should go.

    I'll apply what I learned throughout my time at SNHU to my academic and professional life by using the research methods and processes that I learned. My general education courses as well as technical classes took a lot of research and data procurement to complete the assignments given. This is an invaluable skill to have no matter what I do academically or professionally. Professionally, I will apply knowledge I gained from various technical courses that I had such as being able to write game docs, communicate with stakeholders, ad banner designing, etc.

    I faced some challenges getting the AI to work properly and getting it to chase the player when the player was in the field of view and having the player "die" once captured. I overcame this by finding some tutorials online and incorporating some of my own knowledge on the matter. I was able to get it working properly after following the tutorials and playing around with Unreal's blueprints. Another challenge I had was animating the demon bow & arrow to smoothly pull back the drawstring and arrow then flying off. I overcame this by adding keys where it was starting to look weird due to the tweening so that it would pull back with the arrow nicely.

    I will incorporate my knowledge of professional ethics in the game-programming career field I hope to enter by being conscientious and adhering to them. I will uphold integrity by giving credit where credit is due. I will also promote the growth of the company and contribute to the game developer's community by being welcoming and supportive. I will never steal or sell user data. These are just to name a few of the professional ethics that I plan to be conscientious of and adhere to.
Artifact 1: Box Shooter
Artifact 1: Box Shooter Reflection

    This was created November 8, 2020. Box Shooter is a simple FPS where you can rotate around and shoot boxes for points. The player is stationary. The goal is to get 50 points before time runs out. There are 4 enemy types that give you extra time, give you points, reduce time, and a hidden target that is hard to see and hit but gives you 40 points. There are two levels in this game that are clearable. The enemy assets were made with Maya and imported into Unity and the scripting was done in C#. They fly side to side or up and down for more difficulty. 

    This was included in my ePortfolio because it was a simple game that I created from a different course from Coursera and the original game only had colored cubes as targets, so I wanted to refine this to make the targets actual targets. I believe the creation of the assets and the implementation of the assets into Unity showcases my modeling skills and abilities. As well as the scripting of the targets and UI functionalities.

    Relearning Maya and its capabilities were a blast. I had a lot of fun modeling each of these enemy types from scratch and honestly, I didn't think I'd be able to do it. I learned a great deal from the creation and refining of this project. From scripting to designing and modeling, this project challenged me as both a programmer and designer. I faced some challenges along the way. One being the logic behind each target and the benefits or cons of each of them. Another being the creation of the enemy types especially in such a short amount of time. I incorporated the feedback given and tried to improve upon it as well. I believe that led to the artifact being improved by many things. It originally started with the enemy types being shapes such as spheres, cubes, and triangles. It now looks like a much more engaging and immersive game that has mythical creatures as targets.

Tool(s):

Unity and Maya

Highlights Skills:

3D graphics & 3D Design
Artifact 2: Roller Ball Madness
Artifact 2: Roller Madness Reflection

    This was created January 24, 2021. This game was made using Unity and programmed in C#. The player is a ball that rolls around collecting coins while avoiding tracking enemies. Once the player collects 5 coins then they move to another level where they collect 20 then they move to another level where they collect 50 coins. The coins and enemies randomly spawn into the level. The ball has a rubber collider on it and there are boxes around the level that have a bouncy collider and the coins have a bouncy collider on them as well. The difficulty ramps up as the levels get higher and the map gets larger too. The enemy used to be boxes but have been changed to a proper enemy type that gives the feel of a zombie horde chasing down the player.

    I included this project in my ePortfolio because this was another Coursera project that I had wanted to expand and polish. It originally had two levels and boxes as the enemy model, so I believe the third level showcases my level design skills and abilities. As well as the scripting for the enemies and roller ball.

    Creating and refining this artifact took a lot of time. It was fun messing around with the different settings for speed, velocity, friction, and the bounciness of the collider. Getting the camera height and distance just right was a bit frustrating because it would sometimes lead to being unable to see in some parts of the level due to the geometry of the level. I learned a lot about level design and asset placement during this project. As well as programming for the spawners and UI. I faced some challenges while creating and refining this project. Once challenge was as mentioned before the camera height and distance while following the roller ball. Another challenge was getting all the logic to work properly. From the chasing of the player to getting to the next level once completed or restarting the level if failed. I incorporated the feedback and tried to improve upon it. I was told that the velocity of the ball wasn't enough, so I had finely tuned it to. It originally started with cubes as the enemy type, but I was able to switch them out with an actual model. This model feels as if a horde of zombies are chasing you and they look kind of eerie and creepy. This adds to the immersion and feel of danger as they are chasing you around the map.

Tool(s):

Unity

Highlights Skills:

Game Engine Mastery, 3D Design, and Physics
Artifact 3: Demon Bow & Arrow
Artifact 3: Demon Bow & Arrow Reflection

    This was created June 17, 2021. This is a demon bow and arrow made using Maya. The bow has sunken eyes and horns and a giant mouth with bloody teeth that the arrow shoots out of. 

    I included this in my ePortfolio because this was an early course for the University that I'm attending, and I was proud of the work I had done especially for a first-time model. It was originally colorless and a little rigid, so for the refinement I smoothed it out a bit, added colors, and touched it up. It is a high poly model that has been animated to pull the draw string back and shoot the arrow.

    The creation and polishing of the bow and arrow were both frustrating and fun. I always have a hard time finding reference photos of the subject that I'm modeling so I usually end up modeling it without any references. In the beginning it is frustrating trying to get started and getting things in place but once it starts coming together, I lose myself and have hours of fun. The same was with the polishing process. I hadn't used Maya for about 2 years prior to polishing this piece. Once I relearned the application and flow of things, I enjoyed polishing this piece. I learned the different tools of Maya and their functionalities. As well as which shapes to use when modeling certain parts of the piece then merging them all together. I faced the challenge of the application itself. Maya is a complex modeling program with tons of tools and functionalities. Sometimes things don't go the way you expect it to, and the tools don't do the functionalities the way you thought they would. I incorporated the feedback and tried to improve upon it. I had the arrow scaled up because in my mind a greater demon the size of skyscrapers would be using this bow and arrow, but my professor and fellow colleagues told me to scale it down. I improved this piece by smoothing out the details, adding colors, adjusting the size of the arrow, and some other small tweaks here and there.

Tool(s):

Maya

Highlights Skills:

3D Modeling
Artifact 4: Clean Your Room
Artifact 4: Clean Your Room Reflection

    This was created December 7, 2022. This game was made using Unreal Engine 4 and was programmed using C++ and blueprints. It is an FPS where you walk around the level collecting messes. The mess randomly spawns and bombs randomly spawn as well. I currently had the mess collection set to one for testing, but I am able to set it to any number desired. The bombs will explode and kill the player when touched and will quit the game. There is also a roaming AI that starts on the second floor that will chase the player when the player is in the AI's field of vision and if caught, will also quit the game. The AI will roam to random parts of the first floor, second floor, and wrap around balcony.

    I included this in my ePortfolio because I was proud of the level design that I had accomplished for this project. I also wanted to expand upon the functionalities and make it more than just a game where you pick up items (mess) with no danger incorporated in it. I believe the overall level showcases my level design skills and abilities. As well as the blueprinting for the bombs, AI, and UI. I think this could be a good starting area for a game or a good "safe" house design for a horror or zombie game.

    The creation process for this level was enjoyable. When I read the requirements for this project, I instantly thought of modeling the home I'm living in and got straight to work. Once I got started, it was hard to stop. The same goes for the refinement of the project. I was thinking of either creating a second story or expanding it outwards. Ultimately, I went with the second story. I learned more about the tools and shortcuts that Unreal offers and made use of them while creating and polishing this piece. I found myself reusing them so much that I'm glad I had learned them early on or this would've been tedious to say the least. I faced some challenges with the bombs and AI but was able to figure them out through trial and error and research. I incorporated the feedback and tried to improve upon it. It was originally based off of the house that I'm living in and for the refinement, I added a second story and a wraparound balcony. It also didn't include the player's ability to die and quit the game or the enemy AI until the refinement. It was a bit rough, so I cleaned it up some more and fixed some of the jankier areas.

Tool(s):

Unreal Engine 4

Highlights Skills:

Level Design, Game AI, & 3D Graphics
SNHU GAM495 EPortfolio
Published:

Owner

SNHU GAM495 EPortfolio

Published: