Jumat, 12 Juli 2019

Membuat game balapan menggunakan pygame dengan bahasa python


Pertama yang kita butuhkan untuk memulai membuat game menggunakan python adalah melakukan instalasi pygame. Setelah selesai menginstall kita bisa memulai melakukan koding dengan menggunakan IDE dari python.
Pertama lakukan inisialisasi nilai yang akan menjadi variable yang akan dihitung dalam game nanti. nilai-nilai yang harus di inisialisasi seperti lebar layar, lebar karakter, lebar rintangan.

Selanjutnya kita buat controller yang akan digunakan untuk menggerakan karakter kita. dengan menggunakan Pygame kita sudah disediakan framework agar lebih mudah dalam pembuatan kotroler dan berbagai macam hal yang dibutuhkan dalam game


 Lalu kita buat tampilan object-object yang akan ada didalam game kita. Setelah sebelumnya diinisialisasikan nilai2nya objek-objek tersebut kita panggil agar muncul pada game kita
Kita tambahkan rintangan yang akan menambahkan kesulitan saat kita bermain. selanjutnya kita buat ringatangannya bergerak agar meningkatkan kesulitan bermain jika scorenya terus bertambah

Selanjutnya adalah nilai score yang kita dapatkan jika berhasil melewati rintangan. disini kita membuat koding agar nilai kkita bertambah jika kita berhasil melewati rintangan.

Yang terakhir adalah menghitung total score yang kita dapatkan ketika kita selesai bermain, nilai tertinggi akan tercatat pada save.data



Source code untuk game ini dapat dilihat di 



Jumat, 10 Mei 2019

Pengantar Teknologi Game - Tugas 3

Game berbasis Jaringan

Seiring dengan perkembangan teknologi, inovasi yang terus menerus, mengakibatkan banyak muncul game komputer yang menyediakan fasilitas untuk dapat bermain dalam suatu jaringan komputer (network). Fasilitas jaringan komputer (network) memungkinkan game dapat dimainkan oleh beberapa orang sekaligus dengan menggunakan beberapa buah komputer yang terhubung satu dengan yang lainnya, menyebabkan game yang menggunakan papan semakin tersisih. Oleh karena itu dibutuhkan aplikasi yang menggantikan game papan agar tidak tersisihkan dan terlupakan.

Game jaringan sering juga disebut multiplayer game, dapat dimainkan oleh beberapa user sekaligus dalam suatu jaringan (jaringan lokal LAN atau jaringan internet). Game jaringan sangat populer karena alasan kenyamanan ruang (space). User tidak perlu berebut pandangan dalam satu monitor dengan user lain, user dapat merancang strategi permainan di depan komputernya sendiri, tidak terbatas oleh ruang. Game jaringan yang sederhana dapat dibuat dengan menggunakan aplikasi Visual Basic dan menggunakan komponen Winsock. Berdasarkan uraian di atas, penulis bermaksud untuk merancang suatu perangkat lunak permainan Halma yang dapat dimainkan dalam suatu jaringan komputer (network).

perjalanan sejarah game online permainan online dimulai sejak tahun 1969, ketika permainan untuk dua orang dikembangkan dengan tujuan awal untuk pendidikan. Kemudian pada awal tahun 1970, sebuah sistem dengan kemampuan time-sharing, yang disebut Plato, diciptakan untuk memudahkan siswa belajar secara online, di mana beberapa pengguna dapat mengakses komputer secara bersamaan menurut waktu yang diperlukan. Dua tahun kemudian, muncul Plato IV dengan kemampuan grafik baru, yang digunakan untuk menciptakan permainan untuk banyak pemain (multiplayer games).

Permainan daring benar-benar mengalami perkembangan setelah tahun 1995, pembatasan NSFNET (National Science Foundation Network) dihapuskan, membuat akses ke domain lengkap dari internet. Kesuksesan moneter menghampiri perusahaan-perusahaan yang meluncurkan permainan ini, sehingga persaingan mulai tumbuh dan menjadikan permainan daring semakin berkembang hingga hari ini.

