Cara menggunakan best python games

Berikan opini pribadi Anda & bantu ribuan orang untuk memilih situs belajar online yang terbaik. Semua feedback, baik itu yang positif atau negatif, akan diterima selama Anda bersikap jujur. Kami tidak akan mempublikasikan feedback yang bias atau spam. Jadi, kalau Anda ingin membagikan pengalaman, opini atau bahkan saran pribadi - tempat ini ada untuk Anda!

Pernyataan ini ada benarnya, karena Game yang dipublikasikan untuk Linux tidak sebanyak Windows dan Mac.

Mungkin karena Linux kebanyakan digunakan di server dan cloud.

Tapi ini sebenarnya bisa jadi potensi pasar dengan persaingan yang sedikit.

Bayangkan…

Game anda diterbitkan untuk platform Linux, seberapa banyak pengguna Linux (terutama yang baru bermigrasi) akan memainkan Game anda di Linux. Saya kira akan banyak.

Cara menggunakan best python games

Ah, saya tidak akan membahas ini lebih dalam. Karena pada artikel ini kita akan belajar cara membuat game di Linux dengan PyGame.

Siap?

Mari kita mulai…

Persiapan Awal yang Harus dilakukan

Sebelum memulai, saya akan menjelaskan dulu persiapan yang harus dilakukan.

Pada tutorial ini, kita akan menggunakan modul PyGame dengan Python 3.

Jadi ada dua hal utama yang harus disiapkan:

  1. Python 3
  2. PyGame

PyGame adalah modul Python yang berisi fungsi dan class yang kita butuhkan untuk membuat game.

Pengetahuan yang dibutuhkan

Setidaknya untuk dapat mengikuti tutorial ini, kamu harus paham dulu dasar-dasar pemrograman Python.

Apabila belum paham, silahkan ikuti: Tutorial Pemrograman Python yang sudah saya buat.

Selain itu pengetahuan tentang grafika komputer dan matematika juga akan sangat membantu.

Cara menggunakan best python games

Penasaran kan… bagaimana peranan matematika di dalam Game?

Nanti saja kita lihat di dalam kode.

Lanjutkan baca sampai selesai ya…

Oya, pastikan kamu mengetik sendiri kode yang ada di tutorial ini. Kalau copas nanti bisa error, saoalnya python sangat sensitif dengan tab dan spasi. Selain itu, kamu juga akan menikmati proses coding-nya. Bukan menikmati proses copas-nya 😝

Instalasi PyGame

PyGame dapat kita install menggunakan

mkdir mygame
touch mygame/game.py
7 dengan perintah berikut:

sudo pip install pygame

Atau bisa juga melalui

mkdir mygame
touch mygame/game.py
8:

sudo apt-get install python3-pygame

Maka modul

mkdir mygame
touch mygame/game.py
9 akan terinstal ke dalam lingkungan OS (Sistem Opearsi).

Buat yang menggunakan Virtual Environtment gunakan perintah ini:

# membuat virtual env
virtualenv -p python3 pygame
# pindah ke direktori virtualenv
cd pygmae
# aktifkan virtual env
. bin/activate

# install modul pygame di dalam virtualenv
pip install pygame

Belum tahu tentang virtual environment?

Silahkan baca: Mengenal Virtualenv: Apa Saja yang Harus Kamu Ketahui?

OK, lanjut…

Sekarang kita tes dulu, apakah modul

mkdir mygame
touch mygame/game.py
9 sudah terinstal atau tidak. Silahkan masuk ke shell python dengan mengetik perintah
mygame/
└── game.py
1 atau
mygame/
└── game.py
2 (di virtual env).

Ketik perintah berikut:

>>> import pygame

Kalau tidak terjadi error, maka modul

mkdir mygame
touch mygame/game.py
9 sudah terinstal dengan benar.

Cara menggunakan best python games

Tapi kalau terjadi error, artinya modul

mkdir mygame
touch mygame/game.py
9 belum terinstall.

