Senin, 26 Maret 2018

Tugas Softskill Pertama

                                    Tugas Softskill Pertama

Pengertian Teknologi Game

Teknologi game terdiri dari 2 kata, yaitu teknologi dan game. Pertama pengertian dari teknologi. Kata teknologi sebenarnya berasal dari Bahasa Perancis yaitu La Teknique yang dapat diartikan dengan semua proses yang dilaksanakan dalam upaya untuk mewujudkan sesuatu secara rasional. Dalam hal ini yang dimasukkan dengtan sesuatu tersebut dapat saja berupa benda atau konsep, pembatasan cara yaitu secara rasional adalah penting sekali dipahami disini sedemikian pembuatan atau pewujudan sesuatu tersebut dapat dilaksanakan secara berulang.

Teknologi dalam arti ini dapat diketahui melalui barang-barang, benda-benda atau alat-alat yang berhasil dibuat oleh manusia untuk memudahkan dan menggampangkan realisasi hidupnya didalam dunia. Hal mana juga memperlihatkan tentang wujud dari karya cipta dan karya seni menusia. Dari sini muncul istilah teknologi  yang berarti ilmu yang mempelajari tentang techne manusia. Teknologi sebenarnya lebih dari sekedar penciptaan barang, benda atau alat lain. Teknologi bahkan telah menjadi suatu sisyem atau struktur dalam eksistensi manusia di dalam dunia. Teknologi juga membentuk dan menciptakan suatu komunitas manusia yang lain. Teknologi juga penerapan keilmuan yang mempelajari dan mengembangkan kemampuan dari suatu rekayasa dengan langkah dan teknik tertentu dalam suatu bidang.

Dan yang kedua adalah pengertian dari Game. Game adalah sesuatu yang sangat digemari oleh anak-anak hingga orang dewasa. Game berarti hiburan. Permainan game juga merujuk pada pengertian sebagai kelincahan intelektual (intellectual playability). Sementara kata game bisa diartikan sebagai arena keputusan dan aksi pemainnya. Ada target-target yang ingin dicapai pemainnya. Kelincahan intelektual, pada tingkat tertentu, merupakan ukuran sejauh mana game itu menarik untuk dimainkan secara maksimal.

Beberapa waktu lalu istilah game yang dalam bahasa Indonesia adalah permainan identik dengan anak-anak  selaku pemain. Tentunya dalam permainan itu suatu kegiatan yang dilakukan oleh anak-anak yang menurut mereka itu dapat menyenangkan hati mereka. Segala bentuk kegiatan yang memerlukan pemikiran, kelincahan intelektual dan pencapaian terhadap target tertentu dapat dikatakan sebagai game. Tetapi yang akan dibahas pada kesempatan ini adalah game yang terdapat di komputer, baik off line maupun online.

Ada 2 cara yang dapat digunakan dalam membuat game, yaitu :

1.      Dengan membuat sendiri program yang akan digunakan untuk membuat game (umumnya professional game developer yang menggunakan cara ini).
2.      Dengan menggunakan program jadi yang tinggal kita gunakan.
Untuk membuat program sendiri tidak akan kita bahas disini karena tujuan penulisan ini adalah untuk amateur game developer , tapi sekedar pengetahuan saja, untuk membuat program sendiri kita harus memahami bahasa pemrograman , dan untuk membuat program sendiri, kita dapat menggunakan “Visual Basic”, “C++”, dll.

Jadi dapat kita simpulkan bahwa teknologi game adalah proses baik berupa yang dilakukan system atau perangkat keras yang dilaksanakan dalam upaya untuk mewujudkan dan mendukung kinerja dari game.

Bisnis dalam Game Komputer

Bisnis dalam game komputer berkembang pesat seiring dengan berkembangnya teknologi canggih saat ini. Dahulu kita hanya dapat menikmati game yang tersedia di dalam komputer itu sendiri, seperti pinball dan solitaire. Namun sekarang sudah tersedia game online, dan juga game yang dapat didownload baik free maupun berbayar. Games berbayar juga merupakan bisnis karena sama saja dengan kita mengeluarkan uang untuk membeli sebuah barang. Games berbayar ini biasanya memberikan kepuasan tersendiri bagi pembelinya, karena terdapat fitur yang bagus di dalamnya.

