Kamis, 28 Juni 2018

Menampilkan Scene dalam Game & Game berbasis Jaringan Komputer

Mekanisme dalam Menampilkan Scene Game Komputer

 Visibility merupakan tampilan grafik scene game pada komputer. Bagaimana sebuah game terlihat oleh user agar lebih menarik dan berkualitas sehingga user dapat menikmati game tersebut.

 Level of Detail (LOD) biasanya digunakan untuk mengatur material yang akan ditampilkan pada model objek. Sedangkan untuk konsep menggambar LOD sebagian besar waktu LOD diterapkan untuk geometri rinci saja, konsep dasar bisa disamaratakan. Baru-baru ini, teknik LOD termasuk manajemen juga shader untuk tetap mengontrol kompleksitas pixel. Suatu bentuk tingkat manajemen detail telah diterapkan untuk tekstur selama bertahun-tahun, di bawah nama mipmapping, juga memberikan kualitas rendering yang lebih tinggi. Ini adalah hal yang lumrah untuk mengatakan bahwa "sebuah objek telah LOD'd" ketika objek disederhanakan oleh mendasari algoritma LOD-ing.

Game Berbasis Jaringan

Pengertian

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.

Tipe – Tipe Game berbasis Jaringan

FPS adalah game Tembak-tembakan, pukul-pukulan, tusuk-tusukan yang menggunakan sudut pandang orang pertama. Biasanya kita hanya bisa melihat tangan dari character kita. Contoh game ini FPS adalah (Call of Duty, Counter Strike, Far Cry 3)

RTS (Real Time Strategy). Game ini biasanya bersifat turn based ataupun bisa dimainkan secara bersamaan, identik dengan bermain melawan human intelegent (manusia vs manusia) yang biasanya menggunakan LAN ataupun Internet. Game ini bisa dikatakan game perang-perangan. Contoh game RTS adalah (DOTA, StarCraft, Civilization)

RPG (Role Playing Game). Game ini memiliki unsur yang unik, karena biasanya tidak ada tamat dalam game seperti ini (Kalaupun tamat, hanya ceritanya saja, dan kalian masih bisa leveling atau grinding sesuka hati). Kalian akan menjalankan sebuah main character yang bisa kalian costumize, mencari uang, membangun koneksi dengan NPC (non playable player) dan sebagainya. Contoh dari game RPG adalah (KOA, Skyrim, The Witcher).

Cross-Platform Online, merupakan game yang dapat dimainkan secara online dengan hardware yang berbeda misalnya saja need for speed undercover dapat dimainkan secara online dari PC maupun Xbox 360(Xbox 360 merupakan hardware/console game yang memiliki konektivitas ke internet sehingga dapat bermain secara online).

Browser Games, merupakan game yang dimainkan pada browser seperti Firefox, Opera, IE. Syarat dimana sebuah browser dapat memainkan game ini adalah browser sudah mendukung javascript, php, maupun flash.

Massive Multiplayer Online Games, adalah game dimana pemain bermain dalam dunia yang skalanya besar (>100 pemain), setiap pemain dapat berinteraksi langsung seperti halnya dunia nyata.



Referensi:
http://internetmediabelajar.blogspot.com/2016/06/game-berbasis-jaringan_27.html
http://irwanugraha1.blogspot.com/2016/06/game-berbasis-jaringan.html

Selasa, 26 Juni 2018

Scientific Computing menggunakan Python

Scientific computing adalah bagian dari ilmu komputer yang memfokuskan diri untuk mengembangkan model matematika dan teknik analisa kuantitatif untuk memecahkan masalah yang muncul baik di ilmu komputer sendiri maupun di bidang yang lain. Dalam kegunaan praktis, bidang ini berkaitan dengan pemecahan persoalan matematika secara numerik dan membuat simulasinya. Dengan teknologi komputer yang semakin lama mempunyai unjuk kerja semakin tinggi, makin banyak persoalan matematika yang rumit dapat dipecahkan dengan pendekatan komputasi ini.