Cara menggunakan best python games

Coba install lagi sampai berhasil.

Membuat Proyek Game

Sebelum mulai membuat game, kita tentukan dulu game seperti apa yang akan dibuat.

Pada tutorial ini, kita akan membuat game 2D dengan game play seperti ini:

Cara menggunakan best python games

Permainan pada game ini hanya sebatas tembak-tembakan saja dengan pemain utama (player) adalah seekor kelinci. Dia harus melindungi bentengnya dari serangan hewan liar.

Kelinci ini menggnakan panah untuk menebak.

Sederhana bukan…

Mari kita mulai proyek ini dengan membuat direktori baru bernama

mygame/
└── game.py
5. Lalu di dalam direktori ini buat file baru bernama
mygame/
└── game.py
6.

Ikuti perintah berikut:

mkdir mygame
touch mygame/game.py

Sehingga kita akan punya struktur direktori seperti ini:

mygame/
└── game.py

Untuk aset game seperti game art dan audio sudah saya sediakan.

Tinggal download saja di sini: [ Download Game Assets]

Setelah itu ekstrak direktori

mygame/
└── game.py
7 ke dalam direktori
mygame/
└── game.py
5.

Cara menggunakan best python games

Sehingga kita punya struktur direktori seperti ini:

Cara menggunakan best python games

Selanjutnya kita bisa mulai coding…

Langkah 1: Membuat Game dengan PyGame

Buka file

mygame/
└── game.py
6 dengan teks editor, lalu ketik kode berikut:

File:

mygame/
└── game.py
6

# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)

Ada 8 langkah awal yang harus kita lakukan dalam membuat game dengan PyGame:

1 - Import Library:

Mmengimpor semua library yang dibutuhkan oleh Game:

import pygame
from pygame.locals import *

Pertama kita impor

mkdir mygame
touch mygame/game.py
9 lalu mengimpor konstanta di dalam
mkdir mygame
touch mygame/game.py
9.

2 - Initialize Game:

Pada tahapan ini kita melakukan inisialisasi atau deklarasi variabel dan objek yang dibutuhkan.

3 - Load Game Assets:

Pada tahapan ini kita me-load game asset. Pada kode di atas, kita me-load gambar untuk ditampilkan pada Game.

4 - Game Loop:

Game loop akan mengunlang terus mmenerus selama game-nya berjalan.

5 - Clear Screen:

Kita menggunakan fungsi

# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
3 untuk mengosongkan layar sebelum digambar.

6 - Draw the game object:

Pada tahapan ini kita menggambar game objek ke layar. Jadi apapun yang akan kita tampilkan ke layar, kita harus menggambarnya di sini.

Fungsi yang digunakan untuk menggambar pada Pygame adalah:

screen.blit(objek, posisi)

parameter

# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
4 adalah sebuah tuple
# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
5 yang menyatakan koordinat atau lokasi gambar akan ditampilkan.

7 - Update Screen:

Karena saat ini kita berada di dalam game loop, gambar akan dibuat terus menerus selama gamenya berjalan.

Karena itu, kita perlu update tampilan screenya agar tercipta efek animasi.

Fungsi untuk update di pygame adalah:

pygame.display.flip()

8 - Event Loop:

Event loop berfungsi untuk mengecek event apa saja yang terjadi di dalam game. Misal saat mouse ditekan, saat salah satu keyboard ditekan, dsb.

Nah, sekarang coba eksekusi Gamenya dengan perintah:

sudo apt-get install python3-pygame
0

Maka hasilnya:

Cara menggunakan best python games

Boom!! kita berhasil menggambar Player di ruang hampa.

Ngomong-ngomong itu posisinya berada di titik

# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
6. Artinya
# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
7 dan
# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
8.

Cara menggunakan best python games

“Kok

# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
9 ke bawah tidak bernilai negatif?”

Diagram kartesius di komputer dibuat terbalik dengan titik

