Posted by : Unknown Rabu, 30 Mei 2018


          Saya akan memberikan penjelasan singkat tentang Finite State Machine (FSM) pada game beserta contohnya dan Pseudocode. Pertama apakah itu FSM, Finite State Machine (FSM) adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut: State (Keadaan), Event (kejadian) dan action (aksi). Sebagai sebuah metodologi perancangan sistem kontrol, penerapan FSM telah banyak diterapkan pada perangkat lunak, khususnya pada game.


 

PSEUDOCODE

using UnityEngine;
using System.Collections;

public class GameFSM : MonoBehaviour {
  public enum {LevelAwal, diam, melompat, benda, soal, kunci, menembak, menghindar, musuh, nyawa, GameOver, NextLevel}

public TurnStates state;
public bool gameInProgress = true;

void Start () {
 state = GameFSM.Mulai.Init;
 StartCoroutine ("TurnFSM");
}
private IEnumerator TurnFSM (){
 while(gameInProgress){
  switch(state){
  case TurnStates.LevelAwal:
     if( Permainan Awal()) {* state = diam:}
    break;
  case TurnStates.diam:
    if(Mulai()) {* state = jump;}
    break;
  case TurnStates.melompat:
    if( Melompat()) {* state = benda;}
    break;
  case TurnStates.benda:
     if( mencari benda()) {* state = soal;}
 if (menghindar ()) {* state = Musuh;}
   break;
  case TurnStates.benda:
     if( mencari Benda ()) {* state = soa;}
 if(Menembak()) {* state = Musuh;}
    break;
  case TurnStates.musuh:
  if( Terkena Enemy ()) {* state = nyawa;}
  Break;
  case TurnStates.soal:
    if( benar ()) {* state = kunci;}
 else (salah ()) {* state = nyawa;}
    break;
  case TurnStates.nyawa:
     if(nyawa masih tersedia ()) {* state = diam;}
     else (nyawa masih habis ()) {* state = GameOver;}
  Break;
  case TurnStates.Kunci:
     if( berhasil menjawab()) {*state = NextGame;}
    break;
  case TurnState.NextGame :
 if (DoneLevel ()) {* state = LevelBaru;}
 break;
 }
 yield return null;
    }
}
 


Post By :
Tri Atmojo Sulaiman
Pend. Teknik Informatika



Referensi :
http://gamedevelopertips.com/finite-state-machine-game-developers/
https://forum.unity.com/threads/implementing-finite-state-machine-ai-c.287401/

Leave a Reply

Subscribe to Posts | Subscribe to Comments

Unknown

Project

Diberdayakan oleh Blogger.

Copyright © NeroPendragon -Black Rock Shooter- Powered by Blogger - Designed by Johanes Djogan