Quest #1 — hello-robot
Ceritanya gue mau bikin robot yang bisa jalan-jalan pake library Python—pygame. Tapi tujuan dari quest #1 ini belum sejauh itu untuk…
Quest #1 — hello-robot
Ceritanya gue mau bikin robot yang bisa jalan-jalan pake library Python—pygame. Tapi tujuan dari quest #1 ini belum sejauh itu untuk sekarang bikin robot pertama muncul di layar aja dulu. Biar robot itu bisa muncul bagian awal yang perlu dipahami adalah game loop.
Apa itu Game Loop?
Game loop itu basically program yang jalan terus-menerus selama game berjalan. Di balik layar, ada ribuan frame yang diputar per detiknya, cepet banget sampai mata nangkepnya sebagai gerakan mulus. Cara kerjanya terdiri dari tiga hal:
- Cek input — ada tombol yang ditekan? Mouse diklik?
- Update state — gerakin karakter, hitung collision, kurangin nyawa
- Gambar ulang layar (render) — tampilin hasil update ke monitor
Nah, pygame ngasih struktur ini out of the box. Tinggal isi tiap bagiannya. Tapi sebelum itu, install dulu.
pip install pygame
Done. Sekarang kita ke kodenya.
- Inisialisasi
import pygame
pygame.init()
screen = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("Hello Robot")
clock = pygame.time.Clock()
running = True
pygame.init() itu wajib — ini yang "nyalain" semua sistem di pygame, mulai dari audio, display, sampai input handling.
set_mode((1280, 720)) bikin jendela game dengan resolusi 1280×720 pixel (HD standar).
Clock() ini yang nanti ngatur seberapa cepet loop jalan. Tanpa ini, kecepatan game tergantung sepenuhnya sama hardware misal di komputer bagus bisa jalan 500 FPS, di komputer lemah bisa 10 FPS. Gameplay jadi nggak konsisten.
running = True adalah "switch" yang ngontrol kapan loop berhenti.
2. Event Handling
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
Setiap frame, pygame nyimpen semua “kejadian” yang terjadi seperti klik mouse, tombol ditekan, window ditutup dalam bentuk event queue.
pygame.event.get() ngambil semua event itu, terus difilter satu-satu.
Di sini kita cuma handle satu event: pygame.QUIT — yang kejadian kalau user klik tombol ✕ di pojok window. Kalau itu kejadian, running jadi False dan loop berhenti.
3. Rendering
screen.fill("pink")
pygame.draw.rect(screen, pygame.Color(255, 0, 0), border_rect)
pygame.display.flip()
Pygame nggak gerakin objek — dia gambar ulang dari nol setiap frame. Makanya ada screen.fill("pink") — ini kayak ngehapus whiteboard sebelum nulis lagi.
Kalau skip baris ini, objek yang bergerak bakal ninggalin “jejak” di layar. Kelihatan glitchy banget.
pygame.draw.rect() ngegambar rectangle merah kecil di tengah layar a.k.a robot.
pygame.display.flip() ini yang "nampilin" hasil render ke layar beneran. Tanpa ini, nggak bakal kelihatan apa-apa.
4. FPS Control
clock.tick(60)
Semua game butuh ini — nggak peduli sekompleks apapun gamenya.
Tanpa clock.tick(60), loop bakal jalan secepet mungkin — bisa ratusan bahkan ribuan kali per detik. Selain makan CPU gila-gilaan, ini juga bikin gameplay jadi nggak konsisten antar perangkat.
clock.tick(60) ngunci loop lo di 60 iterasi per detik. Hasilnya? Game jalan smooth dan konsisten.
Jalanin, dan yang muncul di layar…

Personal collection
Jendela pink dengan kotak merah kecil di tengah. Sederhana banget, tapi ini adalah fondasi dari hampir semua game yang pernah ada.
See you di Quest #2!
메타데이터
- post_id
- 3a6e16fd3da4
- slug
- quest-1-hello-robot-3a6e16fd3da4
- url
- https://medium.com/@na-se/quest-1-hello-robot-3a6e16fd3da4
- canonical_url
- https://medium.com/@na-se/quest-1-hello-robot-3a6e16fd3da4
- author_url
- https://medium.com/@na-se
- status
- ok
- fetched_at
- 2026-07-13 06:23:13