import pygame
from pygame.locals import *
0 berada di pojok kiri atas.

Cara menggunakan best python games

Ingat-ingat lagi pelajaran matematika dan grafika komputernya, hehe 😄…

Ok, lanjut…

Langkah 2: Menambahkan Background dan Objek yang Lain

Agar game terlihat menarik, kita tambahkan background dan game objek lainnya.

Tambahkan baris ini pada langkah ke

import pygame
from pygame.locals import *
1:

sudo apt-get install python3-pygame
1

Sehingga menjadi seperti ini:

Cara menggunakan best python games

Setelah itu kita akan gambar

import pygame
from pygame.locals import *
2 dan
import pygame
from pygame.locals import *
3 di langkah ke
import pygame
from pygame.locals import *
4. Tambahkan kode berikut di atas kode untuk menggambar player:

sudo apt-get install python3-pygame
2

Sehingga menjadi seperti ini:

Cara menggunakan best python games

Oke, sekarang kita punya kode seperti ini:

sudo apt-get install python3-pygame
3

Coba eksekusi lagi kode tersebut:

sudo apt-get install python3-pygame
0

Maka hasilnya:

Cara menggunakan best python games

Mantap… 👏👏👏

Langkah 3: Menggerakan Player

Agar player bisa bergerak, kita harus memindahkan posisinya.

Misal kita ubah posisi

import pygame
from pygame.locals import *
5 yang awalnya
import pygame
from pygame.locals import *
6 menjadi
import pygame
from pygame.locals import *
7, maka player akan bergerak ke kanan sejauh
import pygame
from pygame.locals import *
8.

Pada game ini, player akan kita gerakkan saat tombol ini ditekan:

  • import pygame
    from pygame.locals import *
    9 bergerak ke kiri
  • screen.blit(objek, posisi)
    0 bergerak ke bawah
  • screen.blit(objek, posisi)
    1 bergerak ke kanan
  • screen.blit(objek, posisi)
    2 bergerak ke atas

Paham kan maksud saya…?

Sekarang tambahkan kode berikut pada langkah

screen.blit(objek, posisi)
3 (di atas
screen.blit(objek, posisi)
4):

sudo apt-get install python3-pygame
5

Lalu di langkah ke

screen.blit(objek, posisi)
5, tambahkan kode berikut di bawah kode event
screen.blit(objek, posisi)
6:

sudo apt-get install python3-pygame
6

Sehingga akan menjadi seperti ini:

Cara menggunakan best python games

Event

screen.blit(objek, posisi)
7 artinya saat kita menekan tombol di keyboard, sedangkan
screen.blit(objek, posisi)
8 saat kita melepas keyboad.

Cara menggunakan best python games

Lalu di dalam

screen.blit(objek, posisi)
7 dan
screen.blit(objek, posisi)
8 kita melakukan pengecekan tombol yang ditekan dengan konstanta yang sudah disediakan PyGame.

  • pygame.display.flip()
    1 untuk tombol
    screen.blit(objek, posisi)
    2
  • pygame.display.flip()
    3 untuk tombol
    import pygame
    from pygame.locals import *
    9
  • pygame.display.flip()
    5 untuk tombol
    screen.blit(objek, posisi)
    0
  • pygame.display.flip()
    7 untuk tombol
    screen.blit(objek, posisi)
    1

Terakhir kita memindahkan poisi Player bedasarkan tombol yang ditekan. Player akan bergerak sepanjang

pygame.display.flip()
9 dengan menambah dan mengurangi nilai
import pygame
from pygame.locals import *
5 dan
# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
9.

sudo apt-get install python3-pygame
7

Hasilnya:

Cara menggunakan best python games

Yeah! kita berhasil! 👏👏👏

Langkah 4: Mengubah Arah Player

Berikutnya kita ingin agar player menghadap ke mana pointer diarahkan. Sehingga nanti kita bisa menembak dan membidik musuh.

