Jumat, 31 Maret 2017

Arsitektur Game Engine



Nama                   : Chyntia Dwinovita
NPM                    : 52414396
Kelas                    : 3IA22
Mata Kuliah        : Pengantar Teknologi Game #
Nama Dosen        : Rifki Amalia
Tugas                   : Penulisan 4
 
Pengertian Game Engine (Mesin Game)


Game Engine adalah system perangkat lunak yang dirancang untuk menciptakan dan pengembangan video game. Ada banyak mesin permainan yang dirancang untuk bekerja pada konsol permainan video dan sistem operasi desktop seperti Microsoft Windows, Linux, dan Mac OS X. fungsionalitas inti biasanya disediakan oleh mesin permainan mencakup mesin render ( “renderer”) untuk 2D atau 3D grafis, mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, dukungan lokalisasi, dan adegan grafik. Proses pengembangan permainan sering dihemat oleh sebagian besar menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.

Engine bukanlah executable program, artinya engine tidak bisa dijalankan sebagai program yang berdiri sendiri. Diperlukan sebuah program utama sebagai entry point atau titik awal jalannya program. Pada C++, entry point-nya adalah fungsi ‘main().’ Biasanya program utama ini relatif pendek. Game engine adalah program yang ‘memotori’ jalannya suatu program game. Kalau game diilustrasikan sebagai ‘musik’ yang keluar dari mp3 player, maka engine adalah ‘mp3 player’ dan program utama adalah ‘data mp3’ yang dimasukkan ke dalam mp3 player tersebut. Dengan adanya engine, waktu, tenaga dan biaya yang dibutuhkan untuk membuat game software menjadi berkurang secara signifikan.

 Beberapa game dengan jenis dan gameplay yang hampir sama bisa dibuat dengan sedikit usaha bila terlebih dulu dibuat engine-nya. Setelah engine diselesaikan, programmer hanya perlu menambahkan program utama, memakai resources (objek 3D, musik, efek suara) yang baru, dan, jika benar-benar dibutuhkan, sedikit memodifikasi engine sesuai kebutuhan spesifk dari game yang bersangkutan. Program game engine seluruhnya berorientasi objek. Dia lebih bersifat reaktif daripada prosedural. Sulit untuk menggambarkan engine secara keseluruhan dalam flow-chart, karena alur program bisa diatur sesuai dengan keinginan pemakai engine, yaitu game programmer.

Tujuan Penggunaan Game Engine

Game engine menyediakan seperangkat alat pengembangan visual di samping komponen software digunakan kembali. Alat-alat ini umumnya diberikan dalam suatu lingkungan pengembangan terpadu untuk mengaktifkan disederhanakan, perkembangan pesat dari permainan dengan cara data-driven. Mesin pengembang Game upaya untuk “pra-menciptakan roda” dengan mengembangkan suite perangkat lunak kuat yang mencakup banyak unsur pengembang game mungkin perlu untuk membangun sebuah permainan. Kebanyakan mesin permainan suite menyediakan fasilitas yang memudahkan pengembangan, seperti grafik, suara, fisika dan fungsi AI. Mesin permainan ini kadang-kadang disebut “middleware” karena, seperti dengan istilah naluri bisnis, mereka menyediakan sebuah platform perangkat lunak yang fleksibel dan dapat digunakan kembali yang menyediakan semua fungsionalitas inti yang dibutuhkan, langsung dari kotak, untuk mengembangkan sebuah aplikasi permainan sambil mengurangi biaya , kompleksitas, dan waktu-ke-pasar-semua faktor penting dalam industri video game yang sangat kompetitif. Gamebryo dan RenderWare adalah seperti program middleware banyak digunakan.

