Jumat, 20 Juli 2018



GAME VB ADU CEPAT MENEKAN MOUSE

Game VB ADU CEPAT MENEKAN TOMBOL adalah game yang dibuat untuk mengetahui berapa banyak score yang seseorang akan dapatkan ketika menekan tombol yang terdisplay di dalam game ini. Game ini merupakan pembaruan dari game yang telah ada sebelumnya seperti (mouse speed game), namun dibuat dalam versi yang lebih sederhana.
Cara Membuat Game :

1.      Pertama kita membutuhkan aplikasi vb


1.      Pilih picture box yang terdapat pada bagian general



2.      Kemudian atur posisi picture box seperti gambar di bawah ini.


Kemudian pada bagian propertis pilih picture, kemudian pilih gambar yang akan dipakai




3.      Tambahkan label untuk membuat judul game, kemudian atur posisi dan ukuran label


Pada bagian properties ubah caption menjadi nama game yang akan dibuat


4.      Kemudian tambahkan timer untuk menentukan waktu yang akan berlasung dalam game



5.      Tambahkan label untuk bagian penjelasan score(jumlah keberhasilan dalam menekan tombol)


6.      Tampilan display game setelah kita atur


7.      Pada display game pilih timer, kemudian rubah interval menjadi 1000, rubah Enabled menjadi false, dan rubah Name menjadi timer


Codingan game :
1.      Codingan untuk picture box


1.      Codingan untuk timer


Output game ketika dijalankan :



Cara memainkan game :
1.      Klik tombol yang tersedia dalam display agar muncul message box untuk memulai permainan
2.      klik secepat mungkin pada tombol(menggunakan touchpad atau mouse) dengan waktu 30 detik.

Contoh tampilan game yang telah ada seperti speed mouse game :
1.      tampilan awal


1.      tampilan permainan



Softskill Tugas 4

NAMA KELOMPOK:
ANISA MERDEKAWATI (50415831)
BAGAS SETYO UTOMO (51415235)
DIDAH PRAMESWARI PUTRI (51415882)
INDAH MAULINA (53415337)




TUGAS 3 SOFTSKILL

Senin, 23 April 2018

Arsitektur Game Engine (Bab 4)

Game engine adalah perangkat lunak yang dirancang untuk membuat dan mengembangkan video game. Fungsi utama yang diberikan oleh game engine meliputi rendering untuk 2D atau 3D graphic, collision detection, sound, scripting, animasi, artificial intelligence, networking, memory management, threading dan scene graph. Game engines memberikan perangkat untuk visual development dengan tambahan komponen perangkat lunak yang dapat dipakai berulang kali. Perangkat ini pada umumnya memberikan integrated development environment yang dapat mempermudah, serta mempercepat pengembangan game. 
Beberapa elemen yang ada di dalam game engine adalah :
a.       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.
b.      System

       System sendiri 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.
c.       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.
d.      Support

         Support adalah bagian yang paling sering digunakan oleh system di dalam game engine. Support sendiri berisi rumus-rumus matematika yang biasa digunakan, vector, matrix, memory manager, file loader. Merupakan dasar dari game engine dan hampir digunakan semua projek game engine.
e.      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.
f.        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.
g.       The Game

     Merupakan inti dari penggunaan game engine sendiri, sehingga terserah kita bagaimana mengembangkan game tersebut.
Beberapa Contoh Game Engine Open Source :
1.                       3Dgame Studio

2.                       Delta 3D

3.                       UnrealEngine

4.                       Panda3D

5.                       Torque

6.                       Quake Engine


Ada 3 tipe game engine yang ada saat ini, diantaranya :
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. Dengan sedikit memanfaatkan coding, kamu sudah bisa merilis game point-and-click yang kamu banget. 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.


Artificial Intelligent pada Game (BAB 3)


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
Definisi Kecerdasan Buatan  

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



      “Kecerdasan Buatan (AI) merupakan cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan, dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan” (Encyclopedia Britannica)



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-metodenya meliputi:

1.       Sistem pakar: menerapkan kapabilitas pertimbangan untuk mencapai kesimpulan. 2.

2.       Sebuah sistem pakar  dapat memproses sejumlah besar informasi yang diketahui dan menyediakan kesimpulan-kesimpulan berdasarkan pada informasi-informasi tersebut.

3.       Petimbangan berdasar kasus

4.       Jaringan Bayesian

5.       AI berdasar tingkah laku: 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: 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 :

1.       Membuat komputer lebih cerdas