Saat ini perkembangan games di komputer sangat cepat. Para pengelola industri game berlomba-lomba untuk menciptakan game yang lebih nyata dan menarik untuk para pemainnya. Industri game memang masih terbilang baru di Indonesia. Kendati begitu, perkembangannya sudah sangat pesat dan menjadi bisnis yang sangat menggiurkan. Penyebab utamanya adalah berkembangnya era teknologi dan komunikasi. Perkembangan ini terlihat dari banyaknya game center yang terus bermunculan, terutama yang menyediakan jasa game online. Bukan tanpa alasan game online menjadi semakin marak dan digandrungi, karena fasilitas online memungkinkan sebuah game dapat dimainkan oleh 100 orang lebih secara bersama-sama dalam satu waktu.

“Bisnis game online di dalam negeri masih besar, disebabkan ekonomi Indonesia yang tumbuh di atas 6% dari tahun ke tahun. Besarnya potensi pasar tersebut memberikan dukungan kepada Megaxus untuk tetap eksis,” kata Eva Mulawati, Managing Director PT. Megaxus Infotech dalam peluncurangame ‘Heroes of Atarsia’ di Senayan City, Jakarta.

“(Bahkan) jumlah pemain game online Indonesia meningkat antara 5% hingga 10% setiap tahunnya, terutama karena semakin pesatnya infrastruktur internet,” tambahnya.

Masuknya game online ke Indonesia sendiri baru terjadi pada tahun 2001 dengan masuknya Nexia Online. Sejak saat itu, berbagai game dari masing-masing genre seperti action, sports, hingga RPG (Role-Playing Game) terus bermunculan.

3D Engine pada Game

Game 3D modern yang dipasaran sekarang. Sebutlah Crysis, Half-Life, Far Cry, Call of Duty, dll, memakai 3D engine mereka sendiri yang tidak lain adalah "otak" yang merender semua realita semu ke mata Anda.
3D game engines ini adalah produk yang kompleks yang terdiri dari gabungan matematika dan programming. Di thread ini saya pengen kupas sedikit dasar pengetahuan tentang 3D game engine.
Secara spesifik, game engine bekerja dengan mengunakan point (titik) dan vektor, dan semua pendukungnya. Dasar pengetahuan ini meliputi sedikit aljabar dan object-oriented programming.
Dasar dari Sistem Koordinat
Game 3 dimensi tentu harus...3 dimensi. Konsep yang paling sering dipake buat membuat ruang 3D adalah sistem koordinat Kartesius (pelajaran anak SMA dan juga dipake di AutoCAD). 

Points dan Vektor


Setelah paham dasar dari koordinat, sekarang masuk ke bagian titik dan vektor. Atau lebih tepatnya, bagaimana semua elemen beriteraksi antara satu dengan yang lainnya. Point dan Vektor adalah 2 elemen yang berbeda. Point atau titik, adalah lokasi. Sementara Vektor adalah jarak antara dua titik.
Setelah paham konsep dari point dan vektor, pengembang bisa buat wireframe rendering. Ini kemudian diikuti ole rasterization dan gouraud shading dan terakhir, tekstur.
Transformasi ini disingkat menjadi
- Sebuah objek 3D di sumbu Kartesius.
- Objek tersebut dipindah (transformasi) ke dunia 3D virtual dengan translasi, rotasi atau dilatasi dengan matrix.
- Kamera kemudian akan melihat objek 3D ini di dunia 3D virtual.
- Hasil final adalah objek yang dirender secara 3D di layar.
Menggabungkan Semuanya dalam Engine
Setelah semua variabel ada di tangan, informasi yang didapat udah cukup untuk membuat class yang akan ada di inti dari semua 3D game engine: point class dan vektor class.