Seperti solusi middleware lainnya, mesin permainan biasanya menyediakan abstraksi platform, yang memungkinkan permainan yang sama untuk dijalankan pada berbagai platform termasuk game konsol dan komputer pribadi dengan sedikit, jika ada, perubahan yang dibuat ke kode sumber permainan. Seringkali, mesin permainan dirancang dengan arsitektur berbasis komponen yang memungkinkan sistem tertentu dalam mesin yang akan diganti atau diperpanjang dengan lebih khusus (dan sering kali lebih mahal) komponen middleware game seperti Havok untuk fisika, Miles Sound System untuk suara, atau Bink untuk Video.

Beberapa mesin permainan seperti RenderWare bahkan dirancang sebagai rangkaian dihubungkan secara longgar komponen middleware permainan yang bisa selektif dikombinasikan untuk membuat mesin khusus, bukan pendekatan yang lebih umum dari memperluas atau menyesuaikan solusi terintegrasi yang fleksibel. Namun diperpanjang tercapai, hal itu tetap menjadi prioritas tinggi dalam mesin game karena berbagai kegunaan yang mereka diterapkan. Meskipun kekhususan nama, mesin permainan yang sering digunakan untuk jenis lain aplikasi interaktif dengan kebutuhan grafis real-time seperti demo pemasaran, visualisasi arsitektur, simulasi pelatihan, dan lingkungan pemodelan.

Beberapa mesin permainan hanya menyediakan 3D real-time rendering kemampuan bukan berbagai fungsi yang dibutuhkan oleh game. Mesin ini mengandalkan pengembang game untuk melaksanakan seluruh fungsi ini atau merakit dari komponen middleware permainan lainnya. Jenis mesin umumnya disebut sebagai “mesin grafis,” “mesin render,” atau “mesin 3D” bukan meliputi lebih istilah “mesin permainan.” Terminologi ini tidak konsisten banyak digunakan sebagai fitur lengkap mesin permainan 3D disebut hanya sebagai “mesin 3D.” Beberapa contoh mesin grafis adalah: Crystal Space, Genesis3D, Irrlicht, JMonkey Engine, OGRE, RealmForge, Truevision3D, dan Visi Engine. Modern permainan atau mesin grafis umumnya memberikan grafik adegan, yang merupakan representasi berorientasi objek dari dunia permainan 3D yang sering menyederhanakan desain game dan dapat digunakan untuk rendering yang lebih efisien dari dunia maya yang luas.

Arsitektur Game Engine

Arsitek adalah pelajaran untuk membuat rancangan dari bangunan. Sedangkan  arsitektur mesin game adalah system perangkat lunak yang  dirancang untuk menciptakan dan pengembangan video game. Dapat dikatakan  bahwa arsitektur mesin game itu adalah rancangan dari sistem perangkat  lunak dari game itu sendiri.

Tahap awal dari merancang suatu game adalah memilih jenis game yang akan  dibuat agar dapat lebih terfokus dalam mengerjakannya. Selanjutnya adalah  mendesaian game yang akan dibuat. Setelah kita memiliki desain game,  langkah berikutnya adalah mengimplementasikan desain tersebut menjadi  source code. Apabila source telah selesai dirancang, maka game tersebut  dapat dimainkan dan digunakan sesuai yang diinginkan oleh sang pembuat  game. Apakah game tersebut dibuat untuk dikomersilkan atau dikembangkan  oleh orang lain.

Beberapa elemen yang terdapat dalam game engine, yaitu:
      a)      Tools/Data
Pada pengembangan game paling tidak dibutuhkan beberapa tools seperti 3d model editor, level editor dan graphics programs. Bahkan jika diperlukan, seringkali kita mengembangkan game engine tersebut dengan menambahkan beberapa code dan fitur yang diperlukan.

      b)      System
System adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di dalam mesin. System adalah bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri terdapat beberapa sub system seperti graphics, input, sound, timer, configuration. System bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.

      c)       Console
Console dapat merubah setting game dan setting game engine di dalam game tanpa perlu melakukan restart pada game tersebut. Console biasa digunakan dalam proses debugging, seperti misalnya apabila game engine tersebut mengalami error maka kita hanya mengoutputkan error message tersebut ke dalam console tanpa harus melakukan restart.

      d)      Support