Bidang scientific computing ini, memunculkan beberapa kebutuhan spesifik yang berbeda dengan rekayasa perangkat lunak (software engineering) pada umumnya. Beberapa kebutuhan spesifik ini antara lain mengakses beberapa bentuk data secara fleksibel, memanipulasi dan memvisualisasikan hasilnya dengan cepat dan terakhir dapat mengkomunisasikan hasilnya dengan mudah. Dahulu kebutuhan spesifik ini dipenuhi oleh bahasa pemrograman seperti c atau Fortran, karena perlunya menyesuaikan dengan sumberdaya komputer yang masih terbatas.

Sampai saat ini, bidang scientific programming masih menggunakan Matlab yang sudah dilengkapi dengan Simulink dan Toolboxnya yang sangat lengkap. Selain itu kemampuan computer algebra juga sudah dibenamkan dalam Matlab itu sendiri. Sebenarnya disamping beberapa kelebihan dari Matlab, ada kelemahan utama yang menyebabkan Matlab tidak sesuai untuk diajarkan secara akademik. Yang pertama tentunya Matlab merupakan perangkat lunak yang sangat mahal harganya. Hal ini menyebabkan kebanyakan di bidang akademik, menggunakan secara ilegal yang kedepannya tidak disarankan lagi. Dan kedua, Matlab sebenarnya bukan bahasa pemrograman yang powerful, Matlab hanya didesain khusus untuk keperluan komputasi sehingga hampir tidak dapat digunakan untuk rekayasa perangkat lunak yang lain. Hal ini mengakibatkan, code yang telah sukses dikembangkan dalam Matlab kebanyakan harus diubah ke bahasa yang lain dulu agar dapat digunakan dalam implementasi rekayasa perangkat lunak (software engineering) nya.


Untungnya dengan adanya Python, suatu bahasa intepreter yang didesain untuk general purpose, dapat dikoding dengan cepat, mudah dipelajari dan mudah diintegrasikan dengan bahasa yang lain. Inilah karakteristik dasar dari bahasa untuk scientific computing yang modern. Dengan karakteristik ini, kelemahan utama Matlab tidak terdapat pada Python.

Python merupakan salah satu bahasa pemrograman yang populer di dunia kerja Indonesia. Selain itu ranah di akademik pun banyak akademisi yang menggunakan Python untuk menyelesaikan penelitiannya di bidang komputasi sains, robotika, data science, ekonomi, antariksa dan berbagai macam bidang lainnya. Python secara default telah terpasang di beberapa sistem operasi berbasis Linux seperti Ubuntu, Linux Mint dan Fedora. Untuk sistem operasi lain, sudah tersedia installer yang disediakan untuk sistem operasi tersebut.

Selain itu Python pun memiliki sebuah package manager yang populer dan unggul yang dinamakan dengan PIP. Dengan menggunakan PIP, Anda dapat mulai memasang atau menghapus pustaka Python yang akan atau tidak digunakan lagi.

Code yang telah sukses dikembangkan dalam Python dapat langsung digunakan dalam implementasi rekayasa perangkat lunak (software engineering). Selain itu jika berkaitan dengan dengan proses yang kritikal, code dalam bahasa Python dengan sedikit modikasi dapat di compile menjadi bahasa mesin yang kompatibel dengan bahasa C dengan fasilitas Cython. Kebutuhan scientific computing akan pustaka yang komprehensif telah dipenuhi dalam Python dalam distribusinya yang didesain memang untuk untuk keperluan scientific computing ini yaitu: PythonXY.


