Learning Journal:
Activities
Our class discussion this week centered around granularity in games. The term 'granularity' refers to the level of detail present in a game. Specifically, we talked about Car Mechanic Simulator 2021 and M.A.S.S. Builder. Many of these types of games, where intense granularity is a big part of the experience, can be very intimidating. I understand the appeal of having a game where nearly everything is completely customizable, but it's not the sort of thing that I would enjoy. Mechanic simulators where the stakes are low could be a fun way to pass time, but higher stakes games with high granularity become stressful and tedious very quickly.
After our discussion, we moved on to an MDA analysis of the game Dynasty Warriors: Gundam Reborn. I attempted to find the clip we watched to reference it, but couldn't remember the exact one.
M - build up 'adrenaline' by executing combat moves, capture bases/certain areas, recharging turbo
D - perform combination attacks, accumulate points by destroying enemies and capturing areas, turbo used to fight airborne enemies
A - chaotic, invincible, part of the team, maneuverable
A couple of the mechanics - specifically the recharging adrenaline and base-capture system - stuck out for me because they are more familiar from games that I have played, and were therefore recognizable. It looked interesting enough, but I'm not really a huge fan of 'mech' games on the whole.
Red Dot Games. (2021). Car Mechanic Simulator 2021. Steam. Retrieved August 23, 2022 from https://store.steampowered.com/app/1190000/Car_Mechanic_Simulator_2021/
Vermillion Digital. (2019). M.A.S.S. Builder. Steam. Retrieved August 23, 2022 from https://store.steampowered.com/app/956680/MASS_Builder/
The lesson's content was primarily about algebra in games. Mathematical concepts are very important to consider when creating a game, as they're integrated into just about every element. Generally, game development favours practical, applicable maths over 'pure', or abstract, maths. An example of this would be drawing up a table or spreadsheet to calculate the drop-rate of loot. Another practical way of using maths is in coding. I've had a taste of this in GAD170, with variables such as movement and turn/rotate speed.
speed = 3
curSpeed = speed + 10
could also be written algebraically as
x = 3 speed = x
y = x + 10 curSpeed = x + 10
y = 3 + 10
y = 13
We then went over polygons in the context of 3D modelling and design. This is a topic that I already had some knowledge about, as I've got prior experience with software like Blender3D. Polygons in geometry are shapes made up of points, lines and areas. In 3D, however, these terms change to 'vertices', 'edges' and 'faces' respectively. Altogether, these are referred to as topology, and can be good or bad. It's best to strive for neat and organised topology, as it can warp the way the model renders if done badly. I love working in 3D, and follow a lot of online tutorials to teach myself the art, so these particular concepts are already familiar.
Following this, we touched on cartesian and quaternion coordinates. These are, simply put, points or locations in 3D space. The main difference between the two is that cartesian coordinates encapsulate three values (x,y,z), and quaternion coordinates encapsulate four (x,y,z,w). Cartesian is the most common as it exists on the three axes. Additionally, the Eular concept is the idea that all angles exist within a scope of -180° and 180°.
Finally, we moved on to vectors. These are simple enough; a vector determines direction and/or magnitude and is typically made up of two or three values. In coding, a Vector3 is coordinates for the x, y and z position of the target. To create movement using a vector, the input must include the direction along cartesian space + the distance travelled. For example, (0,1,0) means moving one increment along the y axis.
A ray-cast us a hypothetical (i.e. without thickness or physical substance) line from one point to another. A common use for this is when determining whether a bullet will connect with something without having to actually release the projectile itself. I think I understand the basic idea of what a ray-cast is, but I might need to see it in practical application to fully get it.
I am not very good at maths, so getting my head around these ideas always takes some time. Fortunately, basic algebra and geometry like the kind we went over this week comes a bit easier to me. One thing that really stood out was that it is always better to solve problems mathematically, rather than relying on the development Engine to figure it out, because it makes games run significantly faster. Waiting for the Engine to solve any issues can become hugely expensive for the computer to process and cause run-time to skyrocket. My question from this class was about RGBA colours. I did some research and found that the A stands for the alpha channel, whilst RGB denoted the red, green and blue channels. This prompted a further question as to what the alpha channel actually is. It doesn't carry any particular colour like the others, instead specifying the opacity of the RGB output as a value between 0 and 1 (W3Schools, n.d.).
Photoshop sketch for illustrative purposes.
Danan. (2016, September 21). Why Do We Need Topology in 3D Modeling. Thilakanathan Studios. https://thilakanathanstudios.com/2016/09/why-do-we-need-topology-in-3d-modeling/
W3Schools. (n.d.). CSS Colors. Retrieved August 2, 2022 from