Support merupakan bagian yang sering digunakan pada system di galam game engine. Support berisikan rumus-rumus matematika yang biasa digunakan, vector, matrix, memory, file loader. Merupakan dasar dari game engine dan hampir digunakan dalam semua project game engine.

      e)      Renderer/Engine Core
Renderer/engine core terdiri dari beberapa sub yaitu visibility, collision detection dan response, camera, static geometry, dynamic geometry, particle systems, billboarding, meshes, skybox, lighting, fogging, vertex shading dan output.

      f)       Game Interface
Game interface merupakan layer antara game engine dan game itu sendiri. Berfungsi sebagai control yang bertuuan untuk memberikan interface apabila di dalam game engine tersebut terdapat fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan game tersebut.

      g)      The Game
Game merupakan inti dari penggunaan game engine sendiri, sehingga ini tergantung bagaimana pengguna dalam mengembangkannya.

Tipe-Tipe Game Engine

Game engine biasanya datang dengan macam-macam jenis dan tujuannya. Ada 3  tipe game engine yaitu sebagai berikut :

1. Roll-your-own game engine
Banyak perusahaan game kecil seperti publisher indie biasanya menggunakan engine-nya sendiri. Mereka menggunakan API seperti XNA, DirectX atau OpenGL untuk membuat game engine mereka sendiri. Di sisi lain, mereka kadang menggunakan library komersil atau yang open source. Terkadang mereka juga membuat semuanya mulai dari nol. Biasanya game engine tipe ini lebih disukai karena selain kemungkinan besar diberikan secara gratis, juga memperbolehkan mereka (para developer) lebih fleksibel dalam mengintegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Kelemahannya banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya. Tower Games Studio membutuhkan satu tahun penuh untuk menyempurnakan game engine-nya, hanya untuk ditulis ulang semuanya dalam beberapa hari sebelum penggunaannya karena adanya bug kecil yang sangat mengganggu.

2. Mostly-ready game engines
Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programer. Semuanya termasuk contoh GUI, physiscs, libraries model, texture dan lain-lain. Banyak dari mereka yang sudah benar-benar matang, sehingga dapat langsung digunakan untuk scripting sejak hari pertama. Game engine semacam ini memiliki beberapa batasan, terutama jika dibandingkan dengan game engine sebelumnya yang benar-benar terbuka lebar. Hal ini ditujukan agar tidak terjadi banyak error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine-nya tersebut untuk mengoptimalkan kinerja game-nya. Contoh tipe game engine seperti ini adalah Unreal Engine, Source Engine, id Tech Engine dan sebagainya yang sudah sangat optimal dibandingkan jika harus membuat dari awal. Dengan hal ini dapat menyingkat menghemat waktu dan biaya dari para developer game.

3. Point-and-click engines
Engine ini merupakan engine yang sangat dibatasi, tapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game-game mereka secepatnya.
 
Sumber :
http://vanillabluse.blogspot.co.id/2016/04/arsitektur-game-engine.html

Design Skenario dan Skrip

Nama                   : Chyntia Dwinovita
NPM                    : 52414396
Kelas                    : 3IA22
Mata Kuliah        : Pengantar Teknologi Game #
Nama Dosen        : Rifki Amalia
Tugas                   : Penulisan 3




      Desain atau Design merupakan perencanaan dalam pembuatan sebuah objek, sistem, komponen atau struktur. Desain merupakan sebuah konsep tentang sesuatu. Seorang perancang atau orang yang mendesain sesuatu disebut desainer, namun desainer lebih lekat kaitannya dengan profesional yang bekerja dilingkup desain yang bekerja untuk merancang sesuatu yang menggabungkan atau bereksplorasi dalam hal estetika dan teknologi. Penggunaan istilah design atau desain bermula dari gambar teknik arsitektur (gambar potong untuk bangunan) serta di awal perkembangan, istilah desain awalnya masih berbaur dengan seni dan kriya.
