1 of 36

Theory, Design & Programming

GAME DEVELOPMENT

2 of 36

Rickman Roedavan

(Rikman Aherliwan rudawan)

Author, Lecturer, Game Director

PORTOFOLIO

Telkom University

Head of Multimedia Research Laboratory

Game Programming Lecturer

Best Seller Books

  1. Unity Tutorial Game Engine (Informatika)
  2. Construct2 Tutorial Game Engine (Informatika)

Startup Experience

1. Mythologi Studio (Game Director)

2. Cube Studio (Startup Mentor)

3. Jagad Creative (Game Director)

4. Jundi Kreatif (Operational Director)

5. Qiva Project (Technology Director)

6. WOW Komik (Co-Founder)

7. IMedia9 (Founder)

PT. Dirgantara Indonesia (Persero)

1. Bussiness Analyst (Sales Engineer)

2. Tactical Floor Game (Project Leader)

3. Planing Operation System (Senior Programmer)

4. Wargaming System (Junior Programmer)

3 of 36

4 of 36

Outline

Game Theory

Definition

Entertainment Game

Educational Game

Serious Game

Game Development Life Cycle (GDLC)

Game Engine Introduction

5 of 36

Outline

Game Design

Definition

Storytelling

World Building

Character Sheet

Game Goal Typology

6 of 36

Outline

Game Programming

Definition

Game Input

Mouse, Keyboard, Gamepad, Touch, Sensor

Game Event

Calculation, Activation, Visualization

Transformation, Animation, Instantiation,

Interaction, Collision, Iteration, Condition

Game Mechanic Implementation

Physics Calculation, Avatar Controlling, Entity Statistic,

Internal Economy, Tactical Manuevering,

Gameplay Balancing, Social Interaction, User Generated Content

7 of 36

GAME THEORY�

8 of 36

Game Theory (Entertainment)

“Game is any activity which is executed only for pleasure and have two main component namely objectives and rules.”

(Wikipedia)

9 of 36

Game Theory (Educational/Serious Game)

“Games have an explicit and carefully thought-out educational purpose and are not intended to be played primarily for amusement.”

(Clarck C Abt, 1970)

10 of 36

Game Theory (Serious Game)

“Digital Game which are applied in serious fields and have an assessment mechanism for its players to improve their skill.”

(Rickman Roedavan, 2021)

11 of 36

Game Theory (Gamification)

“Gamification is the use of Game Elements of game design in non-game context.”

(Sebastian Deterding, Dan Dixon, Lennart E. Nacke, & Rilla Khaled, 2011)

12 of 36

Game Theory (Game-based Learning)

“Combination of and serious learning and interactive entertainment into a newly emerging and highly exciting medium.”

(Marc Prensky, 2001)

13 of 36

Game Theory (Overview)

Rickman Roedavan, 2021

14 of 36

Game Development Life Cycle (GDLC)

Chandler, H., Game Production Handbook, Sudbury: Jones and Bartletts Publishers, 2009.

Hendrick, A., Project Management for Game Development, http://mmotidbits.com/2009/06/15/project-management-for-game-development. (18 March 2020).

Blitz Games Studios, Project Lifecycle, http://www.blitzgames studios.com/blitz_academy/game_dev/project_ lifecycle. (18 March 2020)

15 of 36

Game Development Life Cycle (GDLC)

Rapid Game Development

Roedavan, R., Pratondo, A., Utoro, R. & Sujana, A., Adaptation Atomic Design Method for Rapid Game Development Model, International Journal of Applied Information Technology, 4(2), pp. 93-102, May 2021.

Serious Game Development Model

Roedavan, R., Pudjoatmodjo, B., Siradj, Y., Salam, S., & Desy, BQ., Serious Game Development Model Based on the Game-Based Learning Foundation, Journal of ICT Research & Application, 15(3), pp. 291-305, Dec 2021.

16 of 36

Game Engine Introduction

17 of 36

Game Engine Introduction

18 of 36

GAME DESIGN�

19 of 36

Game Design

“Game design is the process of designing and developing games, including gameplay, plot, level design, characters, graphics, sound, and the interaction between players and the game. ”

20 of 36

Storytelling

21 of 36

22 of 36

23 of 36

World Building

Worldbuilding is the process of constructing an imaginary world, sometimes associated with fictional universes. The quality of the world created should encompass history, geography, and ecology. Some science fiction or fantasy writers also create their own maps and languages to make their created world seem more real.

24 of 36

25 of 36

Character Building

Character building refers to the process of developing a player's in-game character through the acquisition of skills, abilities, and equipment. This process can involve leveling up, completing quests, earning experience points, and finding or crafting new items. The player's choices and actions throughout the game will also impact the development of their character, allowing for unique playthroughs and replayability.

26 of 36

27 of 36

Game Goal Typology

Choose

Obtain

Configure

Optimize

Solve

Reach

Create

Synchronize

Find

Remove

Michael Debus, 2020

28 of 36

29 of 36

GAME PROGRAMMING�

30 of 36

Game Programming

Game programming is the process of creating computer code that governs the behavior of a video game. This includes writing algorithms to handle game mechanics, designing user interfaces, creating artificial intelligence, and integrating graphics and sound into the game. Game programmers work collaboratively with game designers, artists, and producers to bring a game from concept to completion.

31 of 36

Game Input

Gamepad

Eye

Keyboard

Body

Touch

Mouse

Gesture

Image

Voice

Sensor

Rickman Roedavan, 2021

32 of 36

public class MouseClickDetector : MonoBehaviour

{

private void Update()

{

if (Input.GetMouseButtonDown(0))

{

Debug.Log("Mouse clicked!");

}

}

}

public class TapDetector : MonoBehaviour

{

private float tapTimeThreshold = 0.2f;

private float tapDistanceThreshold = 50f;

private Vector2 prevTapPos = Vector2.zero;

private float prevTapTime = 0f;

private void Update()

{

if (Input.touchCount > 0)

{

Touch touch = Input.GetTouch(0);

if (touch.phase == TouchPhase.Began)

{

float timeSincePrevTap = Time.time - prevTapTime;

float distanceSincePrevTap = Vector2.Distance(touch.position, prevTapPos);

if (timeSincePrevTap <= tapTimeThreshold && distanceSincePrevTap <= tapDistanceThreshold)

{

Debug.Log("Double tap detected!");

}

else

{

Debug.Log("Tap detected!");

}

prevTapPos = touch.position;

prevTapTime = Time.time;

}

}

}

}

33 of 36

Game Event

Visualization

Instantiation

Activation

Collision

Interaction

Calculation

Transformation

Iteration

Animation

Condition

Rickman Roedavan, 2021

34 of 36

public float moveSpeed = 5f;

private void Update()

{

float horizontalInput = Input.GetAxis("Horizontal");

float verticalInput = Input.GetAxis("Vertical");

Vector3 movement = new Vector3(horizontalInput, 0f, verticalInput) * moveSpeed * Time.deltaTime;

transform.position += movement;

}

float speed;

private void Update()

{

if (speed > 0.1f)

{

animator.SetFloat("Speed", speed); //walk

}

else

{

animator.SetFloat("Speed", 0f); //idle

}

}

35 of 36

Game Mechanic Design

Physics Calculation

Branching Progression

Avatar Controlling

Tactical Maneuvering

Entity Statistic

Social Interaction

Internal Economy

User Generated Content

Linear Progression

Gameplay Balancing

Ernest Adam, 2010; Roedavan, 2023

36 of 36

THANKS