2.       Membuat mesin lebih berguna


      Berdasarkan perkembangan game yang pesat pada masa ini, maka tidak dipungkiri bahwa dibutuhkan sesuatu yang berbeda pada rule permainannya. Hal ini sangat berkaitan dengan kecerdasan buatan (artificiall intelligence) yang diterapkan pada game. Sebelumnya, sebuah sistem game, jika sudah dimainkan sampai tuntas oleh seorang , maka ketika player yang sama memulai lagi permainan dari awal, maka rule permainannya akan sama. Namun, untuk saat ini sesuai dengan perkembangan game dan kecerdasan buatan yang diterapkan, sistem dalam game sudah dapat belajar mengenali pola permainan dari player dan ketika player tersebut memulai permainan kembali, maka sistem ini akan menggunakan rule yang berbeda untuk pemain yang sama ini, sehingga game menjadi lebih menarik dan menantang untuk dimainkan.



      Contoh game sederhana yang melakukan pendekatan AI adalah game PacMan, pemanfaatan AI dalam game ini digunakan untuk mencari jalur terpendek untuk menentukan targetnya. Pada game ini dapat kita lihat bahwa hantu-hantu (komputer) yang menjadi musuh Pacman dapat mempertimbangkan dan memilih jalan yang tercepat untuk menangkap dan mengepung sang Pacman (pemain). Bahkan ketika sang Pacman memakan bola yang bisa membuat si hantu menjadi lemah maka sang hantu akan langsung segera menghindari sang Pacman secepatnya. Tindakan seperti itu memang terlihat mudah namun pada kenyataannya pembuatan hal tersebut cukup sulit dilakukan. Pembuatan hal tersebut membutuhkan algoritma yang mungkin sedikit rumit terutama bagi orang awam. Selain Game Pacman ada game yang menggunakan AI lagi seperti Game Bomberman.



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.
Kelebihan dari metode pohon keputusan adalah:

1.        Daerah pengambilan keputusan yang sebelumnya kompleks dan sangat global, dapat diubah menjadi lebih simpel dan spesifik

2.       Eliminasi perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode pohon keputusan maka sampel diuji hanya berdasarkan kriteria atau kelas tertentu

3.       Fleksibel untuk memilih fitur dari node internal yang berbeda, fitur yang terpilih akan membedakan suatu kriteria dibandingkan kriteria yang lain dalam node yang sama. Kefleksibelan metode pohon keputusan ini meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional

4.       Dalam analisis multivarian, dengan kriteria dan kelas yang jumlahnya sangat banyak, seorang penguji biasanya perlu mengestimasikan baik itu distribusi dimensi tinggi ataupun parameter tertentu dari distribusi kelas tersebut. Metode pohon keputusan dapat menghindari munculnya permasalahan ini dengan menggunakan kriteria yang jumlahnya lebih sedikit pada setiap node internal tanpa banyak mengurangi kualitas keputusan yang dihasilkan.
Kekurangan pada pohon keputusan adalah:

1.       Terjadi overlapping terutama ketika kelas-kelas dan kriteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan

2.       Pengakumulasian jumlah kesalahan dari setiap tingkat dalam sebuah pohon keputusan yang besar

3.       Kesulitan dalam mendesain pohon keputusan yang optimal

4.       Hasil kualitas keputusan yang didapatkan dari metode pohon keputusan sangat tergantung pada bagaimana pohon tersebut didesain.
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: State (Keadaan), Event (kejadian) dan action (aksi).
3.  Rule System 

     Rule Based System merupakan metode pengambilan keputusan berdasarkan pada aturan-aturan tertentu yang telah ditetapkan.
Algoritma Pathfinding 

      Algoritma yang digunakan untuk pencarian jalur. Algoritma ini dapat digunakan untuk mencapai tempat tujuan dari tempat awal.Salah satu algoritma path finding adalah algoritma A*.

      Waypoint adalah titik acuan / kumpulan koordinat yang digunakan untuk keperluan navigasi untuk mengidentifikasi sebuah titik di peta. (Wikipedia).

      Pencarian jalur merupakan salah satu implementasi kecerdasan buatan dalam permainan. Pencarian jalur terpendek merupakan hal yang mempengaruhi pergerakan dan pengambilan keputusan pada non-player character. Namun, jalur terpendek belum tentu dan tidak selalu menjadi jalur paling aman. Dalam permainan berbasis militer, karakter dituntut untuk bergerak secara taktis dalam menghadapi ancaman. Agen yang bergerak secara taktis dalam pencarian jalur tidak hanya mencari jalur terpendek, namun harus mempertimbangkan ancaman karena pertimbangan hit points, demi meningkatkan kesan nyata pada permainan.



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

      Implementasi algoritma dilakukan dengan melakukan simulasi pada peta permainan 3D berbasis navigation mesh. Representasi peta permainan 3D menggunakan navigation mesh karena dalam beberapa tahun terakhir, navigation mesh menjadi pilihan utama.

Komputasi Awan

Pengertian Komputasi Awan adalah suatu teknologi yang menjadikan internet sebagai pusat pengelolaan data dan aplikasi, di mana pengguna...