Minggu, 01 Desember 2013

FP Game Peribahasa

Yeah tengah malam diskusi ide buat Final Project Pengembangan Game. Kali ini FP Game harus merupakan game yang dapat berjalan di Web, seperti flash, unity, html5, javascript, php. Well kita bertiga gak pandai dalam hal ini. hahaha
Bingung sebenarnya mau buat apa jadinya kita googling2 dan berakhir pada suatu introduction.
Ya, introduction Getting Starting Making Games dari Jesse Freeman


Dalam blog tersebut tahapan pertama dalam membuat game adalah memilih framework. Mungkin bisa jadi rujukan juga buat temen-temen sesama perkuliahan. :D
Pak Jesse Freeman ini udah nge-highlight beberapa framework terkenal yang keren untuk membuat game pertamamu. Let's begin!
  • Construct2 
    • Construct 2 sangat mudah untuk membuat sebuah game. Drag and Drop dan sudah ada script yang tersedia tinggal pilih. Keren pokoknya. Selain itu bisa diekspor ke berbagai platform, Android, Windows Phone, Html5 dll.
    • Level : Beginner
  • Game Maker
    • Tools ini sama dengan Construct 2 namun menggunakan bahasa scripting sendiri yang disebut dengan GML (GameMaker Language)
    • Level : Beginner to Intermediate
  • Unity
    • Wah ini tools keren banget bagi yang mau ngembangin game 3D. Udah dukung ekspor ke WP lagi :D
    • Level : Intermediate to Advanced
  • HTML5
    • "Sometimes you want to control every aspect of your code". 
    • HTML5 solusinya!
    • Ada banyak framework keren, kebanyakan bayar sih kaya Impact tapi ada juga yang free semacam Phaser (recommended kata pemilik blog :D)
    • Level : Intermediate to Advanced
Nah, review blog tersebut berakhir sudah, akhirnya..Sekarang saatnya membahas game apa yang nanti kita buat dan menggunakan apa.
Sebenarnya kami sudah membuat game edukasi untuk UTS namun sayangnya tidak bisa dilanjutkan dikarenakan beda platform. Game kami dulu tidak bisa berjalan di web. 
Ide game kami untuk Final Project adalah game yang bertemakan Indonesia yaitu game mengenai peribahasa Indonesia. 

Peribahasa adalah ayat atau kelompok kata yang mempunyai susunan yang tetap dan mengandung pengertian tertentu, bidal, dan pepatah. Sebuah pepatah yang menjelaskan aturan dasar perilaku mungkin juga dikenal sebagai sebuah pepatah. Jika peribahasa dibedakan dengan ungkapan yang sangat baik, mungkin akan dikenal sebagai sebuah aforisme.

Namun coba tebak berapa orang yang tau akan peribahasa Indonesia dan tahu makna yang terkandung di dalamnya?
Kita akan membuat game seperti Icon Pop Quiz namun dengan beberapa gambar. Namun gambar-gambar tersebut nantinya akan membentuk sebuah peribahasa. Menarik bukan? 
Nantikan post kami selanjutnya :D



Sabtu, 30 November 2013

Cheat Code & Tutorial Game The Last Of Us

  • Infinite Shivs
Untuk menduplikasi bahan belati setiap saat, Kamu harus terlebih dahulu mendapatkan upgrade senjata jarak dekat pada awal Kota Bill (senjata terletak di atap bangunan kecil di dekat papan kayu sebelum Kamu memasuki kota). Senjata ini memungkinkan Kamu untuk Mengupgrade senjata jarak dekat. Untuk menduplikasi bahan belati, hanya melengkapi sebuah Upgrade senjata jarak dekat , dan swap dengan senjata jarak dekat lain yang Anda temukan dalam lingkungan (2x4, kapak, kelelawar, pipa timah, atau parang). Kemudian, swap dan reacquire upgrade senjata jarak dekat ke bahan belati diisi ulang dan masih memiliki upgrade senjata jarak dekat. Ini sangat membantu jika kamu kehabisan/kekurangan bahan dan perlu belati untuk pertempuran atau untuk membuka pintu shiv yang terkunci.
  • New Game + Mode
