Membuat Permainan Memulai
Sempurnakan konsep permainan sebanyak mungkin sebelum memulai, termasuk genre, suasana, dan jenis aspek taktisnya (gameplay). Jika Anda memulai pemrograman dengan konsep yang tak jelas, Anda mungkin harus mengubrak-abrik dan menulis ulang banyak hal. Ini mungkin tetap akan terjadi, namun rencana yang solid akan meminimalisirnya. Semua permainan kecuali permainan paling eksperimental memiliki tingkatan progres, jadi mulailah perencanaan Anda dari sini. Progres biasanya terjadi pada satu atau lebih hal berikut: menemukan lebih banyak plot dan karakter, membuat keputusan yang memengaruhi alur cerita, memperoleh kemampuan baru atau statistik yang lebih tinggi, menjelajahi area baru, atau menyelesaikan puzzle yang rumit dan lebih rumit. Kumpulkan atau ciptakan semua tekstur, sprite, suara, dan model yang Anda butuhkan untuk permainan. Tersedia pula koleksi aset permainan gratis yang dapat Anda cari. Jika Anda membuat permainan 2D namun tidak ada seniman yang membantu, Anda bisa membuat seni piksel Anda sendiri. Skrip akan memberi tahu mesin apa yang harus dilakukan dan kapan melakukannya. Mesin bersumber terbuka (open-source) kemungkinan besar sudah memiliki bahasa skrip, dan memiliki tutorial yang memberu tahu cara menggunakannya. Jika Anda membangun mesin sendiri, Anda juga harus membuat bahasa skripnya. Mana pun yang dipilih, Anda minimal membutuhkan beberapa komponen utama berikut:  Lingkaran permainan yang terus berjalan dan memeriksa masukan pengguna, mengolah hasilnya, mengolah peristiwa lainnya, menghitung apa yang perlu ditampilkan, dan mengirimkan ini ke kartu grafis. Ini harus dijalankan setidaknya 30 kali per detik. Skrip "pendengar aktif" yang akan memeriksa peristiwa dan menanggapinya ketika terjadi. Misalnya, satu skrip dapat mengawasi pemain yang sedang berinteraksi dengan pintu, lalu menjalankan animasi "membuka" dan membuat pintunya tidak menabrak. Skrip lain dapat mengawasi hitbox (bentuk tak terlihat untuk mendeteksi tabrakan pada permainan) senjata saat mengenai pintu, dan menjalankan animasi "pecah berantakan" sebagai gantinya. Desain level - yang biasanya berupa "level 1", area yang bisa pemain jelajahi, atau putaran berikutnya dari permainan tarung - akan menguji keterampilan yang tidak terkait dengan pemrograman. Mulailah dengan menampilkan level taktis permainan yang sederhana, diikuti pedoman dasar untuk genre tersebut yang melibatkan perjalanan berkeliling lingkungan:  Ciptakan garis bentuk dasar untuk area tersebut. Tentukan jalur dasar pemain yang paling sering diambil di area tersebut. Tambahkan tantangan dan benda-benda bermanfaat di sepanjang jalanan. Dekatkan semuanya untuk memicu adrenalin dan keseruan, atau jauhkan untuk suasana yang lebih santai. Mulai tambahkan elemen grafis. Tempatkan sumber cahaya di sepanjang jalan utama agar mendorong pemain untuk mengikutinya, dan jaga jalur di samping atau area yang kurang penting tetap redup. Cocokkan aspek taktis, gaya, dan pengaturan. Sebagai contoh, permainan horor yang menegangkan akan berkembang pada eksplorasi lingkungan yang kosong, lalu diselingi serangan-serangan kejutan. Sebaliknya, gelombang musuh yang tak pernah berakhir akan memenuhi pemain dengan adrenalin, sementara pertempuran yang membutuhkan perencanaan taktis  matang bisa mengalihkan perhatian pemain dari suasana emosional. Sekarang Anda bisa melihat hasil dari semua kerja keras Anda. Uji setiap level dan poleslah saat Anda sedang berada di level itu ataupun setelah level itu "selesai". Ciptakan kesadaran untuk bermain dengan cara yang tidak Anda niatkan, misalnya bermain melalui area yang lebih sulit terlebih dahulu. Atau, lebih baik lagi, temukan penguji permainan sebagai "mata segar" pada permainan, dan mintalah saran dari mereka sebanyak mungkin.  Perhatikan seseorang bermain tanpa memberinya saran, kecuali jika permainan Anda belum memiliki informasi tutorial dasar. Kesalahan dan titik frustasi yang muncul sehingga pemain "terjebak" adalah tanda-tanda bahwa Anda perlu memasukkan lebih banyak bimbingan. Setelah permainan (atau setidaknya level) sudah cukup lengkap, undanglah orang lain untuk membantu mengujinya. Teman Anda cenderung bersikap lebih optimis, dan sangat bagus untuk memotivasi, namun tidak membantu memprediksi bagaimana seorang pemain akan bereaksi. Jika Anda menyelesaikan proyek, Anda dapat merilisnya gratis ataupun berbayar, tapi pastikan Anda membaca syarat dan kondisi untuk setiap mesin permainan atau perangkat lunak yang digunakan. Baik permainan tersebut sesuai seperti yang Anda bayangkan ataupun tidak, Anda dapat "mencopoti" beberapa aset dan ide permainan itu untuk digunakan pada proyek lain ataupun proyek yang lebih ambisius, atau merangkum semua yang telah Anda pelajari dan memulai memprogram lagi dari awal! Sebagian pengembang permainan merancang permainan mereka sendiri dari awal, terutama permainan perdana. Jika Anda ingin lebih mudah merancang permainan namun juga ingin memprogramnya, gunakan mesin permainan. Mesin permainan biasanya memiliki peralatan dengan tingkat yang lebih tinggi untuk mengubah model 3D, menulis skrip peristiwa, dan hal-hal lainnya yang biasa ada pada permainan, namun tetap menyediakan cara untuk Anda ikut memprogramnya.  Mesin pemrograman berat yang populer antara lain Unity, UDK, Unreal Engine 4, dan CryENGINE.  Jika pengalaman pemrograman Anda hanya sedikit, pertimbangkan GameMaker dari YoYo Games. Perangkat lunak ini memungkinkan Anda untuk membuat permainan bebas kode hanya dengan "tarik-dan-jatuhkan", namun menyediakan akses untuk bahasa kode rumit jika Anda ingin mengubah sebagian kodenya. Kerangka kerja berada selangkah di bawah mesin permainan, namun masih menyediakan serangkaian alat dan API (application program interfaces/antarmuka program aplikasi) untuk menghemat waktu dan merampingkan proyek kode Anda. Meminimalkan tingkat perangkat lunak yang Anda gunakan untuk proyek permainan pertama Anda, lalu utak-atik kodenya sendiri, atau memanfaatkan fungsi dan fitur kerja yang telah ada pada mesin permainan. Tergantung pada kerangka kerja dan/atau mesin permainan yang Anda gunakan, Anda mungkin masih harus mengerjakan tambahan API khusus, misalnya OpenGL yang populer untuk menciptakan grafis 3D. Polycode, Turbulenz, dan MonoGame adalah contoh kerangka kerja untuk permainan 2D dan 3D. Lingkungan Pengembangan Terpadu (Integrated Development Environment) adalah kompilator (compiler) umum dan koleksi berkas sumber yang memudahkan Anda dalam membangun proyek pemrograman rumit. IDE akan membuat pemrograman permainan jauh lebih nyaman, terutama jika dilengkapi dengan cara bawaaan untuk berinteraksi dengan sistem grafis dan audio. Contoh IDE adalah Visual Studio dan Eclipse, atau masih banyak lagi yang lainnya. Carilah IDE berbasis bahasa yang Anda kenal. Sebagian besar peralatan di atas didasarkan pada bahasa pemrograman populer, sehingga Anda sebaiknya mengikuti tutorial yang disertakan terlebih dahulu. Meskipun hampir semua bahasa pemrograman yang cukup tangguh dapat membuat permainan, bahasa yang paling umum digunakan yaitu C++ atau C# untuk semua perangkat, Flash ActionScript atau HTML5 untuk peramban, dan Java atau Objective C untuk perangkat seluler. Semua ini adalah pilihan yang tepat jika tujuan Anda adalah ingin dipekerjakan oleh studio pembuat permainan. Selain itu, banyak pula permainan independen yang dibuat menggunakan Python, Ruby, atau JavaScript.
Ciptakan rencana permainan Anda. Kumpulkan aset seni Anda. Tulis skrip permainan Anda. Ciptakan level individual. Uji permainan. Ambil langkah berikutnya. Gunakan mesin permainan (game engine). Gunakan kerangka kerja (framework) dan alat-alat lainnya. Gunakan IDE. Pelajari sebuah bahasa pemrograman.
https://www.wikihow.com/Program-a-Video-Game https://www.wikihow.com/Program-a-Video-Game
Creating the Game Getting Started