Categories
Uncategorised

Developer Journal : Variables and Functions

Developer Journal

As of the 15th of Monday, I’ve been learning more about using the Unreal Engine.

During this week we covered on how to use variables and functions in the blueprint system, both of these are crucial to cover as they are mainly used to store important information from the game and to make certain actions possible.

What variables can do is to give certain objects or actors within the game world certain properties using values such as; floats, integers, booleans and even strings.

“Variables are properties that hold a value or reference an Object or Actor in the world.”

unrealengine.com, 2021

Shown in Figure 1, you can see that there are some examples as to what some variables can be.

Float & Integer variables may keep track of things such as time as they use numbers as values, whilst something like Booleans can be assigned to more simpler on/off functions such as toggling a player’s light – Strings may also be used for something such as storing the player’s name.

Variable Nodes
Figure 1 (UnrealEngine.com)

Essentially, variables can be used as statistics to help record what is happening within your game. As we are currently using the blueprint system, these variables will be mostly present within our node graphs we use to structure most of the game with.

This brings us into using Functions, which can be created and stored on a singular blueprint and then can be assigned to a simple function which can be called from a different graph.

“Functions are node graphs belonging to a particular Blueprint that can be executed, or called, from another graph within the Blueprint.”

unrealengine.com, 2021

An example of how a function may be used is shown in Figure 2, this presents us with a “Take Damage” function inside a character’s blueprint. Once this function is called, it will take away some of the player’s health.

PlayerHealthFunction.png
Figure 2 (UnrealEngine.com)

The reason why this may of been done is that there may be multiple ways to take damage within the game, and instead of having to recreate the structure over again for each way it is instead assigned to a simple function which can just be called and still serve the same purpose.

Unreal uses Classes, which can contain both the variables and functions we’ve covered together. These can be used as Parents which can allow the properties within them to be inherited into other blueprints.

“Selecting a Parent Class allows you to inherit properties from the Parent to use in the Blueprint you are creating.”

unrealengine.com, 2021

Anything in Unreal can be used as a parent class, for example a parent Actor blueprint can contain properties for ammo and health – which a child blueprint can inherit.

As it is separate from the parent blueprint, we can add some specific functionality that only applies to just the child blueprint such as a unique weapon only available to the actor whilst still inheriting the functionality shared from the parent blueprint.

A more general example of how a parent system is used can be seen here on Figure 3.

Figure 3 (Grewell, C)

The parent class is a tree, and its children are different sorts of trees that have their own specific properties unique to them. The text in bold displays the new properties of each child object, whilst also inheriting the previous properties from their parent.

I personally think that learning classes, variables and functions are a great at trying to get your head around how a good chunk of the blueprinting system might work in Unreal – it also helps with programming generally.

Although I’ve already been familiar with using these in different engines and programs before such as Visual Studio, it is a good idea to keep revising them and also seeing how they may be used differently.

Bibliography

Docs.unrealengine.com. 2021. Blueprint Variables. [online] Available at: https://docs.unrealengine.com/en-US/ProgrammingAndScripting/Blueprints/UserGuide/Variables/index.html [Accessed 21 March 2021].

Docs.unrealengine.com. 2021. Functions. [online] Available at: https://docs.unrealengine.com/en-US/ProgrammingAndScripting/Blueprints/UserGuide/Functions/index.html [Accessed 21 March 2021].

Docs.unrealengine.com. 2021. Blueprint Class. [online] Available at: https://docs.unrealengine.com/en-US/ProgrammingAndScripting/Blueprints/UserGuide/Types/ClassBlueprint/index.html [Accessed 21 March 2021].

Grewell, C., 2018. Classes. [online] Medium. Available at: https://medium.com/applab/classes-d2fb62e266c0 [Accessed 21 March 2021].

Categories
Uncategorised

Developer Journal : 2D Graphics

Developer Journal

As of the 8th of Monday during March, I’ve considered making a start on researching for our 2000-word essay on a technical discussion within the field of games development – we are given several topics to chose for this.

What’s important is that our discussion must be substantiated with evidence throughout it, so research is considered important for this task.

I’ve decided for my topic that I was going to do graphics in 2D games, so to help familiarize myself I’ve delved into researching different image file types such as Raster and Vector images.

Figure 1 (Wikipedia)

Vector graphics (See Figure 1) are known as the most flexible of the image types, they use mathematical formulas to form which can be easily retain a high quality no matter how much their shape and size changes.

“This means that the paths and objects that make up a vector image are individually scalable, preserving the quality of the image when scaling it up or down.”

Dawn Kuczwara, 2021

However, vector graphics are poor at creating realistic images due to this as they are best suited to more minimal styles.

Raster graphics are created by assembling pixels together to create graphics, they’re also the most common format of image types on the web – they also take up much less data than vectors.