Artificial Intelligence

Kecerdasan buatan (bahasa Inggris: Artificial Intelligence atau AI) didefinisikan sebagai kecerdasan yang ditunjukkan oleh suatu entitas buatan. Sistem seperti ini umumnya dianggap komputer. Kecerdasan diciptakan dan dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan seperti yang dapat dilakukan manusia. Beberapa macam bidang yang menggunakan kecerdasan buatan antara lain sistem pakar, permainan komputer (games), logika fuzzy, jaringan syaraf tiruan dan robotika.


Penelitian dalam AI menyangkut pembuatan mesin untuk mengotomatisasikan tugas-tugas yang membutuhkan perilaku cerdas. Termasuk contohnya adalah pengendalian, perencanaan dan penjadwalan, kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah kehidupan yang nyata. Sistem AI sekarang ini sering digunakan dalam bidang ekonomi, obat-obatan, teknik dan militer, seperti yang telah dibangun dalam beberapa aplikasi perangkat lunak komputer rumah danvideo game.


Pada tahun 1769, dataran Eropa dikejutkan dengan suatu permainan catur yang dapat menjawab langkah-langkah permainan catur yang belum ditentukan terlebih dahulu. Mesin ini disebut dengan Maelzel Chess Automation dan dibuat oleh Wolfgang Von Kempelan (1734-1804) dari Hungaria. Akan tetapi mesin ini akhirnya terbakar pada tahun 1854 di Philadelphia Amerika Serikat.banyak orang tidak percaya akan kemampuan mesin tersebut. Dan seorang penulis dari Amerika Serikat, Edgar Allan Poe (1809-1849) menulis sanggahan terhadap mesin tersebut, dia dan kawan-kawannya ternyata benar, bahwa mesin tersebut adalah tipuan, dan kenyataannya bukanlah aoutomation, tetapi merupakan konstruksi yang sangat baik yang dikontrol oleh seorang pemain catur handal yang bersembunyi di dalamnya.
Usaha untuk membuat konstruksi mesin permainan terus dilanjutkan pada tahun 1914, dan mesin yang pertama kali didemonstrasikan adalah mesin permainan catur. Penemu mesin ini adalah Leonardo Torres Y Quevedo, direktur dari Laboratorio de Automatica di Madrid, Spanyol. Beberapa tahun kemudian, ide permainan catur dikembangkan dan diterapkan di komputer oleh Arthur L. Samuel dari IBM dan dikembangkan lebih lanjut oleh Claude Shannon.

Salah satu unsur yang berperan penting dalam sebuah game adalah kecerdasan buatan. Dengan kecerdasan buatan, elemen-elemen dalam game dapat berperilaku sealami mungkin layaknya manusia.
Game AI adalah aplikasi untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak ikut bermain (NPC = Non Playable Character). Peranan kecerdasan buatan dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan menusia untuk berinteraksi dengan sesama manusia. Contoh media interaksi ialah:

·        Penglihatan (vision)
·        Suara (voice), ucapan (speech)
·        Gerakan anggota badan ( gesture)

Untuk pembentukan Artificial Intelligence pada game ternyata digunakan pula algoritma, yaitu jenis pohon n-ary untuk suatu struktur. Implementasi pohon (tree) ini biasa disebut game tree. Berdasarkan game tree inilah sebuah game disusun algoritma kecerdasan buatannya. Artificial intellegence yang disematkan dalam sebuah game yang membentuk analisis game tree biasanya merepresentasikan kondisi atau posisi permainan dari game sebagai suatu node, dan merepresentasikan langkah yang mungkin dilakukan sebagai sisi berarah yang menghubungkan node kondisi tersebut ke anak (child) sebagaimana representasi suatu pohon (tree).

Namun, biasanya representasi langsung tersebut mempunyai kelemahan, yaitu representasi data pohon akan menjadi sangat lebar dan banyak. Mungkin bagi sebuah mesin komputer mampu melakukan kalkulasi sebanyak apapun masalah, namun game tree yang lebar dan besar memberikan beberapa masalah, antara lain konsumsi proses memori, kapasitas penyimpanan yang cukup besar dan kinerja yang kurang pada konsol game berspesifikasi rendah. Karena itu dibentuklah beberapa algoritma dan penyederhanaan bagi sebuah game tree.

