I overall have had a great experience with my project. Being an avid gamer it has been fascinating to dip into the other side of it. Seeing how game engines work and how you craft together all the different pieces to build an experience is a blast. I mainly have been tasked with making entities for our game. I started out with animals as their were lots of free assets available for me to use. Recently I have been delving into making humanoids also. I would say this is my largest struggle, modeling for these human entities. I just do not have the skillset for it and as such will most likely have to stick with free assets (that have been slightly tweaked for our use.) Midway through this project I hit a wall with what I needed to be doing. It more or less had reached the point where we as a team needed to flesh out the story and lore of our game for me to make progress on what entities I would be making, so the team put aside extra time to take care of that. If we could start over I think my teammates would want to use unity to make the game as opposed to unreal engine. While me being inexperienced I don’t have much of an opinion my teammates have expressed frustration with unreals optimization.
Technologies
Recently I have been getting into discord bot development, as such I did much research into the different options available to coding your own bot. Having most of my coding experience in python I opted to use discord.py for making my bot. The other option was discord.js however I am inexperienced in JavaScript (which would also be a technology I am learning). Developing my bot started out as a joke between my friends and I and the original version only had about 30 lines of code and did one function, however since then it has exploded in functionality featuring a wide variety of commands along with an economy system. At one point I needed to incorporate a database and opted for PyMongo as I had use MongoDB for Web Development at OSU last year. I have also undertaking the daunting process of learning Unreal Engine for my teams progress. The engine has many cool features but can be very overwhelming for beginners. Nonetheless it has been interesting comparing how Unreal works compared to other Game Engines I have played around in like Source and Unity. The “Fabs” available to developers make the process much simpler and you can typically find fabs for game systems like inventory or base building or for textures, models, animations, etc. This means we can prioritize our development on other more unique functions of our game.
Clean Code Blog Post
When it comes to writing clean code, my own journey has been fraught with struggle. Starting out just self teaching I would have little quirks that I personally would like to put in to help “organize” that I have since realized are useless in practice. The most prominent one off the top of my head was compartmentalizing each section of code with single line comments (forming a literal line: ################Function Name############) along with having a comment on every single line of code. Something I have since fazed out as the function name itself with docstrings is often more than enough and lots of code comments are unnecessary. When reading through articles for this blog post I came across this one from Codacy: https://blog.codacy.com/what-is-clean-code One takeaway from this that I personally want to implement into my coding practices is in regards to following established code writing standards. It has a section discussing standards for various languages and brings up PEP8 for Python. I did not learn about this coding standard until I took Software Development II last year, and it enlightened me to the fact it is baked into almost all coding environments as warnings. For example in Pycharm it will underline PEP8 violations in a yellow line noting it as a warning that wont break code functionality, but to double check it. Knowing this now it seems obvious in hindsight but its funny to look back at my old projects and see the copious amount of yellow underlines that I ignored not knowing any better. I also read an article from 8th light regarding some common code smells: https://8thlight.com/insights/common-code-smells I really like a line from the end of it regarding code comments, something I talked about at the beginning of this post. The article says “Rather than adding a comment to clarify a piece of code, think about whether the code can be refactored such that the comment is no longer needed.” I think this is a fantastic line that sums up what being a good efficient coder embodies.
Update 2: End of Quarter
Posting this blog post a little early but by the time of its due date the first part of this class will have ended. I am having fun with my project and team however we are about to enter full development which is a little daunting. It feels great to be done with all our design documents and research however now we have to move towards implementation and this is a whole new beast. I am having to put in extra work as I have zero experience with our game engine so a lot of my work currently has been learning to use and implement stuff in Unreal. Looking forward I am excited for next Quarter and I am happy this class is ending a little early as I have a lot of Projects due over the next week and a half so this is giving me some extra time and breathing room ;-;
Update 1 – a month and a half in
Our project is more or less underway now which is a crazy thing to think about in the grand scheme of things. Joining this class late it was a bit hectic as the day I joined I had to select my project and had limited choices due to the late entry. I am happy with my choice though as the broad nature of our project “Lets launch a game” has allowed us to make something that we are genuinely passionate and interested in. Our concept of Outbreak Island is a survival/adventure game where an experimental disease has ravaged a research island and you as a scientist must discover what happened and escape. The introductory assignments to help flesh out our plan and design have been extremely helpful for the most part. I personally believe the problem statement was very pointless for our project however. This was due to the open ended nature of our project being more or less that we can make whatever kind of game we wanted and for that assignment in particular we did not necessarily have a “problem” we are trying to solve or develop for. Ending on our Team Design Document I think we have put together an excellent plan moving forward and am excited to get into the nitty gritty and actually start building a game. In my own life I am excited that we are officially into the winter season. Hoping to get some snow down in Southern California soon so I can get some skiing in.
Who am I?
My name is Colin Chillingworth and I am from Southern California. I spent the last two years living in Utah before deciding to move back home. I have always been an avid gamer, favorites including Counter-Strike, Minecraft, Legend of Zelda, among many others. I started my college journey at Irvine Valley College, spending three years there during the COVID pandemic. I played on their Men’s Volleyball team all the years I was there. I took a gap semester before deciding I wanted to go back to school and ended up choosing Oregon State. It has been about a year and half now and I am excited to be nearing the end of my journey. On this blog I will be cataloging my progress on my final capstone project I will be working on with my fellow teammates. Our project focus is pretty broad at the moment, “Lets Launch a Game”. I am very excited to see what style and direction we take our game in.