Berhasil menyelesaikan permainan untuk membuka New Game + mode, yang memungkinkan kamu untuk memulai Bermain baru dan mempertahankan semua statistik kamu, koleksi, upgrade senjata, dan tingkat Upgrade. Catatan: Kesulitan yang digunakan dalam Bermain asli kamu akan menentukan kesulitan yang tersedia di New Game Mode +. Misalnya, menyelesaikan permainan di kesulitan Hard akan membuka Easy, Normal, dan Hard kesulitan di New Game Mode +.
  • Lokasi Semua Koleksi
Cari lokasi yang ditunjukkan untuk menemukan semua koleksi 141 ( 85 artefak , 14 buku komik , 30 liontin kunang-kunang , dan 12 pedoman pelatihan ) . Mendapatkan semua koleksi untuk membuka lima trofi : Endure Dan Survive ( Perunggu ) , I Got This ( Perunggu ) , It Was All Just Lying There (Silver ) , Look For The Light (Silver ) , dan Scavenger ( Emas ) . Ada koleksi di semua bab kecuali prolog . Kamu dapat melacak kemajuan total bawah " Koleksi " bagian dari menu Bonus , atau dengan menekan Select saat bermain game . Setelah menyelesaikan pertandingan untuk pertama kalinya , kamu juga dapat melihat dalam bab memilih berapa banyak koleksi dari setiap jenis yang telah kamu temukan per bab . kamu harus mencapai pos pemeriksaan berikutnya setelah menemukan koleksi atau kemajuan akan hilang , dan kamu akan harus mengumpulkan lagi . Semua kemajuan tertagih kamu membawa ke playthroughs lainnya . Kamu juga bisa mendapatkan koleksi yang hilang melalui bab pilih . Catatan: Beberapa koleksi secara otomatis akan disimpan dalam persediaan Kamu dan tidak bisa dilewatkan . Dengan demikian , mereka tidak termasuk dalam daftar karena mereka tidak memiliki lokasi tertentu .
  •  Trophies
Berhasil menyelesaikan tasks untuk mendapatkan trophy:
    It can't be for nothing (Platinum): Collect all other trophies.
    Look for the Light (Silver): Find all Firefly Pendants.
    Endure and Survive (Bronze): Collect all comics.
    It was all just lying there (Silver): Find all artifacts.
    I got this (Bronze): Find all training manuals.
    Scavenger (Gold): Found all collectibles.
    Let's gear up (Bronze): Craft every item.
    Master of Unlocking (Bronze): Unlock all shiv doors.
    Everything we've been through (Silver): Fully upgrade Joel with supplements.
    For emergencies only (Gold): Fully upgrade all weapons.
    I want to talk about it (Silver): Engage in all optional conversations.
    No Matter What - Easy (Bronze): Complete the game on Easy.
    No Matter What - Normal (Silver): Complete the game on Normal.
    No Matter What - Hard (Silver): Complete the game on Hard.
    No Matter What - Survivor (Gold): Complete the game on Survivor.
    The Last of Us - Easy + (Silver): Complete the game on Easy +.
    The Last of Us - Normal + (Silver): Complete the game on Normal +.
    The Last of Us - Hard + (Silver): Complete the game on Hard +.
    The Last of Us - Survivor + (Gold): Complete the game on Survivor +.
    Knowing the Basics (Bronze): Win a game of Supply Raid and Survivors in find match.
    Populace (Bronze): Build your clan to 40 people in Factions.
    Firefly (Gold): Complete the Firefly Journey.
    Hunter (Gold): Complete the Hunter Journey.
secret trophy:
    That's all I got (Gold): Survive all of Ellie's jokes
templates-office.com Cheat

Game The Last Of Us