Pada salah satu contoh game klasik, yaitu tic tac toe, penyederhanaan dapat dilakukan dengan berbagai metode. Salah satu diantaranya adalah minimax. Metode ini berhasil diterapkan dan memberikan nilai reduksi yang cukup signifikan. Dan tidak hanya bisa digunakan secara monoton, minimax juga bisa digunakan untuk game-game yang lebih rumit seperti catur, tentunya dengan algoritma dan representasi berbeda.

Minimax yang merupakan salah satu metode penerapan (implementasi) pohon n-ary pada suatu game, menandakan bahwa implementasi struktur (pohon khusunya) sangatlah diperlukan pada pembuatan dan penerapan Artificial Intelligence, dan tidak menutup kemungkinan ilmu dan metode baru yang lebih canggih akan ditemukan di masa depan.
Beberapa karakteristik dan batasan game untuk game playing :

Dimainkan oleh 2 ( dua ) pemain: manusia dan komputer. Para pemain saling bergantian melangkah.

1.      Perfect Information Game : Kedua pemain sama-sama memiliki akses pada informasi yang lengkap tentang keadaan permainan, sehingga tidak ada informasi yang tertutup bagi lawan mainnya.
2.     No Determined by Chances : Tidak melibatkan faktor probabilitas, misalnya dengan menggunakan dadu.
3.     No Phsychological Factors : Tidak melibatkan faktor psikologi, seperti “gertakan” (misalnya Poker)
4.     No Oversight Errors Smart Opponen : Lawan diasumsikan pintar juga, jadi jangan mengharap lawan khilaf, sehingga terjadi salah langkah.
Beberapa contoh permainan yang biasa digunakan sebagai contoh kasus Game Playintyle = Last One Loses n-coins Grundy’s Game
·        Slide-5
·        Tic-Tac-Toe
·        Checkers
·        Go
·        Nim
·        Othello
·        Chess

Contoh game berbasis AI

Quick, Draw! oleh Google Creative Lab

Quick Draw. Aplikasi yang diciptakan oleh Google Creative Lab ini merupakan game yang dilengkapi dengan AI. Pemain akan diminta untuk menggambar 6 buah objek sesuai dengan perintah dalam waktu 20 detik untuk masing masing gambar. Saat selesai menggambar AI akan menebak gambar yang digambar oleh pengguna. ika gambar yang ditorehkan pada layar sesuai dengan objek sebenarnya, maka AI akan dapat menebak gambar dengan benar dan pengguna akan mendapat skor. Namun jika salah, pengguna tidak akan mendapat poin. Hasil Gambar bisa di bagikan melalui jejaring sosial seperti Facebook dan Twitter.

Game ini menggunakan neural network yang akan mendeteksi perbedaan-perbedaan torehan gambar yang akan mengeditifikasi torehan yang kita buat mendekati bentuk gambar apa.

The Infinite Drum oleh Manny Tan & Kyle McDonald

Jika Anda menyukai beberapa jenis suara dan ingin mengompilasikannya, The Infinite Drum bisa jadi pilihan. Aplikasi ini merupakan "maestro" musik dengan suara yang ada disekeliling kita setiap harinya. Mulai dari suara alat musik, orang berbicara, hingga suara hewan.

Dengan menggunakan Infinite Drum, pengguna dapat menciptakan ketukan musik yang harmois dari ribuan suara yang tersedia. Tempo dan beat-nya juga bisa diatur sesuai dengan kebutuhan dan selera dari pengguna.





DAFTAR PUSTAKA DAN REFERENSI

Selasa, 02 April 2019

Pengantar Teknologi Game - Tugas 2


Arsitektur Game Engine

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. contohnya seperti GameEnginev12. 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 secarasignifikan.

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.