Pada dasarnya seni adalah suatu pola pikir untuk membentuk ekspresi murni yang cenderung fokus pada nilai estetis dan pemaknaan secara privasi. Sedangkan desain memiliki pengertian sebagai suatu pemikiran baru atas fundamental seni dengan tidak hanya menitik-beratkan pada nilai estetik, namun juga aspek fungsi dan latar industri secara massa, yang memang pada realitanya pengertian desain tidak hanya digunakan dalam dunia seni rupa saja, namun juga dalam bidang teknologi, rekayasa dan lain-lain. Dalam membuat sebuah desain semua berawal dari minat sang desainer(perancang) untuk memilih menciptakan ilustrasi berupa foto, gambar, tulisan atau biasa di sebut dengan sketsa.

Desain Skenario
     Skenario adalah urutan cerita yang disusun oleh seseorang agar suatu peristiwa terjadi sesuai dengan yang diinginkan. Kalau dasar untuk pembuatan film adalah skenario, maka dasar untuk membuat game adalah design document atau lebih mudahnya disebut skenario game. Skenario game adalah langkah awal dalam membuat sebuah game, dengan skenario game dapat mempermudah kita menyelesaikan game yang akan kita buat. Skenario game adalah sebuah cerita khusus yang melatarbelakangi kejadian – kejadian dalam game. Kalau skenario menentukan interior dan eksterior, dekor, pemain, dan studio, serta pembuatan trik, dalam desain dokumen ada ketentuan program game, grafik, tokoh, animasi, suara, dan musik. Sampai di sini keduanya masih paralel. Berbeda dengan skenario yang merupakan sekuens linier dari adegan, turn around point, dialog, dan seterusnya; design documents adalah gabungan dokumen yang mendiskripsikan secara kompleks semua segi game yang direncanakan. 
           Konsep seharusnya berguna untuk memberikan gambaran garis besar tentang cerita, prinsip-prinsip mekanisme game, dan titik berat untuk gameplay. Karena itu konsep mencakup prinsip-prinsip dasar, gaya game, kerangka peraturan, sinopsis cerita, karakteristik game, contoh misi, atau situasi-situasi dalam game dan bisa juga diferensiasi perangkat pengguna atau ada efek-efek khusus serta akhirnya unsur-unsur spesifik yang menjadi andalan pencipta. Dalam penutup sinopsis seharusnya dicantumkan daftar unsur yang unik dan orisinil serta faktor-faktor yang bisa dijadikan daya jual tinggi bagi judul tersebut.
             Dokumen ini tidak baku, selama pengembangan bisa dimodifikasi atau diperbarui. Itu tidak berarti bahwa design document tidak perlu dibuat lengkap dan serius. Seperti dalam kalimat pembuka, semuanya perlu dipertimbangkan dan direncanakan dengan teliti, kalau tidak, pekerjaan tim bisa mengalami banyak masalah. Apasaja yang tidak direncanakan dengan baik akan menyebabkan kerugian waktu dan biaya dalam pelaksanaan proyek. Tentu saja tidak segalanya bisa direncanakan sebelumnya, tetapi menurut teori 80/20, sekitar 80% pekerjaan bisa berjalan sesuai rencana. 
           Tidak ada patokan umum apa saja yang harus menjadi bagian design documents, karena ada banyak perbedaan tergantung proyeknya. Tetapi dalam satu hal semua dokumen sama, harus mendeskripsikan game secara kompleks maupun mendetail. Setelah membaca design document, anda seharusnya memiliki gambaran lengkap tentang produk akhir. Salah satu dokumen biasanya menjelaskan mekanisme game. Sebagai bagiannya, misalkan untuk RPG dan strategi, adalah peraturan yang menentukan dan mendiskripsi tipe objek dalam game berikut karakteristik serta hubungan interaktifnya.
         Bagian lain membahas penerapan hukum fisika dalam dunia game dalam arti luas, misalkan kekuatan alam yang dapat diterapkan dan bagaimana reaksi objek-objek dalam game. Ada deskripsi lokasi secara lisan maupun dalam sketsa, skenario cerita, bisa disebutkan diferensiasi perangkat pengguna. Dan sebaiknya ada daftar monster (untuk RPG fantasi) atau daftar pasukan (untuk strategi). Singkatnya, dalam struktur dokumen-dokumen ini seharusnya terdapat seluruh materi yang mencakup seluruh aspek game. Baru berdasarkan design documents yang lengkap bisa ditulis spesifikasi untuk rancangan engine atau modifikasi engine yang sudah ada, dan rencana produksi. Bagian akhir dari design documents adalah catatan-catatan desainer game, di mana dicantumkan misalnya ide-ide susulan atau perubahan yang dilakukan berdasarkan hasil tes, dan seterusnya.

      Script
           Dalam pemrograman komputer, naskah adalah sebuah program atau urutan instruksi yang ditafsirkan atau dilakukan dengan program lain daripada oleh komputer prossesor. Skrip (script) adalah semacam bahasa pemrograman dalam tingkat kesulitan yang lebih rendah, tanpa aplikasi hasil kompilasi interpreter; skrip biasanya disisipkan ke dalam bahasa pemrograman yang lebih kompleks dan hasil skrip digunakan oleh bahasa pemrograman yang lebih kompleks itu. 
          Contohnya ialah penyisipan skrip assembly ke dalam program Pascal untuk mengakses hardware pada level bahasa tingkat rendah. Skrip merupakan kumpulan sintaks bahasa pemrograman yang siap untuk di-compile. 
