Project: Harvest Moon–


Ini adalah tugas OOP pertama saya. Dan tugas ini kemudian akan dilanjutkan di tugas kedua. Seperti judulnya, tugas ini memang membuat game Harvest Moon. Bahasa yang digunakan adalah C++, dan diimplementasikan ke command prompt. Lucu ya, game dibuat di command prompt? Haha. Tapi begitulah adanya.

Tugas ini sudah lama sih diberikan, tapi baru ditulis di blog setelah kesibukan yang terjadi selama beberapa waktu. Haha. Tugas ini saya kerjakan bersama anggota kelompok saya. Septu Jamasoka, Novan Parmonangan S, Gurun Nevada Daran, Prama Pradnyana, dan Nugraha.

Apa aja yang bisa dilakukan game ini? Pada game ini  terdapat 3 area, rumah, toko, dan lahan. Di lahan ini tentunya ada lahan yang bisa ditanami tanaman, dan tanaman tersebut bisa disiram, dan kemudian jika sudah saatnya panen, bisa dipanen, dan kemudian ditebas. Persis seperti game Harvest Moon biasa.

Tanaman yang sudah dipanen akan tersimpan di inventory sebagai buah, dan kemudian bisa dijual. Selain itu buah juga bisa dimakan dan memberi efek-efek yang bermacam-macam. Tanaman juga hanya bisa ditanam pada musim tertentu, dan terkadang cuaca bisa hujan, badai atau normal (cerah). Di lahan juga terdapat 3 kurcaci yang tiap kurcacinya memiliki job yang berbeda, menyiram, menebas, dan memanen.

Game ini tentunya juga bisa disave dan diload untuk dimainkan lagi. Setiap perintah diberikan melalui ketikan, dan kemudian perintah tersebut diakhiri dengan karakter pagar.

Lucu ya gamenya? Berikut screenshotnya:

startscreen

Gambar Mula

home

Di rumah, saat ingin teleport ke lahan

Kurcaci lagi akan menyiram. Warna kuning dilahan adalah bibit yang udah disiram.

Tanaman lobak siap panen dan kentang remaja

Segini aja deh screenshotnya. Sebenarnya ada 12 tanaman yang bisa ditanam. Tapi karena capek nanemnya, dan nungguin musimnya, dan nge-printscreen dan nge-crop gambarnya ~_~ haha.

Iklan

Project: Harvest Moon++


Disuruh untuk mengembangkan game harvest moon sebagai tubes 2 OOP. Sama seperti game sebelumnya, namun ditambah fitur-fitur yang diinginkan, dan diimplementasi dengan bahasa Java, dan tentunya sudah memakai GUI, tidak command prompt lagi:p

Kelompok kami memutuskan untuk menambah battle dan storyline dari game ini. Setiap tanaman memiliki dewanya masing-masing. Jadi ada dewa kentang, dewa ubi, dewa lobak, dan lain-lain. Tanaman yang bisa ditanam hanyalah tanaman yang dewanya sudah berteman dengan pemain. Pada awal permainan, kentang dan timun telah menjadi teman sehingga bisa ditanam.

Cara berteman dengan dewa ada bermacam-macam, sesuai dengan quest. Ada side quest dan ada main quest. Rencananya memang benar-benar ingin seperti game RPG. Dan ada battlenya. Battlenya ini seperti final fantasy tactics. Tapi instead of only one character can move at one time, all of character can move synchronously.

Masih banyak sih kekurangan di game ini. Terutama bugnya. Hahaha. Oia, kelompok tugas kali ini masih sama dengan sebelumnya, yaitu sama Septu Jamasoka, Novan Parmonangan S, Gurun Nevada, Prama Pradnyana, dan Nugraha.

Merancang Itu Susah


Ingat kalau tubes OOP2 saya udah keluar (eh, udah pernah bilang belum ya)? Tugas OOP1 saya disuruh membuat game Harvest Moon mini. Di command prompt. Dan sekarang tugasnya disuruh untuk mengembangkan game tersebut menjadi punya objektif yang jelas.

Minggu pertama dari tugas ini deadlinenya adalah mengumpulkan proposal pengembangan game. Dan itu sudah dilewati hari senin kemaren. Berhubung anggota kelompok saya banyak yang kreatif, maka proposal yang kami ajukan merupakan game Harvest Moon dengan tanaman seperti pokemon yang bisa bertarung layaknya final fantasy tactics. Keren lho.

Semua yang keren itu tentunya tidak mudah. Haha. Tapi karena semuanya tampak tidak surut semangatnya untuk membuat game yang katanya asisten itu kompleks (saya juga dalam hati berpikir seperti itu), maka saya sebagai PM (project manager) tertantang untuk menjawab tantangan yang diberikan anggota sekelompok saya.

Tahukah kalian, tahapan yang paling sulit dalam membuat perangkat lunak itu bukanlah bagian ngodingnya, atau membuat kodenya, tapi merancang bagaimana desain perangkat lunak tersebut. Dan game ini juga termasuk perangkat lunak. Jujur saya sempat panik karena hingga kemaren masih belum menemukan titik terang bagaimana desain untuk game ini. Padahal udah mulai dari hari Sabtu, saat membuat proposal sambil memikirkan desainnya.

