Making desktop-based FPS using Unity 3D

Written by kshitiz | Published 2018/10/31
Tech Story Tags: game-development | unity3d | csharp

TLDRvia the TL;DR App

The genre of electronic games where the new generation gamers are most evident is the “First Person Shooter”, which I had the privilege to study in one of my Computer Science class, entitled “Computer animation and visualization”. The importance of this type of video games lies in the use it makes of the device of perspective, and in the fact of allowing access to a subjective cyberspace based on the first-person view. In addition to questions related to topography, digital space, and, the game with embedded online chat systems, the “First Person Shooter” stands out for its very peculiar typology of “scenarios-schedules”. Which in fact bring you closer to the Cinema of Special Effects with great brilliance. In this article, I also propose to discuss a new concept, that of “player-user”, which fits within the renewal of the technical paradigm of Virtual Reality, and which has implications in the form of the multiplayer game.

****Download Unity from the official website and install it. When the user runs it for the first time, he or she will be required to register the product by following the prompts. Registration can be done fast online even if the machine which the user has installed it on is not connected to the Internet. To open with Unity, the user always starts with a project. According to the operating instructions, the Main Editor Window would be opened.****

STAGES IN GAME DEVELOPMENT

Game genre: Categorizing the game being developed into a genre group. For example, War games, educational games. Tool: This is the most important part, which is determining the tool that will be used to make the game such as animations, 3d models, music, camera. Gameplay: It includes the level and scene design of the game. Gameplay makes the game more interesting and playable. Graphics: After making the gameplay, deterring the graphics to be used is done. Publishing: When it’s finished in all the process of making games, publish the game into a setup. Flowchart: Flowchart is a diagram with geometrical symbols stating the flow of algorithms or the process that displays the steps that symbolize the shape of the box, along with the sequence by combining each step using the arrow. This diagram can provide a step-by-step solution to complete the problems that are in the process or algorithm.

A. Game Components and Objects

This game has several components namely:

Features: Feature is something that can distinguish each game. Features can also describe the game’s storyline into forms that can be seen or felt.

Gameplay: Gameplay is the most important product of all game principles — something that makes games into games, and that distinguishes games from other forms of entertainment, such as films and theaters.

Interface: Interface is all the displays in a game. A good interface is an interface that is not boring and makes it easy for game players. Rules: Rules are a series of protocols to be followed while playing the game. Level Design: Level design includes the style, background, and storyline of a game.

There are two ways of creating game objects in unity: Creation: We can click ‘Create’ button in ‘Hierarchy’ window to make new and rough game objects, such as ‘Cube’, ‘Sphere’, ‘Camera’ etc. These game objects must be designed and adjusted by designers to be required objects. Prefabs: When we find this kind of matter that the same game object must be used several times, it is quite troublesome to create the same object repeatedly.

B. Programming Language

Microsoft Visual C #, hereinafter referred to as C # is part of the Microsoft family language that runs on the .NET framework. C # is free from compatibility problems and comes with a variety of new, interesting, and certainly promising features.

C. Gameplay

The story starts from the isolated building where the main character tries to escape from the building. The building is full of enemies who try to kill the main character when in their sight. The character starts its journey in an armory where he can choose the weapon of his desire. There are multiple ammunitions, and health packs on the way while escaping the building. There is no time limit for the game. The game is restarted when the main character or the first-person shooter is caught by one of the enemies. The game is completed when the FPS reaches the exit of the building overcoming all the obstacles on the way.

IMPLEMENTATION AND UI OF THE PROGRAM

Unity 3D game engine is one kind of visualized game engines. It integrates Animation Mechanics, Character Mechanics, Player Mechanics, Environment Mechanics, and Programming Developer together. Also, it supports online assets shop to designers. In designing and making game designs there are several main development elements, including Implementation of the Program.

A. Display main menu

Based on Figure there are five menus that can be accessed by players. Menu Play functions to start a new game. The High score menu serves to see the highest score records that players have obtained during a mission. The About menu functions to view information on gameplay. The Help menu works to see the help that contains game information to players. The Exit menu functions as a player’s navigation to exit the game

B. Game Level Display

Based on Figure is the appearance that appears if the player chooses Play, on this screen, there are 4 buttons, namely Easy, Medium and Hard. The easy choice is used by easy level players where enemies are limited in number. Medium options are used by mid-level players where enemies are fast and relatively more in number. The hard choice is used by mid-level players where rock enemies fall and more aircraft. The Exit option is used if the player returns to the main menu.