Contoh-contoh dari game engine yang sering atau biasa digunakan diantaranya :
§ Rage
§ Unreal Engine
§ HPL
§ Frosbite
§ Unity
§ Source Engine
§ Sage

Interaksi Fisik Dalam Teknologi

Interaksi menurut Hormans adalah suatu kejadian ketika aktivitas atau sentimen yang dilakukan oleh seseorang terhadap individu lain diberi ganjaran (reward) atau hukuman (punishment) dengan menggunakan suatu aktivitas atau sentimen oleh individu lain yang menjadi pasangannya. Konsep pengertian interaksi yang dikemukakan oleh Hormans yaitu suatu tindakan yang dilakukan oleh seseorang dalam suatu interaksi merupakan suatu stimulus bagi tindakan individu lain yang menjadi pasangannya.
interaksi fisik ialah salah satu bentuk interaksi yang terjadi jika ada dua orang atau lebih melakukan kontak dengan menggunakan bahasa-bahasa tubuh. Contoh interaksi ini : posisi tubuh, ekspresi wajah, gerak-gerik tubuh dan kontak mata.
Dalam lingkungan game, interaksi fisik dapat dimaksud dengan menyerap pengertian diatas, yaitu menjadi interaksi fisik ialah salah satu bentuk interaksi yang terjadi jika ada dua objek atau lebih melakukan kontak. Kontak yang terjadi antara objek – objek tersebut umumnya adalah collision atau tabrakan.

Collision Detection

Collision Detection dibutuhkan untuk memastikan tidak ada objek yang saling menembus.
Pada dasarnya, objek baik 2 dimensi maupun 3 dimensi pada Teknologi Game dan digital, secara umumnya objek – objek tersebut bukanlah objek yang memiliki kemampuan fisik, atau secara lain objek tersebut hanyalah susunan dari titik, garis, dan penampang yang terhubung satu sama lain, dan bisa dianggap bahwa objek tersebut hanyalah sebatas bentuk, tanpa memiliki kemampuan.
Agar objek – objek tersebut dapat mensimulasikan kemampuan fisik, objek – objek tersebut harus diberikan pemahaman dengan menggunakan aljabar linear dan komputasi geometri.
Komputasi geometri tersebut digunakan untuk memberikan batas pada objek. Walaupun objek tersebut terlihat sudah memiliki penampang, sebenarnya penampang tersebut bukanlah batasan dari sisi terluar objek tersebut. Oleh karena itu, komputasi geometri dibuat dengan parameter bentuk dan volume dari objek tersebut. Umumnya, bentuk batasan ini disebut bounding box ( batas kotak ).
Aljabar linear digunakan untuk memberitahukan bahwa, ketika batas tersebut terletak pada koordinat yang sama atau berpotongan dengan batas objek lain, maka objek – objek tersebut mensimulasikan tabrakan.
Pada awalnya, penggunaan algoritma untuk pendeteksian tabrakan ini bekerja dengan cara mudah, yaitu dengan cara mengecek apakah penampang dari batas objek A dengan penampang dari batas objek B akan saling berpotongan. Tentu saja hal tersebut akan bekerja. Tapi, bayangkan apabila objek yang digunakan sangat banyak. Setiap penampang dari batas objek A = [a1, a2, …, an] akan melakukan pengecekan sampai ke penampang dari batas objek N = [n1, n2, …, nn]. Mungkin algoritma ini akan bekerja dengan baik apabila hanya terdapat 2 objek dalam lingkungan tersebut.
Dalam perkembangan pendeteksian tabrakan, konfigurasi kemampuan fisik dari satu pergerakan ke pergerakan selanjutnya hanya berubah sedikit. Banyak objek – objek yang tidak bergerak sama sekali. Algoritma telah di desain sehingga perhitungan telah selesai untuk menentukan bahwa pergerakan terdahulu dapat digunakan kembali untuk pergerakan di masa kini, yang menghasilkan perhitungan selesai dengan lebih cepat.
Perkembangan tersebut tujuan nya hanya untuk mencari dan menentukan pasangan – pasangan dari objek – objek yang mungkin berpotongan. Pasangan – pasangan tersebut akan menganalisis pergerakan kedepannya.
Logikanya adalah setiap kotak direpresentasikan dengan tiga bentuk interval ( misalkan, sebuah kotak akan direpresentasikan dengan I1 x I2 x I3 = [a1, b1] x [a2, b2] x [a3, b3] ). Jika terdapat 2 kotak ( dengan bounding box nya masing – masing ) I1 x I2 x I3 dan J1 x J2 x J3akan berpotongan jika, dan hanya jika, I1 berpotongan dengan J1, dan seterusnya. Maka, pada pergerakan tersebut dan untuk ke pergerakan selanjutnya, Ik dan Jk berpotongan, sehingga hal tersebut akan sama untuk pergerakan lainnya. Sebaliknya, jika mereka tidak berpotongan pada pergerakan sebelumnya, maka pergerakan mereka tidak akan berpotongan.
Sehingga untuk mengurangi masalah tersebut, dibuatkan tiga daftar interval ( satu untuk setiap sumbu, X,Y, dan Z). Maka dari itu didapat matriks n x n, M = (mij) dengan isi nol dan satu: mij adalah 1 jika interval i dan j berpotongan, dan 0 jika mereka tidak berpotongan.

