Selasa

Microsoft XNA Game Studio ( Game Engine ) Bag. 1 dan Bag. 2

Pada penulisan ini saya ingin menjelaskan salah satu game engine terkemuka yaitu, Microsoft XNA Studio. pada tulisan saya sebelumnya juga sudah menjelaskan tentang game engine ini, tidak ada salahnya saya untuk menjelaskannya kembali :D


Saya hanya menjelaskan klasifikasi tentang software Microsoft XNA Game Studio. pada aplikasi terdapat framework yang sangat berperan penting dalam pembuatan game, yaitu Microsoft XNA Framework. Framework ini merupakan tools tambahan pada Microsoft Visual Studio untuk pengembangan game dengan kerangka game XNA. Melalui kerangka game itulah, anda dapat melakukan pengembangan hingga kustomisasi untuk menghasilkan game yang unik sesuai dengan keinginan anda.

Kerangka game XNA yang dihasilkan secara otomatis ketika Anda membuat proyek game dengan Visual Studio merupakan kelas turunan dari kelas Microsoft.Xna.Framework.Game. Kelas itu memiliki atribut dan fungsi-fungsi yang dapat dimanfaatkan terkait pengambangan game yang akan dilakukan.

1. Graphics
Atribut bertipe GraphicsDevicemanager ini memunkinkan anda untuk mengakses graphic card yang terdapat pada PC. komponen itulah yang bertindak sebagai perantara antara gane XNA yang dikembangkan dengan GPU (Graphical Processing Unit) yang terdapat pada graphic card anda

2. SpriteBatch
Melalui komponen SpriteBatch inilah anda dapat membuat sprite yang akan diintegrasikan ke dalam game, seperti sprite pemain, sprite musuh, dan sprite background.

3. Initialize()
Fungsi Initialize() digunakan untuk melakukan inisialisasi terhadap seluruh variabel dan objek yang terdapat dalam kerangka game XNA yang dibuat sebelumnya.

4. LoadContent
Fungsi LoadContent() akan secara otomatis dipanggil setelah proses inisialisasi. Melalui fungsi itulah seluruh komponen yang terlibat dalam game, seperti gambar, model 3D, dan efek suara di load ke dalam game.

5. UnloadContent()
Fungsi UnloadContent() berfungsi sebaliknua, yaitu digunakan untuk meng-unload seluruh komponen yang sudah diload melalui fungsi LoadCOntent(). Fugnsi itu dapat digunakan untuk melakukan prises manajemen memory ketika game sedang dimainkan.

6. Update()
Seluruh algoritma yang memengaruhi game dapat di masukkan ke dalam fungsi Update(), seperti pergeseran objek, dteksi tabrakan (collision detection), dan update skor.

7. Draw()
Fungsi Draw(), sesuai dengan namanya, digunakan untuk melakukan menggambar seluruh objek dalam game.


Gambar dibawah ialah halaman Visual Studio Installed Templates XNA Game Studio.

Halaman utama aplikasi Visual C# Express Edition yang digunakan untuk mengembangkan game

Hasil awal game XNA yang dirunning dari aplikasi Visual C# Express edition

Rabu

Pengertian MD5 dan SHA

Kriptografi berasak dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain. Cukup banyak algoritma yang sering dipakai untuk meng-enkripsikan suatu informasi atau data. Untuk kesempatan ini, mungkin hanya menjelaskan tentang Hash function.

Data yang disimpan di dalam memori komputer perlu ditempatkan dalam suatu cara sedemikian sehingga pencariannya dapat dilakukan dengan cepat. Setiap data yang berupa record mempunyai field kunci yang unik yang membedakan suatu record dengan record yang lainnya. Fungsi Hash digunakan untuk menempatkan suatu record yang mempunyai nilai kunci k. fungsi hash yang paling umum berbentuk.
                                               h(k) = k mod m
yang dalam hal ini m adalah jumlah lokasi memori yang tersedia (misalkan memori bebentuk sel-sel yang diberi indeks 0 sampai m -1). Fungsi h diatas menempatkan record dengan kunci k pada suatu lokasi memori yang berlamat h(k). 

Selanjutnya saya akan menjelaskan algoritma MD-5 dan SHA yang merupakan pengembangan varian dari fungsi hash.