Dan perkembangan terbaru, Python telah diberkati mempunyai perangkat lunak khusus untuk memecahkan masalah matematika, yaitu SAGE. SAGE mempunyai visi ambisius untuk menyaingi semua perangkat lunak sejenis dengan menggabungkan semua proyek open source menjadi satu dengan menggunakan interface tunggal yaitu bahasa Python. SAGE selain dapat dinikmati secara offline, juga telah mempunyai layanan berbasis web dengan SAGE Notebook nya. Dengan layanan notebook ini, kita dapat menggunakan SAGE di mana saja tanpa harus menginstal perangkat lunak ini.




Referensi:
https://socs.binus.ac.id/2012/03/12/python-untuk-scientific-computing/
https://komputasi.web.id/read/scientific-computing-dengan-python/

Rabu, 25 April 2018

User Interface pada Game Komputer

Desain user interface dalam game berbeda dari desain UI lainnya karena melibatkan unsur tambahan fiksi. Fiksi melibatkan avatar dari pengguna yang sebenarnya, atau player. User interface berarti tampilan antar muka pengguna. Jika didefinisikan secara sederhana User interface adalah penghubung atau mediator antar komputer dan manusia atau user komputer itu agar hubungan antara perangkat komputer dengan user bisa terjalin. User interface sangat berperan penting dalam dunia komputer karena dengan adanya user interface maka kemudahan user dalam mengoprasikan suatu perangkat komputer menjadi lebih mudah.

Sebuah desain interface pada suatu game mempengaruhi kenyamanan dan sejauh mana user atau pemain meminati game tersebut. Dalam user interface game, terdapat sebuah teori yang dikemukakan oleh Erik Fagerholt dan Magnus Loretzon 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.

Dalam desain interface game terdapat beberapa elemen yang diantaranya adalah :

Diegetic

Elemen user interface yang diegetik ada dalam dunia permainan (fiksi dan geometris) sehingga pemain dan avatar dapat berinteraksi dengan mereka melalui visual, audible atau haptic. Elemen UI diegetik yang dieksekusi dengan baik dapat meningkatkan pengalaman narasi untuk pemain, memberikan pengalaman yang lebih mendalam dan terintegrasi.

Meta

Gambaran yang bisa muncul dalam dunia game, namun tidak selalu divisualisasikan spasial untuk pemain. Contoh yang paling jelas adalah efek ditampilkan di layar, seperti percikan darah pada kamera untuk menunjukkan kerusakan.

Spatial

Desain user interface dalam game berbeda dari desain UI lainnya karena melibatkan unsur tambahan fiksi. Fiksi melibatkan avatar dari pengguna yang sebenarnya, atau player. Pemain menjadi elemen tak terlihat, tapi kunci untuk cerita, seperti halnya narator dalam novel atau film.

Non-Diagetic

Lalu ada elemen diegetic non-tradisional, elemen-elemen ini memiliki kebebasan untuk benar-benar dihapus dari fiksi permainan dan geometri dan dapat mengadopsi pemakaian visual mereka sendiri, meskipun sering dipengaruhi oleh arah seni permainan. Saya pikir ini unsur paling baik digunakan ketika bentuk diegetik, meta dan spasial memberikan batasan yang melanggar seamlessness atau konsistensi dari elemen UI.



Referensi:
https://muhamadfikri20.weebly.com/tugas/archives/03-2017
http://adhityogunadarma.weebly.com/tugas/pengantar-teknologi-game-tugas-2

Interaksi Fisik dalam Teknologi Game

Dengan kecanggihan perangkat teknologi dan informasi saat ini tidak hanya sekedar membantu pekerjaan manusia tetapi juga menyajikan berbagai media hiburan yang mudah dijangkau oleh banyak orang. Salah satunya adalah Video game, banyak orang yang menyukai video game tidak hanya kalangan muda tetapi kalangan dewasa juga ikut memainkan video game. Disisi lain jika terlalu lama dan sering bermain game akan ada efek yang akan didapatkan, baik dari efek positif maupun efek negatif. Apa aja dampak dari efek - efek tersebut ? Berikut penjelasannya

Dampak Positif