C. Scene Window

The Scene Window mainly stores model assets of the game project. There are various kinds of 3D models, such as players, enemies, items, sky, and terrain. All these models can be displayed in Scene Window. This window is the most important part of Unity 3D because it is the visualized design window.

D. Game Window

After each complex alters, the objects achieve the space which exhibits the impact of a game project. The scene exhibited relies upon the space where the camera lights up. The creator can alter the scene in the Game view, as indicated by changing the position and pivot of the camera. The Game window is the visual space where the client tests his or her amusement question before building it in the runtime condition. It is a reenact runtime condition, in this manner the sum total of what objects have been actualized, not normal for the Scene window, it has no default lighting. The creator needs to make the Main Camera to see protests in the Game window.

E. Inspector

The Inspector view is used to access various properties and components for the game objects which the user has created and selected in either the Hierarchy or Project views. Other object-related information can be accessed here. For example, click the 18 object that is in the scene view currently, the Main Camera, created in the Hierarchy view, and then watch the Inspector view.

F. Cameras

The camera in Unity is created as a game object in the Hierarchy view and indicated in the Scene window automatically. In a game the camera provides the visible area on the screen, which means the camera provides the height and width of the view, also the depth can be set. The whole visible space by a camera is called the view volume. If an object which is created to the scene is not placed inside the view volume, it cannot be seen on the screen. The shape of the view volume can be adjusted to orthographic and perspective. These views are constructed from an eye position which could be imagined with the location of the viewer, with a 3D view.

GAME FEATURE

This section demonstrates how all the functions of any objects, which were referred to in the previous section were implemented with bonded scripts. Four scripts were created with C#. In the Unity game engine, all the game objects that the designer made must be shown in the “Hierarchy” window, and then these objects just can be designed and placed in the “Scene” window. In this section, the fundamental functions are implemented and discussed. Unity game engine supports a way to resolve this condition, and that is ‘Prefabs’. The designers can create game objects with the prefabs in the ‘Project’ window. When the objects are used, the designers just need to drag the prefabs to the ‘Hierarchy’ window.

BUILDING THE GAME

The Unity game engine is a cross-platform engine. It is limited with the interfaces among the different game platforms. Unity game engine supports almost all game platforms in the world, but because of the file size of the executed files, the games designed with Unity are released on computer platforms. The game is also built on the Windows 7 system. It is quite easy to build a game in Unity. The designers just need to click the “File” button and pick the “Build & Settings” button to finish it.

USABILITY TEST

Games developers have four objectives; to produce the required functionality, in the budget and on the schedule, with acceptable quality. That statement may be true for ordinary game development projects but are these objectives enough for game development. Playability is the ease by which the game can be played or the quantity or duration that a game can be played and is a common measure of the quality of gameplay. Playability evaluative methods target games to improve design while player experience evaluative methods target players to improve gaming. There are various approaches to test how the players would feel with a game. In the final step of the project, the survey was made to test the playability. There were ten players to be surveyed.

A. Results

The result of the survey is that every player made more than 8 points in the part Ⅱ, and 50 percent players chose the second option, 20 percent players chose the last option and 30 percent players chose the first option.

The objective of this was to make and test a 3D game in the Unity game engine with the idea First-Person Shooter(FPS). This required a fundamental learning about the Unity game engine and programming in C#. The game engine is the center of making a game. The mix of model structure, level plan, and content plan are the game engine. The Unity game engine backings pictured plan; along these lines, it is a solid game engine which is reasonable for a beginner. However, it is not very easy to learn the Unity game engine well. There are various functions to be realized. To make the game to be an integrated game, two scenes were designed. One was the game start scene and the other one was the game scene. As a result, the game start scene was achieved with textures and pictures. Although just a few textures were used for the game scene, three scripts were created for it. All the game features were achieved as the First-Person Shooter game. The goal is to demonstrate how to create a 3D game with the Unity game engine and discuss the implementation of the scripts. The usages of the Skyboxes and the building design are the characteristics in the game. The most important aspect of the game design is thinking how to create more new playabilities. This game is a product of a beginner who favors creating a virtual world. There might be more possibilities for the game in the future. This report demonstrated the whole process of making an FPS game with Unity


Written by kshitiz | BTC Address: 32H62nU8fQN21PX3k5jHPGET9xpRmZhpaW
Published by HackerNoon on 2018/10/31