author Ahmad Muhardian

10 Bahasa Pemrograman untuk Membuat Game


Bahasa Pemrograman Game

Kamu ingin jadi Game Programmer?

dan masih bingung mau mulai belajar bahasa pemrograman apa?

Tenang..

Saya akan kasi tahu, bahasa pemrograman apa saja yang cocok dipakai untuk membuat Game.

Selain itu, saya akan kasi rekomendasi Game Engine yang bisa digunakan untuk tiap-tiap bahasa pemrograman.

Jadi pastikan kamu membaca sampai akhir ya..

Oke..

Mari kita bahas!

1. Bahasa C

Bahasa C memang cukup tua.

Namun jangan salah.. banyak game sukses yang telah dibuat dengan C.

Salah satu contohnya adalah Quake II.

Quake II

Selain itu, dulunya Game Engine juga banyak yang ditulis dengan bahasa C.

Buat kamu yang ingin membuat game dengan bahasa C, kamu bisa pelajari library seperti SDL, SMFL, OpenGL, dll.

Namun, membuat Game dari nol (scratch) dengan library tersebut akan membutuhkan waktu yang lama.

Karena itu, kita disarankan menggunakan Game Engine.

Berikut ini beberapa Game Engine yang menggunakan C:

  1. id Tech 2 (Quake II)
  2. id Tech 3
  3. Adventure Game Interpreter
  4. Wintermute Engine (C-Like Syntax)
  5. Gamestudio (C-Script, Lite-C)
  6. Antiryad Gx

Pilih saja salah satu Game Engine yang ingin kamu pakai.

2. Bahasa C++

C++ adalah bahasa pengembangan dari C yang memiliki lebih banyak fitur dibandingkan C.

Salah satu fitur C++ yang membuatnya berbeda dari C adalah dukungan untuk pemrograman berbasis object atau OOP (Object Oriented Programming).

OOP akan membantu kita membuat coding Game lebih mudah, karena kita bisa modelkan objek-objek di dalam game dengan mudah.

Contoh Game yang dibuat dengan C++:

  • 0.A.D – Game strategi yang cukup populer di platform Linux
  • CS Go – Game Realtime FPS

0 A.D. (video game) - Wikipedia

Jika kamu ingin membuat Game dengan C++, kamu juga bisa pakai library seperti SDL, SMFL, dan OpenGL.

Untuk Game Engine kita bisa pakai:

2. Bahasa C#

C# adalah bahasa pemrograman yang dibuat oleh Microsoft untuk dijalankan pada platform Dotnet.

C# cukup populer di kalangan Game developer. Ini karena banyak Game developer yang menggunakan game engine Unity3D.

C# mungkin pilihan yang tepat untuk kamu yang ingin cepat mendapat pekerjaan sebagai Game Programmer, ini karena banyak industri Game yang menggunakannya.

Unity 2020.1b

Selain Unity3D, berikut ini beberapa Game Engine yang menggunakan C#:

3. ECMA SCript (Js/Ts)

ECMA Script merupakan standar bahasa pemrograman yang dipakai oleh Javascript, Typescript, dan Action Script.

Meskipun JS/TS lebih sering dipakai untuk membuat web, JS juga bisa dipakai untuk membuat Game.

Terutama game yang berbasis HTML5 dan WebGL.

Beberapa Game Engine dan Library populer untuk Javascript:

Contoh game populer yang dibuat dengan JS: HexGL, CrossCode.

4. Python

Python dikenal sebagai bahasa yang mudah dipelajari karena sintaknya yang bersih.

Banyak pemula yang belajar membuat game menggunakan Python dengan library Pygame.

Selain itu, Python juga sering digunakan untuk membuat logika game dan AI (Artificial Intelligence).

Game Engine dan Framework Python:

Contoh game terkenal yang menggunakan Python: Battlefield 2 (untuk logika game), EVE Online, Sims 4.

5. GDScript

GDScript adalah bahasa pemrograman yang sintaknya mirip seperti Python. Bahasa ini dikembangkan untuk digunakan pada Game Engine Godot.

Ini bisa jadi pilihan alternatif, jika kamu sudah paham bahasa Python dan ingin menggunakan Godot.

6. Lua

Lua adalah bahasa scripting yang kecil, ringan, dan cepat.

Karena ukurannya yang kecil, Lua sering ditanamkan (embedded) ke dalam Game Engine sebagai bahasa untuk logika gamenya.

Contohnya seperti Roblox, World of Warcraft (untuk Addon), dan Angry Birds.

Game Engine dan Framework yang menggunakan Lua:

7. Kotlin

Kotlin adalah bahasa modern dari JetBrains yang sekarang menjadi bahasa resmi untuk pengembangan aplikasi Android.

Jika kamu ingin fokus membuat game Android, Kotlin bisa jadi pilihan yang lebih segar daripada Java.

Kotlin bisa digunakan bersama framework game Java yang sudah ada karena 100% interoperable dengan Java.

Framework dan Engine:

8. Golang

Go atau Golang adalah bahasa pemrograman yang dibuat oleh Google.

Golang dikenal dengan kompilasi yang cepat dan concurrency yang handal.

Membuat game dengan Golang akan cukup menyenangkan, karena bahasanya sederhana dan performanya tinggi.

Sayangnya, belum ada Game Engine besar (GUI) yang menggunakan Golang sebagai bahasa utamanya. Kebanyakan masih berupa Library/Framework.

Library dan Framework Game untuk Golang:

Kalau kamu suka ngoding game dari dasar (code pure) tanpa editor GUI, Golang sangat cocok untukmu.

9. WebAssembly

WebAssembly adalah bahasa assembly yang dipahami Browser. Kita bisa menulis program atau game dengan bahasa apapun, kemudian di-compile menjadi wasm agar bisa dijalankan di Browser.

Performa Game yang dihasilkan dengan WebAssembly hampir sama seperti Game pada Desktop.

Gaming in Your Browser is About to Get Interesting With WebAssembly |  eTeknix

Kabarnya, WebAssembly juga tidak hanya bisa running di atas Browser, ia juga bisa dipakai di luar browser seperti di Server dan Desktop.

https://twitter.com/linclark/status/1110920999061594113

Jadi WebAssembly ini bisa berperan seperti virtual mesin untuk menjalankan berbagai macam program dan Game yang dibuat dengan bahasa apapun.

10. Visual Scripting

Sebenarnya ini bukan termasuk bahasa pemrograman. Saya memasukkannya karena sering dipakai dalam pembuatan game.

Buat kamu yang non-programmer, Visual Scripting sangat mudah digunakan. Namun, tentu kurang cocok untuk membuat game yang butuh kompleksitas tinggi.

Visual Scripting biasanya digunakan untuk membuat game sederhana dan prototipe game.

Contoh:

  • Scratch
  • Construct
  • Godot Visual Scripting
  • Unity Visual Scripting
  • Unreal Visual Scripting

Akhir Kata…

Pada dasarnya, apapun bahasa pemrograman yang kamu pilih, konsep pemrograman Game itu sama.

Yakni, kita harus memanipulasi grafik dan audio berdasarkan input atau event pada Game.

Masih bingung pilih yang mana?

Tips dari saya:

Coba research loker-loker Game Programmer dan perhatikan bahasa pemrograman yang dipakai, dengan demikian kamu bisa fokus belajar itu agar bisa kerja di sana.

Jika kamu belajar cuma hanya untuk hobi atau sekedar ingin tahu, bebas aja sih belajar bahasa yang mana aja.

Pilihan ada di tanganmu sendiri, coba tuliskan di komentar bahasa apa yang kamu pilih dan alasannya apa? 👇