Untuk melakukan ini, kita harus memutar arah player dengan sudut tertentu lalu menggambar ulang karakternya.

Besar sudut ini bisa kita hitung dengan rumus trigonometri tangen.

Masih ingat dengan sinus (sin), cosinus (cos), dan tangen (tan)?

Cara menggunakan best python games

Hahaha 😄 sama!!

Saya juga lupa…

Tapi setidaknya kita harus paham bagaimana player akan bergerak mengikuti pointer.

Jadi begini…

Cara menggunakan best python games

Anggaplah si player berada di titik

sudo apt-get install python3-pygame
02, lalu pointer berada di titik
sudo apt-get install python3-pygame
03. Agar player dapat berputar mengikuti arah pergerakan pointer, maka kita harus menghitung besar sudut
sudo apt-get install python3-pygame
04.

Setelah itu, baru kita bisa rotasi player dengan besar sudut

sudo apt-get install python3-pygame
04.

Nah, untuk mencari besar sudut

sudo apt-get install python3-pygame
04, kita bisa menggunakan rumus tangen.

Tenang…

Kita tidak akan membuat fungsi kangen tangen sendiri, karena di Python sudah disediakan dengan nama

sudo apt-get install python3-pygame
07. Fungsi ini berada di dalam modul
sudo apt-get install python3-pygame
08.

Baiklah, sekarang buka lagi file

mygame/
└── game.py
6. Lalu tambahkan kode berikut pada langkah ke
sudo apt-get install python3-pygame
10:

sudo apt-get install python3-pygame
8

Lalu pada langkah ke

import pygame
from pygame.locals import *
4, ganti kode ini:

sudo apt-get install python3-pygame
9

Menjadi:

# membuat virtual env
virtualenv -p python3 pygame
# pindah ke direktori virtualenv
cd pygmae
# aktifkan virtual env
. bin/activate

# install modul pygame di dalam virtualenv
pip install pygame
0

Penjelasan:

Pertama kita mengambil posisi pointer dengan fungsi

sudo apt-get install python3-pygame
12. Fungsi ini akan menghasilkan sebuah list yang menampung nilai posisi
import pygame
from pygame.locals import *
5 dan
# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
9 dari mouse atau pointer.

Setelah itu kita menghitung besar sudut dengan fungsi

sudo apt-get install python3-pygame
15.

# membuat virtual env
virtualenv -p python3 pygame
# pindah ke direktori virtualenv
cd pygmae
# aktifkan virtual env
. bin/activate

# install modul pygame di dalam virtualenv
pip install pygame
1

Setelah mendapatkan besar sudut rotasi, kemudian kita putar (rotasi) player dengan fungsi

sudo apt-get install python3-pygame
16:

# membuat virtual env
virtualenv -p python3 pygame
# pindah ke direktori virtualenv
cd pygmae
# aktifkan virtual env
. bin/activate

# install modul pygame di dalam virtualenv
pip install pygame
2

Nilai

sudo apt-get install python3-pygame
17 didapatkan dari nilai radius
sudo apt-get install python3-pygame
18.

Terakhir kita menggambar ulang player dengan posisi baru.

Maka hasilnya:

Cara menggunakan best python games

Cara menggunakan best python games

Langkah 5: Membuat Tembakan

Berikutnya kita tambahkan kode untuk membuat tembakan.

Logikanya nanti seperti ini:

  1. Gambar panah saat event klik;
  2. Pindahkan panah sesuai arahnya;
  3. Hapus panah kalau sudah mencapai batas layar.

Semua anak panah akan kita simpan di dalam sebuah list.

Baiklah, sekarang tambahkan kode berikut pada langkah

screen.blit(objek, posisi)
3 tepat di bawah variabel
sudo apt-get install python3-pygame
20:

# membuat virtual env
virtualenv -p python3 pygame
# pindah ke direktori virtualenv
cd pygmae
# aktifkan virtual env
. bin/activate