1. Setiap game memiliki tingkat kesulitan/Level yang berbeda. Umumnya permainan ini dilengkapi pernak-pernik senjata, amunisi, karakter dan peta permainan yang berbeda. Untuk menyelesaikan level atau mengalahkan musuh secara efisien diperlukan strategi. Permainan game online akan melatih pemainnya untuk dapat memenangkan permainan dengan cepat, efisien dan menghasilkan lebih banyak poin.

2. Meningkatkan konsentrasi. Kemampuan konsentrasi pemain game online akan meningkat karena mereka harus menyelesaikan beberapa tugas, mecari celah yang mungkin bisa dilewati dan memonitor jalannya permainan. Semakin sulit sebuah game maka semakin diperlukan tingkat konsentrasi yang tinggi.

3. Meningkatkan koordinasi tangan dan mata. Penelitian yang dilakukan di Manchester University dan Central Lanchashire University menyatakan bahwa orang yang bermain game 18 jam seminggu atau sekita dua setengah jam perhari dapat meningkatkan koordinasi antara mata dan tangan.

4. Meningkatkan kemampuan membaca. Psikolog dari Finland Univesity menyatakan bahwa game meningkatkan kemampuan membaca pada anak-anak. Jadi pendapat yang menyatakan bahwa jenis permainan ini menurunkan tingkat minat baca anak sangat tidak beralasan.

5. Meningkatkan kemampuan berbahasa inggris. Sebuah studi menemukan bahwa gamers mempunyai skil berbahasa inggris yang lebih baik meskipun tidak mengambil kursus pada masa sekolah maupun kuliah. Ini karena banyak alur cerita yang diceritakan dalam bahasa inggris dan kadang kala mereka chat dengan pemain lain dari berbagai negara.

6. Meningkatkan pengetahuan tentang komputer. untuk dapat menikmati permainan dengan nyaman dan kualitas gambar yang prima seorang peman game online akan berusaha mencari informasi tentang spesifikasi komputer dan koneksi internet yang dapat digunakan untuk memainkan game tersebut. Karena pengguna komputer aktif biasanya mereka juga akan belajar troubleshooting komputer dan overclocking.

7. Meningkatkan kemampuan mengetik. Kemampuan mengetik sudah pasti meningkat karena mereka menggunakan keyboard dan mouse untuk mengendalikan permainan.

Dampak Negatif

Tak bisa dipungkiri game memiliki dampak positif bagi pemainnya tetapi juga memiliki dampak negatif yang tidak kalah banyak, diantaranya yaitu:

1. Menimbulkan adiksi (Kecanduan) yang kuat

Sebagian besar game yang beredar saat ini memang didesain supaya menimbulkan kecanduan para pemainnya. semakin seseorang kecanduan pada suatu game maka pembuat game semakin diuntungkan karena peningkatan pembelian gold/tool/karakter dan sejenisnya semakin meningkat. Tapi keuntungan produsen ini justru menghasilkan dampak yang buruk bagi kesehatan psikologis pemain game.

2. Mendorong melakukan hal-hal negatif

Walaupun jumlahnya tidak banyak tetapi cukup sering kita menemukan kasus pemain game online yang berusaha mencuri ID pemain lain dengan berbagai cara. Kemudian mengambil uang didalamnya atau melucuti perlengkapannya yang mahal-mahal. Kegiatan mencuri ID ini biasanya juga berlanjut pada pencurian akun lain seperti facebook, email dengan menggunakan keylogger, software cracking dll.Bentuk pencurian ini tidak hanya terbatas pada pencurian id dan password tetapi juga bisa menimbulkan pencurian uang – meskipun biasanya tidak banyak (dari uang SPP misalnya) dan pencurian waktu, misalnya membolos sekolah demi bermain game.

3. Berbicara kasar dan kotor

Entah ini terjadi di seluruh dunia atau hanya Indonesia tetapi sejauh yang penulis temui di warnet-warnet diberbagai kota. Para pemain game online sering mengucapkan kata-kata kotor dan kasar saat bermain di warnet atau game center.