The Last of Us adalah Kelangsungan Hidup orang ketiga - Aksi Permainan yang memanfaatkan pilihan dalam aksi gameplay untuk mengembangkan alur cerita game, serta hubungan antara dua karakter utama , Joel dan Ellie . Permainan ini memiliki kombinasi pertempuran , eksplorasi , siluman dan mekanik platforming game. Meskipun Joel dan Ellie keduanya penduduk dunia pasca - apokaliptik , mereka telah memiliki pengalaman yang berbeda yang mempengaruhi cara mereka melihat dunia di sekitar mereka , dan merasa tentang apa yang mereka lihat dan lakukan . Joel memiliki kehidupan sebelum pandemi , sementara dunia pandemi adalah semua yang Ellie yang pernah dikenal . Sebagai bagian dari pekerjaan Joel untuk menyelundupkan Ellie keluar dari zona karantina , pemain harus membuat pilihan dalam bagaimana mereka berurusan dengan musuh , yang meliputi , keliling geng pemulung manusia tidak berbeda sendiri , unsur-unsur militer dan sipil yang terinfeksi . Pemain juga memiliki kesempatan untuk bersama-sama berinteraksi dengan elemen-elemen dari dunia di sekitar mereka , yang membantu untuk membangun ikatan antara Joel dan Ellie . Sumber daya dalam permainan langka , memanfaatkan senjata tidak mungkin dan tidak bijaksana dalam konflik luar biasa , dan misi mengumpulkan sumber daya . Selain itu, sebagian warga lain dari dunia hancur yang dihadapi hanya mencoba untuk bertahan hidup - mengaburkan batas antara orang baik dan orang jahat . Akhirnya , permainan AI bereaksi berbeda tergantung pada spesifikasi tindakan pemain , membuat pilihan dalam gameplay pertimbangan utama .


PREVIEW GAME THE LAST OF US 

templates-office.com Playstation 3, Sony
Rabu, 27 November 2013

Progres 1 : FP Game "BROW : Calculate and Race"

Progres Pembuatan Final Project Game
Oleh : Erlangga 5109100169 dan Eva Yuiani 5109100194


1. Tanggal 27 November 2013

  1. Ide
  • Membuat game yang merupakan gabungan dari 2 minigame yang bernilai edukasi dan simulasi. 2 minigame yang diangkat itu adalah inspirasi karena 2 dari minigame tersebut yang paling diminati oleh penulis saat menemani di waktu senggang.
  • Edukasi : Membuat game seperti salah satu minigame dari POU namun yang berhubungan dengan matematika. POU kita ganti dengn nama BROW. Dan si BROW harus menangkap angka-angka atau balok-balok yang dijatuhkan dari atas. Namun tidak emua angka atau balok yang diambil, hanya yang sesuai dengan perintah saja yang diambil.
  • Simulasi : Membuat game mini racing yang merupakan ajang balapan antara Pemain [USER] lawan dengan komputer. Mobil lawan kecepatannya di random oleh komputer.

2. Aturan Main Global [GENRE]
  • Genre : Action Racing
  • Tema : Edukasi dan Simulasi
  • Target Pengguna : Anak-anak mulai umur 5 - 10 th. Tapi jika yang dewasa mau main silahkan :)
  • Aturan Main : 
  • Calculate Game : Pemain menang jika telah menyelesaikan semua level, yang mungkin terdiri dari 10 level. Setiap level memiliki tingkat kesulitan yang berbeda. Pemain diberikan nyawa sebanyak 3 nyawa. Jika melakukan kesalahan melebihi 3 kali dalam setiap level maka Game Over.
  • Racing Game : Balapan untuk mencapai laps terakhir. Akan terdiri dari 3 laps. Siapa yang lebih dulu mencapai laps maka akan menjadi pemenang.
3. Referensi

  •  Mini Game POU

  • Mini Game Racing


Progress by
Eva and Erlangga

templates-office.com 'FP 2013 E & E', 5109100169, 5109100194
Selasa, 19 November 2013

Grapple is nearly at beta!


The "Splash Screen" and all the level select screens are placed along the x axis next to each other and the camera snaps to each spot as you swipe or use the arrow buttons. The background is made the same way as the levels which saves space by not using any additional assets and it looks pretty sweet.


The level select screens, following design patterns for mobile level based games.



This is one of the first images listed on the Play page, it really shows the gameplay of grapple in one image.




But one image is too little so I put all these on the Play store page as well. The trail rendered behind the player makes it really clear how the player has been moving.


Recently did up a new menu to match the new cartoony style of the game and also saved some space using meshes with vertex colors to create this while the old one used textures. The carrot score bar has a pretty nice bounce animation as it fills which is coded in by scaling the carrots. I'll have to get a GIF of that.

Pretty soon Grapple will be entering Beta and I'll be looking for people with android phones to try out the beta release and new maps as they're made!

templates-office.com Grapple, Unity
Minggu, 03 November 2013

Unity Voxel Tutorial: Webplayer and Project



A bunch of people asked for a demo of the completed project so here's a webplayer with a first person controller, wasd and space to move and left and right click to destroy/place blocks: http://naglestad.net/alex/

