Membuat Game RPG Sederhana Dengan C++

1.  Sekilas Tentang Game

Ada banyak genre game di dunia ini, tapi kita mengatakannya cuma game tembak-tembakan,game petualangan, game strategi. Tapi sebenarnya ada nama lain dari jenis game yang saya sebutkan di atas. Disini saya bahas sedikit mengenai jenis game yang paling pupuler

 

  • RTS (Real Time Strategi)

Game ini biasanya bersifat turn based ataupun bisa dimainkan secara bersamaan, identik dengan bermain melawan human intelegent (manusia vs manusia) yang biasanya menggunakan LAN ataupun Internet. Game ini bisa dikatakan game perang-perangan. Contoh game RTS adalah (DOTA, StarCraft, Civilization)

  • RPG (Role Playing Game)

Keunikan dari game ini yaitu tidak pernah tamat. Meskipun tamat paling hanya cerita nya saja atau leveling yang bias sesuka hati. Kita diperkenankan untuk mengelola sebuah karakter, mengatur keungan ataupun membangun koneksi. Contoh dari game ini yaitu (KOA, Skyrim, The Witcher)

  • FPS (First Person Shooter)

Ini sebenarnya nama genre dari game tembakan-tembakan. Kita menjalankan orang/person dengan sudut pandang orang pertama. Contoh dari game ini yaitu (call of duty, counter strike, far cry 3)

  • Sand Box

Game ini berlatar di suatu daerah yang kita dituntut untuk menjalankan sebuah misi yang telah ditentukan. Game ini memiliki banyak peminat karena kebebasan yang disuguhkan di dalamnya. Contoh dir game ini yaitu (GTA, Saint Row, Sleeping Dogs)

2.  Membuat Game Sederhana

Dari sekian banyak genre game yang
ada saya akan membagikan cara membuat game sederhana menggunakan c++ untuk
genre RPG (Role Playing Game)

·
Persiapan

Tool
yang saya gunakan unutk membuat game ini yaitu dev c++. Bisa download disini

image001

·
Sprite

Setelah
menginstal IDE tadi kemudian buka aplikasinya.

Kemudian
klik file > New > Source File atau CTRL N

Dengan
tampilan ide nya sebagai berikut :

image002

Kemudian
ketikkan source code di bawah ini

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <iostream>
#include <windows.h>
#include <conio.h>
 
using namespace std;
 
char Map[10][10] = {"#########",
                    "#   #  !#",
                    "##### ###",
                    "##    # #",
                    "## #### #",
                    "#  #    #",
                    "# #     #",
                    "#@#     #",
                    "#########"};
int Gamespeed = 100;
int Level = 0;
bool stopgame = false;
 
int main ()
{
     
    while (stopgame == false && Level==0)
    {
          system("cls");
          for (int y= 0;y<10;y++)
          {
              cout << Map[y] << endl;
          }
          for (int y= 0;y<10;y++)
          {
              for (int x = 0; x<10; x++)
              {
                  switch (Map[y][x])
                  {
                      case '#':
                      {
                          Map[y][x] = 219;
                      }break;
                     case '@':
                     {
                           
                          if (GetAsyncKeyState(VK_UP) !=0)
                          {
                               int y2 = (y-1);
                              switch(Map[y2][x])
                              {
                                  case ' ' :
                                  {
                                        Map[y][x] = ' ';
                                        y-=1;
                                        Map[y2][x]='@';
                                  } break;
                                  case '!' :
                                  {
                                       Level = 1;
                                  } break;
                              }
                          }
                          if (GetAsyncKeyState(VK_DOWN) !=0)
                          {
                                   int y2 = (y+1);
                                  switch(Map[y2][x])
                                  {
                                      case ' ' :
                                      {
                                            Map[y][x] = ' ';
                                            y+=1;
                                            Map[y2][x]='@';
                                      } break;
                                        case '!' :
                                  {
                                       Level = 1;
                                  } break;
                                  }
                          }
                           if (GetAsyncKeyState(VK_RIGHT) !=0)
                          {
                                   int x2 = (x+1);
                                  switch(Map[y][x2])
                                  {
                                      case ' ' :
                                      {
                                            Map[y][x] = ' ';
                                            x+=1;
                                            Map[y][x2]='@';
                                      } break;
                                      case '!' :
                                      {
                                      Level = 1;
                                      } break;
                                  }
                          }
                          if (GetAsyncKeyState(VK_LEFT) !=0)
                          {
                                   int x2 = (x-1);
                                  switch(Map[y][x2])
                                  {
                                      case ' ' :
                                      {
                                            Map[y][x] = ' ';
                                            x-=1;
                                            Map[y][x2]='@';
                                      } break;
                                        case '!' :
                                      {
                                           Level = 1;
                                      } break;
                                  }
                          }
                           
                     }break;
                  }
              }
          }
          Sleep(Gamespeed);
    }
    while  (stopgame == false && Level==1)
    {
      system ("cls");
      cout << "Level 2 Goes Here" << endl;
      system("pause"); 
      return EXIT_SUCCESS;       
    }
    exit (1);
    getch ();
}

Kemudian
execute > compile

tampilan hasil

 

Komentar

Postingan populer dari blog ini

Contoh Program Kasir Sederhana C++

Cara Menginstal Aplikasi Dev C++ Dengan Benar

Cara Instal Adobe Photoshop CS6 dengan Crack (Lengkap + Gambar)