MD-5
Merupakan fungsi Hash yang sering digunakan untuk mengamankan suatu jaringan komputer dan internet yang sengaja dirancang untuk tujuan sebagai berikut:

1. Keamanan  : Hal ini tidak bisa dielakkan karena tidak satupun sistem algoritma yang tidak dapat bisa dipecahkan. Serangan yang sering digunakan untuk menjebol algoritma Hash adalah dengan menggunakan serangan brute force

2. Kecepatan  : Software yang digunakan mempunyai kecepatan yang tinggi karena didasarkan sekumpulan manipulasi operan 32 bit.

3. Simple  : Tanpa menggunakan struktur data yang kompleks

MD5 digunakan untuk pengkodean password pada sistem operasi. MD5 mengolah masukan yang berbentuk blok 512 bit yang dibagi dalam 16 bentuk subblok yang masing-masing berukuran 32 bit, sedangkan keluaran terdiri dari 4 blok berukuran 32 bit, dari 4 blok keluaran digabungkan menjadi 128 bit.

MD-5 adalah salah satu aplikasi yang digunakan untuk mengetahui bahwa pesan yang dikirim tidak ada perubahan sewaktu berada di jaringan. Algoritma MD-5 secara garis besar adalah mengambil pesan yang mempunyai panjang variable diubah menjadi ‘sidik jari’ atau ‘intisari pesan’ yang mempunyai panjang tetap yaitu 128 bit. ‘Sidik jari’ ini tidak dapat dibalik untuk mendapatkan pesan, dengan kata lain tidak ada orang yang dapat melihat pesan dari ‘sidik jari’ MD-5