And here is a unitypackage of my project after the last part if you'd like to play around but I strongly recommend that you do the tutorial first. You won't understand the code without having done the tutorials and you won't be able to make much without an understanding of the project: http://www.mediafire.com/?o9nagnm0aa1d6lc
templates-office.com Tutorial, Unity, Voxel Tut, Voxels
Jumat, 01 November 2013

Unity Voxel Tutorial Part 8: Loading Chunks


So here we are at the eighth and final part of the C# voxel tutorial. I hope everyone who has followed this tutorial has gotten what they want out of it. In this part we'll be making chunks generate around the player and despawn when they are outside of a certain range. This was the last part that I felt was necessary for this kind of game. The reason I think I'll be stopping here is that at this point and onward different types of voxel games will be using very different setups depending on what's necessary and I don't want to make a tutorial on how to make a minecraft clone. Lighting is one point that could be useful but personally I prefer deferred lighting so I haven't done the research to write a tutorial that I think would give the best technique. That said if you've come this far you're well on your way to making whatever voxel game you want and I'll add some links to great resources for further development.

On to loading chunks, we'll be replacing the code that instantiates chunks all at the start with something new both to reduce startup time and to reduce drawcalls. This will mean that we can have much larger levels but it won't reduce the ram cost very much because the data of the entire level is still loaded at all times so we still can't run massive levels. To do that you would have to consider writing the level data to disk and loading it per chunk.

Anyway, wall of text above so we'll get started. We'll start by making two new public functions in our world class:
public void GenColumn(int x, int z){

}

public void UnloadColumn(int x, int z){

}


We'll be moving chunk generation to GenColumn in columns at a time and Unload column will delete the game objects. Start with GenColumn which will use the previous chunk spawning code so copy this from the end of the start function and paste it into the GenColumn function.

