Merancang Permainan Memilih Mesin Permainan
Habiskan waktu untuk merancang inti permainan sebelum mulai membuat programnya. Apa genre permainan Anda? Apakah permainan Anda 2D atau 3D? Bagaimana pemain bergerak dalam permainan, apakah dengan memecahkan masalah, mengikuti/membuat cerita, melawan musuh, dan/atau menjelajah? Semakin banyak pertanyaan yang Anda jawab dan semakin detail ide Anda, semakin banyak waktu yang Anda hemat dalam jangka panjang. Jika Anda memutuskan untuk membuat perubahan besar setelah Anda memulai proses pemrograman, penerapannya bisa memakan banyak waktu. Sederhanakan ide Anda sebisa mungkin. Prototipe sederhana yang menjelaskan bagaimana cara kerja permainan Anda dan menyediakan beberapa tingkatan untuk dimainkan adalah awal yang baik. Setelah prototipe Anda selesai, Anda bisa menggunakannya sebagai pondasi untuk pengembangan permainan, atau menerapkan apa yang sudah Anda pelajari dalam pembuatannya ke dalam proyek baru. Sekarang, Anda memiliki PR yang sangat banyak, namun hasilnya kelak akan sangat memuaskan. Jika sebuah tim bisa membagi tugas antar anggota dan mengerjakannya secara bersamaan, seorang individu harus memutuskan tugas mana yang paling mudah dikerjakan atau paling penting dalam setiap tahapan. Bacalah seluruh tahapan berikut dan mulailah dari tugas yang menarik bagi Anda. Anda akan memerlukan gambar 2D, dan mungkin model serta tekstur (pola yang akan diterapkan pada model) 3D, kecuali jika Anda akan membuat permainan berbasis teks. Anda bisa sedikit menunda persiapan musik dan efek suara, namun sebaiknya Anda menyiapkannya jika Anda akan mempublikasikan permainan Anda. Ikon yang sederhana, antarmuka pengguna, dan jenis huruf adalah prioritas terendah saat permainan Anda masih baru, namun mengerjakannya akan sangat meningkatkan kepuasan pemain.  Ada beberapa tempat untuk menemukan aset seni secara murah atau gratis. Cobalah mencari di  daftar makeschool.com ini. Menggaji seniman akan membuat perubahan yang besar. Jika Anda tidak mampu menggaji seniman, kumpulkan aset sendiri dan tunjukkan pada teman Anda yang berbakat seni, atau kirimkan ke forum pengembangan permainan atau forum seni untuk meminta saran. Perkembangan ini akan lebih banyak ditulis sebagai dokumen rencana di luar kode permainan, meskipun jika Anda membuat permainan berbasis cerita, Anda mungkin perlu membuat pohon dialog. Meskipun permainan Anda tidak memiliki cerita tradisional, permainan Anda harus memiliki perkembangan yang Anda rencanakan. Permainan "platformer" mungkin bisa menyertakan peningkatan gerakan dan senjata, dan permainan "puzzle" mungkin menambahkan fitur serta tingkat kesulitan baru. Mulailah dengan area atau tingkatan yang sederhana. Berfokuslah pada jalur yang diambil oleh pemain pada tingkatan tersebut, kemudian tambahkan jalur tambahan (opsional), grafis yang lebih detail, dan kenaikan kesulitan (seperti penyesuaian tinggi platform atau musuh yang bergerak).br> Gunakan sumber cahaya dan penjatuhan barang untuk mengarahkan pemain ke posisi selanjutnya pada area. Gunakan bayangan untuk mencegah pemain masuk jalan buntu atau jalur yang sulit dilewati, dan gunakan musuh untuk kedua tujuan tersebut (tergantung bagaimana cara pemain Anda dipandu untuk melewati musuh). Area yang dirancang dengan baik membuat pemain merasa bahwa mereka membuat keputusan atau menjelajah sendiri, namun tetap dibantu menemukan jalur yang jelas dengan jejak samar. Langkah ini tidak diperlukan jika Anda menggunakan program pembuat permainan sederhana. Jika Anda mau menjelajah lebih jauh ke sistem grafis, Anda bisa mulai belajar dengan membuat efek pada partikel dan shader, atau masuk ke kode grafis dan menghapus kode yang tidak dipergunakan oleh permainan. Karena grafis hampir selalu menjadi titik yang menentukan kecepaan proses, permainan 2D sekalipun biasanya melalui penyesuaian, penulisan ulang, dan optimasi yang signifikan untuk mengurangi beban kartu grafis dan prosesor. Setelah Anda memiliki permainan sederhana atau prototipe cara bermain, mintalah teman Anda memainkannya dan memberikan saran untuk permainan. Ketahui hal yang menyenangkan dan membuat mereka sebal. Kemudian, setelah permainan Anda lebih lengkap, Anda bisa meminta saran dari orang asing atau kenalan sekilas Anda, karena mereka tidak akan peduli pada kesuksesan Anda. Pemain tidak terlatih untuk memberi umpan balik dari sudut pandang pengembang. JIka pemain tidak menyukai salah satu aspek pada permainan, biasanya ada sesuatu pada aspek tersebut yang bisa diperbaiki, namun saran spesifik dari pemain tersebut biasanya tidak terlalu berguna. Ajukan pertanyaan yang sangat spesifik untuk mengetahui fitur mana yang membuat mereka sebal. Kebanyakan permainan dibangun dengan "mesin" tertentu, yang memungkinkan Anda merancang event, karakter, dan lain sebagainya tanpa menulis kodenya dari awal. Membuat mesin permainan dari awal akan memakan waktu bertahun-tahun, jadi kebanyakan pengembang independen menggunakan mesin permainan yang sudah ada. Anda hanya perlu mengikuti salah satu dari langkah di bagian berikut ini, tergantung pemahaman Anda akan pemrograman dan banyaknya waktu yang ingin Anda habiskan untuk mengurusi detail kecil. Peralatan ini hanya memerlukan sedikit pengetahuan pemrograman, jadi mungkin peralatan ini tidak cocok jika Anda tertarik pada aspek pemrograman dalam pembuatan permainan. Di sisi lain, pendekatan program pembuat permainan yang sangat sederhanan bisa mengajari Anda banyak hal terkait permainan Anda, dan memungkinkan Anda memperbaiki konsep tingkat tinggi terlebih dulu sebelum Anda berpindah ke prototipe yang lebih besar. Berikut adalah contoh pembuat permainan sederhana yang gratis:  Untuk permainan ponsel, cobalah MIT App Inventor atau Game Salad. Untuk permainan di peramban internet, cobalah Scratch, atau Snap! yang merupakan versi lebih serius dari Scratch dan ditujukan sebagai alat untuk pengenalan pemrograman. Untuk permainan penjelajahan (adventure), gunakan Visionaire. Jika Anda ingin menggunakan program sederhana yang juga memiliki opsi untuk memprogram, cobalah versi gratis dari GameMaker. Opsi ini adalah opsi yang baik untuk mendapat pengalaman memprogram permainan tanpa harus benar-benar memulai dari nol. Meskipun mesin permainan dan lingkungan pengembangan terintegrasi (IDE) banyak tersedia, berikut ini adalah program yang gratis dan relatif mudah dipelajari:  Untuk permainan ponsel: ProjectAnarchy. Untuk permainan 3D di berbagai perangkat: Unity. Untuk pemrogram berpengalaman: LWJGL (berbasis Java), SFML (berbasis C++). Jika Anda sudah memiliki pengetahuan pemrorgaman dan ngotot ingin membuat mesin permainan sendiri, berikut ini adalah beberapa cara untuk memulai. Jika Anda benar-benar belum pernah membuatnya, Anda mungkin memerlukan panduan.  ActionScript akan memungkinkan Anda membuat mesin permainan berbasis Flash, dan merupakan pilihan yang baik untuk memulai bagi pemrogram tingkat menengah. Java cukup mudah untuk dipelajari. Anda akan memerlukan Java Development Kit (JDK), dan Eclipse atau IDE lainnya untuk Java. Jika Anda bingung untuk memulai, bacalah panduan Java. Jika Anda sudah menguasai bahasa pemrograman tertentu (terutama C atau Python), carilah IDE untuk bahasa tersebut. IDE biasanya menyertakan kompiler dan kemampuan untuk bekerja dengan grafis, audio, dan kode lainnya dalam proyek yang sama. Jika Anda siap dengan tantangan dalam prosesnya dan memilih satu dari peralatan mutakhir di langkah sebelumnya, Anda biasanya perlu menemukan panduan, forum dukungan, atau pengembang permainan berpengalaman untuk mendapat saran terkait bahasa pilihan Anda. Jika Anda tidak tahu bagaimana harus memulai atau apa yang harus Anda tanyakan, berikut adalah beberapa komponen dasar yang harus Anda bangun sejak awal:  Client-side server, yang menerjemahkan masukan dari pengguna dan memproses hasilnya. Buatlah sistem input yang bisa merespon dengan benar sebelum Anda mengerjakan grafis dan teknis permainan. Jika Anda merasa kesulitan, bacalah tentang "action listeners". AI untuk karakter lain agar merespon pada aksi pengguna. Untuk proyek sederhana, buatlah karakter berpindah dan beraksi di jalur tertentu. Kemampuan untuk me-render grafis, yaitu kemampuan untuk membuat dan mengirim instruksi pada kartu grafis. Perulangan permainan yang terus berjalan selama permainan dijalankan. Perulangan ini harus mengambil masukan pengguna, memprosesnya, memproses logika permainan lain (seperti pergerakan musuh, animasi latar, dan event yang dipacu oleh event lain), menghitung apa saja yang harus ditampilkan ke layar, dan mengirimkan informasi ke kartu grafis. Jalankan perulangan ini setidaknya 30 kali per detik (30fps) jika sistem Anda kuat menjalankannya.
Matangkan konsep Anda terlebih dahulu. Kerjakan langkah di bawah ini dengan urutan sesuka hati. Kumpulkan atau buatlah aset seni. Rancanglah perkembangan cerita. Rancanglah tingkatan permainan. Sesuaikan dan optimalkan grafis pada permainan. Dapatkan umpan balik dari penguji permainan. Pelajari tentang mesin permainan (game engines). Pertimbangkan untuk memakai pembuat permainan sederhana. Cobalah antarmuka pengembangan yang lebih profesional. Pilihlah peralatan untuk membangun mesin permainan sendiri. Buatlah mesin permainan sendiri.
https://www.wikihow.com/Code-a-Video-Game https://www.wikihow.com/Code-a-Video-Game
Designing the Game Choosing an Engine