# install modul pygame di dalam virtualenv
pip install pygame
3

Variabel

sudo apt-get install python3-pygame
21 nanti akan kita gunakan untuk menyimpan score yang didapatkan.

Sementara variabel

sudo apt-get install python3-pygame
22 akan menyimpan titik koordinat
sudo apt-get install python3-pygame
23 dari anak panah.

Berikutnya silahkan tambahkan objek

sudo apt-get install python3-pygame
24 pada langkah
sudo apt-get install python3-pygame
25:

# membuat virtual env
virtualenv -p python3 pygame
# pindah ke direktori virtualenv
cd pygmae
# aktifkan virtual env
. bin/activate

# install modul pygame di dalam virtualenv
pip install pygame
4

Sehingga menjadi seperti ini:

Cara menggunakan best python games

Setelah itu, tambahkan kode untuk event

sudo apt-get install python3-pygame
26 pada langkah ke
sudo apt-get install python3-pygame
27 di bawah event
screen.blit(objek, posisi)
6:

# membuat virtual env
virtualenv -p python3 pygame
# pindah ke direktori virtualenv
cd pygmae
# aktifkan virtual env
. bin/activate

# install modul pygame di dalam virtualenv
pip install pygame
5

Sehigga menjadi seperti ini:

Cara menggunakan best python games

Kita akan menambahkan koordinat arrow baru ke dalam list

sudo apt-get install python3-pygame
22. Koordinat tersebut akan menjadi titik start untuk menggambar panah.

Selanjutnya tambahkan kode ini untuk menggambar panahnya di langkah ke

import pygame
from pygame.locals import *
4 tepat di bawah kode
sudo apt-get install python3-pygame
31:

# membuat virtual env
virtualenv -p python3 pygame
# pindah ke direktori virtualenv
cd pygmae
# aktifkan virtual env
. bin/activate

# install modul pygame di dalam virtualenv
pip install pygame
6

Sehingga akan menjadi seperti ini:

Cara menggunakan best python games

Perhatikan!

Variabel

sudo apt-get install python3-pygame
32 (velocity x) dan
sudo apt-get install python3-pygame
33 (velocity y) kita hitung dengan rumus trigonomotri
sudo apt-get install python3-pygame
34 dan
sudo apt-get install python3-pygame
35. Dua variabel ini akan menentukan kecepatan panah berpindah dari titik awal ke titik akhir.

Selanjutnya kita cek, apakah panah sudah mencapai batas layar atau tidak?

# membuat virtual env
virtualenv -p python3 pygame
# pindah ke direktori virtualenv
cd pygmae
# aktifkan virtual env
. bin/activate

# install modul pygame di dalam virtualenv
pip install pygame
7

Kalau sudah mencapai batas layar, kita hapus panahnya dari list dengan fungsi

sudo apt-get install python3-pygame
36 agar tidak memakan banyak memori.

Setelah itu kita increment nilai index panah (

sudo apt-get install python3-pygame
37) dan mulai menggambar berdasarkan angle player.

# membuat virtual env
virtualenv -p python3 pygame
# pindah ke direktori virtualenv
cd pygmae
# aktifkan virtual env
. bin/activate

# install modul pygame di dalam virtualenv
pip install pygame
8

Variabel

sudo apt-get install python3-pygame
38 akan berisi nilai koordinat awal panah yang didapatkan dari list
sudo apt-get install python3-pygame
22.

Sekarang coba eksekusi lagi Game-nya:

sudo apt-get install python3-pygame
0

Maka hasilnya:

Cara menggunakan best python games

Wohooo~ 😍 keren!!

Cara menggunakan best python games

Wah, kamu sudah mengikuti 50% dari tutorial ini. Sisanya tinggal menambahkan musuh, collision, UI, dan audio.

Langkah 6: Membuat Musuh

Sekarang saatnya kita menggambar musuh. Caranya hampir sama dengan menggambar obejk yang lain.