4. Terbengkalainya kegiatan di dunia nyata

Keterikatan pada waktu penyelesaian tugas di game dan rasa asik memainkannya seringkali membuat berbagai kegiatan terbengkalai. Waktu beribadah, tugas sekolah, tugas kuliah ataupun perkerjaan menjadi terbengkalai karena bermain game atau memikirkannya. Apalagi banyak permainan yang terus berjalan meskipun kita sudah offline.

5. Perubahan pola makan dan istirahat

Pernah mengalaminya? Perubahan pola istirahat dan pola makan sudah jamak terjadi pada gamers karena menurunnya kontrol diri. Waktu makan menjadi tidak teratur dan mereka sering tidur pagi demi mendapat happy hour (internet murah pada malam-pagi hari)

6. Pemborosan

Uang untuk membayar sewa komputer di warnet dan membeli gold/poin/karakter kadangkala nilainya bisa mencapai jutaan rupiah. Belum lagi koneksi internet, dan upgrade spesifikasi komputer dirumah.

7. Mengganggu kesehatan

duduk terus menerus didepan komputer selama berjam-jam jelas menimbulkan dampak negatif bagi tubuh:

Eye strain
eye strain adalah kelelahan mata yang terjadi karena penggunaan mata secara berlebihan, melihat obyek yang sama secara terus menerus misalnya layar komputer, TV, mikroskop dan mengendarai mobil. Pada online gamers selain melihat monitor terus menerus, mata juga semakin jarang berkedip yang justru menambah kelelahan.

Ambeien
Duduk dalam jangka waktu lama dapat menganggu sirkulasi darah dan menekan pembuluh darah vena disekitar anus, menimbulkan penonjolan pembuluh darah yang terasa panas dan sakit yang disebut ambeien atau wasir.

Carpal tunnel syndrome
adalah penyakit yang disebabkan karena tekanan dan ketegangan pada saraf di pergelangan tangan yang berfungsi merasakan dan pergerakan untuk bagian tangan dan jari. Tekanan dan ketegangan ini dapat menyebabkan mati rasa, kesemutan, kelemahan, atau kerusakan otot pada tangan dan jari.

Menurunkan metabolisme
Duduk tanpa aktifitas fisik terlalu lama membuat otot tidak melakukan aktifitas yang berakibat menurunnya metabolisme. Dalam jangka panjang dampaknya diantaranya menurunnya massa otot, kegemukan, menurunnya sistem kekebalan tubuh sehingga lebih mudah terserang penyakit.

Efek-efek yang ditimbulkan diatas tidak terjadi pada orang yang memainkan game online, konsol game atau game pada ponsel pintar karena pada dasarnya kebanyakan game dibuat supaya pemainnya ingin memainkannya secara berulang-ulang dan kecanduan, tetapi dampaknya lebih besar pada online gamers karena tingkat kecanduan yang tinggi.

Sah-sah saja bermain game untuk mengusir penat tetapi mengingat daftar dampak negatifnya yang cukup panjang dan merugikan, pastikan kita memiliki kontrol diri yang kuat supaya dampak negatif yang ditimbulkannya tidak mendominasi.




Referensi:
http://tipskesehatanlengkap.com/dampak-positif-dan-negatif-game-online/
http://tipskesehatanlengkap.com/dampak-negatif-game-online/
http://saraahputi.blogspot.co.id/2017/04/interaksi-fisik-dalam-teknologi-game.html

Arsitektur Game Engine

Game engine (bahasa Indonesia: mesin permainan) adalah sebuah sistem software yang dirancang untuk pembuatan dan pengembangan suatu video game. Ada banyak sekali game engine yang dirancang untuk bekerja pada beberapa konsol video game dan sistem operasi desktop seperti Microsoft Windows, Linux dan Mac OS X. Fungsi utama yang secara khusus disediakan oleh game engine meliputi mesin render (renderer) untuk grafik 2D atau 3D, mesin fisika, deteksi tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen momori, threading, dukungan lokalisasi dan layar grafik. Proses pembuatan game seringkali dihemat oleh sebagian besar developer dengan menggunakan kembali game engine yang sama untuk membuat game yang berbeda.

