Yusuf Bülbül

An Engineer

UnrealEngine Kullanarak C++ Dilinde Geliştirdiğim Oyun

C++ geliştiricisi olarak uzun zamandır bir oyun geliştirmek istiyordum.  Yotube’da dolaşırken yeni çıkan Watch Dogs oyununun Unreal Engine üzerinde geliştirildiğini anlatan bir video gördüm. Bu video ile oyun  geliştirme isteğim daha çok depreşti ve hemen Unreal Engine’yi indirip kurdum.  Normal şartlarda Linux de çalışan birisi olduğumdan Unreal Engineyi Windows üzerinde kurduğumda bana inanılmaz yavaş ve problemli geldi. Özellikle Visual Stüdio kullandığı kaynakları sebebiyle bilgisayarı oldukça fazla yoruyordu. Laptop’um o kadar kötü özelliklere sahip değil ancak, oyun motoru ve visual studio orantısız kaynak tüketince bilgisayar da kendinden geçiyordu.  Ben de Windows’a bir kez daha lanet ederek Unreal Engineyi Linux için derleyip Linux’e kurdum. 

Unreal Engine açık kaynak kodlu bir projeymiş. Web sayfasında kendi kominitelerine kaydolunca github üzerinden oyun motorunun açık kaynak kodunu indirebiliyorsunuz. Ben de aynen öyle yapıp kaynak kodunu indirdim. Ve makinem  üzerinde derledim. Tabi ki, linuxde hiç bir şey o kadar kolay olmaz her zaman. Linux sizi önce iyice bir yorar sonra mutlu eder.  Ekran kartıydı, gerekli kütüphanelerdi falan derken oyun motorunu Linux’e kurmak iki günümü aldı. Fakat buna değdi. Çünkü gerçekten Linux de programlar çok daha yumuşak çalışıyor. Programların donması, delirtmesi ve benzerlerini kullanıcısına yapmıyor linux.  En kötü ihtimalle programı öldürüyorsunuz. İki saat görev yöneticisi bekleme derdiniz yok. Ayrıca Linux’de visual studio denen lanet şeyi de kullanmama gerek yoktu. Linux’de oyun motoru QtCreator projesi oluşturduğundan ve Qt de Visual Studio kadar kaynak tüketmediğinden Linux, düzgün çalışabilmem için daha elverişli bir ortam sunmuş oldu.

Açık söylemek gerekirse hayatım boyunca geliştirdiğim hiç bir C++ kodu, Unreal Engine kullanarak oyun kodu yazarkenki kadar beni eğlendirmemişti. Bu yüzden, Unreal Engine nin tüm yapımcılarını ve emeği geçenleri kod yazarken bolca minnetle andım. Tabi ki her yazılım gibi Unreal Engine nin de bir çok yerde Bug’ı mevcut. Bazı problemleri olsa da yine de hiç bir şekilde beni kendisine sövdürtmedi. 

Yazdığım bu kodlarla Oyun geliştirme sürecini az buçuk kavradım. Modern oyunlarda oyun motorunun geliştirilmesini saymazsak programlamadan daha ziyade grafik tasarım ve dijital artistiğin çok ön planda olduğunu şimdi daha iyi anlayabiliyorum.  Aslında, bir BattleField, bir GTA’ya baktığınızda bu oyunların oyun içi dinamikllerini sağlayan C++ kodlarını yazmak o kadar fazla ve çok mesai gerektiren şeyler değil. Benim yazdığım bu oyun programına bir kaç ay daha ekleyip modern oyunların dinamiğini çıkartırsınız. Fakat, asıl iş; tasarım, render, kurgu ve  dijital artistikte bitiyor. Bu işlemler için inanılmaz mesailer ve para aynı zamanda sanat gerekiyor.  Aslında oyun yapmak için önce film yapmanız gerekiyor. Ondan sonra da bu filmi, dijitale çevirmeniz gerekiyor.

Bu yüzden oyun motorlarını kullananlar daha çok grafik tasarımcılar ve benzerleri oluyor. Ve bu yüzden de oyun motorlarını geliştirenler kullanıcılarının bir geliştiriciden çok tasarımcı olduğunu bildiğinden genellikle oyun yapmak için bir programlama dilinin yanı sıra görsel bir grafik ya da sürükle bırak mantığı ile çalışan, adına “Visual Script” denen şekillerle de programlanabiliyor.  Yani Unreal Engine kullanarak C++ bilmeden de oyun geliştirebilirsiniz. Fakat şunu belirtmeliyim ki, Visual Script kullandığınızda oyun yavaşlığı, oyun motoru bug’ları ve bir çok esnek şeyi tam olarak yapamama gibi problemlerle sıkça boğuşmaya hazır olun.  Tabi ki ben bir C++ geliştiricisi olarak oyun geliştirmek için C++ kullanmayı tercih ettim.  Oyun kodlarını github hesabımdan indirerek kendini de üzerine bir şeyler ekleyebilirsiniz. 

Bu oyunu yakında Android için derlemeyi düşünüyorum. Bir kez denemem oldu fakat android de malzemelerin parçalanma ve dağılmaları olmuyor.  Ve oynanışı zor oluyor. Bunlara bir çözüm bulup Google Playe koymayı düşünüyorum.

Oyunun derlenmiş halini indirmek için tıklayın.

 

 

Artık Oyunu google play store dan indirebilirsiniz.

https://play.google.com/store/apps/details?id=com.YourCompany.CubeArena

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Copyright © Tüm Hakları Saklıdır.