“Raster images are ideal for realistic images, like photographs”

Dawn Kuczwara, 2021

They’re also capable of portraying realistic images much better than vectors can (See Figure 2).

Figure 2 (olypress.com)

The quality of Raster images however can degrade once their size is manipulated from the original proportions.

As Vector graphics are scalable, they’re ideal for features such as text fonts and even icons like logos. Figure 3 shows an example of what a Raster and Vector graphic looks like once it becomes scaled up.

Figure 3 (Amit Saxena)

I think that both image types can be vastly useful for many different situations within games, a good example would be how User Interfaces can use Vector graphics so that their quality stays the same regardless of how big a user’s screen is.

However Raster graphics may be better for details that don’t change size as much such as textures for models or scenery, it can also help with saving up memory within the game so Raster graphics may be good to consider if optimization needed to be improved upon.

Bibliography

Kuczwara, D., 2021. Raster Images vs Vector Graphics – Curotec. [online] Curotec. Available at: https://www.curotec.com/insights/raster-images-vs-vector-graphics/#:~:text=Vector%20graphics%20are%20known%20as,created%20with%20individual%2C%20colored%20squares.https://www.curotec.com/insights/raster-images-vs-vector-graphics/#:~:text=Vector%20graphics%20are%20known%20as,created%20with%20individual%2C%20colored%20squares. [Accessed 16 March 2021].

En.wikipedia.org. 2021. Vector graphics. [online] Available at: https://en.wikipedia.org/wiki/Vector_graphics [Accessed 16 March 2021].

Saxrena, A., 2017. What Is Vector Graphics [An Introduction]. [online] Dignitas Digital. Available at: https://www.dignitasdigital.com/blog/what-is-vector-graphics-an-introduction/ [Accessed 16 March 2021].

Olympus Press – Commercial Printing. 2013. Vector & Raster Graphics in Offset Printing – Olympus Press – Commercial Printing. [online] Available at: https://olypress.com/vector-vs-raster-graphics-in-printing/ [Accessed 16 March 2021].

Categories
Uncategorised

Developer Journal : Unreal Basics

Developer Journal

As of Monday the 1st on March, we learnt Unreal during the week. We learned the basics of the engine and how to use its user interface.

When we first started, we had to set our project settings. Within the project settings there are many ways to customize your project such as whether you want to use the blueprint system or C++ – We also have the option to set our quality and platform. (See Figure 1)

Project Settings Fullscreen
Figure 1 (docs.unrealengine.com)

We are going to be using blueprints for our first year of using Unreal, this is essentially a Visual Scripting system. This is a node-based interface which is used to create gameplay elements, used to define object-oriented classes or objects in the engine.

“This system is extremely flexible and powerful as it provides the ability for designers to use virtually the full range of concepts and tools generally only available to programmers.”

docs.unrealengine.com, 2021

This tool is very helpful to many beginners, as it is a simplified version of programming. This can also be especially useful for making small prototype projects as the blueprint system proves to be easy to use to create these types of projects within a short amount of time.

Another thing we learnt about was using Actors within a scene, this is any object you can place within a level. This can range from a simple shape to characters and even some lighting. (See Figure 2)

Place0.png
Figure 2 (docs.unrealengine.com)

Actors can also be modified in a multitude of ways, they are capable of many 3d transformations as well as housing some properties, this means they can be highly customizable.

“Actors are a generic Class that support 3D transformations such as translation, rotation, and scale.”

docs.unrealengine.com, 2021

These are basically what we will be mostly placing within our level, Actors can be thought of as containers that can hold special types of objects known as “components”.

Figure 3 (docs.unrealengine.com)

Many different types of these components can control how Actors work within the engine – this can range from how they’re rendered to how they move.

As shown in Figure 3, this is an example of what an Actor hierarchy of components looks like. As you can see, there are several components attached to this object which enable a mesh to show as well as some effects such as audio to emit from it.

I think that so far, learning Unreal has been quite interesting and I’m excited about getting around to using the engine. I’ve already used several different game engines before, such as Construct 3 or using Phaser with Visual Studio – however I don’t have as much experience with using 3d engines, So this’ll mostly be new and exciting to me.

Bibliography

Docs.unrealengine.com. 2021. Get Started with UE4. [online] Available at: https://docs.unrealengine.com/en-US/Basics/GettingStarted/index.html [Accessed 11 March 2021].

Docs.unrealengine.com. 2021. Blueprints Visual Scripting. [online] Available at: https://docs.unrealengine.com/en-US/ProgrammingAndScripting/Blueprints/index.html [Accessed 11 March 2021].

Docs.unrealengine.com. 2021. Placing Actors. [online] Available at: https://docs.unrealengine.com/en-US/Basics/Actors/Placement/index.html [Accessed 11 March 2021].