Selasa, 29 Mei 2018

Finite State Machine (FSM) dan Pseudocode


Assalamualaikum wr.wb. 

Pada pertemuan kali ini saya akan menjelaskan mengenai pengertian finite state machine (FSM) dan pseudocode disertai dengan contohnya.

Finite State Machine (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.

Contoh Finite State Machine (FSM) dari game megaman:




Pseudocode
  adalah sebuah kode yang digunakan untuk menulis sebuah algoritma dengan cara yang bebas yang tidak terikat dengan bahasa pemrograman tertentu.

Contoh Pseudocode dari game megaman:

Basic Movement Explained

Untuk memulianya, kita perlu untuk mempertimbangkan tiga cara untuk berpindah; berjalan ke arah kanan, berjalan ke arah kiri, ataupun melompat. Setiap frame akan diperbarui simulasi gamemya. 

Untuk memperbarui karakter pemain, kita menerapkan perpindahan dasar seperti.

Fungsi lain untuk melakukan lompatan.


Agar karakter pahlawan bisa melompat


Kode dapat menembak kekanan dan kiriMenerapkan Penembakan.



kode dapat menembakkan peluru dasar.

Beberapa peluru bisa lebih bertenaga dibanding yang lain. Kode untuk membuat tembakan bermuatan



Menerapkan Musuh
Serangan AI Musuh

Membuat Musuh Menembak


Gerakan AI Musuh

Musuh Berpatroli AI
pseudocode untuk AI patroli musuh:

Untuk mengatur AI yang digunakan musuh


variasi tembakan untuk pemain dan musuh.Variasi Penembakan
Dengan cara ini kita bisa melakukan tembakan peluru yang sederhana, atau tembakan peluru tiga arah.
Pseudocode tembakan 1


Pseudocode tembakan 2



Pseudocode tembakan 3


Kesehatan dan Kematian
Di sinilah semua variasi tembakan yang kita buat benar-benar mulai menjadi masalah. Di sinilah pahlawan kita merusak dan membunuh musuh, dan sebaliknya.Mari kita lihat pseudocode:


Pseudocode yang sama untuk perusakan musuh, seperti:



GUI Bar Kesehatan
Panjang bar kesehatan


Untuk menangani beberapa tingkat, kita memerlukan tiga variabel: currentLevel, levelName, dan nextLevel.Inilah pseudocodenya:Doors and Checkpoints

Menginisiasi Level Baru
Berikut adalah pseudocode untuk menangani saat level berikutnya dimuat dan siap dimainkan.


Posisi Awal Pemain
Pseudocode untuk penanganan saat sang pahlawan mati:


Membuat AI bos yang bergantung pada waktu setelah mereka melahirkan.  Pseudocode akan terlihat seperti ini:pertempuran Bos


Definisi fungsi tembakan bos ada di bawah.



Ini akan memungkinkan pemain untuk "belajar" serangan bos seperti yang dijelaskan sebelumnya. Untuk menambahkan jenis tembakan ini ke tangkapan tangkapan pemain, kita perlu menambahkan kode berikut setelah musuh mati:


Penjelasan pada game megaman diatas adalah:
Karakter berlari dan melompat, untuk menyelesaikan misi pada setiap levelnya, karakter dapat menembak dengan peluru tembakan dasar dan saat karakter mengalahkan bos yang ada pada setiap levelnya maka karakter akan mendapatkan tembakan yang lebih kuat sebagai hasil/apresiasi karena telah mengalahkan bos.
Pada moster/enemy dapat bergerak mengidentifikasi hero yang berada didekatnya moster juga dapat menyerang hero, begitu juga dengan bos yang ada pada setiap levelnya

Cukup sekian pembahasan saya kali ini samapai jumpa dilain waktu......

Sumber reverensi :