Game engine memberikan kemudahan dalam menciptakan konsep sebuah game yang akan di buat. Mulai dari sistem rendering, physics, arsitektur suara scripting, A.I, dan bahkan sistem networking. Game engine dapat dikatakan sebagai jiwa dari seluruh aspek sebuah game.

Sejarah Game Engine

Pada 1947 Thomas Toliver Goldsmith Jr dan Estle Ray Mann menciptakan permainan simulator rudal Cathode Ray Tube Device Amusement. Permainan ini terinspirasi dari kecanggihan radar Perang Dunia II. Inilah game elektronik pertama yang tercatat dalam sejarah. Meski memiliki unsur permainan, game ini tak popular. Penggunaannya terbatas untuk kepentingan simulasi latihan militer. Tampilannya juga masih sederhana; belum berwarna dan hanya mengeluarkan suara “tat-tit-tut”.

Baru pada 1970-an game elektronik bisa dinikmati di rumah-rumah. Ralph Baer, seorang Jerman berdarah Yahudi, mendesain video game rumahan pertama dengan prototipe bernama Brown Box. Baer menjual idenya ke perusahaan Magnafox. Prototipe Baer kemudian dirilis ke pasar dengan nama Magnafox Odyssey. Produk ini berisi 16 game built-inyang dapat diganti-ganti dengan menggunakan sebuah switch. Ralph Baer kemudian tercatat sebagai “bapak game dunia”.

Popularitas video game kian menanjak ketika pengusaha Nolan Bushnell mendesain mesin game koin (arcade) pertama di dunia bernama computer space di Indonesia popular dengan sebutan Ding-Dong.

Generasi pertama dari mesin grafis pihak ketiga atau renderers (dan pelopor untuk apa yang sekarang kita kenal sebagai mesin) didominasi oleh tiga pemain; BRender dari Argonaut Software, Renderware dari Kriteria Software Limited dan RenderMorphics ‘Realitas Lab. Realitas Lab adalah yang pertama diperoleh dalam langkah agresif oleh Microsoft. Tim RenderMorphics ketuanya Keondjian, Kate Seekings dan Doug Rabson kemudian bergabung dengan proyek Microsoft yang membuat Direct3D sebelum Keondjian dan Rabson membuat perusahaan lain middleware Qube Software. Renderware akhirnya dibeli oleh EA (Electronic Arts).

Istilah “Game Engine (software untuk game)” muncul pada pertengahan 1990-an, terutama dalam kaitannya dengan game 3D seperti penembak orang pertama (FPS).

Tipe-tipe Game Engine

Game memiliki berbagai macam jenis dan ditujukan untuk berbagai kemampuan pemrograman. Berikut ini adalah beberapa tipe dari game engine.

Roll Your‐Game Engine

Game engine tipe ini lebih disukai karena selain gratis, game engine ini juga memperbolehkan para developer lebih fleksibel dalam mengitegrasikan komponen yang diinginkan untuk dibentuk sebagai game engine mereka sendiri. Namun kelemahan dari tipe game engine ini banyak engine yang dibuat dengan cara semacam ini malah menyerang balik developernya.

Mostly‐Ready‐Game Engine

Engine ini biasanya sudah menyediakan semuanya begitu diberikan pada developer/programmer. Semuanya termasuk conth GUI, phisycs, libraries models, 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 banyak terjadi error yang mungkin terjadi setelah sebuah game yang menggunakan engine ini dirilis dan masih memungkinkan game engine‐nya tersebut untuk mengoptimalkan kinerja game‐nya. Dengan hal ini dapat menghemat waktu dan biaya dari para developer game.