Senin dan Selasa saya sampai meninggalkan beberapa mata kuliah (maafkan saya pak, bu), untuk membuat rancangan desain tugas ini. Tapi bersyukur punya senior-senior yang hebat yang bisa ditanya-tanyain, (tag: @hallucinogen @kd_recursion @hover4phoenix @the_legacy) hari ini sudah terlihat titik terangnya. Ya, baru titik terang, suatu titik dimana bisa membagi tugas, dan menjelaskan bagaimana game ini bekerja, ke teman-teman sekelompok. Perjalanan masih jauh, kawan.

Deadline selanjutnya hari Senin (CMIIW) minggu depan, tinggal 5 hari lagi. Semoga saya dan teman-teman bisa mengejar deadline untuk membuat prototype dari game ini. Katanya asisten mungkin asal lulus compile, tapi asisten juga masih ragu saat itu, jadi entahlah, jika ternyata H-1 ada pemberitahuan harus sudah bisa nyangkul, nanam dan lain-lain..

Menulis ini memakan waktu 20 menit lho, tujuannya agar yang ngebaca mau mendoakan saya supaya berhasil… Haha. Mohon doanya ya… :p

CI: Online Library Project #4 – Screenshot


I know the looks really bad, but it works. :))

CI: Online Library Project #3 – Model


Selanjutnya mengenai model. Apakah model? Model itu kira-kira yang melakukan interaksi dengan database di level aplikasi. Jadi semua yang berhubungan database merupakan fungsi model. Karena ada 3 database maka terdapat 3 model juga. (Mungkin begitu, tapi entahlah, baru menyadari saat menulis ini)

Model-model tersebut adalah:

Baca lebih lanjut

CI: Online Library Project #2 – Database


2 days not blogging and I’ve finished it! But it lacks of almost everything. -.-

Jadi totalnya ada 4 controller, 3 model dan banyak view -.- Sebenarnya saya bingung bagaimana cara untuk menjelaskannya, jadi saya akan coba untuk menjelaskan fungsi permodel dan fungsi percontroller. Untuk #2 ini akan dikhususkan ke database, #3 model, dan #4 controllernya.

Baca lebih lanjut

CI: Online Library Project #1


Ingat tentang post sebelumnya mengenai kalau gw ada tubes dari bang Petra untuk memakai CI dan membuat aplikasi web tentang perpustakaan online? Mau ngasi progress reportnya nih. Petranya juga minta gw nulis di blog mengenai progressnya biar ga repot meriksanya ntar -.- Ya sudahlah sekalian saja.

Dipost sebelumnya gw udah bilang kalau gw make library Ion_auth untuk authorisasi login, jadi 2 hari terakhir ini gw mencoba menggunakan library ini di aplikasi ini. Jadi sekarang aplikasi ini udah bisa login, dan register sebagai user. Tapi belum punya fungsi lainnya T_T

Saat ini gw punya 2 controller, 5 view, dan 0 model. Model yang ada dari library Ion_auth jadi ga dihitung. Sebenarnya juga udah ada model books tapi belum dipake, jadi ga dihitung juga. Controllernya ada pustaka dan user. Controller pustaka punya fungsi index dan register. Controller user punya fungsi login, logout, dan register. Viewnya ada header, vlogged_in, vregister, vlogin, dan vpustaka.

Jadi saat dijalankan, CI akan mengarahkan ke pustaka/index. Disini dengan Ion_auth library dicek, apakah user udah logged_in apa belum. Jika belum, maka akan meload view(vlogin), dan jika sudah akan meload view(vlogged_in). Hasil load ini disimpan ke variable. Kemudian barulah nge-load view ke browser, dengan meload view(header) yang berisikan <head>, dan kemudian meload view(vpustaka) dengan variable yang tadi menyimpan load view login/logged_in. Bagian login/logged_in ini berada di sidebar kanan.

vlogin berisikan form dengan action ke user/login jika menekan button login, dan action ke pustaka/register jika menekan button sign_up. Jika login berhasil, maka akan diredirect kembali ke pustaka/index, dan karena user sudah logged_in maka yang diload bukan vlogin, tapi vlogged_in. Sedangkan jika action yang dilakukan adalah sign up, maka akan dilakukan fungsi di controller pustaka/register, yaitu menyiapkan untuk memanggil vregister sebagai body dari vpustaka. Dan kemudian meload view tersebut.

vregister merupakan view dengan form yang bisa diisi untuk meregistrasikan user. Saat form disubmit, maka akan dipanggil controller user/register, dan kemudian meredirect kembali ke pustaka/index jika user berhasil di create.

Demikian progress reportnya. Maaf bahasanya berantakan karena saya ngebuatnya juga masih berantakan -.- Kalau ada yang salah dari designnya mohon kritikannya ya 🙂