Desain Skenario, Script dan Story Board pada Game

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.

     Ditambah lagi, berbeda dengan skenario, tidak bisa secara pasti ditentukan, dokumen apa saja yang akan ditemukan dalam design documents, karena itu tergantung pada gaya game yang akan dibuat. Hampir sama seperti pembuatan film dimana penulis skenario pertama-tama menulis tema, kalau ada produser yang berminat, penulis skenario membuat sinopsis, dan setelah mendapat persetujuan produser, baru skenario dibuat, begitu juga prosesnya dalam merencanakan suatu judul game komputer. Temanya dibuat dulu, kemudian konsep dan akhirnya design documents disusun. Gambaran seperti ini adalah kondisi yang ideal, tidak semua pengembang melalui proses ini, walaupun hal itu patut disayangkan. Cukup rumit bukan? Serupa namun tak sama hehe.
           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 (kalau ada cerita), karakteristik game, contoh misi, atau situasi-situasi dalam game dan bisa juga diferensiasi perangkat pengguna atau ada eek-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. Konsepnya biasanya ditulis setebal 5-10 halaman. Kalau konsep sudah diterima, artinya sudah disetujui produser, dinilai positif oleh tim dan sebagainya, desainer game mulai menulis dengan documents.
            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. Untuk mengetahui tentang script, disini ada sedikit rangkuman tentang script :
     Script adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam situs yang pada saat di akses.
      Jenis script sangat menentukan statis, dinamis, atau interaktifnya sebuah situs
      Semakin banyak script yang digunakan maka akan terlihat semakin dinamis, dan interaktif serta terlihat lebih bagus.
      Bahasa dasar yang di pakai setiap situs adalah HTM
      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.
          Seorang pembuat Storyboard harus mampu menceritakan sebuah cerita yang bagus. Untuk mencapainya, mereka harus mengetahui berbagai film, dengan pengertian tampilan yang bagus, komposisi, gambaran berurut dan editing. Mereka harus mampu untuk bekerja secara sendiri atau dalam sebuah bagian tiam. Mereka harus mampu menerima arahan dan juga bersiap membuat perubahan terhadap hasil kerja mereka.
            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.

AI Pada Game

AI atau biasa disebut kecerdasan buatan merupakan kecerdasan yang diciptakan dan dimasukkan ke dalam suatu mesin (komputer) sehingga dapat melakukan pekerjaan seperti yang dapat dilakukan oleh manusia. Contohnya jika kita bermain game lawannya yaitu komputer, dan kecerdasan pada komputer biasanya pada game ditentukan oleh level. Lawan kita itulah yang dinamakan AI, telah dirancang sedemikian rupa sehingga memiliki kemampuan yang berbeda-beda.

Penggunaan AI pada game sendiri terdapat 2 macam yang masing-masing memiliki karakteristik yang berbeda-beda diantaranya adalah seperti dibawah ini:

A. Decision Making
Decision Making merupakan serangkaian algoritma yang dirancang sedemikian rupa dengan cara memasukkan beberapa kemungkinan langkah yang bisa diambil oleh suatu aplikasi. Decision Making pada game memberikan kemampuan suatu karakter untuk menentukan langkah apa yang akan diambil. Cara kerja dari Decision Making adalah dengan menentukan satu pilihan diantara banyak list yang telah dibuat pada algoritma yang dirancang.

Decision Making sendiri terbagi menjadi 3 bagian yakni :

1. Decision Tree

Decision Tree atau biasa disebut pohon keputusan merupakan metode klasifikasi dan prediksi yang sangat kuat dan terkenal. Metode pohon keputusan mengubah fakta yang sangat besar menjadi pohon keputusan yang mempresentasikan aturam. Aturannya dapat dengan mudah dipahami dengan bahasa yang alami. Aturan ini juga dapat diekspresikan dalam bentuk bahasa basis data seperti SQL untuk mencari record pada kategori tertentu. Selain itu, pohon keputusan juga berguna untuk mengeksplorasi data, menemukan hubungan tersembunyi antara sejumlah calon variabel input dengan sebuah variabel target. Karena pohon keputusan memadukan antara eksplorasi data dan pemodelan, pohon keputusan ini sangat bagus sebagai langkah awal dalam proses pemodelan bahkan ketika dijadikan sebagai model akhir dari beberapa teknik lain (J R Quinlan, 1993).

2. State Machine

FSM(Finite State Machines) merupakan sebuah metodologi perancangan sistem kontrol yang menggambarkan tingkah laku atau prinsip kerja sistem dengan menggunakan tiga hal berikut :
State(Keadaan)
Event(Kejadian)
Action(Aksi)

