
Dear All, inilah proyek game playable pertama saya, setelah musibah traumatis yang terjadi beberapa tahun lalu yang menyebabkan HDD saya mokad, dan seluruh source code, baik belajar maupun yang serius hilang entah kemana. Kejadian itu cukup membuat saya trauma sehingga malas sekali untuk belajar dan membuat code game maupun software yang playable, takut hilang lagi (ah les syaan). Tapi setelah saya menemukan jalan keluar, akhirnya saya pengen bikin satu buah game, biar cupu endak papa, yang penting bisa dimainin.
Jadi ceritanya ini game yang very-very-amat-sangat-sederhana. Yaitu game nyamain angka, dan dicoding menggunakan SDL (Simple DirectMedia Layer). Spesifikasi lengkapnya adalah sebagai berikut:
- Project Name : BrainManiac
- Genre : Puzzle Cupu
- Library Used : SDL, SDL_Image, libPNG, libz
- Platform : Windows 2000 ke atas, baik 32 bit maupun 64 bit (native), Linux 32 bit dan 64 bit (native mode), Mac OSX
- Lama pengerjaan/coding : total coding kurang lebih 2 jam, sisanya adalah ngurusin aset dan upload ke server
- Dec 1, 2008 22:00-22.30
- Dec 2, 2008 20:00-21.30
- Aset : ngerampok dari gambar2 yang udah ada
- License : Public Domain
- Software Used : Microsoft Visual Studio 2008, autoconf, automake, mercurial, StarUML
- Hardware accelerated : Yes
- Native 64-bit compatible : Yes
Project ini dihost oleh bitbucket, https://www.bitbucket.org/lynxluna/braingame/wiki/Home
Baik, walopun game ini very-very sederhana, tapi dia sudah cross-platform, bisa dijalankan di Windows maupun Linux dan 64-bit native mode compatible. Selain itu, game ini juga sudah hardware accelerated (ga penting banget :P).
Pada dasarnya tidak ada yang bisa dibanggakan dari game ini, art ngerampok, konsep game juga endak ada, dan gameplaynya juga gitu-gitu aja karena pada dasarnya cuma pengen ngelatih kelemasan jari-jari dalam coding setelah beberapa bulan belakangan terlalu lama coding Microsoft Office Word yang kemudian berganti menjadi IBM Lotus Symphony beberapa minggu lalu. Dalam waktu 2 jam (total), jadi juga ini game cupu. Saia sudah memakai prinsip OOP di sini, walo sangat sedikit (hanya agregasi, tidak ada state dst). Pada saat pengerjaan game ini beberapa menit saya kerjakan di tempat teman saya, dan saya teruskan di rumah (bisa dilihat di changelog bitbucket). Ada beberapa hal yang akan saya highlight.
Distributed Revision Control Sangat Membantu dalam pekerjaan
Sejak dulu Revision control diperlukan dalam pengerjaan banyak proyek, tapi mengapa harus ditributed? Jawabannya karena Indonesia miskin bandwidth. Pada dasarnya distributed version control semacam mercurial ini amat sangat besar peranannya dalam pengerjaan proyek ini. Jika dulu ketika saya masih menggunakan SVN, saya harus meng-commit pekerjaan saya di server (terpusat), maka dengan distributed ini, saya bisa melakukan atomic commit di branch saya sendiri, kemudian saya push changes ke server (dalm hal ini bitbucket) ketika saya sempat saja, jadi tidak selalu harus commit ke server. Cukup enak, saya commit di tempat saya sendiri, kemudian jika ada apa-apa saya bisa revert ke file yang lalu karena seluruh history file saya tersimpan dalam repository saya sendiri, tidak harus terkoneksi ke server untuk melakukan commit dan revert.
Cara seperti ini cukup mengatasi ketakutan saya jika ada kerusakan hard disk seperti yang pernah terjadi pada saya dulu.
2 jam coding pun bisa membikin satu game cupu.
Saya jadi yakin, kalo hanya 2 jam saja (tentu tidak terus-menerus) saya bisa coding game cupu ini, artinya kalo dalam waktu lebih mungkin saya bisa meremove kata cupu di belakangnya. Sedikit suntikan semangat di jiwa coder yang mulai rapuh ini.
Happy Coding!

0 komentar:
Poskan Komentar