-
25/12/12
Bisnis Informatika
Mata Kuliah Pengantar Bisnis Informatika menggarahkan kita untuk merusaha mebangun bisnis. kami akan mencoba bisnis yakni penjualan hewan qurban yang nantinya pemasarannya akan dipasarkan melalui website online. Berikut ini tujuan dan tahap perancangannya :
24/06/12
tugas softskill translate chapter 5 "the keyboard"
Bab 5. User input
"Jika terus, manusia akan berevolusi dan kehilangan semua jarinya, kecuali jari untuk menekan tombol."
-Frank Lloyd Wright
KUNCI TOPIK
- Keyboard
- mouse
- Joystick
- Hardware Abstraction
- Angkatan Saran atau masukan
- Penutupan
Sebuah model interaksi pengguna yang dasar adalah kunci untuk setiap permainan yang baik. Tanpa mekanisme input pengguna yang memadai,gameplay menjadi terhambat dan frustrasi terjadi. Dalam bab ini, kita akan membahas dasar-dasar kontrol user input. Sayangnya, akan ada beberapa aturan umum. Interaksi pengguna terjadi pada pada tingkat abstraksi yang relatif rendah, dan implementasi cenderung mengarah pada hardware. Bila memungkinkan,teknik umumlah yang kemungkinan dipakai. Tapi sebagian besar bab ini dikhususkan untuk metode input khusus yang tersedia untuk platform populer pada PC, seperti Win32 API dan Microsoft DirectInput.
Keyboard
Keyboard adalah perangkat input utama untuk PC berbasis permainan, tetapi juga tersedia untuk ponsel, beberapa
consol, dan palm device. itu semua perangkat input yang sering dipakai dan yang paling banyak tersedia. sarangnya User Input(perangkat input) yang populer tersebut tidak terlalu cocok untuk Game.
Pemetaan Keyboard mengambil waktu untuk belajar, dan ide umum dari keyboard adalah sama sekali tidak praktis untuk anak-anak.Menjadi perangkat multifungsi yang dapat digunakan untuk mengetik dokumen dan untuk bermain game, tidak mengherankan bahwa keyboard dapat dibaca menggunakan berbagai metode, tergantung pada persyaratan tertentu dari aplikasi. Beberapa metode mengambil string penuh, yang lain bekerja atas dasar kunci-demi-kunci, dan sebagainya. Tapi untuk tujuan game, dua jenis rutinitas relevan. Pertama, ada rutinitas sinkron, yang menunggu sampai tombol ditekan dan kemudian melaporkannya ke aplikasi. Kedua, ada rutinitas asynchronous, yang kembali segera setelah dipanggil, dan memberikan informasi tentang aplikasi yang tombol ditekan, jika ada.
Motode membaca sinkron digunakan untuk mengetik informasi, seperti nama karakter dalam permainan role-playing(RPG). Mereka bekerja dengan pemungutan suara controller sampai pesan baru masukan kunci tiba. Tapi mereka tidak sangat baik cocok untuk gameplay nyata. Kode permainan harus terus-menerus memeriksa untuk melihat apakah tombol ditekan, dan apapun respon, terus menggambar, melaksanakan AI, dan sebagainya. Jadi, pengendali asynchronous adalah cara untuk pergi. Mereka menyediakan tes cepat untuk memeriksa keadaan keyboard yang efisien.Rutinitas Asynchronous juga bisa milik dua keluarga yang berbeda. Beberapa dari mereka yang dirancang untuk menguji keadaan kunci individu, sehingga pemrogram melewati kode kunci sebagai parameter dan mendapat negara sebagai terjadi. Lainnya, seperti yang terpapar oleh DirectInput, mengambil negara seluruh keyboard dalam satu panggilan, sehingga programmer dapat mengakses struktur data dan memeriksa keadaan setiap tombol tanpa lebih lanjut hardware cek. Tipe kedua rutin umumnya lebih efisien karena ada overhead kurang terlibat.
Sebagai contoh, kita akan fokus pada panggilan asynchronous satu tombol untuk platform PC. Panggilan adalah Windows spesifik dan merupakan bagian dari Win32 API. Sintaksnya adalah
short GetAsyncKeyState(int keycode);
pada saat sintaks ini dipanggil menerima kode kunci dan mengembalikan nilai pendek, yang mengkode informasi negara yang berbeda. Kuncinya kode kita lulus sebagai parameter dapat menjadi karakter dikapitalisasi, seperti "K", atau kode kunci diperpanjang,yang digunakan untuk membaca karakter khusus. Dengan menggunakan kode kunci yang diperluas, kita dapat membaca kunci tertentu, seperti Hapus, tombol fungsi, Tabs, dan sebagainya. Tabel 5.1 menyediakan daftar kode kunci utama khusus untuk dipanggil.
Nilai encode dikembalikan sebagian kunci dilewatkan sebagai parameter. Bit yang paling signifikan diaktifkan jika kuncinya ditekan, sedangkan least significant bit diaktifkan jika kunci ini diaktifkan yang terakhir GetAsyncKeyState waktu dipanggil. Berikut adalah contoh bagaimana untuk memeriksa apakah tombol Shift kiri adalah ditekan:
If (GetAsyncKeyState(VK_LSHIFT))
{
// whatever
}
Perhatikan bahwa, karena sifat dari panggilan, kita dapat memeriksa beberapa tombol. Contoh berikut menunjukkan bagaimana untuk menguji
untuk Shift kiri DAN kombinasi Kembali:
If ((GetAsyncKeyState(VK_LSHIFT)) && (GetAsyncKeyState(VK_RETURN)))
{
// whatever
}
Seperti yang Anda lihat, setiap tes kunci memerlukan system call, yang dapat menyusahkan bagi sistem-sistem memeriksa
banyak kunci yang berbeda. Sekarang, mari kita membandingkan panggilan ini dengan cek seluruh keyboard, yang dapat dilakukan
dengan menggunakan panggilan:
bool GetKeyboardState(PBYTE *lpKeyState);
Berikut hasilnya hanya mengkodekan apakah fungsi berhasil, dan daging yang sebenarnya dikembalikan sebagai array dikirimkan sebagai
referensi. Kemudian, cek berurutan seperti berikut ini melakukan tes individu, yang tidak lain adalah
lookup sederhana array:
if (keystate[VK_RSHIFT])
{
// right shift was pressed
}
Sekali lagi, untuk game yang memeriksa banyak kunci (seperti simulator penerbangan), opsi ini bisa lebih baik daripada diulang panggilan ke GetAsyncKeyState. Programmer hanya perlu menyadari bahwa panggilan awal untuk GetKeyboardState diperlukan untuk memuat array. Perangkap lain yang mungkin diperhatikan adalah bahwa modus kedua ini tidak segera memeriksa kunci ketika Anda melakukan tes. Tombol diperiksa saat GetKeyboardState dipanggil. Jika ada yang signifikan menunda antara tes ini dan lookup array, efek samping yang tidak diinginkan mungkin terjadi karena array akan
berisi nilai-nilai kunci "old" atau ganjil.
Keyboard dengan DirectInput
DirectInput menyediakan akses cepat untuk asynchronous negara kunci. Panggilan tunggal dapat mengambil keadaan seluruh keyboard, tes berikutnya sehingga hanya pencarian tabel. Operasi ini demikian sangat mirip dengan pemanggilan GetKeyboardState Win32. Tapi sebelum kita menggali kita perlu membaca kode dalam keyboard, kita perlu membahas bagaimana DirectInput bekerja.
DirectInput merangkum keyboard, joystick, mouse, dan input perifer lainnya yang bernaung pada antarmuka yang disebut perangkat. Operasi ini benar-benar mudah.
Pertama-tama kita perlu boot DirectInput. Ini berarti menciptakan objek DirectInput, dari mana semua benda lain yang berhubungan dengan pengolahan input berasal. Objek DirectInput demikian dapat digunakan untuk membuat perangkat, yang merupakan interface logis untuk peripheral. Setelah perangkat dibuat, kita perlu menentukan beberapa parameter, seperti format data yang kita inginkan untuk pertukaran dengan perangkat, dan tingkat koperasi, yang memberitahu DirectInput jika
perangkat yang akan dibagi di antara aplikasi yang berbeda atau jika kita membutuhkannya secara eksklusif.
Perangkat DirectInput dapat disurvei asynchronous. Kami query keadaan perangkat, bukan menunggu khusus acara seperti kunci atau tekan tombol. Ini berarti DirectInput akan mengambil snapshot dari kondisi perangkat pada saat ini dan mengembalikannya ke aplikasi sehingga dapat diproses. Sebagai ringkasan, berikut adalah daftar langkah-langkah dalam mendirikan keyboard DirectInput:
1. Membuat objek DirectInput.
2. Buat perangkat keyboard.
3. Mengatur format data untuk membacanya.
4. Mengatur tingkat cooperative yang akan Anda gunakan pada sistem operasi.
5. Baca data yang diperlukan.
Sekarang mari kita beralih ke contoh spesifik, dimulai dengan kode DirectInput diperlukan untuk boot API. kode itu pada bagian ini telah diuji di kedua DirectX8 dan DirectX9. DirectInput hampir identik di kedua versi.
LPDIRECTINPUT8 g_pDI = NULL;
HRESULT hr = DirectInput8Create (GetModuleHandle (NULL), DIRCTINPUT_VERSION,
IID_IDirectInput8, (VOID **) & g_pDI, NULL)))
Dalam kode sebelumnya, parameter pertama digunakan untuk mengirim pegangan contoh untuk aplikasi yang menciptakan objek DirectInput. Kemudian, kita ,membutuhkan versi DirectInput yang diminta. Macro DIRCTINPUT_VERSION adalah cara praktis untuk melewatkan nomor versi saat ini. Selanjutnya, kita membutuhkan identifier unik antarmuka untuk objek yg diminta. Kami menggunakan IID_IDirectInput8 untuk meminta
DirectInput objek, tetapi kita bisa menggunakan parameter lain untuk menentukan versi ANSI atau Unicode antarmuka. Kami kemudian membutuhkan pointer sehingga kami dapat menerima objek yang sudah diinisialisasi, dan parameter terakhir digunakan untuk melakukan agregasi Komponen Objek Model (COM). Anda mungkin tidak ingin agregat Objek DirectInput untuk hal lain, sehingga meninggalkannya sebagai NULL.
Sekarang kita memiliki objek DirectInput siap digunakan. Sekarang saatnya untuk kode keyboard nyata. Kami pertama akan meminta perangkat dan mengatur beberapa parameter yang menentukan bagaimana kita akan berkomunikasi dengannya. Kemudian, kita akan
memeriksa kode sumber yang digunakan untuk membaca data dari keyboard.
Langkah pertama adalah untuk benar-benar meminta perangkat dari objek DirectInput. Hal ini dicapai dengan baris:
HRESULT hr = g_pDI-> createDevice (GUID_SYSKeyboard, & g_pKeyboard, NULL);
Panggilan harus menerima Global Unique Identifier (GUID) untuk perangkat yang diinginkan. DirectInput dibangun di atas COM, sebuah model pemrograman berorientasi objek. Dalam COM, GUIDs digunakan untuk mengidentifikasi objek tertentu atau
interface. Secara internal, GUIDs hanya 128-bit struktur, tetapi mereka digunakan untuk mewakili fungsi, objek,dan umumnya setiap DirectX membangun. Dalam hal ini, GUIDs klasik untuk perangkat yang berbeda
- GUID_SYSKeyboard: Keyboard sistem default.
- GUID_SysMouse: Mouse sistem default.
GUIDs tambahan dapat ditugaskan untuk joystick. Namun, GUIDs tidak harus ditulis secara langsung, tetapi sebagai hasil dari panggilan untuk DirectInput8 :: EnumDevices.
Kami akan mencakup joystick pada bagian berikutnya. Untuk keyboard kita, GUID_SYSKeyboard akan melakukan pekerjaan. Parameter kedua adalah hanya pointer ke baru menciptakan perangkat, dan parameter terakhir ini lagi disediakan untuk agregasi dan dengan demikian harus diatur ke NULL.
Sekarang, kita harus memberitahu keyboard bagaimana kita ingin bertukar data. Hal ini dicapai dengan panggilan untuk SetDataFormat, seperti yang ditunjukkan di sini:
HRESULT hr = g_pKeyboard-> SetDataFormat (& c_dfDIKeyboard);
Panggilan ini harus menerima sebuah parameter dari tipe LPCDIDATAFORMAT, yang merupakan struktur didefinisikan sebagai:
typedef struct {DIDATAFORMAT
DWORD dwSize;
DWORD dwObjSize;
DWORD dwFlags;
DWORD dwDataSize;
DWORD dwNumObjs;
LPDIOBJECTDATAFORMAT rgodf;
DIDATAFORMAT}, * LPDIDATAFORMAT;
typedef const DIDATAFORMAT * LPCDIDATAFORMAT;
Struktur ini mengontrol jumlah objek kita akan meminta, format masing-masing, dan sebagainya. Karena untuk mengisi struktur kompleks, DirectInput sudah dilengkapi dengan beberapa format data yang telah ditetapkan yang dapat kita gunakan secara langsung. Untuk keyboard, yang c_dfDiKeyboard format yang memberitahu DirectInput kita akan meminta keyboard lengkap, disimpan dalam array 256 byte.
Selain itu, kita perlu memberitahu DirectInput tentang tingkat cooperative yang akan kita gunakan dengan perangkat ini. Ini ditelusuri dengan menggunakan baris:
HRESULT hr = g_pKeyboard-> SetCooperativeLevel (hWnd, DISCL_FOREGROUND | DISCL_EXCLUSIVE);
Di sini kita melewati jendela menangani sebagai parameter pertama, dan parameter kedua adalah ATAU dari serangkaian flag yang mengontrol tingkat koperasi. Dalam hal ini, kita mengatakan bahwa kita ingin DirectInput eksklusif mengakses dan bahwa akses ini hanya berlaku jika aplikasi di latar depan. Sebagai aplikasi kita
bergerak ke latar belakang, perangkat secara otomatis unacquired.
Selain itu, kami perlu mendapatkan keyboard, sehingga kami dapat mulai melakukan query negaranya. Baris berikut akan melakukan
yang bagi kita:
g_pKeyboard-> Acquire ();
Dan sekarang kami siap untuk mulai menggunakan keyboard. Berikut adalah potongan kode yang menyatakan kedua DirectInput dan keyboard, dan memastikan perangkat siap. Pengecekan error telah dihilangkan untuk kejelasan:
HRESULT jam;
hr = DirectInput8Create (GetModuleHandle (NULL), DIRCTINPUT_VERSION,
IID_IDirectInput8, (VOID **) & g_pDI, NULL);
hr = g_pDI-> createDevice (GUID_SYSKeyboard, & g_pKeyboard, NULL);
hr = g_pKeyboard-> SetDataFormat (& c_dfDIKeyboard);
hr = g_pKeyboard-> SetCooperativeLevel (hDlg, dwCoopFlags);
hr = g_pKeyboard-> Acquire ();
Membaca keyboard bahkan lebih mudah daripada menyiapkan itu. Yang harus kita lakukan adalah mempersiapkan array 256-byte dan menyebarkannya ke DirectInput dengan keyboard yang diperoleh untuk query statenya:
Diks BYTE [256]; / / DirectInput Keyboard state penyangga
ZeroMemory (diks, sizeof (diks));
hr = g_pKeyboard-> GetDeviceState (sizeof (diks), diks);
Perhatikan bagaimana kita membersihkan buffer dan kemudian menyebarkannya ke DirectInput. Seperti GetAsyncKeyState, kunci Kode tertentu harus digunakan setelah membaca query untuk setiap tombol. Dalam hal ini, semua kunci diwakili oleh simbol konstanta, seperti:
DIK_RETURN Kunci kembali
DIK_SPACE Tombol spasi
DIK_A ... DIK_Z Kunci abjad
DIK_F1 ... DIK_F10 Tombol fungsi
Sekarang, untuk query kunci tertentu, kita harus menguji bit yang paling signifikan dari posisi array yang sesuai. Jika posisi yang diatur satu, kuncinya saat ini sedang ditekan. Jadi, untuk memeriksa apakah tombol diaktifkan kembali, kode berikut dapat digunakan:
bool return_pressed = (buffer [DIK_RETURN] & 0x80) = 0);!
Seperti biasa, kita bisa membaca kombinasi, sehingga kami dapat memeriksa apakah beberapa kunci yang ditekan secara bersamaan.
Karena hanya ada satu DirectInput membaca di awal, ini hanya pencarian array.
Membaca keyboard yang benar-benar mudah. Tapi kita harus berhati-hati dengan acquiring and unacquiring perangkat, yang dapat membuat kerusakan input controller kita. Kadang-kadang, terutama di beberapa tingkat mode cooperative, kita dapat kehilangan kontak dengan keyboard sesaat. Ini disebut unacquiring perangkat. alasanyang paling populer untuk ini adalah bahwa aplikasi kita pindah ke background, sehingga kehilangan akses keyboard pada aplikasi pendukung yang lain, yang ada pada background sekarang. Beberapa acara lain mungkin akan membuat kita kehilangan jejak perangkat kita. Jika ini terjadi, kita akan menemukannya dalam panggilan GetDeviceState berikutnya, yang akan gagal. Kita kemudian harus reacquire keyboard sehingga kami dapat terus query negaranya. Hal ini dicapai sebagai berikut:
Diks BYTE [256]; / / DirectInput Keyboard negara penyangga
ZeroMemory (diks, sizeof (diks));
hr = g_pKeyboard-> GetDeviceState (sizeof (diks), diks);
if (FAILED (hr))
{
hr = g_pKeyboard-> Acquire ();
sementara (hr == DIERR_INPUTLOST | | hr == DIERR_OTHERAPPHASPRIO)
hr = g_pKeyboard-> Acquire ();
}
Perhatikan bagaimana kita mendeteksi kesalahan dan terus memanggil sampai kita memperoleh kembali hak akses ke perangkat.
Setelah kita selesai dengan aplikasi kita, sekarang saatnya untuk melepaskan semua objek DirectInput. Melepaskan keyboard dengan 2 langkah proses. Pertama, kita unacquire perangkat, kemudian lepaskan struktur datanya.
Kedua, kita harus menghapus objek DirectInput utama. Secara keseluruhan, urutannya dapat dicapai dengan menggunakan kode berikut:
if (g_pKeyboard) g_pKeyboard-> Unacquire ();
SAFE_RELEASE (g_pKeyboard);
SAFE_RELEASE (g_pDI);
Perhatikan bahwa kita menggunakan macro SAFE_RELEASE yang disediakan dengan DirectX untuk memastikan bahwa semua struktur data dan memori yang dialokasikan akan dihapus.
20/03/12
Mengenal Game Engine
Game Engine adalah sebuah perangkat lunak sistem yang dirancang untuk penciptaan 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, sebuah mesin fisika atau tabrakan (dan tanggapan tabrakan), suara, script, animasi, kecerdasan buatan, jaringan, streaming, manajemen memori, threading, lokalisasi dukungan, dan sebuah adegan grafik. Proses pengembangan permainan sering dihemat oleh sebagian besar menggunakan kembali mesin permainan yang sama untuk menciptakan permainan yang berbeda.
3 tipe game engine yaitu:
1. roll your own game engine
tipe game engine seperti ini biasanya menggunakan API seperti XNA, DirectX atau openGL untuk menciptakan game engine. tipe game engine banyak diminati oleh para developer game karena tidak bersifat komersil. tetapi tipe game engine ini dapat menjadi sebuah bomerang bagi developernya karena untuk menyempurnakan game enginenya membutuhkan waktu yang sangat lama.
2. mostly ready game engines
engine dengan tipe kedua sudah menyediakan semua yang dibutuhkan oleh programer game. contohnya GUI, physics, libraries model,texture dll. tetapi salah satu kelemahan yang dimiliki adalah mempunyai beberapa batasan contoh tipe game engine seperti ini Unreal engine, sourc engine, dan id tech engine
3. point and click engines
engine merupakan engine yang sangat dibatasi tetapi sangat user friendly. pengguna dapat menciptakan sebuah game engine dengan memanfaatkan coding yang ada. kelemahannya adalah terbatasnya dari interaksi yang dilakukan dan game engine ini dapat mengefisiensikan waktu.
Berikut merupakan contoh-contoh game engine yg berbayar ataupun yg free alias gratis:
Engine Berbayar untuk membuat game 3D:
1. 3D Game Maker
2. 3D Game Studio
3. DarkBASIC
4. TrueVision
5. FPS Creator
6. Blade 3D
7. Source
8. Esenthel for commercial
9. Torque 3D
10. Shiva 3D
11. CryEngine
Untuk membuat game 2D:
1. RPG MAKER VX
2. RPG MAKER XP
3. Game Maker Pro
Engine Gratis
Untuk membuat game 3D:
1. Panda 3D *)
2. OGRE *)
3. Esenthel for noncommercial
4. Unity Free Edition
5. G3D *)
6. Genesis3D *)
7. FPS Creator Free Edition
8. DarkBASIC Pro Free Edition
9. Cube 2 (Sauerbraten) *)
10. Unreal Development Kit
11. Platinum Arts Sandbox *)
12. CAST II *)
13. 3D RAD Pro
14. DX Studio
15. Blender *)
16. Angel ( ini enginenya
Nusantara Online) *) **)
17. Irrlicht *)
18. id Tech (a.k.a Doom Engine, yang dipakai membuat Doom 2) *)
19. Quake Engine (yang dipakai menggarap Quake dan HalfLife)*)
Untuk membuat game 2D:
1. RPG MAKER 2000
2. RPG MAKER 2003
3. 001 Action/RPG Maker
4. Game maker
5. 2D Fighter Maker
6. M.U.G.E.N.
7. Adventure Maker
8. Adventure Game Studio
9. Stratagus *)
10. Battle for Westnoth *)
11. RPG Studio *) **)
12. Scirra Construct*)
Catatan : *) berarti open source sedangkan **) berarti BUATAN INDONESIA.
Source : ebook (Penulis: Ade Malsasa Akbar http://ademalsasa.co.cc)
3 tipe game engine yaitu:
1. roll your own game engine
tipe game engine seperti ini biasanya menggunakan API seperti XNA, DirectX atau openGL untuk menciptakan game engine. tipe game engine banyak diminati oleh para developer game karena tidak bersifat komersil. tetapi tipe game engine ini dapat menjadi sebuah bomerang bagi developernya karena untuk menyempurnakan game enginenya membutuhkan waktu yang sangat lama.
2. mostly ready game engines
engine dengan tipe kedua sudah menyediakan semua yang dibutuhkan oleh programer game. contohnya GUI, physics, libraries model,texture dll. tetapi salah satu kelemahan yang dimiliki adalah mempunyai beberapa batasan contoh tipe game engine seperti ini Unreal engine, sourc engine, dan id tech engine
3. point and click engines
engine merupakan engine yang sangat dibatasi tetapi sangat user friendly. pengguna dapat menciptakan sebuah game engine dengan memanfaatkan coding yang ada. kelemahannya adalah terbatasnya dari interaksi yang dilakukan dan game engine ini dapat mengefisiensikan waktu.
Berikut merupakan contoh-contoh game engine yg berbayar ataupun yg free alias gratis:
Engine Berbayar untuk membuat game 3D:
1. 3D Game Maker
2. 3D Game Studio
3. DarkBASIC
4. TrueVision
5. FPS Creator
6. Blade 3D
7. Source
8. Esenthel for commercial
9. Torque 3D
10. Shiva 3D
11. CryEngine
Untuk membuat game 2D:
1. RPG MAKER VX
2. RPG MAKER XP
3. Game Maker Pro
Engine Gratis
Untuk membuat game 3D:
1. Panda 3D *)
2. OGRE *)
3. Esenthel for noncommercial
4. Unity Free Edition
5. G3D *)
6. Genesis3D *)
7. FPS Creator Free Edition
8. DarkBASIC Pro Free Edition
9. Cube 2 (Sauerbraten) *)
10. Unreal Development Kit
11. Platinum Arts Sandbox *)
12. CAST II *)
13. 3D RAD Pro
14. DX Studio
15. Blender *)
16. Angel ( ini enginenya
Nusantara Online) *) **)
17. Irrlicht *)
18. id Tech (a.k.a Doom Engine, yang dipakai membuat Doom 2) *)
19. Quake Engine (yang dipakai menggarap Quake dan HalfLife)*)
Untuk membuat game 2D:
1. RPG MAKER 2000
2. RPG MAKER 2003
3. 001 Action/RPG Maker
4. Game maker
5. 2D Fighter Maker
6. M.U.G.E.N.
7. Adventure Maker
8. Adventure Game Studio
9. Stratagus *)
10. Battle for Westnoth *)
11. RPG Studio *) **)
12. Scirra Construct*)
Catatan : *) berarti open source sedangkan **) berarti BUATAN INDONESIA.
Source : ebook (Penulis: Ade Malsasa Akbar http://ademalsasa.co.cc)
18/03/12
asal usul game
kata "Game" berasal dari bahasa inggris dan jika diartikan kedalam bahasa indonesia berarti "permainan". Game sangat perkembang dalam kehidupan. Di masa sekarang ini game tidak hanya dibutuhkan untuk kalangan anak-anak melainkan juga dikalangan remaja bahkan dewasa. Game biasanya dimainkan sekedar untuk melepas penat ataupun menjadi hobby.
Banyak sekali pengertian-pengertian tentang game menurut pandangan masing-masing orang, seperti dibawah ini:
*JOHN C BECK & MITCHELL WADE
Game adalah penarik perhatian yang telah terbukti.
Game adalah lingkungan pelatihan yang baik bagi dunia nyata dalam organisasi yang menuntut pemecahan masalah secara kolaborasi.
*IVAN C. SIBERO
Game merupakan aplikasi yang paling banyak digunakan dan dinikmati para pengguna media elektronik saat ini.
*FAUZI A
Game merupakan suatu bentuk hiburan yang seringkali dijadikan sebagai penyegar pikiran dari rasa penat yang disebabkan oleh aktivitas dan rutinitas kita
*SAMUEL HENRY
Game merupakan bagian tak terpisahkan dari keseharian anak, sedangkan sebagian orang tua menuding game sebagai penyebab nilai anak turun, anak tak mampu bersosialisasi, dan tindakan kekerasan yang dilakukan anak
*ANDIK SUSILO
Game adalah salah satu candu yang susah dihilangkan, bahkan ada yang mengatakan bahwa candu game online setara dengan narkoba
*JOHN NAISBITT
Game merupakan sistem partisipatoris dinamis karena game memiliki tingkat penceritaan yang tidak dimiliki film
*ALBERT EINSTEIN
Game adalah bentuk investigasi paling tinggi
*WIJAYA ARIYANA & DENI ARIFIANTO
Game merupakan salah satu kebutuhan yang menjadi masalah besar bagi pengguna komputer, karena untuk dapat memainkan game dengan nyaman, semua komponen komputernya harus memiliki kualitas yang baik, terutama VGA card-nya.
Game diciptakan mulai dari tahun 1952, berikut adalah sejarah game :
Game generasi pertama – Tahun 1952, di Universitas Cambridge, A.S Douglas menulis sebuah tesis untuk gelar sebuah PhD-nya mengenai interaksi antara komputer dan manusia. Dalam tesisnya itu ia menciptakan game komputer dari sebuah permainan tradisional bernama Tic-Tac-Toe. Game ini diprogram dengan memakai komputer EDVAC vacuum tube yang memiliki layer berupa cathode ray tube (CRT).
Kemudian di tahun 1958. William Haginbotham menciptakan video game pertamanya. Berbeda dengan Douglas, video game pertamanya yang berjudul Tennis for Two diciptakan dan dimainkan di osciloscope.
Tapi game komputer pertama yang benar-benar diciptakan menggunakan komputer betulan adalah Spacewar. Saat itu di tahun 60-an, komputer adalah barang sangat mewah. Dan biasanya komputer dipakai untuk kepentingan riset dalam dunia militer. Tapi seseorang bernama Steve Russel memiliki ketertarikan akan hal lain. Dia dan teman-temannya sangat nge-fan dengan kisah fiksi ilmiah berjudul Skylark karangan Edward E Smith. Dari situ mereka membuat sebuah game bernama Spacewar. Kebetulan juga, Steve Russel bekerja menggunakan sebuah komputer mainframe bernama MIT PDP-1 yang biasa dipakai untuk perhitungan statistik. Dengan komputer itulah dia membuat Spacewar di tahun 1961.
Game generasi kedua – Di tahun 1971, Nolan Bushnell bersama dengan Ted Dabney menciptakan game ber-genre arcade yang pertama. Dinamai Komputer Space, game itu didasari oleh Spacewar. Tahun 1972, Nolan dan Ted memulai Atari komputer. Kemudian dia mengembangkan game berjudul Pong yaitu game pertama yang tersedia untuk publik. Karena game-game sebelumnya hanya ada di dalam komputer mainframe untuk kesenangan sendiri saja. Asal usul Pong dimulai saat Nolan ingin membuat game sederhana dan mudah dimengerti. Dengan memory dan micro processor kelas rendah, kemampuan proses yang terbatas dan grafis yang sederhana, akhirnya dia membuat versi elektronik dari permainan ping pong yang kemudian menjadi Pong.
Sedikit selingan, Pong kemudian berevolusi menjadi sebuah game bernama Breakout. Game itu diciptakan oleh Steve Jobs untuk Atari. Dari situ, Steve Jobs dan temannya Steve Wozniak mulai berpikir untuk menciptakan sebuah PC. Kemudian mereka meminjam semua peralatan yang dipakai dalam proyek Breakout dan membuat sebuah prototype bernama Apple I. dan itu adalah cikal bakal dari komputer Apple Macintosh yang ada sekarang.
Pada tahun 1980, Atari mengeluarkan game berjudul Asteroid dan Lunar Lander. Kedua game tersebut adalah game pertama yang didaftarkan pada kantor hak cipta untuk mendapatkan paten. Asteroid merupakan game yang penuh inovasi baru dalam grafisnya. Daripada menggunakan metode raster, game ini merupakan grafis vector line seperti yang ada pada osciloscope.
Pengenalan Atari Video komputer System (Atari 2600) dengan CPU biasa dan slot untuk kasetnya, menjadi suatu era baru dalam dunia game. Di tahun 1980 itu juga menunjukkan penjualan yang meningkat dari PC yang biasa dipakai untuk game. Dan kini komputer bersaing dengan mesin konsol seperti PS atau Xbox. Dan komputer tidak hanya sebagai mesin untuk kepentingan bisnis semata, tapi juga untuk hiburan seperti game.
sumber : http://carapedia.com/pengertian_definisi_game_info2144.html dan http://inron01.blogspot.com/2008/11/sejarah-game.html
11/01/12
Membuat Bola dengan Blender
BLENDER
Blender adalah perangkat lunak untuk grafis 3 dimensi yang gratis dan populer di kalangan desainer.
Blender dapat digunakan untuk membuat animasi 3 dimensi. Perangkat lunak ini juga memiliki fitur untuk membuat permainan. Blender tersedia untuk berbagai sistem operasi, seperti:
• Microsoft Windows
• Mac OS X
• Linux
• IRIX
• Solaris
• NetBSD
• FreeBSD
• OpenBSD.
Perangkat lunak ini berlisensi GPL dan kemudian kode sumbernya tersedia dan dapat diambil siapa saja.
Blender merupakan software pengolah 3 dimensi (3D) untuk membuat animasi 3D , yang bisa dijalankan di windows . macintosh dan linux . blender juga sama seperti software 3D pada umumnya seperti 3DS Max Maya dan Lightwave, tetapi ia juga memiliki perbedaan yang cukup mendasar seperti : project kerja di blender bisa dikerjakan dihampir semua software 3D komersial lainnya , tampilannya yang bisa diatur sesuka hati , mempunyai simulasi physics yang bagus dan menggunakan UV yang lebih mudah .
Satu lagi kelebihan Blender yang paling utama dan tidak terdapat pada software 3D lainnya adalah Blender dapat digunakan untuk membuat game . tanpa perlu bantuan dari software creator game , karena Blender mempunyai engine (mesin) untuk menciptakan game .
Program Blender ini merupakan program Open Source jadi program ini bisa di download secara gratis.
SEJARAH BLENDER
Pada tahun 1988 Ton Roosendaal mendanai perusahaan yang bergerak dibidang animasi yang dinamakan NeoGeo. NeoGeo berkembang dengan pesat sehingga menjadi perusahaan animasi terbesar di Belanda dan salah satu perusahaan animasi terdepan di Eropa. Ton Roosendaal selain bertanggung jawab sebagai Art director ia juga bertanggung jawab atas perkembangan software internal.
Pada tahun 1995 muncullah sebuah software yang pada akhirnya dinamakan Blender. Setelah diamati ternyata Blender memiliki potensi untuk digunakan oleh artis-artis diluar NeoGeo. Lalu pada tahun 1988 Ton mendirikan perusahaan yang bernama Not a Number (NaN) untuk mengembangkan dan memasarkan Blender lebih jauh. Cita-cita NaN adalah untuk menciptakan sebuah software animasi 3D yang padat, cross platform yang gratis dan dapat digunakan oleh masyarakat komputer yang umum.
Sayangnya ambisi nan tidak sesuai dengan kenyataan pasar saat itu. Tahun 2001 NaN dibentuk ulang menjadi perusahaan yang lebih kecil. NaN lalu meluncurkan software komersial pertamanya, Blender Publisher. Sasaran pasar software ini adalah untuk web 3D interaktif. Angka penjualan yang rendah dan iklim ekonomi yang tidak menguntungkan saat itu mengakibatkan NaN ditutup. Penutupan ini termasuk penghentian terhadap pengembangan Blender.
Karena tidak ingin Blender hilang ditelan waktu begitu saja, Ton Roosendaal mendirikan organisasi non profit yang bernama Blender Foundation. Tujuan utama Blender Foundation adalah terus mempromosikan dan mengemb
angkan Blender sebagai proyek open source. Pada tahun 2002 Blender dirilis ulang dibawah syarat-syarat GNU General Public Lincense (GPL). Pengembangan Blender terus berlanjut hingga saat ini.
Kendati saat ini blender bisa diperoleh secara gratis dan kemampuannya masih terbatas, namun dilihat dari sejarah perkembangannya pada kutipan diatas Blender memiliki potensi yang menjanjikan untuk digunakan pada projek-projek yang berskala besar karena dulunya memang digunakan sebagai software animasi internal oleh perusahaan yang mengembangkannya.
TAMPILAN AWAL BLENDER
3D adalah dimensi yang memiliki ruang. Jika kita merujuk kepada “Object 3D”, artinya object tersebut memiliki ruang atau volume. Object 3D juga memiliki lokasi pada koordinat X, Y dan Z. jika pada bidang 2 dimensi kita hanya dapat menggerakkan object tersebut ke samping kanan dan kiri (X), atas dan bawah (Y), dalam ruang 3D selain dapat digerakkan kesamping kanan dan kiri object juga dapat digerakkan ke depan dan ke belakang (Z).
BERIKUT ADALAH TAMPILAN AWAL JENDELA UTAMA BLENDER :
Gambar1. Tampilan Awal
SEKARANG SAYA AKAN MENCOBA MEMBUAT BOLA SEPAK 3D MENGGUNAKAN BLENDER
Langkah pertama yang harus dikerjakan adalah dengan cara hapus terlebih dahulu objek awal dengan cara tekan tombol X kemudian klik delete. Terlihat pada gambar2.
Gambar2. Proses hapus objek
Langkah kedua yaitu masukan objek baru dengan cara tekan SHIFT +A pada keyboard, pilih objek yang sesuai dengan bentuk yang akan dibuat, pada laporan kali ini saya akan memakai object icosphere seperti gambar dibawah ini.
Langkah Ketiga ganti subdivisions pada kolom dibagian kiri menjadi 3, untuk membuat bagian segitiga menjadi lebih kecil seperti gambar dibawah ini:
Langkah keempat adalah mengubah struktur object dengan cara klik objek lalu tekan tombol tab. Maka hasilnya akan seperti gambar dibawah ini:
Langkah Kelima adalah menampilakan titik-titik untuk setiap bidang setiap bidang segitiga dengan cara mengklik icon kecil yang berada dibagian bawah layar, berikut tampilannya
Langkah Keenam yaitu menghilangkan efek garis warna orange dengan cara menekan tombol A pada keyboard komputer anda. Dan berikut adalah tampilan nya
Dan berikut adalah tampilan bola yang sudah diberi bagian pentagonal diseluruh sisinya.
Langkah Ketujuh yaitu memberi fill warna, kita harus membagi menjadi 3 bagian warna untuk corak, yaitu : warna dasar, warna pentagonal dan warna garis yang mengelilingi pentagonal. Klik icon materian di pojok kanan atas , atur dimensinya terlebih dahulu, seperti gambar dibawah ini:
Kemudian Add new material untuk mewarnai warna dasar objek, langkah-langkah nya akan digambarkan dalam gambar dibawah ini:
Kemudian set diffuse menjadi orange nayar dan atur skalanya seperti gambar berikut ini:
Kemudian beri effect spectular dengan cara seperti gambar berikut :
Langkah Kedelapan adalah memberi warna fill, yaitu tambah layer dengan cara klik icon + dan cara selanjutnya sama dengan cara mewarnai warna dasar
Langkah kesembilan adalah membuat garis tepi yang mengelilingi bentuk pentagonal dengan cara yang sama seperti langakah membuat bagian pentagonal tekan tombol SHIFT + RIGHT MOUSE bentuk seperti gambar berikut:
DAN BERIKUT ADALAH HASIL RENDERING:
Blender adalah perangkat lunak untuk grafis 3 dimensi yang gratis dan populer di kalangan desainer.
Blender dapat digunakan untuk membuat animasi 3 dimensi. Perangkat lunak ini juga memiliki fitur untuk membuat permainan. Blender tersedia untuk berbagai sistem operasi, seperti:
• Microsoft Windows
• Mac OS X
• Linux
• IRIX
• Solaris
• NetBSD
• FreeBSD
• OpenBSD.
Perangkat lunak ini berlisensi GPL dan kemudian kode sumbernya tersedia dan dapat diambil siapa saja.
Blender merupakan software pengolah 3 dimensi (3D) untuk membuat animasi 3D , yang bisa dijalankan di windows . macintosh dan linux . blender juga sama seperti software 3D pada umumnya seperti 3DS Max Maya dan Lightwave, tetapi ia juga memiliki perbedaan yang cukup mendasar seperti : project kerja di blender bisa dikerjakan dihampir semua software 3D komersial lainnya , tampilannya yang bisa diatur sesuka hati , mempunyai simulasi physics yang bagus dan menggunakan UV yang lebih mudah .
Satu lagi kelebihan Blender yang paling utama dan tidak terdapat pada software 3D lainnya adalah Blender dapat digunakan untuk membuat game . tanpa perlu bantuan dari software creator game , karena Blender mempunyai engine (mesin) untuk menciptakan game .
Program Blender ini merupakan program Open Source jadi program ini bisa di download secara gratis.
SEJARAH BLENDER
Pada tahun 1988 Ton Roosendaal mendanai perusahaan yang bergerak dibidang animasi yang dinamakan NeoGeo. NeoGeo berkembang dengan pesat sehingga menjadi perusahaan animasi terbesar di Belanda dan salah satu perusahaan animasi terdepan di Eropa. Ton Roosendaal selain bertanggung jawab sebagai Art director ia juga bertanggung jawab atas perkembangan software internal.
Pada tahun 1995 muncullah sebuah software yang pada akhirnya dinamakan Blender. Setelah diamati ternyata Blender memiliki potensi untuk digunakan oleh artis-artis diluar NeoGeo. Lalu pada tahun 1988 Ton mendirikan perusahaan yang bernama Not a Number (NaN) untuk mengembangkan dan memasarkan Blender lebih jauh. Cita-cita NaN adalah untuk menciptakan sebuah software animasi 3D yang padat, cross platform yang gratis dan dapat digunakan oleh masyarakat komputer yang umum.
Sayangnya ambisi nan tidak sesuai dengan kenyataan pasar saat itu. Tahun 2001 NaN dibentuk ulang menjadi perusahaan yang lebih kecil. NaN lalu meluncurkan software komersial pertamanya, Blender Publisher. Sasaran pasar software ini adalah untuk web 3D interaktif. Angka penjualan yang rendah dan iklim ekonomi yang tidak menguntungkan saat itu mengakibatkan NaN ditutup. Penutupan ini termasuk penghentian terhadap pengembangan Blender.
Karena tidak ingin Blender hilang ditelan waktu begitu saja, Ton Roosendaal mendirikan organisasi non profit yang bernama Blender Foundation. Tujuan utama Blender Foundation adalah terus mempromosikan dan mengemb
angkan Blender sebagai proyek open source. Pada tahun 2002 Blender dirilis ulang dibawah syarat-syarat GNU General Public Lincense (GPL). Pengembangan Blender terus berlanjut hingga saat ini.
Kendati saat ini blender bisa diperoleh secara gratis dan kemampuannya masih terbatas, namun dilihat dari sejarah perkembangannya pada kutipan diatas Blender memiliki potensi yang menjanjikan untuk digunakan pada projek-projek yang berskala besar karena dulunya memang digunakan sebagai software animasi internal oleh perusahaan yang mengembangkannya.
TAMPILAN AWAL BLENDER
3D adalah dimensi yang memiliki ruang. Jika kita merujuk kepada “Object 3D”, artinya object tersebut memiliki ruang atau volume. Object 3D juga memiliki lokasi pada koordinat X, Y dan Z. jika pada bidang 2 dimensi kita hanya dapat menggerakkan object tersebut ke samping kanan dan kiri (X), atas dan bawah (Y), dalam ruang 3D selain dapat digerakkan kesamping kanan dan kiri object juga dapat digerakkan ke depan dan ke belakang (Z).
BERIKUT ADALAH TAMPILAN AWAL JENDELA UTAMA BLENDER :
Gambar1. Tampilan Awal
SEKARANG SAYA AKAN MENCOBA MEMBUAT BOLA SEPAK 3D MENGGUNAKAN BLENDER
Langkah pertama yang harus dikerjakan adalah dengan cara hapus terlebih dahulu objek awal dengan cara tekan tombol X kemudian klik delete. Terlihat pada gambar2.
Gambar2. Proses hapus objek
Langkah kedua yaitu masukan objek baru dengan cara tekan SHIFT +A pada keyboard, pilih objek yang sesuai dengan bentuk yang akan dibuat, pada laporan kali ini saya akan memakai object icosphere seperti gambar dibawah ini.
Langkah Ketiga ganti subdivisions pada kolom dibagian kiri menjadi 3, untuk membuat bagian segitiga menjadi lebih kecil seperti gambar dibawah ini:
Langkah keempat adalah mengubah struktur object dengan cara klik objek lalu tekan tombol tab. Maka hasilnya akan seperti gambar dibawah ini:
Langkah Kelima adalah menampilakan titik-titik untuk setiap bidang setiap bidang segitiga dengan cara mengklik icon kecil yang berada dibagian bawah layar, berikut tampilannya
Langkah Keenam yaitu menghilangkan efek garis warna orange dengan cara menekan tombol A pada keyboard komputer anda. Dan berikut adalah tampilan nya
Dan berikut adalah tampilan bola yang sudah diberi bagian pentagonal diseluruh sisinya.
Langkah Ketujuh yaitu memberi fill warna, kita harus membagi menjadi 3 bagian warna untuk corak, yaitu : warna dasar, warna pentagonal dan warna garis yang mengelilingi pentagonal. Klik icon materian di pojok kanan atas , atur dimensinya terlebih dahulu, seperti gambar dibawah ini:
Kemudian Add new material untuk mewarnai warna dasar objek, langkah-langkah nya akan digambarkan dalam gambar dibawah ini:
Kemudian set diffuse menjadi orange nayar dan atur skalanya seperti gambar berikut ini:
Kemudian beri effect spectular dengan cara seperti gambar berikut :
Langkah Kedelapan adalah memberi warna fill, yaitu tambah layer dengan cara klik icon + dan cara selanjutnya sama dengan cara mewarnai warna dasar
Langkah kesembilan adalah membuat garis tepi yang mengelilingi bentuk pentagonal dengan cara yang sama seperti langakah membuat bagian pentagonal tekan tombol SHIFT + RIGHT MOUSE bentuk seperti gambar berikut:
DAN BERIKUT ADALAH HASIL RENDERING:
Langganan:
Postingan (Atom)