Spatial Partitioning

Algoritma alternatif di kelompokkan dibawah spatial partitioning, termasuk octress, binary space partitioning ( BSP Trees ), dan yang lainnya yang memiliki pendekatan yang serupa. Hal ini digunakan dengan membagikan sebuah wilayah menjadi beberapa bagian, dan jika dua objek tidak terdapat pada bagian yang sama, maka objek – objek tersebut tidak perlu dicek apakah akan berpotongan. BSP Trees bisa memperhitungkan terlebih dahulu, yang mana pendekatan tersebut sangat cocok untuk didefinisikan di dalam objek berbentuk tembok, dan objek halangan yang tetap dalam sebuah game. Algoritma tersebut secara umum lebih dulu diketahu daripada algoritma yang telah dijabarkan sebelumnya.

Bounding Boxes

Bounding boxes ( atau Bounding volumes ) seringnya digunakan untuk objek yang berbentuk persegi atau kubus, tetapi objek dengan bentuk lainnya dapat menggunakannya. Bounding diamond, minimum bounding parallelogram, convex hull, bounding circle, atau bounding ball, dan bounding ellipse sudah diujicoba, tetapi bounding boxes tetap menjadi algoritma yang popular karena simpel.

User Interface Pada Game Computer

Antarmuka (Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka (Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi. Antarmuka (Interface) berfungsi untuk menginput pengetahuan baru ke dalam basis pengetahuan sistem pakar (ES), menampilkan penjelasan sistem dan memberikan panduan pemakaian sistem secara berurutan sehingga pengguna mengerti apa yang akan dilakukan terhadap suatu sistem.

Desain user interface dalam game berbeda dari desain UI lainnya karena melibatkan unsur tambahan fiksi. Fiksi melibatkan avatar dari pengguna yang sebenarnya, atau player. Sebuah Desain Antarmuka (Interface) pada suatu Game mempengaruhi kenyamanan dan sejauh mana user/pengguna meminati Game tersebut.

Dalam desain user interface game, terdapat sebuah teori yang dikemukakan oleh Erik Fagerholt dan Magnus Lorentzon dari Chalmers University of Technology. Dalam tesisnya mereka menulis tesis tentang desain user interface berjudul Beyond the HUD – User Interfaces for Increased Player Immersion in FPS Games.Mereka memperkenalkan istilah berbagai jenis interface yang berkaitan dengan desain video game.

HUD itu sendiri kepanjangan dari Heads – up display, merupakan metode dimana informasi secara visul disampaikan kepada pemain sebagai bagian dari antarmukan pengguna permainan. Biasanya menunjukkan bar/kotak HP(Health Point) ataupun MP(Mana Point) dan biasanya muncul di atas kepala karakter. Fungsi HUD ini untuk memudahkan pemain mengetahui kondisi karakter dalam permainan.

DAFTAR PUSTAKA
https://www.ranggahamdan.com/2017/04/19/arsitektur-game-engine/ Diakses pada 04 April 2019, Pukul 10.14

Senin, 18 Maret 2019

Pengantar Teknologi Game - Tugas 1


TEKNOLOGI GAME


Teknologi game terdiri dari dua kata, yaitu Teknologi dan Game. Teknologi adalah keseluruhan fasilitas untuk menyediakan sesuatu yang dibutuhkan bagi kelangsungan dan kenyamanan hidup manusia. Secara umum teknologi dapat didefinisikan sebagai entitas, benda maupun bukan benda yang diciptakan secara terpadu melalui perbuatan dan pemikiran untuk mencapai suatu tujuan.
Sedangkan Game adalah permainan yang menggunakan interaksi antarmuka  pengguna melalui gambar yang dihasilkan oleh piranti video. Jadi dapat kita simpulkan bahwa Teknologi Game berarti proses baik berupa yang dilakukan sistem atau perangkat keras yang diberlakukan dalam upaya untuk mendukung kinerja dari game.
Teknologi Game pertama kali diciptakan oleh A.S. Douglas tahun 1952 di Universty of Cambridge yaitu OXO untuk mendemonstrasikan tesisnya mengenai interaksi antara komputer dan manusia.
Kemudian Douglas berkreasi lagi dengan menciptakan game versi Tic-Tac-Toe yang diprogram pada komputer EDSAC vaccum-tube yang memiliki layar CRT (Cathode Ray Tube).

UNITY 3D

APA ITU UNITY 3D

Aplikasi unity 3D adalah game engine merupakan sebuah software pengolah gambar, grafik, suara, input, dan lain-lain yang ditujukan untuk membuat suatu game, meskipun tidak selamanya harus untuk game. Contohnya adalah seperti materi pembelajaran untuk simulasi membuat SIM. Kelebihan dari game engine ini adalah bisa membuat game berbasis 3D maupun 2D, dan sangat mudah digunakan.

Unity merupakan game engine yang ber-multiplatform. Unity mampu di publish menjadi Standalone  (.exe), berbasis web, berbasis web, Android, IoS Iphone, XBOX, dan PS3. Walau bisa dipublish ke berbagai platform, Unity perlu lisensi untuk dapat dipublish ke platform tertentu. Tetapi Unity menyediakan untuk free user dan bisa di publish dalam bentuk Standalone (.exe) dan web. Untuk saat ini Unity sedang di kembangkan berbasis AR (Augment Reality).

Untuk mengaktifkan lisensi, Unity perlu adanya lisensi. Sebagai contoh ketika ingin mengaktifkan free user, langkah pertama adalah mendownload softwarenya secara gratis pada web http://unity3d.com/. Setelah selasai instalasi, maka Unity meminta untuk terhubung dengan internet untuk aktifasinya. Lalu selesai unity akan automatis run ke program. Untuk langkah selanjutnya Unity tidak perlu lagi memerlukan koneksi internet saat menjalankan aplikasinya.

Unity bukan software game engine baru, sehingga banyak tutorial yang tersebar luas, bahkan banyak game dan tutorial untuk Unity yang telah beredar. Unity cepat berkembang dikarenakan bisa free user dan banyak di implementasikan ke berbagai platform disamping banyaknya tutorial yang bisa dengan mudah dicari.

Dengan Uity3D kita dapat membuat game 3D, FPS dan 2d game bahkan Game Online, fitur" lain tentang Unity berikut selengkapnya :

1. Membuat Game 2D / 3D
2. Membuat Game FPS
3. Membuat Game Online.
4. Dukungan Konversi : Mobile Android, Iphone, Blackberry, Windows, Linux, Flash, Webplayer
5. Online Publish Google Play, Android market (kita bisa jual tuh game :v :v)
6. Dukungan kode : C#, Javascript dan Boo
7. Dukungan Extensi file, 3ds, obj, fbx

FITUR UNTI 3D

Rendering

Graphics engine yang digunakan adalah Direct3D (Windows, Xbox 360), OpenGL (Mac, Windows, Linux, PS3), OpenGL ES (Android, iOS), dan proprietary APIs (Wii). Ada pula kemampuan untuk bump mapping, reflection mapping, parallax mapping, screen space ambient occlusion (SSAO), dynamic shadows using shadow maps, render-to-texture and full-screen post-processing effects.[4]
Unity dapat mengambil format desain dari 3ds Max, Maya, Softimage, Blender, modo, ZBrush, Cinema 4D, Cheetah3D, Adobe Photoshop, Adobe Fireworks and Allegorithmic Substance. Asset tersebut dapat ditambahkan ke game project dan diatur melalui graphical user interface Unity.

ShaderLab adalah bahasa yang digunakan untuk shaders, dimana mampu memberikan deklaratif “programming” dari fixed-function pipeline dan program shader ditulis dalam GLSL atau Cg. Sebuah shader dapat menyertakan banyak varian dan sebuah spesifikasi fallback declarative, dimana membuat Unity dapat mendeteksi berbagai macam video card terbaik saat ini, dan jika tidak ada yang kompatibel, maka akan dilempar menggunakan shader alternatif yang mungkin dapat menurunkan fitur dan performa.

Pada 3 Agustus 2013, seiring dengan diluncurkannya versi 4.2, Unity mengijinkan developer indie mengunakan Realtime shadows hanya untuk Directional lights, dan juga menambahkan kemampuan dari DirectX11 yang memberikan shadows dengan resolusi pixel yang lebih sempurna, textur untuk membuat objek 3d dari grayscale dengan lebih grafik facial, animasi yang lebih halus dan mempercepat FPS.


Scripting

Script game engine dibuat dengan Mono 2.6, sebuah implementasi open-source dari .NET Framework. Programmer dapat menggunakan UnityScript (bahasa terkustomisasi yang terinspirasi dari sintax ECMAScript, dalam bentuk JavaScript), C#, atau Boo (terinspirasi dari sintax bahasa pemrograman phyton). Dimulai dengan dirilisnya versi 3.0, Unity menyertakan versi MonoDevelop yang terkustomisasi untuk debug script.

Asset Tracking

Unity juga menyertakan Server Unity Asset – sebuah solusi terkontrol untuk defeloper game asset dan script. Server tersebut menggunakan PostgreSQL sebagai backend, sistem audio dibuat menggunakan FMOD library (dengan kemampuan untuk memutar Ogg Vorbis compressed audio), video playback menggunakan Theora codec, engine daratan dan vegetasi (dimana mensuport tree billboarding, Occlusion Culling dengan Umbra), built-in lightmapping dan global illumination dengan Beast, multiplayer networking menggunakan RakNet, dan navigasi mesh pencari jalur built-in.

Platforms

Unity support pengembangan ke berbagai plaform. Didalam project, developer memiliki kontrol untuk mengirim keperangkat mobile, web browser, desktop, and console. Unity juga mengijinkan spesifikasi kompresi textur dan pengaturan resolusi di setiap platform yang didukung.

Asset Store

Diluncurkan November 2010, Unity Asset Store adalah sebuah resource yang hadir di Unity editor. Asset store terdiri dari koleksi lebih dari 4,400 asset packages, beserta 3D models, textures dan materials, sistem particle, musik dan efek suara, tutorial dan project, scripting package, editor extensions dan servis online.

Physics

Unity juga memiliki suport built-in untuk PhysX physics engine (sejak Unity 3.0) dari Nvidia (sebelumnya Ageia) dengan penambahan kemampuan untuk simulasi real-time cloth pada arbitrary dan skinned meshes, thick ray cast, dan collision layers.

DESIGN SEKENARIO & SCRIPT

Apa itu desain Skenario ?

Desain biasa di terjemahkan sebagai seni terapan, arsitektur dan berbagai pencapaian kreatif lainya. Skenario adalah urutan cerita yang disusun oleh seseorang agar suatu peristiwa sesuai dengan yang diinginkan. Skenario game sendiri artinya langkah awal dalam membuat sebuah game, dengan skenario game dapat mempermudah kita myelesaikan game yang akan kita buat.


Apa itu Script ?

Naskah atau script dalam pemrograman komputer adalah sebuah program atau intruksi yang ditafsirkan atau dilakukan dengan program lain daripada oleh komputer prosesor. Script adalag semacam bahasa pemrograman dalam tingkat kesulitan yang lebih rendah, tanpa aplikasi kompilasi interpreter, skrip biasanya disisipkan ke dalam bahasa pemrograman yang lebih kompleks dan hasil digunakan oleh bahasa pemrograman yang lebih kompleks itu. Skrip merupakan kumpulan sintaks pemrograman yang siap untuk di-compile. Macam - macam skrip : PHP, ASP, Java Script, Java Apples, VB Script.

Artificial Intelligence pada Game

Apa itu Artificial Intellegence

“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)

“Kecerdasan Buatan (AI) merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia”
– Rich and Knight (1991)

Dari beberapa definisi diatas maka dapat ditarik kesimpulan bahwa AI (Artificial Intelligence) / kecerdasan buatan merupakan sebuah teknologi komputer atau mesin yang memiliki kecerdasan layaknya manusia. Sederhananya gini sebuah instruksi pintar yang diberikan kepada program maupun mesin.

Kegunaan AI Pada Game Modern

Kecerdasan buatan pada game atau algoritma heuristic digunakan di banyak bentuk dan area pada sebuah game. Contoh yang sangat jelas adalah dalam mengontrol dari NPC pada game, walaupun penggunaan script/kode saat ini merupakan pengontrol yang umum. Pencarian jalur merupakan contoh lain kecerdasan buatan  yang umum digunakan, dan secara luas dapat dilihat pada game real-time strategy. Pencarian jalur merupakan metode untuk menentukan lewat manakah NPC untuk ke tempat tujuan, atau menghindari halangan – halangan, dan bentuk – bentuk daratan. Diatas pencarian jalur terdapat navigasi, yang merupakan sub bagian dari kecerdasan buatan pada game yang berfokus pada memberikan NPC kemampuan untuk menavigasi di lingkungan mereka, menemukan jalur untuk sebuah tujuan dengan menghindari tabrakan dengan entitas lainnya ( NPC lainnya, player, dsb) atau berkolaboriasi dengan mereka ( group navigation).
Penggunaan kecerdasan buatan pada game diluar NPC
Georgios N. Yannakakis menyarankan bahwa akademi pengembangan kecerdasan buatan dapat memainkan sebuah peran di dalam game dengan kecerdasan buatan melebihi dari paradigma kecerdasan buatan hanyalah pengontrol perilaku NPC. Dia menegaskan empat potensi lainnya untuk diaplikasikan dalam area:
1.    Player-experience modelling: memahami kemampuan dan kondisi emosional pemain, agar menyesuaikan game dengan benar. Hal ini dapat termasuk penyeimbangan tingkat kesulitan game secara dinamis, yang terdiri dari penyesuaian tingkat kesulitan dari game tersebut secara langsung sesuai dengan kemampuan pemain.
2.    Procedural-content generation: membuat elemen dari sebuah lingkungan game seperti kondisi lingkungan, tingkatan, dan bahkan music dengan secara otomatis. Metode kecerdasan buatan dapat menghasilkan konten baru atau cerita yang interaktif.
3.    Data mining on user behavior: hal ini mengizinkan desainer game untuk mengeksplor bagaimana manusia memainkan permainannya, bagian mana yang paling sering dimainkan, dan apa yang menyebabkan mereka untuk berhenti bermain, mengizinkan developer untuk mengembangkan game tersebut.
4.    Alternate approaches to NPCs: hal ini termasuk berubahnya tampilan game untuk menambah kepercayaan NPC dan mengeksplor ke lingkungan social daripada hanya menjadi NPC atau hanya memiliki perilaku NPC.


 

DAFTAR PUSTAKA:
Suyanto. 2014. Artificial Intelligence Searching, Reasoning, Planning dan Learning. Bandung: Informatika Bandung.