UNIVERSITY OF AUREL VLAICU ARAD FACULTY OF EXACT SCIENCES PROGRAM OF STUDY – ADVANCED STUDIES OF APPLIED COMPUTER SCIENCE DISSERTATION PAPER… [306051]
[anonimizat]. [anonimizat]
2019
[anonimizat] A FIRST-[anonimizat] C# USING THE UNITY GAME ENGINE
SCIENTIFIC COORDINATOR
PROF. [anonimizat]
2019
[anonimizat], but also in the life of adults who can benefit intellectually and emotionally from it. For a child, [anonimizat] a [anonimizat] a [anonimizat]. Playing, they learn to discover themselves and the world surrounding them.
The human brain represents a standout amongst the most complex organs. [1] [anonimizat] a computer. Unfortunately, [anonimizat]. More and more scientific evidence shows that the human brain must not be the mandatory subject to deterioration as it ages. [2] There are preventive measures that can be applied to increase the likelihood of a healthy mentality. [anonimizat] 2013, and concluded that several areas of gray matter have expanded considerably. The conclusions were based in the scenario of playing the Super Mario game for two months, 30 minutes each day. [anonimizat]-scanned, [anonimizat], and the cerebellum grew up. [anonimizat], [anonimizat]. [3]
One advantage of a first-person, role-playing game is that it can be adapted to the intellectual needs of the people who use it. These games constitute a good help in making decisions. Given that most require a [anonimizat]. [anonimizat], becoming more and more correct and logical. [4]
[anonimizat], role-playing specific architectures. [anonimizat], Blender, Unity, and C# [anonimizat] I will expand on within the next chapter devoted to technologies. Furthermore, another specific goal is to create a [anonimizat], and, [anonimizat], giving the user the choice of completion through creativity.
[anonimizat], a concluding part and an appendix containing relevant figures and tables.
Starting with the first chapter, I [anonimizat], functionality, as well as the advantages and disadvantages of using the respective technologies.
The second chapter deals with the ongoing development of the first-person, role-playing games, the applicability of such a game, but also its current state, as well as picturing a contrast between already existing games of this type. In that specific regard, etymology of the words "game", "first-person" and “role-playing” could not be ignored.
The third chapter is dedicated to the user’s view of things and the benefits that occur while playing the game.
In the fourth and final chapter, I conducted a detailed overview of the development of the actual game. Depictions of in-game data are also present.
The paper ends with a conclusive part presenting the original contributions of the author for the studied field, and possible directions for further development of the approached field.
What this paper aims to highlight is the importance of creative first-person, role-playing games, materialized in the expanding of the imagination, spatial vision, and logic, combined with the vision of programming, using specific technologies.
Motivation
The overcoming of obstacles is an important part of a child's mental development, many parents and scientists assume that there are many advantages that should not be ignored. Exploring is beneficial for all ages, regardless of gender, race or religious philosophy.
The reason I chose the first-person, role-playing game is due to its multiple benefits and the fact that it can go in a direction that has little to no negative consequences on the player's behavior, as many of the games that are present in the industry have today.
Among the benefits of the first-person, role-playing game is the emphasis on immersion, the children telling what they see in the environment and wanting to find out more about what they do not yet know.
Hand-eye coordination is improved through this spatial orientation game. The game has a logical structure, helping users solve the problems in stages. Another advantage of this type of game is that it stimulates the desire for knowledge, helping those who play to improve their general knowledge in a constructive way.
Objectives
The scope of this paper is as follows:
– Acquiring the knowledge needed to create an interactive and complex first-person, role-playing game
– Creating a user-friendly environment that is visually appealing when accessing
– Effective creation of the first-person, role-playing game
– Establishing a base, difficult climate that eases drastically based on user’s decisions
– Creating a user interface based on simplicity
– The freedom to change the world to the desired degree by each player
– Optimizing the runtime of the game by in-code improvement
– Deepening current development directions in the game industry
Technologies Used in the Game’s Development
For a better understanding of the functionality of technologies used, I will refer to them as part of the human body. In that sense, the "skeleton" of the project is represented by Unity, which is driven and animated primarily by the C# programming language, altogether being covered by the outer shell, represented by Photoshop and Blender, the latter constituting the designing part of the program.
As mentioned in the introduction, in this chapter I will deal with the technologies utilized in the development of the first-person, role-playing specific architectures. In this regard, the following technologies will be presented: C# programming language, Photoshop graphics editor, Blender graphics software and Unity game engine.
C# (C Sharp) Programming Language
The ♯ (sharp) notation in music, which indicates that the music note followed by ♯ is taller with a semitone, inspired the name of the C# programming language. It strikes a similarity with the C ++ language name, where ++ represents both the increment of a variable with the value of one, but also the fact that C ++ is more than the C language.
The C# language was developed within Microsoft. The main creators of the language are Anders Hejlsberg, Scott Wiltamuth, and Peter Golde. Microsoft, as part of the .NET initiative, launched the first widely deployed C# installment, in July 2000. From that point on, the scope of advancement was primarily comprised of a spectacular evolution. Thousands of C, C ++ and Java programmers have migrated easily to C#, thanks to the similarity of these languages, but especially to the qualities of the new language. C# continues to attract many followers, becoming one of the most widely used languages in the world. [5]
The C# creators intended to endow the language with more facilities. The success it enjoys today confirms its qualities:
It is a simple, modern programming language, of general utility, with high productivity in programming
It is an object-oriented language
It allows the development of robust, sustainable industrial applications.
It provides complete support for the development of much-needed software components, for example in distributed environments. In fact, C# can be characterized as being not only object-oriented but also component-oriented.
The first version after the release of C# was version 2.0, which introduces some features like iterators, getters and setters, static classes and Delegate derivation. With version 3.0, some of the important highlights that were incorporated were partial and extension methods, expression trees, collection and object initializers. The following adaptations that showed up were versions 4.0 and 5.0, which did not incorporate significantly more highlights diverged from past variations. Version 6.0 introduced with Visual Studio 2013 until 2015 contained new elements: methods with bodied expressions, primary constructors, auto propriety initializers to name a few. The final version that was released was C# version 7.0. This iteration integrated some important components, for example, local functions and tuples. [6]
Looking at the basic structure of a C# script, the C# program comprises of the accompanying parts: namespace declarations, the main method, classes, class attributes, class methods, expressions and statements, comments. [7]
Figure 1-1. Example of a C# Script
Figure 1-2 shows an example of a script used inside the project, with the scope of detecting the objects marked as tag “enemies”. The “using” statement tells Unity the location of a directive, which settles unqualified references type, with the goal that a designer will not have the need to determine the complete namespace. Throughout this game, the entirety of the code will be found inside different namespaces. Namespaces are utilized in C# to sort out and give a dimension of code separation. They can be considered as a holder, which comprises of different namespaces, classes, but are not required in a C# program, yet they do assume a critical job in writing clean code, especially for larger projects. Namespaces moreover deal with the issue of having two classes with the same name set up together.
Lastly, inside the example C# script there are three methods, which are used for performing various functions. The “start” method runs the code one time at the beginning of the game. The “update” method reruns the code each frame of the game, while the game is running.
I have opted to use the C# language in the programming of the first-person, role-playing game in light of the numerous advantages it brings. A portion of these advantages can be condensed in:
Simplicity – given by to the absence of pointers, garbage collection inheritance, and automatic memory management due to the integration with the .NET platform, unsafe operations such as direct memory manipulation are not permitted.
Modernity – C # is designed to build scalable, robust and interoperable operations. It includes built-in support for transforming components into the web service, for easier access.
Object-Oriented – supports data encapsulation, interfaces, legacy, and polymorphism. Introduced structs to allow primitive types to become objects.
Typesafe – does not run unreliable casts, the arrays are unindexed and checked, type overrun is verifiable, primitive types are initialized with zero.
Interoperability: C# includes support for COM, VB.net components and other languages can be used directly, it allows for the restricted use of pointers.
The garbage-collection system is native
Classes and methods can be set to be internal to the whole in which they are declared
Allows both native and managed code blocks to be used [8]
There are also some advantages compared to other programming languages. For example, some of the advantages compared to Java are:
Instead of class implementations, C# has its own builders easy to use such as Properties or Events
It is integrated into Windows
Has Lambda and LINQ supporting a part of functional programming
Has dynamic variables
Allows defining of new types [9]
The C# programming language can be utilized to create nearly anything, is especially solid at creating Windows games and applications, and generally applied to build games utilizing the Unity game motor, which is among the most mainstream game engines, constituting a good choice for the scope of this paper. C# has numerous highlights that make it simple to learn. It is a high state language, generally simple to peruse, with a large number of the most intricate tasks stripped away, so the developer does not need to concern themselves about them.
Photoshop Graphics Editor
Adobe Photoshop is a software used to edit digital images on a computer, a program produced and distributed by the American company Adobe Systems, and it is addressed to professionals in the field. Its use is extended and covers digital image editing, photos, pattern graphics, video processing, and even the Web.
The first version of the program was developed by the brothers Thomas and John Knoll and distributed in February 1990. It included computerized shading altering and modifying. With rendition 2.0, Photoshop improved its highlights, including Paths, CMYK shading, and the Pen tool. In 1994, Photoshop 3.0 was made available. This form presently included layers. This made the software more facile for a large number of designers, who wanted to include a progressively intricate feel in their work. It took two more years for variant 4.0 of Photoshop to make its appearance, which included layer alteration and macros. Likewise, version 4.0 additionally began the user interface. On May 1, 1998, rendition 5.0 turned out highlighting its most up to date works: the editable type and the capacity to fix different mistakes, utilizing the History palette.
As Photoshop kept on advancing, it accommodated more features. This was advertised into an immense pack of programming in which Photoshop was the main brand. It was known as the Creative Suite. It fundamentally took into account all plan needs, extending from visual communication to layouts, photography to film. Photoshop CS was the main rendition to turn out in 2003. In 2005, CS2 turned out. This rendition included the red-eye expulsion tool and the evaporating point tool. With the arrival of CS3 in 2007, the real subject of change was speed. CS3 streamlined changes with the apparatuses. It made the route and use of Photoshop quicker and simpler. Adobe Camera Raw and the Quick Selection Tool were likewise presented. In 2008, CS4 turned out, where panning and zooming were made simpler. Cover and Adjustment boards were additionally included which made Masking simpler. Following two years, in 2010, Photoshop CS5 was made available to the public. It included the Puppet Warp Tool, Bristle tips, Mixer Brush and Automatic Lens remedy. Covering was improved further.
One of the latest innovations is the Creative Cloud suite. This most up to date portion of Photoshop utilizes highlights like Smart Sharpen, which turns low-resolution pictures into higher resolution versions. It additionally permits Camera Shake Reductions, which enable the users to reestablish sharpness in movement obscured shots. [10]
Figure 1-2. Heightmap Editing in Photoshop
In figure 1-2, the different elements used for creating the game can be observed, while using the latest Photoshop Creative Cloud version. I used a heightmap for the designing of the level. A heightmap is best understood when looking in the color spectrum of the image. The color palette ranges from pitch black all the way to white. The black represents the lowest point in the topology of the map, while the white is associated with the highest point.
I made extensive use of the features that Photoshop offers. The graphics software incorporates numerous tools. These instruments are found in the toolbar of the program, located on the far left side. Large portions of the instruments in the Toolbar have different sub-tools nested within them, in a similar spot. Clicking and hanging on a device's symbol displays different other hidden tools. For instance, the Elliptical Marquee Tool, the Single Row Marquee Tool, and the Single Column Marquee Tool, which I used for selecting, resizing and adjusting different elements of the image, were found nested inside the Rectangular Marquee Tool.
For the heightmap to be aligned with the project vision, I had to modify it, structuring the future terrain by altering the black and white colors. I made use of the paint tool that helped with applying the desired colors to where they were needed. I also took advantage of the quick selection tool, which I utilized for selecting small uneven portions of the image. For the application of the same color to different portions of the map, the eyedropper tool, a very important instrument, proved very useful, using it whenever I had the same map height in mind, compared to other parts of the map.
Considering the different options, I chose to use Photoshop for the first part of the game, evaluating the potential impact upon the project and the general advantages and disadvantages that are present. The advantages include, but are not limited to:
Support for almost all popular pixel image formats (GIF, JPEG, PNG, TIFF, etc.) and color models (RGB, CMYK, grayscale, etc.). Images can also be exported directly as a PDF file.
Functions such as log palette (working steps are saved), file browser (for the clearer opening of images) or "Save for Web", which optimizes the image for a website use scenario, (image preview, several formats selectable) make the work considerably easier.
An image can be composed of multiple layers, with effects applied to each of these layers. In addition, layers can be merged by different techniques (multiply, darken, etc.).
Dividing an image into separate areas ("slices"), for example for saving to the Web. Each slice can have its own color palette and custom settings, or it can be animated using Photoshop's ImageReady tool.
Created text can be outfitted with effects, checked for spelling mistakes and can be corrected more easily with the "Find and replace" function.
Actions to save a sequence of commands accelerate the editing of multiple layers or files.
The main disadvantages that were taken into consideration comprise of:
A very complex program that requires training, heavily depending on previously accumulated knowledge.
Due to the price, the investment in Photoshop is worthwhile only if the user wants to work on images to a certain professional extent, otherwise, there are cheaper and easier to learn alternatives.
Relatively high technical requirements [11]
Adobe Photoshop is integrated with all the features users, regardless of the use (photography, video, web, etc.), may require. Being limitless to its specific application, it constituted a very good choice for the development of the first-person, role-playing game, making the overall designing steps of the project creation easier, while at the same time more professional, altogether having a positive impact on the end-result.
Blender Graphics Software
Blender is a free 3D graphics suite, licensed with GPL, with which it is possible to create body models, textures and animation. These categories can be systematized in graphics, animations, and software. Created images, videos, and models can be reworked with the help of the integrated compositor and video editing program. The program was and is in continuation development by volunteers and professional enthusiasts. C and C ++ are used as programming languages, whilst Python is used as a scripting language. [12]
Despite its functionality, the program is relatively small (packed around 100 MB) and runs on most common computer systems. Since the source code is freely available, it can also be translated for every required platform. It is available as a portable app and can, therefore, be run on many systems, such as Windows, Linux, Mac OSX or FreeBSD, without installation (for example, from a network drive or USB stick).
Blender was originally a company-internal program of the Dutch animation studio NeoGeo. Chief developer Ton Roosendaal founded the company “Not a Number Technologies” (NaN) in 1998 to further develop and distribute Blender. After the insolvency of NaN, the creditors agreed to release the source under the free software license, to provide GNU General Public License (GPL). On 18 July 2002 Ton Roosendaal founded the Blender Foundation with the aim of collecting donations. This strategy of fundraising is also called the Street Performer Protocol or Crowdfunding. [12]
Starting from Blender version 2.0, which incorporated more robust and advanced features, there were 46 released versions in total, up until the current 2.8 version. The most important updates can be summarized according to Blender versions, as follows:
– Version 2.26 released on August 2003, was the first free open source version
– Version 2.32 released on February 2004, had immense rendering improvement and also introduced Raytracing
– Version 2.41 released on January 2006, brought a large number of bug fixes and introduced some features specific to game engines
– Version 2.5x from 2009 to August 2011 – a standout amongst the most essential improvement ventures, with a complete refactor of the product with new capacities, an overhaul of the internal window director and event/tool/data system framework, and also new Python API. The last version of this undertaking was Blender 2.59, published in August 2011
– Version 2.8 released on November 2018 – Blender 2.8 is the following stage in Blender's advancement, looking to bring an improved viewport and a superior work process enabling artists to utilize Blender quicker and simpler. This version is currently the most recent and still in the beta phase. Some of the newest features it includes are new user interface with OpenGL 3.3+, new EEVEE renderer (very fast and based on the laws of physics), the previous layer system has been replaced by new collections, new 2D animation system for Grease-Pencil, more shaders for the Cycles renderer [13].
Blender is a versatile software, allowing users to easily view and work on 3D models. For a deeper understanding of the versatility of Blender, I will summarize the main points of the viewport, a crucial element in 3D object creation. The viewport has the following properties:
The panels in Blender cannot overlap or obscure each other.
Each content can be displayed in each window.
Windows can be shared and reunited.
In each window, the content can be enlarged and reduced
Figure 1-3. A 3D object viewed in Blender
The viewport or the ‘main window’ represents the space in which the 3D object can be viewed, manipulated, etc. This example highlights a hut imported from the online Unity asset store used inside the project, which I processed, in order to create destructible in game effects. The subject will be further touched upon in the fourth chapter, dedicated to the game’s creation.
Unity Game Engine
A game engine is a unique system for computer games, which controls the gameplay and is in charge of the visual portrayal of the gameplay. Largely, such platforms are also used as environmental developing software, providing the user with the necessary tools. Game engines constitute a basis for developers, so that projects, especially large ones, do not have to be written entirely by code. Their main strength lies in the features provided, such as animation, music, programming, lighting, rendering, etc., which, when combined, form an intricate system.[14]
The most commonly used 3D engines include CryEngine, Frostbite, the Unity Engine, and the Unreal Engine.
Constituting the ‘scaffold’ on which the first-person, role-playing game is based, Unity was considered after a SWOT analysis, presented below:
Figure 1-4. SWOT Analysis of the Unity Game Engine
As can be observed, taking into consideration the positive traits and the fact that they outweigh the harmful attributes, the Unity game engine constitutes a valuable choice for the creation of the game.
The game motor possesses some important technical characteristics, which were utilized in the formation of the game:
Unique graphics interface – makes use of deferred shading and is based on Direct3D and OpenGL, depending on the platform of target. Various shader-based models of lightning are supported: Ambient Masking, Bumpmapping, Parallax Mapping, Dynamic Shadows, Environment Mapping, Render-To-Texture, and Postprocessing effects (for example Glow and Reflections and based on frame buffer objects). Self-developed shaders can extend the built-in lighting effects.
Animation – Game objects can be moved via paths that are predefined, physical forces or scripts. Character animation is made available through the “skin-and-bones” technique. Explosions, fire, smoke and other effects are enabled via the particle system.
Sounds and noises – utilizes the FMOD program library for the playback of sounds, music, and noises. Sound sources can be set anywhere in the scene and animated. The listening area can move with the camera, or it can simulate a 3D behavior. The acoustic condition can likewise be mimicked by means of Doppler, reverberation and channel effects
Programming The inherent Unity instruments can be enhanced by self-written code portions called scripts. Scripts are important to portray logic and gameplay. The scripting used in Unity is based on Visual Studio and offers as possible scripting language C# and Java. Scripts and different resources, (for example, 3D models) can be condensed in self-styled "prefabs". This is valuable if comparable objects are incorporated on different occasions in a scene. Prefabs make it possible to utilize a user’s self-developed components (figures, user interface components) as well as built-in components. [15]
The main tools that were used for reaching the proposed objectives, using Unity are the terrain modeler, for manipulating the terrain in the desired direction, the self-explanatory plants, and trees editor, particle-effect specific tools, characters motion control, to give some examples.
Applications of the First-Person Role-Playing Game
The development of our culture was mostly made possible as a result of the explosion in the informatics domain. Thanks to technical innovations (radio, television, press, cinema, audio-video equipment, fax, electronic mail, etc.), the information circulates quickly, penetrating into all areas of social life. Therefore, the development of cognitive capacities was empowered through, but not limited only to games. The field of virtual gaming becomes particularly important in human-computer interaction research. Games are activities or contests governed by a set of rules, well defined, for the purpose of development or recreation.
Along with the technological side, people were born to play. Games are instinctive and fundamental to our existence. Playing helps us to survive and progress by connecting with other human beings and with the energy and enthusiasm within us. This practice is both a source of calm and relaxation, but also a source of stimulation for the brain and the body. The tendency to play helps us become more inventive, smarter, happier, more flexible and optimistic. A safe way to develop our imagination, creativity, problem-solving skills, and mental health is to play with our life partners, service colleagues, children, grandchildren friends, etc. The game is often described as the liveliest way of spending time, although we often take it seriously and altogether forget about it. However, the game is not a luxury; it is a necessity. It is important for our mental and physical health to the same extent as sleeping, eating healthy and exercising physically. The game teaches us how to manage and transform our negative feelings into experiences. It empowers learning, helps relieve stress and connects us with each other and the world around us. Playing can also cause us to work more productively.
The Etymology of "game", "first-person" and “role-playing” words
The word "Game" comes from the Old English "gamen" and means amusement or a fun activity (specific to, but not limited to children). [16]
“First-person” refers to the perspective of the person ‘I’ or ‘we’. The point of view is happening through the angle of someone who acts as the main protagonist. Somebody who was present someplace or who really experienced something depicts the action, instead of the activity being narrated by somebody. [17]
“Role-playing” was considered a divertissement even in antiquity, where actors were assuming different roles, ‘playing’ their roles as different personas, where they were born for example, in other circumstances, chose different professions, and even lived different lives entirely. Comparable to the aforementioned example, a role-playing game constitutes a world in which the player can become anyone, assuming the role they are given.
Current state and comparisons
Computer role-playing games were created in the mid-1970s. The existing “Pen & Paper” role-playing games inspired them. Starting with simple adventure games, early versions of simple computer role-playing games were created. The earliest documented games are “pedit5”, very simple combat and treasure collection game, “Dungeons and Dragons”, which was the first game to use a visual representation of the dungeons that moved you.
In the early 1980s, “Rogue” was a very successful game for Unix-based systems, which offered many new features. It was completely visualized (though only with the help of ASCII characters) and controlled, offering randomly generated dungeons as well as an extensive amount of different equipment, whilst being, at the same time, very balanced. A year later, a series of two games were launched, “Ultima and Wizardry: Proving Grounds of the Mad Overlord” that influenced the development of computer role-playing games over many years. The ease of use and from today's point of view, primitive representation of both the environment and the opponents, were soon defining a quasi-standard to a turn-based tactical combat system, which many games still follow to the present day.
The next major upsurge in development came in the late 1980s, when “Dungeon Master” was released as a visually advanced game for the time, adding real-time combat and interaction with the environment. Earlier, the rise of console role-playing games in Japan began with the release of “Dragonquest”, which was strongly based on the models of computer role-playing games from the early 1980s. In 1988, the game “Pool of Radiance” was released, which followed another path of development. Here, the player could move his characters strategically in a limited environment, copying the tabletop playing style of many RPGs.
In the early 1990s, “Neverwinter Nights” began involving multiple players in a large, graphically designed online game world where they could play with and against each other. This form of computer role-playing, the “MMORPGs”, later became a significant market segment. In 1992, “Ultima Underworld” was the first complete rollout game in an authentic 3D environment. With “Diablo” in 1996, the genre of action role-playing games became a dominant aspect of computer role-playing games, and at the same time an alternative to MMORPGs in terms of the interaction of several players.
In the mid-1990s, when computer-role-playing had often been declared dead, “Baldur's Gate” achieved a revival of the genre in 1998. With modern aesthetics and a strong emphasis on the narrated story, as well as massive interaction between groups, the roleplaying understanding of many players has been expanded, and there was a rethinking on the part of the developers in terms of game content and presentation.
In 2002, “Neverwinter Nights” (not identical to the aforementioned game of the same name) and “Morrowind” appeared which brought not only unseen graphics but also a new game editor. Thus, the community was able to partially change the game mechanics with so-called ‘mods’ (substitute for ‘modifications’), but also to create new content with its own action and insert it into the game. [18]
The current trend in computer role-playing games are on the one hand cross-platform games, which often come at the expense of usability and narrative style, and on the other hand merge with other genres, especially strategy games, adventure games simulations, and first-person games.
Recent games that can be compared to the FPRPG created within this project include:
Minecraft
The Elder Scrolls V, Skyrim
Aspects of these games will be presented in contrast to the development of this paper’s FPRPG, which can be seen in the fourth chapter. The structure of the presentation will include game-specific particularities that can be correlated with the constructed game.
Minecraft
“Minecraft is a sandbox construction game created by Mojang AB founder Markus "Notch" Persson, inspired by Infiniminer, Dwarf Fortress, Dungeon Keeper, and Notch's past games Legend of the Chambered and RubyDung. Gameplay involves players interacting with the game world by placing and breaking various types of blocks in a three-dimensional environment. In this environment, players can build creative structures, creations, and artwork on multiplayer servers and singleplayer worlds across multiple game modes”.
Figure 2-1. The Minecraft world
The above figure shows the Minecraft world, entirely made out of blocks, which tied together constitutes the land, water, trees, animals and so forth. Therein the player is able to harvest blocks of different materials like wood, rocks, and others and being able to construct weapons, armors, houses, furniture and so on. The game’s strength lies in its ability to leave the building of the surrounding environment to the player’s imagination. In contrast, this project’s goal leans more towards the player being able to pick up most of the world elements as a whole.
Minecraft offers the user the ability to go through a survival mode, in which the emphasis is put on surviving the enemies, quickly constructing a means to defend and attack. There are no specific objectives to give the player a linear approach. An optional objective can be considered traveling to a secret in-game space, where it is achievable to defeat the strongest enemy.
The Elder Scrolls V – Skyrim
The successor to a list of popular series of four games, who introduced important aspects of the role-playing genre, The Elder Scrolls V – Skyrim, developed by Bethesda Studios, is a feature rich modern role-playing game in which the user is brought in a medieval fantasy world. The game is played as a first-person or third person character in which the user must do a series of objectives to accomplish the end goal and many more side objectives. The game lets the player take a multitude of items in their inventory, like weapons, food, items of all kinds, etc., yet restricts the player from taking scenery components, rocks and houses for example.
Figure 2-2. The progression of a quest in Skyrim
Figure 1-6 portraits a cave in which the user is brought to advance an in-game objective. Following a linear fashion, the objective can be completed only if a certain criterion is met, in this example, if a staff is taken in the user inventory. This kind of action leaves little player choice, but combined with a larger storyline narrative, works well with most of the role-playing games today. In contrast, though the outcome of this paper’s FPRPG objectives, in the end, is the same, the means in which these can be accomplished are multiple.
Impact on the User and User’s Perspective
Everything surrounding the human has some sort of direct or indirect impact upon him, depending on the choices made in a circumstance. For example, a car influences the time spend to get from one point to another in a positive way, whilst having the negative effect of the human being not being able to move for given a period of time. If a similar way, games influence the player, bringing the possibility of a relaxed state of mind, where fun is often the goal, stimulating the brain to learn, through geometry, signs, and symbols, making it possible to hear and feel the surrounding environment in an immersive manner, while developing the coordination between what is seen and user motion. The result emphasizes personal development in a creative and interactive aspect.
The Relaxation and Fun Factor
Relaxation is the enthusiastic condition of a living being, of low pressure, in which there is a nonattendance of excitement that could emerge out of sources, for example, outrage, nervousness, or dread. As per the Oxford dictionary relaxation is the point at which the body and psyche are free from pressure and tension. Relaxation is a type of mellow delight originating from the frontal lobe of the cerebrum where the backward cortex sends signs to the frontal cortex by means of a gentle sedative. Relaxation can be accomplished through reflection, gaming, and dynamic muscle relaxation, to name a few. It improves adapting to pressure. Stress is the main source of mental issues and physical problems. Along these lines, feeling relaxed is advantageous for an individual's wellbeing. When the human being is stressed, the sympathetic sensory system is actuated in light of the fact that the human is in a reaction mode of fight-or-flight. [19] After some time, this could negatively affect a human body. In these conditions, gaming sessions become relevant and important.
In a recent survey conducted on a large number of people, from the known Dell Company, the main motivation for gaming is relaxation (sixty percent of applicants), more clearly passing time (fifty-one percent) and stress relieving (forty-nine percent). Thirty-eight percent spend one to five hours a week playing computer games. An additional twenty-two percent of people expressed their desire to play six to nine or ten to nineteen hours a week. The group of dedicated gamers, who spend forty hours or more a week playing games on the personal computer, is very small, at only 5 percent. [20]
Fun, on the other hand, is the delight in joy, especially in relaxation exercises. Fun is an encounter frequently sudden, casual or purposeless. It is an agreeable diversion, redirecting the psyche and body from any genuine assignment, or contributing an additional measurement to it. Although especially connected with amusement and play, fun, moreover, might be experienced during work, social entanglements, and even commonplace activities of day-by-day living. Suppositions on whether a movement is fun may vary from individual to individual. As such, a qualification between joy and fun is troublesome, however conceivable to articulate, fun being more of a spontaneous, dynamic, or playful occasion. There are also mental and physiological ramifications to the experience of fun. The second purpose of gaming, as the above-mentioned study shows, is the undeniable sentiment of the user having fun, which, considering the ramifications of stress-inducing activities which life offers is a requirement more than it is a choice, contributing to the general wellbeing of the user.
The Stimulation of the Cognitive Process through Signs and Symbols
Taking into consideration this papers created game, another important implication of playing it is the ability to develop the brain, paying attention to different signs, important for advancing the quest narrative and understanding the created world. For example, the minimap, an element in which the player is able to observe different objectives and locations, landmarks, is accommodated with symbols that lets the player understand which way to go, what to do, the status of the progression, and other useful concepts. Being a 3D game, the geometry of the surrounding world helps the brain work towards making sense of the unseen parts of the different 3D components. Such a behavior is beneficial to the user’s mind, where the brain is active and performing different tasks, instead of it being subjected to limited activity.
Development of the Visual-Hearing Perception and Visual-Motor Coordination
The visual-hearing perception represents the aggregation of the visual sense combined together with the auditory sense, which benefits and develops both senses, in a symbiotic relationship. The currently programmed game enforces such behavior, making use of elements such as 3D sound. 3D sound can be explained as a source of noise coming from a direction, dependent on the source. As reflected in real life, the audio source signal, which derives from a specific object, becomes stronger as the target approaches the said object, and weaker as the target is getting further away from the source. While experiencing the different 3D sound models throughout the game, the user is made aware, for example, of the footsteps of an enemy approaching rapidly from behind, being able to anticipate the danger, and, at the same time, sharpening the visual-hearing perception. Alternatively, in another example, while exploring the surrounding environment, the player hears a faint sound made by a streaming river from a specific direction, making it possible for the player to investigate, and become more aware of the different events happening.
Concurrent with the visual-hearing perception, the visual-motor coordination refers to the visual sense of the human being, alongside the motor skills, combining movement with the visual perception in a very efficient and coordinated way. Broadening the aforementioned coordination is an aspect to take into consideration, having important implications in day-to-day lives.
Figure 3-1. The moment of damage application while animating
To better understand how the FPRPG compels the user to deepen the visual-motor coordination, an explanation for the different elements contained within the above figure, as well as its context, will be presented in the following in-game example: an enemy pursues the player, getting ready to attack. The player attacks first, knowing the exact moment the sword connects with the enemy, applying damage, through in-game visual effects. At this moment, the enemy has not yet finished attacking, resulting in the player knowing that he can dodge the unfinished attack, while still having been able to move towards the goal of eliminating the enemy. In the figure 1-7, the ‘blue arc’ illustrates the sword-attack animation, the ‘0’ being the beginning of the animation, while the ‘1’ constitutes the end of the animation. The ‘explosion’ portraits the moment in which the player applies damage to an object, when the animation is being initiated pressing the attack button. Thus, the visual-motor coordination is being developed gradually, helping the user sharpen their reflexes, in a stressful-free, challenging climate.
User feedback
This subchapter touches upon the scientific research method used to test the hypotheses, presented below. The research method was employed applying a questionnaire to a test-group of subjects. The test group was formed from a list of twenty people with an age ranging between twenty to forty years.
The current hypotheses are tightly related to the objectives this paper is proposing. As such, the hypotheses will be comprised of a general assumption, further devised into three specific assumptions.
In the case of this paper, the general hypothesis that is to be demonstrated, affirms the following:
General hypothesis: Utilizing the Unity game engine and the C# programming language, in junction with the Photoshop graphics editor and the Blender graphics software, a first-person game, specific to the role-playing genre can be created. Starting from this hypothesis, the following specific hypotheses were developed:
Specific hypothesis 1: The creation of a user-friendly environment, which is visually appealing when accessed.
Specific hypothesis 2: The establishment of a base, difficult climate that eases drastically based on user’s decisions.
Specific hypothesis 3: Creating a user interface based on simplicity.
The questionnaire utilized for the gathering of the test results is represented in the following form:
Game Survey
Instructions: Please check the most relevant box/boxes, according to your answer. You can check one or multiple boxes on each question.
Do you enjoy playing video games:
Yes
No
Sometimes
How often do you find yourself playing video games:
Once a day
Once every several days
Once a week
Once every several weeks
Once a month
Rarely
I consider myself a serious full-time gamer
What kind of virtual game do you prefer?
First person game (role-playing, shooter, the action is seen through the ‘eyes’ of the player)
Strategy (the action is seen from above)
Horror oriented
Arcade
Racing
Other
What hardware are you using as your daily driver and is most likely to be used for gaming:
Laptop
Personal Computer
Smartphone
Console (Xbox, PlayStation, etc.)
What would give you the most satisfaction while playing a virtual game:
Playing online with friends
Playing live with friends
Multi-playing with/against artificial intelligence
Single playing
At what time of the day are you most likely to be playing video games:
Mornings
Afternoons
At noon
Late during the night
How much average time (approximately) do you spend daily playing video games:
Less than one hour
Between one and three hours
Between four and nine hours
Up to twelve hours
More than twelve hours
What was your impression regarding the game’s graphics:
Looks bad
Looks good
Realistic
How would you rate the game’s difficulty:
Very easy
Easy
Hard
Very hard
Impossible
Depends on the users approach
What did you like about the game:
The graphics
The sound effects and music
The questing line
The creative aspect to reach the desired goal
None of the above
All of the above
Did you complete the game:
Yes
No
If it took you several tries to reach the end of the game, did the objectives become easier as you spend more time progressing through the game:
Yes
No
I haven’t been able to reach the end
Did you find it difficult to understand how to play the game:
Yes
No
What did you feel while playing the game:
Anxiety
Pleasure
Fun
Frustration
Accomplishment
A mix of positive feelings
A mix of negative feelings
What is your age?
Between 20 to 30 years
Between 30 to 40 years
What is your gender:
Male
Female
The obtained results, after the application of the research methods illustrated above, are the following, representing the number of subjects that chose specific answers:
Table 3-1. Results of the applied questionnaire
For a better comprehension of the research’s test results, the following figure will be highlighted, taking into consideration the most relevant questions, according to the proposed hypotheses (question eight, question nine and question fourteen).
Figure 3-2. Percentage graph of subjects answering relevant questions
As the test result shows, the general hypothesis and the other three closely related hypotheses were proven applicable and true.
Development Stages
The First-Person Role-Playing game created in this paper can be broken up into four large developments steps. The first one introduces the game’s internal structure and the mindset used for its implementation, continuing with the second subchapter, which emphasizes the visual aspect, the design of the level and different visual appealing elements. The third subchapter is comprised of the user interface, which affects not only the game in-pause, but also some gameplay elements, important for reaching and completing in-game goals. The last subchapter focuses on various gameplay factors, such as interactions, animations and storyline.
Structure and Implementation
The present game is animated by a multitude of scripts, written in the C# programming language. They are designed and thought out in several phases, which encapsulate the complete game logic:
‘Destructible’ scripts – define the behavior of items that can be destroyed. This includes shard activation, health degeneration, explosion effects
‘Enemy’ scripts – utilized for the management of in-game enemies, ranging from animation, attack, player detection, player pursuing, all the way to, fleeing behavior and ragdoll activation on enemy ‘death’
‘GameManager’ scripts – take advantage of game-related behaviors, for example, game-over events and user interface logic
‘General’ scripts – scripts that were needed for various specific scenarios, such as audio play, fading effects, in-water view and other scenarios
‘Gun’ scripts – related to ranged weapons. They define elements comparable to ammo, damage application, force, dynamic crosshair and visual hit-effects
‘Item’ scripts – include behaviors for items, like animations, pickup, drop, transparency on pickup, throw and item user interface
‘Melee’ scripts – related to melee weapons. These scripts include elements, equivalent to swing animations, sounds and melee hit effect
‘Player’ scripts – include player-related oriented scripts. The scripting logic includes player health, inventory, the detection of items
‘Questing’ scripts – include all game-objective related code, for each specific quest, as well as a centralized quest manager
‘Master’ scripts – can be thought of as a scripting base, upon which the scripting system gradually builds. These scripts are used for creating all-purpose general events, accessed by every other script
Figure 4-1. Hierarchy of in-game C# scripting logic
Level Design and Beauty Aspect
The artistic and visual view of the present game was taken into consideration starting with the Photoshop graphic editor. As stated in chapter one, the world map for the design of the level was imported from a heightmap. The result was an island having complex topology, for example, hills, valleys, mountains, and so on. The map was then filled with elements inspired from real life: water all around and inside the island, rocks and trees, amongst others. To make the graphics more appealing and closer to real life, I used an Unity extension that applied various post processing effects. The effects include motion blur, depth of field, chromatic aberration and color grading, ambient occlusion, bloom and vignette. All of the effects had a rich impact in the game, drastically changing the overall feeling.
Figure 4-2. Aerial view of part of the world map
Figure 4-3. In-game environment using post-processing filters
Immersive effects targeting the water, further amplify the beauty-aspect of the game. Once the player is underwater, an underwater detection script changes the color and smoothness of the seen image, adding fog, with the goal of mimicking the limited, changed view of a real-person being underwater.
Figure 4-4. Underwater view
All the different game objects that constitute the surrounding world the player sees, were added using a special brush from the Unity editor. The brush made it possible for the objects to be placed randomly, with distinct sizes. Using random locations for placing world items, the climate received a natural feeling.
User Interface
A decisive aspect from within the FPRPG is portrayed by the user interface, without which the game could not have been complete. The UI, or user interface, in the modern structure field of human-computer communication, is where collaborations among people and machines happen. The objective of this association is to permit successful operation and control of the instrument from the human end, while the machine, at the same time, bolsters back data that guides the operator's basic decision-executing process. [22] Instances of this expansive idea of user interfaces incorporate the interactive parts of computer working frameworks, hand instruments, heavy apparatus administrator controls, and procedure controls. The user interface has been integrated in different areas of the game, as exemplified below:
The starting screen, where the user is presented two options, one, to start the proper game, and another, to exit the application. The screen can also be accessed in any moment of play, from within another user interface, approachable using the ‘escape’ button
Figure 4-5. Starting screen
The ‘instructions’ user interface. The player is given a quick starting guide when the game begins, as well as the ability to restart the game or go to the starting screen
Figure 4-6. Instructions panel
The questing user interface – represents the UI used for objective narration and storyline, as well as quick updates related to the progression of in-game quests
The inventory – depicts an active UI element, in which the player is made aware of the different items acquired, sown as individual buttons. Using it, the player is in control of the action.
Figure 4-7. Questing and the inventory user interfaces
The minimap – constitutes a passive element of the UI system. It is situated in the upper-left portion of the user screen and can be observed in many of the present figures. Its role is to provide the player with a sense of direction and spatial orientation.
Gameplay Elements
Applicable to this current scenario, the most important part of the game is the gameplay itself, the experience the user is provided with, after the personal immersion in the application. As such, the present constructed game features several key gameplay points. These ideas take shape in the following manner:
Game-over event – an event animated by a C# script, triggered when the players hit points reach the value of zero. Furthermore, when the event is called, the ‘instructions’ UI is also called, giving the player the ability to restart the game.
First person controller – present in the Unity editor repository, it represents the driving force behind the movement of the main character. It allows such movement through continuous scanning of user input. The controller also includes character-controlling elements like jumping, gravity and walking/running speed. These values are modified without user interaction when the player reaches underwater surface.
Item system – among the more important gameplay features of the papers FPRPG is represented by the inventory system. It makes it possible so that almost every surrounding item can be taken into the player’s inventory, thrown or placed, items alike trees, rocks, houses and many more. They interact with each other and with the enemies, giving the user the freedom to reach the desired goals in a creative aspect, and, at the same time, to reimagine the encompassing environment.
Inventory system – constitutes a simplistic inventory management system, where a button represents a world item (figure 4-7). Upon pressing of an inventory entry, the selected item is placed into the players hands, automatically placing the next inventory entry item when the current one has been thrown or placed. The inventory features unlimited storage capacity.
Weapon system – formed of two typed of weapons, ranged and melee. Each ranged weapon has its own implementation of damage, rate of fire, burst fire, and reload speed. In contrast to the ranged weapons, the melee weapon can only be actioned from the near proximity of the player.
Hit points system – present in three in-game components, the player, the enemies, and the destructible items (for example an ‘explosive barrel’).
Enemy system – a complex system, responsible for animating enemies, ragdoll activation on enemy ‘death’ and enemy behavior. There are ranged and melee enemies, each of these two types being designed to have a damage multiplier when the player targets their ‘head’.
Questing system – comprised of three in-game quests, a quest manager that keeps track of in-game progress, a quest log that lets do user visualize the progress of each quest after different achievements, and an non player character, which ‘gives’ the quests to the player.
Graphics system – incorporates elements like the movement of grass under the action of wind, water reflections of each nearby object, fire particles, smoke, etc.
Audio system – the game also features 3D sounds, different ambient sound effects for in-water scenarios, sounds for different gameplay actions, such as object pickup and weapon hit effects; non-player character voices (dependent on the quest progression), main character footsteps and ambient music.
List of Figures and Tables
Conclusions
The main objective of the paper was to emphasize the importance of creating a role-playing game, seen from the perspective of a first-person view, through which current development directions in the game industry could be widened, to also develop creativity, imagination, spatial vision and logic, combined with programming vision using specific technologies.
The field of electronic games becomes particularly important in human-computer interaction research. Games are activities or competitions governed by a well-defined set of rules, with the scope of personal advancement or recreation.
The development of the FPRPG requires the utilization of many practical and theoretical learned knowledge, such as: object-oriented programming and design, game engine specific environments, graphical editing and manipulation. The final result of the work was transposed into a game that fulfills the original formulations:
– Acquiring the knowledge needed to create an interactive and complex first-person, role-playing game
– Creating a user-friendly environment that is visually appealing when accessing
– Effective creation of the first-person, role-playing game
– Establishing a base, difficult climate that eases drastically based on user’s decisions
– Creating a user interface based on simplicity
– The freedom to change the world to the desired degree by each player
– Optimizing the runtime of the game by in-code improvement
– Deepening current development directions in the game industry
In the future, it is possible for the game to be ported for the Android operating system, and also, to be further developed with the inclusion of new features, such as a checkpoint system, new quests and a full-narrated storyline.
Personal Contributions
Regarding this paper, my personal contribution is represented by the meticulous, systematic creation-process of the game and the idea gathering-process involved therein.
Bibliography
https://www.realitatea.net/curiozitati-despre-creier-pe-care-nu-le-stiai-este-uimitor_2163582.html – accessed on the 1st of March, 2019
https://inbors.com/62-de-curiozitati-despre-creier-si-mituri-demascate-care-sunt-inca-raspandite/ – accessed on the 5nd of March, 2019
https://www.zmescience.com/other/interviews/interview-researcher-simone-kuhn-video-games-brain/ – accessed on the 9th of March, 2019
https://www.engadget.com/2017/02/09/8-cognitive-benefits-of-playing-video-games-for-kids/?guccounter=1&guce_referrer_us=aHR0cHM6Ly93d3cuZ29vZ2xlLnJvLw&guce_referrer_cs=1B4AKSU_EEFHbbpgzHqXFw – accessed on the 13th of March, 2019
https://en.wikipedia.org/wiki/C_Sharp_(programming_language) – accessed on the 14th of March, 2019
https://www.tutorialsteacher.com/csharp/csharp-version-history – accessed on the 18th of March, 2019
https://www.tutorialspoint.com/csharp/csharp_program_structure.htm – accessed on the 23th of March, 2019
http://proprogrammershub.blogspot.com/2016/04/top-10-advantages-of-c.html – accessed on the 24th of March, 2019
https://www.educba.com/java-vs-c-sharp/ – accessed on the 2nd of April, 2019
https://en.wikipedia.org/wiki/Adobe_Photoshop_version_history – accessed on the 6th of April, 2019
https://www.reference.com/hobbies-games/advantages-disadvantages-adobe-photoshop-ad789099e33cd153 – accessed on the 7th of April, 2019
https://en.wikipedia.org/wiki/Blender_(software) – accessed on the 13th of April, 2019
https://www.videohelp.com/software/Blender/version-history – accessed on the 16th of April, 2019
https://www.gamedesigning.org/career/video-game-engines/ – accessed on the 19th of April, 2019
https://unity3d.com/unity?_ga=2.44059820.948099073.1554756761-1175362931.1552863274 – accessed on the 22nd of March, 2019
https://latin-dictionary.net/definition/24916/jocus-joci – accessed on the 23rd of April, 2019
https://dictionary.cambridge.org/dictionary/english/first-person – accessed on the 1st of May, 2019
The CRPG Book Project, authors – 115 volunteers , edited by Felipe Pepe, published in 2018
The Psychology of Relaxation, author – George Thomas White Patrick, Published on May 21st 2016 by Palala Press
https://www.dell.com/learn/us/en/id/press-releases/2018-04-25-dell-changing-the-face-of-gaming-debunks-long-held-stereotypes – accessed on the 8th of May, 2019
https://pdfs.semanticscholar.org/1be8/380a1f45ac7c720273b0ee5723ded1e214e7.pdf – accessed on the 10th of May, 2019
https://searchmicroservices.techtarget.com/definition/user-interface-UI – accessed on the 15th of May, 2019
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: UNIVERSITY OF AUREL VLAICU ARAD FACULTY OF EXACT SCIENCES PROGRAM OF STUDY – ADVANCED STUDIES OF APPLIED COMPUTER SCIENCE DISSERTATION PAPER… [306051] (ID: 306051)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