Bedanya, kita akan menggambar pada titik

# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
9 secara acak.

Cara menggunakan best python games

Untuk menggambar secara acak, kita bisa menggunakan fungsi

sudo apt-get install python3-pygame
41 (random integer) untuk membuat bilangan acak.

Tujuan utama musuh adalah menyerang markas kelinci yang sudah kita buat.

Jadi nanti langkahnya akan menjadi seperti ini:

  1. Buat list untuk nampung musuh.
  2. Gambar musuh berdasarkan koordinat pada list.
  3. Buat musuh agar bergerak menuju markas kelinci.
  4. Hapus musuh saat sudah mencapai markas kelinci.

Baiklah, sekarang buka kembali file

mygame/
└── game.py
6. Lalu di langkah
sudo apt-get install python3-pygame
43 tambahkan kode berikut untuk mengimpor fungsi
sudo apt-get install python3-pygame
41:

>>> import pygame
0

Setelah itu buat variabel global yang diperlukan untuk musuh, seperti list, dan waktu ia akan muncul.

Pada langkah ke

screen.blit(objek, posisi)
3 tambahkan kode ini:

>>> import pygame
1

Sehingga akan menjadi seperti ini:

Cara menggunakan best python games

Variabel

sudo apt-get install python3-pygame
46 akan kita kurangi
sudo apt-get install python3-pygame
47 disetiap perulangan game loop. Lalu saat variabel ini mencapai nilai
sudo apt-get install python3-pygame
48 musuh akan keluar.

Berikutnya tambahkan kode ini untuk mengimpor gambar enemy di langkah

sudo apt-get install python3-pygame
49:

>>> import pygame
2

Berikutnya silahkan tambahkan kode ini di bawah langkah

sudo apt-get install python3-pygame
50:

>>> import pygame
3

Sehingga akan menjadi seperti ini:

Cara menggunakan best python games

Setelah itu, coba eksekusi lagi.

sudo apt-get install python3-pygame
0

Maka hasilnya:

Cara menggunakan best python games

Yap! kita sudah berhasil menggambar musuh secara acak di titik

# 1 - Import Library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import pygame
from pygame.locals import *

# 2 - Initialize the Game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pygame.init()
width, height = 640, 480
screen = pygame.display.set_mode((width, height))

running = True

playerpos = [100, 100] # initial position for player

# 3 - Load Game Assets ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 3.1 - Load Images
player = pygame.image.load("resources/img/dude.png")

## 4 - The Game Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
while(running):
    
    # 5 - Clear the screen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.fill(0)
    
    # 6 - Draw the game object ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    screen.blit(player, playerpos)

    # 7 - Update the sceeen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pygame.display.flip()

    # 8 - Event Loop ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    for event in pygame.event.get():
        # event saat tombol exit diklik
        if event.type == pygame.QUIT:
            pygame.quit()
            exit(0)
9 dan waktu kemunculannya juga kita tentukan secara acak.

Saat ini musuh tidak bisa ditembak, karena kita belum membuat kode untuk menghapus musuh saat berbenturan dengan anak panah.

Langkah 7: Collision Detection

Kita sudah berhasil menambahkan player dan juga musuhnya. Namun, sayang musuh belum bisa ditembak.

Ini karena kita belum membuat kode untuk collision detection atau pendeteksian benturan.

Ada dua benturan yang harus kita buat:

  1. Benturan antara anak panah dengan musuh (muduh ditembak)
  2. Benturan antara musuh dengan markas kelinci (player di serang)

Mari kita buat…

Pada langkan ke

import pygame
from pygame.locals import *
4 di bagian
sudo apt-get install python3-pygame
53 tambahkan kode ini dibawah hapus musuh:

>>> import pygame
5

Sehingga akan menjadi seperti ini:

Cara menggunakan best python games

Setelah itu, coba eksekusi lagi dan perhatikanlah hasilnya:

Cara menggunakan best python games

Penjelasan:

Pertama kita membuat objek rectangle (segi emapat) dari objek-objek yang akan berbenturan:

  • sudo apt-get install python3-pygame
    54 adalah objek rectangle untuk musuh;
  • sudo apt-get install python3-pygame
    55 adalah objek rectangle untuk anak panah.

Kalau kita gambarkan akan terlihat seperti ini:

Cara menggunakan best python games

Setelah itu, kita buat kondisi saat musuh menabrak markas kelinci.

>>> import pygame
6

Angka

sudo apt-get install python3-pygame
56 itu maksudnya saat musuh sudah mencapai titik
sudo apt-get install python3-pygame
57, maka dia harus menghilang dan itu artinya benteng atau markas player sedang diserang.

Cara menggunakan best python games

Lalu benturan beikutnya akan terjadi antara anak panah dengan musuh.

>>> import pygame
7

Kita menggunakan fungsi

sudo apt-get install python3-pygame
58 untuk mendeteksi apakah anak panah berbenturan dengan musuh atau tidak.

Kenapa menggunakan fungsi ini?

Karena yang mau kita cek tidak hanya benturan dari satu sisi saja. Melainkan juga dari semua sisi rectangle musuh.

Misalkan kita tembak musuh dari belakang, maka itu akan dianggap benturan yang sah atau valid.

Kemudian, saat terjadi benturan, kita menambahkan

sudo apt-get install python3-pygame
59 untuk nilai
sudo apt-get install python3-pygame
21. Lalu menghapus anak panah dan musuh tersebut.

Langkah 8: Membuat HUD untuk Waktu dan Health Point

HUD (Heads Up Display)adalah sebuah tampilan untuk menyajikan data. Pada HUD, kita akan menampilkan data waktu dan health point untuk markas.

Silahkan buka file

mygame/
└── game.py
6 lalu tambahkan variabel ini di bawah variabel
sudo apt-get install python3-pygame
21 di langkah ke
screen.blit(objek, posisi)
3:

>>> import pygame
8

Dua variabel di atas akan mnyimpan nilai awal untuk

sudo apt-get install python3-pygame
64 dan waktu game. Nilai
sudo apt-get install python3-pygame
65 kita berikan, karena di game asset
sudo apt-get install python3-pygame
66 memiliki lebar
sudo apt-get install python3-pygame
67.

Berikutnya tambahkan kode ini di langkah

sudo apt-get install python3-pygame
25:

>>> import pygame
9

Sehingga akan menjadi seperti ini:

Cara menggunakan best python games

Setelah itu tambahkan kode ini pada langkah ke

sudo apt-get install python3-pygame
69 saat musuh menyentuh markas kelinci:

mkdir mygame
touch mygame/game.py
0

Shingga akan menjadi seperti ini:

Cara menggunakan best python games

Maksud kode di atas adalah mengurangi nilai

sudo apt-get install python3-pygame
70 saat markas diserang. Kurangi dengan bilangan acak dari
sudo apt-get install python3-pygame
71 sampai
sudo apt-get install python3-pygame
72.

Berikutnya kita akan gambar health bar dan waktu. Silahkan tambahkan kode ini pada langkah

import pygame
from pygame.locals import *
4 tepat setelah menggambar musuh:

mkdir mygame
touch mygame/game.py
1

Sehingga akan menjadi seperti ini:

Cara menggunakan best python games

Untuk membuat teks di PyGame, kita bisa memanfaatkan objek

sudo apt-get install python3-pygame
74. Lalu nilai waktu count down untuk gamenya bisa kita dapatkan dari fungsi
sudo apt-get install python3-pygame
75.

Objek