1.     Script adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam situs yang pada saat di akses.
2.      Jenis script sangat menentukan statis, dinamis, atau interaktifnya sebuah situs
3.  Semakin banyak script yang digunakan maka akan terlihat semakin dinamis, dan interaktif serta terlihat lebih bagus.
4.      Bahasa dasar yang di pakai setiap situs adalah HTM
5.      Macam-macam script, PHP, ASP, JSP, Java Script, Java Applets, VBScript.

Storyboard
           Storyboard adalah visualisasi ide dari aplikasi yang akan dibangun, sehingga dapat memberikan gambaran dari aplikasi yang akan dihasilkan. Storyboard dapat dikatakan juga visual script yang akan dijadikan outline dari sebuah proyek, ditampilkan shot by shot yang biasa disebut dengan istilah scene. Storyboard sekarang lebih banyak digunakan untuk membuat kerangka pembuatan websites dan proyek media interaktif lainnya seperti iklan, film pendek, games, media pembelajaran interaktif ketika dalam tahap perancangan/desain.
         Baru-baru ini istilah “Storyboard” telah digunakan dibidang pengembangan web, pengembangan perangkat lunak dan perancangan instruksi untuk mempresentasikan dan menjelaskan kejadian interaktif seperti suara dan gerakan biasanya pada antarmuka pengguna, halaman elektronik dan layar presentasi. Sebuah Storyboard media interaktif dapat digunakan dalam antarmuka grafik pengguna untuk rancangan rencana desain sebuah website atau proyek interaktif sebagaimana alat visual untuk perencanaan isi. Sebaliknya, sebuah site map (peta) atau flow chart (diagram alur) dapat lebih bagus digunakan untuk merencanakan arsitektur informasi, navigasi, links, organisasi dan pengalaman pengguna, terutama urutan kejadian yang susah diramalkan atau pertukaran audiovisual kejadian menjadi kepentingan desain yang belum menyeluruh. 
       Salah satu keuntungan menggunakan Storyboard adalah dapat membuat pengguna untuk mengalami perubahan dalam alur cerita untuk memicu reaksi atau ketertarikan yang lebih dalam. Kilas balik, secara cepat menjadi hasil dari pengaturan Storyboard secara kronologis untuk membangun rasa penasaran dan ketertarikan. 
    Untuk proyek tertentu, pembuat Storyboard memerlukan ketrampilan menggambar yang bagus dan kemampuan beradaptasi terhadap gaya yang bermacam. Mereka harus mampu untuk mengikuti desain yang telah dikeluarkan dan menghasilkan kerja konsisten, yang digambar pada model.