Point‐and‐Click Engine

Engine ini merupakan engine yang sangat dibatasi, tetapi dibuat dengan sangat user friendly. Anda bahkan bisa mulai membuat game sendiri menggunakan engine seperti GameMaker, Torque Game Builder dan Unity3D. Dengan sedikit memanfaatkan coding. Kekurangannya terletak pada terbatasnya jenis interaksi yang bisa dilakukan dan biasanya hal ini mencakup semuanya, mulai dari grafis hingga tata suara. Tapi bukan berarti game engine jenis ini tidak berguna, bagi developer cerdas dan memiliki kreativitas tinggi, game engine seperti ini bisa dirubah menjadi sebuah game menyenangkan, seperti Flow. Game engine ini memang ditujukan bagi developer yang ingin menyingkat waktu pemrogramman dan merilis game‐game mereka secepatnya.

Elemen pada Game Engine

Seperti halnya perangkat lunak lainnya, pada geme engine juga terdapat beberapa elemen diantaranya :

Tools / Data

Dalam pengembangan game, dibutuhkan data yang tidak semudah menuliskan text files. Dalam 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.

System

System adalah bagian dari game engine yang berfungsi untuk melakukan komunikasi dengan hardware yang berada di dalam mesin. Jika game engine sudah dibuat dengan baik maka system ini adalah satu‐satunya bagian yang membutuhkan perubahan yang cukup banyak apabila dilakukan implementasi pada platform yang berbeda. Di dalam system sendiri terdapat beberapa sub system yaitu graphics, input, sound, timer, configuration. System sendiri bertanggung jawab untuk melakukan inisialisasi, update dan mematikan sub system yang terdapat di dalamnya.

Console

Dengan menambahkan console, kita dapat merubah setting game dan setting game engine di dalam game tanpa perlu melakukan restart pada game tersebut. Console sendiri lebih sering digunakan dalam proses debugging. Apabila game engine tersebut mengalami error kita tinggal mengoutputkan error message tersebut ke dalam console tanpa harus melakukan restart. Console sendiri dapat dihidupkan dan dimatikan sesuai keinginan.

Support

Support adalah bagian yang paling sering digunakan oleh system di dalam game engine. Support sendiri berisi rumus‐rumus matematika yang biasa digunakan seperti : vector, matrix, memory manager, file loader merupakan dasar dari game engine dan hampir digunakan semua projek game engine.

Renderer / Engine Core

Pada game engine, engine core / renderer 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.

Game Interface

Game interface sendiri merupakan layer diantara game engine dan game itu sendiri. Berfungsi sebagai control yang bertujuan untuk memberikan interface apabila di dalam game engine tersebut terdapat fungsi fungsi yang bersifat dinamis sehingga memudahkan untuk mengembangkan game tersebut.

The Game

Merupakan inti dari penggunaan game engine sendiri, sehingga user dapat mengembangkan game tersebut sesuai dengan yang diinginkan.



Referensi:
https://www.academia.edu/6220575/GAME_ENGINE
https://www.kaskus.co.id/thread/58f46d0960e24b5b398b4567/engine-software-yang-dipakai-dalam-membuat-game/

Rabu, 28 Maret 2018

Artificial Intelligence pada game

AI pada game

kali ini saya akan membahas mengenai AI(Artificial Intelligence) pada game. Namun, sebelum kita lanjutkan apakah ada yang tau pengertian dari AI sendiri? 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:

https://ngelag.com/apa-itu-artificial-intelligence-atau-ai/

https://septianbudiuntoro.wordpress.com/2016/04/19/artificial-intelligence/

Desain Skenario, Script, dan Storyboard Game Komputer

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.

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.

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.

• 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.

• 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.






Referensi :

http://saraahputi.blogspot.co.id/2017/03/skenario-desain.html

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

http://moekyuun.blogspot.co.id/2015/04/story-board-game-komputer.html