Langkah-langkah pembuatan message digest secara garis besar:
1. Penambahan bit-bit pengganjal (padding bits).
2. Penambahan nilai panjang pesan semula.
3. Inisialisasi penyangga (bufferMD.
4. Pengolahan pesan dalam blok berukuran 512 bit.

berikut contoh hasil MD5 :
Plain teks:
ini merupakan contoh hash MD5
Cipher teksnya menjadi :
13 D6 8B 6C EC 35 8D AE D8 29 21 64 BC 38 C5 8F
mungkin hanya sampai disini pembahasan dasar mengenai MD5, selanjutnya saya akan menjelaskan algoritma SHA.

SHA
SHA adalah serangkaian fungsi cryptographic hash yang dirancang oleh National Security Agency (NSA) dan diterbitkan oleh NIST sebagai US Federal Information Processing Standard.SHA adalah Secure Hash Algoritma. Jenis-jenis SHA yaitu SHA-0, SHA-1, dan SHA-2.
Untuk SHA-2 menggunakan algoritma yang identik dengan ringkasan ukuran variabel yang terkenal sebagai SHA-224, SHA-256, SHA-384, dan SHA-512. SHA-1 merupakan yang sering digunakan dalam mengamankan protokol pengiriman.

Berikut kelebihan dari SHA 1:

a. validate a password (memvalidasi password); nilai hash dari password akan disimpan, kemudian ketika password diotentikasi, maka password yang dimasukkan oleh user akan dihitung hashnya dan jika hashnya sesuai maka password dinyatakan valid. Namun untuk mendapatkan password yang asli tidak dapat diperoleh dari hash yang telah disimpan.

b. Challenge handshake authentication; untuk menghindari kesalahan pengiriman password dalam kondisi “clear”, client dapat mengirim nilai hash sebuah password melalui internet untuk divalidasi oleh server tanpa beresiko disadapnya password yang asli.

c. Anti-tamper ; untuk memastikan data tidak berubah selama ditransmisikan. Penerima akan menghitung nilai hash dan mencocokkan dengan hash yang dikirimkan, apabila nilainya sama berarti data yang dikirimkan tidak berubah. 

d. digital signatures; dilakukan dengan cara mengenkrip nilai hash sebuah dokumen dengan menggunakan private key, sehingga menghasilkan tanda tangan digital untuk dokumen tersebut. Orang lain dapat mengecek otentikasi dokumen tersebut dengan cara mendekrip tanda tangan tersebut menggunakanpublic key untuk mendapatkan nilai hash yang asli dan membandingkannya dengan nilai hash dari teks.


berikut contoh menggunakan SHA-1 (160 bit):
Plain teks :
ini merupakan contoh hash MD5
Cipher teksnya :
F5 75 6F 4F 26 9F 51 BB B3 55 5F 04 7A 2E E8 FE B0 F9   


Jumat

Macam-macam Software dan Klasifikasi pengembang Game

Siapa yang tidak tertarik untuk bermain game? Nintendo, Square Enix dan Namco adalah bebebrapa perusahaan game developer yang sangat terkenal dengan aplikasi-aplikasi game yang dikembangkan mereka masing-masing saat ini.

Hingga saat ini, sebagian besar dari kita adalah pemain atau pemkai produk game karenakita lebih tertarik untuk memainkannya ketimbang membuatnya. Dalam benak kita, membuat game sudah pasti rumit dan membutuhkan waktu lama. Namun, kini itu semua adalah cerita usang karena sudah banyak beredar aplikasi yang dapat membantu kita untuk merealisasikan ide-ide kreatif kita ke dalam aplikasi game dengan cukup mudah. Aplikasi RPG Maker, Microsoft XNA Game Studio, dan Game Maker adalah beberapa aplikasi pengembang game yang dapat menjadikan impian untuk menjadi pembuat game menjadi kenyataan.

Saya hanya menjelaskan klasifikasi tentang software Microsoft XNA Game Studio. pada aplikasi terdapat framework yang sangat berperan penting dalam pembuatan game, yaitu Microsoft XNA Framework. Framework ini merupakan tools tambahan pada Microsoft Visual Studio untuk pengembangan game dengan kerangka game XNA. Melalui kerangka game itulah, anda dapat melakukan pengembangan hingga kustomisasi untuk menghasilkan game yang unik sesuai dengan keinginan anda.

Kerangka game XNA yang dihasilkan secara otomatis ketika Anda membuat proyek game dengan Visual Studio merupakan kelas turunan dari kelas Microsoft.Xna.Framework.Game. Kelas itu memiliki atribut dan fungsi-fungsi yang dapat dimanfaatkan terkait pengambangan game yang akan dilakukan.

1. Graphics
Atribut bertipe GraphicsDevicemanager ini memunkinkan anda untuk mengakses graphic card yang terdapat pada PC. komponen itulah yang bertindak sebagai perantara antara gane XNA yang dikembangkan dengan GPU (Graphical Processing Unit) yang terdapat pada graphic card anda

2. SpriteBatch
Melalui komponen SpriteBatch inilah anda dapat membuat sprite yang akan diintegrasikan ke dalam game, seperti sprite pemain, sprite musuh, dan sprite background.

3. Initialize()
Fungsi Initialize() digunakan untuk melakukan inisialisasi terhadap seluruh variabel dan objek yang terdapat dalam kerangka game XNA yang dibuat sebelumnya.

4. LoadContent
Fungsi LoadContent() akan secara otomatis dipanggil setelah proses inisialisasi. Melalui fungsi itulah seluruh komponen yang terlibat dalam game, seperti gambar, model 3D, dan efek suara di load ke dalam game.

5. UnloadContent()
Fungsi UnloadContent() berfungsi sebaliknua, yaitu digunakan untuk meng-unload seluruh komponen yang sudah diload melalui fungsi LoadCOntent(). Fugnsi itu dapat digunakan untuk melakukan prises manajemen memory ketika game sedang dimainkan.

6. Update()
Seluruh algoritma yang memengaruhi game dapat di masukkan ke dalam fungsi Update(), seperti pergeseran objek, dteksi tabrakan (collision detection), dan update skor.

7. Draw()
Fungsi Draw(), sesuai dengan namanya, digunakan untuk melakukan menggambar seluruh objek dalam game.

Senin

Langkah-langkah Pembuatan Game

Postingan ini merupakan lanjutan dari postingan sebelumnya. yaitu sebuah team dalam pembuatan game. pada kali ini saya akan menjelaskan langkah-langkah pembuatan game.

1. Menentukan tema dan genre game
Hal pertama yang harus kita lakukan adalah menentukan tema game. Apa tema yang akan kita angkat dalam game yang nantinya akan kita buat. Berikutnya yang harus kita lakukan adalah memilih genre dari game yang akan dibuat, apakah Actions, Adventure, Puzzle, Shooting, Strategy, Card, Sport dan lain sebagainya. 

2. Menentukan background serta grafis
Setelah menentukan tema dan genre game yang akan dibuat kita harus menentukan background dan grafis yang tepat. Hal ini dimaksudkan agar pada saat game tersebut telah jadi dan dijalankan, orang yang memainkannya tidak merasa bosan. Maka pilihlah grafis dari game yang kita buat secara baik dan benar, apakah realistis, semi realistis, atau kartun. Perannya yang penting ialah designer, dan Artist


3. Memilih software
Langkah ini sangat-lah penting karena software yang digunakan nanti dalam pembuatan game tersebut akan berjalan dengan baik atau tidak. Softwarenya pun sangat bermacam dari yang berlicense maupun yang Open Source. Pemilihan software itu pun tergantung dari kemampuan programmer.

4. Menentukan backsound
Berikutnya kita harus menentukan back sound dari game yang kita buat. Tidak lupa pula kita membuat efek suara yang akan muncul pada saat kita memainkan game tersebuat agar game tampak lebih menarik. Tanpa adanya efek suara maka game akan terasa kurang hidup ketika dimainkan. Jangan asal memasukan suara karena akan membuat game anda menjadi tidak menarik. Maka peran Composer atau music editor akan sangat berpengaruh dengan backsound dalam game tersebut.

5. Mulai membuat game
Kemudian langkah selanjutnya kita tahapan pembuatan game dengan software yang telah kita tentukan sebelumnya.

6. Melakukan percobaan
Langkah terakhir yang harus kita lakukan adalah melakukan tes / percobaan terhadap game yang telah kita buat, apakah di dalamnya masih terdapat error atau tidak. dan melakukan pengamanan aplikasi game yang sangat baik, agar setelah game di riliskan tidak akan ada yang bisa mencoba melakukan cara curang.

Mungkin hanya sebatas itu yang saya ketahui dengan langkah-langkah pembuatan game. Apabila masih ada yang kurang atau kurang tepat dalam bahasannya, saya mohon maaf. Terimakasih :)