1.      Storyboard pada Game
       Storyboard pada Game sedikit berbeda dari storyboard animasi, dimana pada storyboard game terdapat goal / mission yang akan dibuat pada game itu sendiri. Kemudian storyboard pada game menjelakaskan tentang alur permaianan itu sendiri seperti apa tergantung dari jenis game.  misalkan game ber-genre arcade tidak memiliki alur cerita namun game terebut menitik beratkan pada perolehan point. Jadi storyboard yang dibuat yaitu bagaimana pemain mendapat nilai / point setinggi mungkin.

2.       Storyboard pada Aminasi
         Storyboard pada animasi ialah untuk menjelaskan tentang alur narasi dari sebuah cerita, atau storyboard pada animasi sebagai acuan agar animator  dalam membuat animasi tidak melenceng dari yang dibuat pada storyboard. Sebenarnya fungsi dari storyboard itu sama, namun yang berbeda hanya media yang diperuntukkan dari storyboard itu sendiri, contoh storyboard pada game atau storyboard pada iklan.

Sumber :

1.      http://vanillabluse.blogspot.co.id/2016/03/penjelasan-tentang-desain-skenario.html

Artificial Intelligence, Decision Making, dan Rule Sistem

Nama                   : Chyntia Dwinovita
NPM                    : 52414396
Kelas                    : 3IA22
Mata Kuliah        : Pengantar Teknologi Game #
Nama Dosen        : Rifki Amalia
Tugas                   : Penulisan 2

1. Artificial Intelligence


Kecerdasan buatan (Artificial Intelligence) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang -dalam pandangan manusia adalah- cerdas” (H. A. Simon [1987] ). Perkembangan game saat ini tidak lepas dari kecerdasan buatan (artificiall intelligence). Kecerdasan buatan merupakan salah satu bagian dari ilmu komputer yang membuat mesin (komputer) dapat melakukan pekerjaan seperti manusia dan komputer dimungkinkan untuk dapat berfikir.


Faham Pemikiran
Secara garis besar, AI terbagi ke dalam dua faham pemikiran yaitu AI Konvensional dan Kecerdasan Komputasional (CI, Computational Intelligence). AI konvensional kebanyakan melibatkan metoda-metoda yang sekarang diklasifiksikan sebagai pembelajaran mesin, yang ditandai dengan formalisme dan analisis statistik. Dikenal juga sebagai AI simbolis, AI logis, AI murni dan AI cara lama (GOFAI, Good Old Fashioned Artificial Intelligence). 

