Tuesday 31 January 2017

Unit 71: Object-Oriented Design for Computer Games

Concepts and Principles
When creating a game your blueprints what you input into your game have to easy to read and understand. For example if you were to create a blueprint for a spawn rate of an enemy, Simplified understanding means how easy it is the read and understand or how easy it is to identify what you were trying to achieve. If your blueprint is hard to understand then it can open many problems for the future if you some reason you had to go back and show your blueprint to someone else or you have to explain what you did, they may find fault if there are a much easier way of doing the blueprint of it it simply not understandable.
 Another important aspect is ensuring that your blueprint is easily reusable. This is useful in case something happens to your work and for some reason you have to remake or edit a existing blueprint. By being able to reuse it means you can recreate and adapt the current blueprint to suit your needs.
 Naturally if your blueprints are poorly maintained you will not be able to replicate or make necessary changes to them if it was needed because they may be damaged in such a way that you'll have to completely remake it. In addition to that it's always important to check your game and your blueprints for any issues because if some are found, you can fix them as soon as they are found. If you are able to maintain your game and remove any issues that appear you will be efficiently be able to deal with any future problems which appears, meaning you solve the problem which arises faster and with no hassle from any pre-existing problems.
In my game and in many other games you often create objects based on real structures or objects, for example creating a building. Many would find a reference image to give you a foundation on what you want to design it on. However when you create an object in a game it doesn't have to follow how you'd expect an object react in the real world which'll allow you to make all kind of weird and wonderful fun effects on the object in the end.
 When creating a game it is very important to make sure all of the aspects uphold a certain degree of quality inside of them.

Game objects
Sprites are 2D images of an object or character. When using Gamemaker you created the sprite to act as the shell for the object in which inside of this "shell" you would add all of the coding inside. When you were using Gamemaker you had to create multiple sprites of the same character or weapon if you wanted to animate your characters. Characters within your game are often yourself (and others if you're playing with a friend) and interactive NPC's such as bosses or helpful allies. Normal enemies are not usually considered characters. A weapon within a game should be designed in a unique way as a sprite and ideally it would have different effects or do something different to the other weapons in the game. Ideally you would apply the same logic to the scenery as well. Sometimes in a game youget power ups which will alter your character in a way to make a few tasks  within them easier, for example Mario where you collect the mushrooms and other things to give you a unique effect.
One of my characters


Image result for super mario power ups
One of the many power ups from Mario


Object properties
Many games have a set amount of health you are given in a game, this can be increased with power up or with a certain event triggering. Some bosses will either speed or or slow down when you damage them enough. In most games the bosses are either faster than you and they rely on you dodging there attacks more however some bosses which are slower may deal more damage making you needing to dodge less but each dodge but it could be crucial that you succeed in dodging. On some games when the enemies take a certain amount of damage they start acting sluggish. I believe the aim of this is to make the enemies seem more of a challenge as you damage them further or vice versa.

Image result for Ragnaros
A boss fight




Actions and Events
Mouse and keyboard events are usually how you move around and interact with objects inside the the game. Usually WASD are how you walk (W is forward, S is backward A is left and D is right). These are usually easy to code when using Gamemaker all you had to do was set the specific key to do a certain action (such as setting W to move forward) and then that was finished. The other keys such as E to pick up or interact with other objects or the Space bar to jump can also easily be implemented inside the game. An easy way to gen an object to destroy themselves is by adding a collision event in. For example when a bullet is fired it'd destroy itself and/or the wall when it hits it. A few enemies or levels have time you must beat them, if you fail there is a high chance you will fail or not get any kind if substantial reward.



Related image
A timed event in Diablo 3




Inheritance: 
Inheritance in an object means that when a certain event is triggered it can be reused by another object or character, i think a good example of this is that when you die in a shooter game you can usually pick up the enemy's weapon and use it yourself and so the cycle continues.

Wednesday 25 January 2017

Unit 66, 67 – 3D Modelling & Animation

This is my first melee weapon for my game, a corroded axe with a curved blade for hooking onto flesh or possible dismemberment. I started by creating hilt. I used a cylinder polygon with 8 subdivisions along it's width and 8 along the depth. I used the extrude tool to add on the little nobly point the bottom of the hilt and i used the make hole tool to create a small hole at the bottom of the hilt as well. These are only for decoration purposes but they can be used to show where the player
 will grip the weapon. For the blade i used the extrude tool and elongated the selected edges and pulled them apart. I used to inset edge loop tool to all me to add a curve into it and I then used the smooth tool to give it more polished and sharp look. 
This is a shed i'm going to add into my game. It is going to be a spawn point for a weapon, most likely a melee weapon such as the axe from above. I intentionally made it look empty because the setting is in a abandoned forest/rural region and it's either everything has been looted or has been missing. I started by creating a 4x4 2d place. I extruded the edges upwards to create a box shape and sealed it off by extruding the edge again to drag and create a smooth roof. Inside i created two cube polygons and made them a very slight difference in size just to fill up the empty space. I used to insert edge loop tool and extruded the edge to create the shelves. The weapon will be placed on the shelves so you can pick it up once you see it.
The next model is a Rifle and i plan for it to be one of the few ranged weapons in the game, naturally the ammo is going to be in a limited supply as well. I used a M1 Garand Image plane to model this off of and the is constructed from a cube polygon, stretched out with 3 subdivisions in height, 4 in width and 2 in depth, there is also a cylinder which has be cut in two and a small pipe polygon for the barrel of the gun. For this object I used the extrude tool and edge loop tool to create the majority of the object, but for the other polygons i had to use the merge tool to combine them together. This may be found 
This is a memorial area for my game, I created it by two Cube polygons and giving them an extra 4 sides and then duplicated it to form two steps into it. The middle resembles a kind of coffin or perhaps a hidden entrance into somewhere. On the top of the coffin is something what resembles a trident or a set of three torches. The back of the memorial is sealed off by a wall and on the side is two sets of cupboards.


I could improve all of these by adding or changing a paint to them and few textures to flesh them out. But during this time i have learnt how to use Maya better and how to create more detailed models