sudo apt-get install python3-pygame
74 memiliki method
sudo apt-get install python3-pygame
77 untuk me-render teks ke layar game. Method ini memiliki tiga paramater yaitu:

  1. sudo apt-get install python3-pygame
    78 teks string yang akan ditampilkan, pada kode di atas kita memberikan
    sudo apt-get install python3-pygame
    79;
  2. sudo apt-get install python3-pygame
    80 agar teksnya terlihat mulus, pada kode di atas kita memberikan nilai
    sudo apt-get install python3-pygame
    81;
  3. Terakhir paramternya dalah nilai warna. Kita memberikan
    sudo apt-get install python3-pygame
    82 untuk warna putih.

Maka hasilnya akan seperti ini:

Cara menggunakan best python games

Langkah 9: Membuat Screen untuk Game Over

Sejauh ini game kita sudah berjalan dengan baik. Namun game-nya tidak akan pernah selesai alias Game Over.

Ada dua event yang akan menghakhiri game:

  1. Saat waktu habis (player menang)
  2. Saay
    sudo apt-get install python3-pygame
    64 bernilai
    sudo apt-get install python3-pygame
    48 (player kalah)

Mari kita buat…

Silahkan tambahkan kode berikut di atas variabel

sudo apt-get install python3-pygame
85:

mkdir mygame
touch mygame/game.py
2

Kemudian pada langkah

sudo apt-get install python3-pygame
25 tambahkan kode berikut:

mkdir mygame
touch mygame/game.py
3

Sehingga akan menjadi seperti ini:

Cara menggunakan best python games

Lalu di bagian akhir, di bawah langkah

sudo apt-get install python3-pygame
87 tambahkan kode ini:

mkdir mygame
touch mygame/game.py
4

Kode di atas berfungsi untuk mengecek apakah game sudah selesai atau tidak. Lalu menampilkan hasilnya.

Cara menggunakan best python games

Langkah 10: Menambahkan Musik dan Effek Suara

Wohoo… kita sudah sampai di langkah terakhir.

Nah, sekarang biar game-nya tidak sepi dan sunyi. Kita tambahkan background musik dan efek suara saat event tertentu.

Silahkan tambahkan kode berikut di langkah

import pygame
from pygame.locals import *
1, tepatnya di bawah objek
sudo apt-get install python3-pygame
89:

mkdir mygame
touch mygame/game.py
5

Sehingga akan menjadi seperti ini:

Cara menggunakan best python games

Pada kode di atas, kita membuat objek audio berdasrakan file

sudo apt-get install python3-pygame
90 di asset.

Background music akan diputar terus menerus selama game dimainkan. Sedangkan efek suara akan diputar saat terjadi event teretntu.

Apakah Python bisa buat game?

Python dapat digunakan untuk pengembangan Web, Machine Learning, bahkan untuk pengembangan Game. Pengembangan Game dengan Bahasa Python saat ini sangatlah memungkinkan karena adanya sebuah modul yang memudahkan developer dalam membuat game.

Bahasa pemrograman apa yang digunakan untuk membuat game?

C++, JavaScript, dan Java menjadi bahasa pemrograman paling mumpuni untuk pengembangan game. Pengembangan aplikasi mobile. C++ dan Java bisa memberikan performa yang sangat baik untuk aplikasi mobile yang Anda buat.

Bagaimana cara untuk membuat game?

Apa Saja Langkah Cara Buat Game?.
Langkah 1: Lakukan Riset & Konseptualisasi Game Anda. ... .
Langkah 2: Buatlah Sebuah Dokumen Desain. ... .
Langkah 3: Menentukan Software. ... .
Langkah 4: Memulai Pemrograman. ... .
Langkah 5: Tes Game Anda & Mulailah Memasarkannya! ... .
JavaScript. ... .
Java. ... .
Swift..

Bagaimana cara belajar python?

Tips Belajar Python dengan Cepat.
Pahami dulu dasar bahasa pemrograman. Ada beberapa aspek penting terkait apa saja yang harus kamu pelajari dari sebuah bahasa pemrograman. ... .
Kuasai Bahasa Inggris. ... .
Mulai belajar sekarang. ... .
4. Coba buat program sederhana. ... .
Learning by doing..