Metode - metode
1.     Dalam Sistem pakar menerapkan kapabilitas pertimbangan untuk mencapai kesimpulan. Sebuah sistem pakar  dapat memproses sejumlah besar informasi yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada informasi-informasi tersebut.
2.      Petimbangan berdasar kasus
3.      Jaringan Bayesian
4.      AI berdasar tingkah laku yaitu metoda modular pada pembentukan sistem AI secara manual.

     Kecerdasan komputasional melibatkan pengembangan atau pembelajaran iteratif (misalnya penalaan parameter seperti dalam sistem koneksionis. Pembelajaran ini berdasarkan pada data empiris dan diasosiasikan dengan AI non-simbolis, AI yang tak teratur dan perhitungan lunak.

Metode-metode pokoknya meliputi :
1.     Jaringan Syaraf yaitu sistem dengan kemampuan pengenalan pola yang sangat kuat.
2.   Sistem Fuzzy: teknik-teknik untuk pertimbangan di bawah ketidakpastian, telah digunakan secara meluas dalam industri modern dan sistem kendali produk konsumen.
3.   Komputasi Evolusioner: menerapkan konsep-konsep yang terinspirasi secara biologis seperti populasi, mutasi dan “survival of the fittest” untuk menghasilkan pemecahan masalah yang lebih baik.

Kecerdasan Buatan dikelompokkan menjadi 4 macam, yaitu :
1.      Systems that think like humans.
2.      Systems that act like humans.
3.      Systems that think rationally.
4.      Systems that act rationally.

Tujuan Kecerdasan Buatan yaitu :
1.      Membuat komputer lebih cerdas.
2.      Membuat mesin lebih berguna.

2. Decision Making


    Decision Making adalah serangkaian algoritma yang dirancang dengan memasukan beberapa kemungkinan langkah yang bisa diambil oleh suatu aplikasi, Pada game ini decision making memberikan kemampuan suatu karakter untuk menentukan langkah apa yang akan diambil. Decision making dilakukan dengan cara menentukan satu pilihan dari list yang sudah dibuat pada algoritma yang dirancang. Algoritma decision making kerap digunakan dalam aplikasi game, akan tetapi algoritma decision making dapat diimplementasikan pada banyak aplikasi lain.
Decision Making terbagi menjadi 3 :
1.      Decision Tree     
Pohon Keputusan (Decision Tree) merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang merepresentasikan aturan.
2.      State Machine
Finite State Machines (FSM) adalah sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut yaitu :
a.       State ( Keadaan )
b.      Event ( Kejadian ) dan,
c.       Action ( Aksi ).
3.      Rule System     
Rule Based System merupakan metode pengambilan keputusan berdasarkan pada aturan-aturan tertentu yang telah ditetapkan.

3. Rule Sistem


Sistem berbasis aturan (Rule Based System) adalah suatu program komputer yang memproses informasi yang terdapat di dalam working memory dengan sekumpulan aturan yang terdapat di dalam basis pengetahuan menggunakan mesin inferensi untuk menghasilkan informasi baru. Sebuah Rule-Based System dapat dibentuk dengan menggunakan sebuah assertions set, yang secara kolektif membentuk working memory, dan sebuah rule set yang menentukan aksi pada assertions set.  RBS secara relatif adalah model sederhana yang bisa diadaptasi ke banyak masalah. Namun, jika ada terlalu banyak peraturan, pemeliharaan sistem akan rumit dan terdapat banyak failure dalam kerjanya.
Untuk membuat sistem berbasis aturan, anda harus memiliki :
1.    Sekumpulan fakta yang mewakili working memory. Ini dapat berupa suatu keadaan yang relevan dengan keadaan awal sistem bekerja.
2.     Sekumpulan aturan. Aturan ini mencakup setiap tindakan yang harus diambil dalam ruang lingkup permasalahan yang dibutuhkan.
3.      Kondisi yang menentukan bahwa solusi telah ditemukan atau tidak (none exist). Hal ini berguna untuk menghindari looping yang tidak akan pernah berakhir.

Teori sistem berbasis aturan ini menggunakan tekhnik yang sederhana, yang dimulai dengan dasar aturan yang berisi semua pengetahuan dari permasalahan yang dihadapi yang kemudian dikodekan ke dalam aturan IF-THEN dan sebuah tempat penyimpanan (basis data) yang mengandung data, pernyataan dan informasi awal. Sistem akan memeriksa semua aturan kondisi (IF) yang menentukan subset, set konflik yang ada. Jika ditemukan, maka sistem akan melakukan kondisi THEN. Perulangan atau looping ini akan terus berlanjut hingga salah satu atau dua kondisi bertemu, jika aturan tidak diketemukan maka sistem tersebut harus keluar dari perulangan (terminate).
Untuk mengelola rules , terdapat 2 pendekatan yaitu :
1.   Forward Chaining : dimana rules diproses berdasarkan sejumlah fakta yang ada, dan didapatkan konklusi sesuai dengan fakta-fakta tersebut. Pendekatan forward chaining disebut juga data driven.
2.   Backward Chaining : dimana diberikan target (goal), kemudian rulesyang aksinya mengandung goal di-trigger. Backward chaining ini cocok untuk menelusuri fakta yang masih belum lengkap, disebut juga goal driven.