Pada suatu saat ketika periode waktu yang cukup signifikan, sistem akan berada pada salah state yang aktif. Kemudian sistem dapat beralih atau bertransisi menuju state yang lain jika mendapatkan suatu masukan atau event tertentu, baik yang berasal dari perangkat luar ataupun komponen dalam sistemnya itu sendiri. Transisi keadaan ini biasanya disertai oleh aksi yang dilakukan oleh sistem ketika menanggapi masukan. Aksi yang dilakukan dapat berupa aksi yang sederhana atau bisa melibatkan rangkaian proses yang relative kompleks.

3. Rule System

Rule Based System merupakan metode pengambilan keputusan yang berdasarkan pada aturan-aturan tertentu yang telah ditetapkan. RBS dapat diterapkan pada agen virtual dalam bentuk kecerdasan buatan sehingga dapat melakukan tindakan tertentu. Tindakan tersebut dipresentasikan oleh set aturan yaitu penyebab, proses dan hasil dari tindakan yang dilakukan.

RBS merupakan sistem yang baik jika menjawab pertanyan mengenai What(Apa), How(Bagaimana), dan Why(Mengapa) dari Rule Base(RB) selama proses inferensia. Jawaban serta penjelasannya dapat disediakan dengan baik.

B. Path Finding

Metode Path Finding seringkali dijumpai pada game yang bergenre strategi, dimana kita sebagai user menunjuk satu karakter untuk digerakkan ke lokasi tertentu dengan cara mengklik lokasi yang akan dituju. Maka, si karakter tersebut akan bergerak ke arah yang telah ditentukan, dan secara “cerdas” dapat menemukan jaur terpendek ataupun menghindari rintangan yang ada.

Metode pada Path Finding terbagi menjadi 4 bagian yakni:

1. Waypoints

Merupakan titik acuan/kumpulan koordinat yang digunakan untuk keperluan navigasi. Maksud dari keperluan navigasi disini adalah mengidentifikasi sebuah titik dipeta. Disetiap koordinat biasanya menyertakan longitude, latitude, dan terkadang altitude untuk keperluan navigasi di udara.

2. A* Searching

Algoritma A* merupakan yang sering digunakan pada game yang menggunakan metode pathfinding. Algoritma ini dipilih karena A* sangat mudah untuk diimplementasikan dan sangat efisien. Dengan menggunakan algoritma A* kita dapat menentukan jalur terpendek. Pada algotitma ini akan menyeleksi dengan cara membuang langkah yang tidak perlu dengan mempertimbangkan bahwa langkah yang dibuang dipastikan tidak mencapai solusi yang diinginkan.

Prinsip dari algoritma ini yaitu dengan cara mencari jalur terpendek dari sebuah simpul awal (Starting Point) menuju ke simpul tujuan dengan memperhatikan harga (F) terkecil. Algoritma A* akan memperhitungkan cost dari current state ke tujuan dengan fungsi heuristic, selain itu algoritma ini juga mempertimbangkan cost yang telah ditempuh selama ini dari initial state ke current state. Jadi maksudnya jika jalan yang telah ditempuh terlalu panjang dan ada jalan lain yang cost nya lebih kecil tetapi memberikan posisi yang sama jika dilihat dari goal, maka jalan yang lebih pendeklah yang akan dipilih.

3. Dijkstra

Algoritma Dijkstra yang dinamai penemunya yakni seorang ilmuwan komputer, Edsger Dijkstra merupakan sebuah algoritma yang rakus atau biasa dikenal dengan algoritma greedy. Algoritma ini biasa dipakai dalam memecahkan permasalahan jarak terpendek (shortest path problem) untuk sebuah graf berarah (directed graph) dengan bobot-bobot sisi (edge weights) yang bernlai positif.

4. Tactical Pathfinding

Tactical Pathfinding merupakan algoritma pencarian jalur yang bisa melakukan pencarian jalur terpendek dengan menghitung bobot ancaman. Implementasi algoritma ini dapat memberikan gerakan taktis pada non-player character. Algoritma ini dilakukan berdasarkan algoritma pencarian jalur A* yang ditambah dengan perhitungan bobot.

Referensi :
http://rafiqamalyah.blogspot.co.id/2013/05/pengertian-teknologi-game.html
https://septianbudiuntoro.wordpress.com/2016/04/19/artificial-intelligence/