Categories
Uncategorized

Blog Post #3

Why did you choose your project, and has it met your expectations thus far?

I selected Create A Game because as a 90’s kid video games have always played a big part in my childhood. From as far back as I could remember video games had been something I loved to play and wanted to be involved in creating. As a child, I use to dream of game stories and characters although my lack of drawing skills meant I never attempted to act on them. My expectations of game development haven’t changed much but it’s certainly a ton of work when you need to consider art, sound, art, and the general flow and expectations of your game.

What would you do differently on your project and why?

I would’ve preferred to work on a 2d game in Unity over a 3d game in unreal. 2D assets are way easier to work on and it seems like it would be way easier to develop a mvp faster. That said, I’m glad I’ve gotten better at using blender and I love to learn new things but I think as a team we may have set our expectations a bit too high.

Categories
Uncategorized

Blog Post #2

What is your most favorite technology? Least favorite?

My current favorite is Unity due to how much of a pain Unreal has been. Unity is far more lightweight with a ton of resources for c# (the language that is used to develop in the engine). I’ve had a lot of issues using Unreal due to crashes and lack of documentation. Unreal seems to also push users into its own scripting language “Blueprints”. While it doesn’t impede great games I don’t feel like it’s very beginner friendly.

What technology did you have difficulty learning, but now appreciate?

At first I had trouble with Blender. There is a ton of different settings and the control scheme is more difficult at first. As I’ve created multiple assets, I’ve began to understand how the program works and have become more confident. It’s extremely helpful to create your own assets because you don’t have to rely on external assets made by other people. This means copyright also becomes a non issue because you own the copyright to your own creations.

Which technology had the most difficult learning curve? Easiest?

Unreal has been the most difficult technology to grasp. Putting aside crashes and lack of documentation it feels way less intuitive than Unity and Godot. I’ve had a way easier time with creating small projects on both without needing to reference documentation. The easiest has been Blender which is mostly due to shortcuts and being able to reference documentation so easily. I’m not remotely artistic and I’ve been able to make various things using images as stencils.

If you could start over, what technologies would you use instead of the ones you are using?

If I could start over I would prefer using Unity. Unreal has a ton of useful tools but I could be doing far more much easier with Unity. That said, the experience I’ve gotten with Unreal has shown me how difficult video game creation can be, especially with higher profile studios with more that needs to be done. Not that it isn’t the same case with Unity but more AAA games using Unreal have come out.

Categories
Uncategorized

Code Smells

According to the article code smells or “technical debt” increases the time to fix bugs and the number of bugs in code. While a few code smells may not be a big issue these smells increase and can make the code harder to debug and ultimately waste time. In fact, according to Bavota, they found code smells were rarely removed when studying over 10,000 refactor focused commits (Bavota & Russo, 2016). An example of a code smell could be repeating code which can extend the length of a class needlessly, shown in Figure 1.

Figure 1Dry code Smell

In this instance it would make much more sense to dedicate a function that provides the same functionality preventing repetition(Christiaan Verwijs, 2021). Also, rewriting the same code becomes cumbersome and painful to debug in a large database. This means a single function will be called for both calculate_shipping_cost and calculate_tax and if any issues arise then you can just refer to the function that replaced the code.

Given this, I plan to review my code before pushing changes and annotate parts where I believe code smell is an issue. While I may need to do something dirty to continue when I’m stuck this means I can still progress then back to clean up. This prevents me from making my code too large and unmanageable while still being able to make progress and not worry about the perfect implementation at that moment. While this may not be the best way, sometimes I get frustrated and start to focus on other things which makes me take longer. This allows me to progress and stay involved with my current task.

References

Bavota, G., & Russo, B. (2016). A large-scale empirical study on self-admitted technical debt. 315–326. https://doi.org/10.1145/2901739.2901742

Christiaan Verwijs. (2021, December 20). In-Depth: What Scientific Research Has To Say About Technical Debt And Code Smells. Medium; The Liberators. https://medium.com/the-liberators/on-technical-debt-and-code-smells-ae8de66f0f8b

Categories
Uncategorized

Hello world!

Welcome to blogs.oregonstate.edu. This is your first post. Edit or delete it, then start blogging!