for (int x=0; x<chunks.GetLength(0); x++) {
for (int y=0; y<chunks.GetLength(1); y++) {
for (int z=0; z<chunks.GetLength(2); z++) {

//Create a temporary Gameobject for the new chunk instead of using chunks[x,y,z]
GameObject newChunk = Instantiate (chunk, new Vector3 (x * chunkSize - 0.5f,
y * chunkSize + 0.5f, z * chunkSize - 0.5f), new Quaternion (0, 0, 0, 0)) as GameObject;

chunks [x, y, z] = newChunk.GetComponent (\"Chunk\") as Chunk;
chunks [x, y, z].worldGO = gameObject;
chunks [x, y, z].chunkSize = chunkSize;
chunks [x, y, z].chunkX = x * chunkSize;
chunks [x, y, z].chunkY = y * chunkSize;
chunks [x, y, z].chunkZ = z * chunkSize;

}
}
}

Now this is to generate the whole level so remove the x for loop and the z for loop and the corresponding closing brackets. Now it will spawn all the chunks at a given x and z.

For the UnloadChunk function copy the for loop from GenColumn but inside it we'll destroy the gameobject for every script in chunks with the specified x and z:
for (int y=0; y<chunks.GetLength(1); y++) {
Object.Destroy(chunks [x, y, z].gameObject);

}

This calls Object.Destroy on the gameobject of every chunk script we have in the array at x and z. Now we just have to call these functions. We'll do that in the modify terrain class so move over there and create a function called LoadChunks:
public void LoadChunks(Vector3 playerPos, float distToLoad, float distToUnload){
}

What this will do is generate chunks around a position, if it's within distToLoad it loads them and outside distToUnload it removes them. So for each chunk x,z get the distance to the player and then if it's closer than distToLoad and it hasn't been spawned yet spawn the column, otherwise if it's further than distToUnload and it is spawned unload the column:
public void LoadChunks(Vector3 playerPos, float distToLoad, float distToUnload){


for(int x=0;x<world.chunks.GetLength(0);x++){
for(int z=0;z<world.chunks.GetLength(2);z++){

float dist=Vector2.Distance(new Vector2(x*world.chunkSize,
z*world.chunkSize),new Vector2(playerPos.x,playerPos.z));

if(dist<distToLoad){
if(world.chunks[x,0,z]==null){
world.GenColumn(x,z);
}
} else if(dist>distToUnload){
if(world.chunks[x,0,z]!=null){

world.UnloadColumn(x,z);
}
}

}
}

}

When this runs it will make sure that all the chunks are in check. We'll call it in the update loop for ModifyTerrain, I've used 32 and 48 for the distances this way you'll see them load not to far away but not be able to fall out of the world. I also get the player position using the Player tag.
LoadChunks(GameObject.FindGameObjectWithTag("Player").transform.position,32,48);

This doesn't need to be run every frame, once a second should be more than enough especially if the distance is large enough. To make this work you'll have to tag something as the player, the camera will do if you change the tag from MainCamera to Player and you can move it around in the editor and see the chunks update around you or you can import the standard unity FPScontroller from Assets>Import Package>Character Controller and tweak the capsule collider radius to 0.4.

Now if you run the game you should see that chunks only load around the player and nowhere else meaning you can have a map size much larger and run it smoothly. Try 512x32x512 for example and see how that works. If you walk to the middle you'll see a large circle of chunks loaded around the player tagged object if you look in the editor view.

Thank you everyone who has followed through all this way I hope your satisfied. Please let me know what you think of this tutorial series as a whole and this part. As always any bugs you encounter I'll try to fix right away. I may be writing a beginner tutorial after this but I haven't decided yet, if you have any suggestions let me know.

Complete unity project file and web player demo

Here are some resources to help you further:

Let's make a Voxel Engine: Concepts behind a Voxel engine explained in detail by the developer of Vox.
LibNoise: Using noise functions to do amazing things
Save Mesh Created by Script in Editor PlayMode: How to save a mesh generated from code ingame
Pathfinding in unity for voxel structures: Again from UnityCoder.com pathfinding for voxel games
Unity forum's "After Playing MineCraft" thread: Unity thread where people have made MineCraft like games using Unity
Cubiquity: An excellent free voxel terrain asset for Unity
More Voxel Resources: Lastly, UnityCoder.com lists even more voxel resources
If you want to stay updated on my next tutorial follow me on twitter (@STV_Alex) or on google+ (+AlexandrosStavrinou). 
templates-office.com Tutorial, Unity, Voxel Tut, Voxels
Kamis, 24 Oktober 2013

I seem to have finally managed finite water (And infinite water)

It's a good thing voxel water looks so pretty with the amount of posts on this blog dedicated to it. Some of the first posts here are about my failed experiments with finite water including the spectacular infinite water bug that created a tidal wave of infinitely expanding water. Well, now that I've managed to create a stable water simulation I was also able to optimize enough to turn that old bug into a feature, infinite water is back:

An unrelenting wall of infinitely expanding water
The entire rendered area can flood without so much as a hiccup in the frame rate. Of course the main focus of this system is realistic water so that's possible too like I showed in the last post but I've fixed up the meshing to give the water sides. Also pictured above are hard shadows from a directional light (Unity Free).






Water is a really fun system to implement, it's one thing that really lets you use a voxel system to its full potential. The real joy with voxels for me at least is having complex systems that are visually represented but are completely dynamic and reactive and that a programmer can build from the ground up as simple rules and relationships between blocks.
While I won't go through my water approach step by step in a tutorial part I'll sit down and write up some pointers from my experience setting this up and researching it that might help anyone else trying to make their own system.
templates-office.com Voxels
Senin, 21 Oktober 2013

Unity Voxels: water experiments

I've tried water so many times when working with voxels and I've always had trouble making a semi realistic simulation that runs at an acceptable speed. I've been having a go at it now, creating finite water simulation and it's performing quite well.

Stable water in a 1 block deep puddle
Water running down the hillside
Still very much a prototype but water height is based on the amount in the block.
So this probably won't make it into the tutorial, it's a little complicated to explain and water I think is best implemented on a case by case basis but I really recommend trying it out, it's a lot of fun!

Meanwhile I've also been adding chunk loading and unloading around the player to let the game run larger maps without lag so that will probably be in the next part I release, then I'm thinking lighting or spending a little more time generating the terrain and additions like structures being generated.
templates-office.com Voxels
Jumat, 18 Oktober 2013

DMC(Devil May Cry)



Developers       : Ninja Theory, QLOC
Publishers        : Capcom
Producers         : Motohide Eshiro,dkk
Release Date    : January 25, 2013
Engine             : Unreal Engine 3
Genre              : Action-Adventure
Theme             : Horor,Thriller,Fantasy
ESRB                : MATURE
Platform           : PlayStation 3, Xbox 360, PC




DmC: Devil May Cry adalah game yang dikembangkan oleh Ninja Theory dan diterbitkan oleh Capcom untuk konsol Xbox 360, PlayStation 3, dan PC. Game ini merupakan seri ke-5 (atau sering disebut versi reboot) dari franchise game Devil May Cry.

Game ini mengisahkan tentang seorang pemuda bernama Dante yang lahir dari keturunan setan dipihak ayah,malaikat di pihak ibu dan mempunyai saudara kandung bernama Vergil. Dante dan Vergil adalah Nephilim yaitu peranakan setan malaikat yang memiliki percampuran dua kekuatan setan,malaikat. Mereka hidup di kota limbo yang dihuni oleh beberapa setan-setan yang menyamar menjadi manusia yang dikuasai oleh makhluk yang paling jahat yaitu Mundus,raja iblis dan hanya Nephilim yang mampu mengalahkannya. Dante dan Vergil dua bersaudara berkerja sama untuk menghentikan Mandus yang mengontrol dunia melalui cara-cara yang modern pada saat ini seperti: pengawasan keamanan, media berita, utang, hiburan dan pangan seperti minuman ringan.

Gambar 1. Pertempuran dengan Boss  

Pemain memerankan Dante untuk bertarung melawan musuh melalui combo serangan yang dilengkapi dengan alat-alat senjata seperti pedang Rebellion,pistol Ebony & Ivory, kampak Arbiter dan senjata lainnya. Pemain dapat menyesuaikan serangan dengan mengganti mode setan,malaikat dan manusia untuk mendapatkan nilai score yang tinggi. Semakin banyak kombinasi serangan yang dilancarkan maka semakin tinggi score yang didapatkan. Ketika menggunakan mode malaikat maka pedang dante akan berubah menjadi Osiris,yaitu jenis senjata seperti kapak sabit dengan gerakan yang cepat dan sangat efektif untuk pertarungan dengan jumlah musuh yang banyak. Sementara mode setan pedang akan berubah menjadi Arbiter. Arbiter yaitu senjata seperti kapak dengan gerakan serangan lebih lambat akan tetapi lebih kuat. Mode ini juga mengubah mobilitas Dante,dengan menggunakan mode malaikat memungkinkan Dante untuk menarik diri ke musuh dan ke berbagai titik di setiap tingkat, sementara mode setan memungkinkan Dante menarik musuh dan benda ke arahnya. Ketika daya bertarung Dante telah mencukupi maka Dante dapat mengaktifkan Devil Trigger yang memperlambat waktu di sekelilingnya dan musuh akan melayang ke udara yang memungkinkan dia untuk melakukan serangan yang lebih kuat terhadap musuhnya. Dante dapat mengumpulkan berbagai jenis item jiwa yang dapat digunakan untuk memulihkan kesehatan, membeli item pendukung  dan upgrade pergerakan serangan tempur Dante. Pada Game ini juga terdapat dua alam yang dapat dimasuki dante ketika berpetualang menjalankan misinya yaitu alam manusia dan alam ghaib.


Gambar 2.Serangan Arbiter(mode setan) dengan efek pukulannya

Gambar 3. Serangan Osiris(mode malaikat) dengan peringkat style B

Gambar 4. Serangan Arbiter(mode setan) dengan peringkat style SS

Game DMC ini menurut saya sangat menarik, karena menyuguhkan desain dan pergerakan yang luar biasa dengan efek-efek serangannya yang memikau serta perpaduan kombinasi serangan yang bertubi tubi yang harus dilakukan untuk mendapatkan peringkat style serangan selama pertempuran dengan standar nilai dari terendah dimulai D,C,B,A,S,SS, hingga peringkat SSS yang tertinggi, oleh karena itu dibutuhkan keahlian dalam memainkan game ini seperti mengontrol pergerakan karakter sesuai scenario yang telah dirancang dalam hal ini seperti terbang(mode malaikat),menarik diri ke benda atau musuh(mode malaikat),menarik musuh untuk mendekat(mode setan) dan masih banyak lagi, serta kecepatan tangan untuk melakukan serangan dan menghindar dari serangan musuh dengan cara mengklik mouse/keyboard dengan kombinasi tombol yang telah ditentukan. Lalu alur cerita yang menarik untuk diikuti yang membuat para pemain penasaran.



NAMA  : Iqbal Abrian.Z 
NRP       : 5110100139
Abrian Ianz

Buat Lencana Anda