Jumat

Team pembuatan Game

Game. kita pasti sangat menyukainya, baik dari anak kecil hingga tua. Game terdiri dari 2 jenis yaiutu game tradisional, dan game modern. Namun saya disini akan menjelaskan tentang pembuatan game pada zaman modern, lebih spesifiknya lagi ialah game console. Perkembangan teknologi kini jauh lebih cepat dari beberapa tahun sebelumnya. Game-pun dapat memberikan efek positif dan negatif. Positifnya ialah kita dapat melatih otak untuk memecahkan masalah pada game tersebut, dengan tak langsung ini telah menambahkan nilai IQ otak kita. namun efek negatifnya ialah akan melupakan segala hal, seperti waktu tidur yang kurang,  melupakan waktu ibadah, dan sebagainya yang dapat merugikan diri sendiri maupun orang-orang disekitarnya.Dalam pembuatan game tersebut terlebih dahulu membentuk suatu team yang mempunyai tugas  yang berbeda-beda dan memiliki tujuan yang sama. berikut penjelasan bagian dari team tersebut :

Game Designer 
Peran disini merupakan seseorang yang mempunyai tugas untuk membuat alur cerita, gameplay, environment, dan scenario dari game yang dibuat. Peran Game designer sangat penting karena sukses atau tidaknya suatu game ialah ide orisinil dari game desaigner

Artist 
Peran disini merupakan seseorang yang membuat gambar model character dari game tersebut, bukan hanya model character, melainkan juga pada latar dan efek-efek disaat game sedang dijalankan.

Programmer 
Orang - orang pada bagian ini yang membuat coding untuk game yang telah dirancang oleh team game designer. Kompleksitas coding dari algoritma game ini ialah harus sempurna, agar game yang dibuat  minim dengan bug-bug yang dapat merugikan perusahaan game.  

Composer / Music Editor
Peran orang disini juga sangat penting dalam pembuatan game, karena game yang baik dan bagus ialah game yang iteraktif dengan penggunanya. Dengan cara memberikan suara latar saat game dimainkan, dan suara-suara character yang saling mendukung disetiap keadaan game sedang dijalankan.

Keempat bagian diatas ialah peran yang sangat penting dalam pembuatan game, diperlukan kerjasama yang sangat solid agar game tersebut layak untuk dimainkan.