enesbv

Yeni üye
12 Eki 2017
1
0
0
(42) Konya
Merhaba Ben Hiçbir Kod Bilgisi Bilmiyorum Forumda Bir ArkadaşBlueprint Falan Demiş Kodlama Gerektirmez Demiş C++ İle Konular Açılmış C++ Bilmem Gerekiyormu Gerekmiyormu ? Teşekkürler
 
Blueprintleri kullanmak için, programlamanın genel mantığını bilmeniz gereklidir. C++ blueprinte göre daha efektiftir ve daha hızlı çalışır.
Değişkenler, atamalar, mantıksal ve aritmetik operatörler, döngüler, sınıf yapısı, nesne tabanlı programlama, katılım alma, tip dönüşümleri(type conversion), arayüz(interface) vs... gibi temel programlama yeteneklerine sahip olmanız gereklidir.

Blueprint Sistemi Avantajları:
+ Kolayca prototip oluşturma. (Prototiplerinizi oluşturup daha sonra koda dökebilirisiniz.)
+ Kutucukları birbirine bağla, evet bu kadar basit.
+ Nesne tabanlı programlama yöntemleri, çocuk-ebeveyn ilişkisi kolayca uygulanabilinir. 
+ UMG sistemindeki "Widget"ler oluşturup kullanıcı arayüzünü(User Interface) çok basitçe oluşturabilirsiniz.
+ "Event Dispatcher" sayesinde değişik olayları bağlayabilirsiniz
+ Yapay zeka ve animasyonları blueprintlerle kolayca ayarlayabilirsiniz.

Blueprint Sistemi Dezavantajları:
- Çok oyunculu ve AAA gibi oyunlarda kullanılması bir facia olur. 
- Optimizasyonu iyi düşünerek mantıklı bir şekilde kodlanmalıdır yoksa optimizasyon sorunu yaşanır.
- Bazı düğümler bulunmaz. Fakat C++ kodu ile Function Libary olarak eklenebilir.
- Kullanılan genel algoritmaları çalıştırmak zordur. ("Baloncuk Sıralama, Hızlı sıralama gibi...")

C++ Avantajları:
+ Blueprintlere göre daha hızlı ve efektif çalışır.
+ Algoritmalar efektif çalışır. ("Binary Search, Heap Sort" gibi...)
+ Daha detaylı bir yapıya sahiptir.  
+ Başka bir statik kütüphaneyi veya başlık dosyalarını ekleyip, Unreal Engineyi genişletebilirsiniz.
+ Pluginleri efektif bir şekilde kullanabilrisiniz
+ UE ait şablon sınıfları vardır genellikle "T" ile başlar. Bunlar oldukça yararlıdır.

C++ Dezavantajları:
- Kullanıcı arayüzü(UI) oluşturmak için USlate sınıfını anlamak ve kullanmak zordur.
- Motorun sınıflarını ve yapılarını öğrenme seviyesi yüksek olabilir.
- Programlama bilmeyen birisi için C++ dilini öğrenmesi zordur.
- Programlama bilmeyen birisinin elinde saatli bir bombadır. (Umarım ki uzay boşluğuna fırlatabilir!)

Programlamanın temel mantığını bilerek, "Blueprint" sistemi ile ile hiçbir kod yazmadan, düğümleri birbirine bağlayarak istediğiniz oyunu yapabilirsiniz.
NOT!!!: C++ blueprintlere göre daha efektiftir ve optimizasyon sorunu yaratmaz. Konferanslarda kendini bilmez birileri blueprintlerin daha iyi ve efektif olduğunu söylemiş bu tamamen kocaman bir yalan.
NOT2: Avantajları ve dezavantajları ekledim.
 
dyanikoglu' Alıntı:

Hayır blueprintler ile basit bir şekilde oyun yapabilirsin. Tek sorun eğer oyun mekaniklerini doğru bir şekilde oyuna aktaramazsan optimizasyon sorunu yaşayabilirsin. Blueprint projenize gerektiği zaman "C++ sınıfları" ekleyerek genişletebilirsiniz(Fonksiyon Kütüphaneleri gibi). Blueprintlerde sıklıkla kullanılan algoritmalar efektif değildir ("hızlı sıralama veya baloncuk sıralama gibi"). Çok oyunculu bir oyun yapacaksanız C++ ile projeyi başlatmak en mantıklıdır.

Sadece temel programlama yeteneklerine sahip olun ve vasat derecede matematik bilirseniz blueprintler ile AAA ve çok oyunculu çevrimiçi oyunlar dışında istediğiniz tipte(FPS, TPS, Puzzle, Kart Oyunları, Hayatta Kalma...) vb oyunları sadece düğümleri bağlayarak yapabilirsiniz.
 
[UETR]Khubur' Alıntı:
dyanikoglu' Alıntı:

Hayır blueprintler ile basit bir şekilde oyun yapabilirsin. Tek sorun eğer oyun mekaniklerini doğru bir şekilde oyuna aktaramazsan optimizasyon sorunu yaşayabilirsin. Blueprint projenize gerektiği zaman "C++ sınıfları" ekleyerek genişletebilirsiniz(Fonksiyon Kütüphaneleri gibi). Blueprintlerde sıklıkla kullanılan algoritmalar efektif değildir ("hızlı sıralama veya baloncuk sıralama gibi"). Çok oyunculu bir oyun yapacaksanız C++ ile projeyi başlatmak en mantıklıdır.

Sadece temel programlama yeteneklerine sahip olun ve vasat derecede matematik bilirseniz blueprintler ile AAA ve çok oyunculu çevrimiçi oyunlar dışında istediğiniz tipte(FPS, TPS, Puzzle, Kart Oyunları, Hayatta Kalma...) vb oyunları sadece düğümleri bağlayarak yapabilirsiniz.

Burada kodlama bilgisinden kastın sadece bir dili bilmek olduğunu sanmıyorum. Bu işin temeli problem belirlemek ve problemi çözen uygun algoritmayı oyunu yormayacak şekilde oyuna yerleştirmek.

Programlama dünyasına el bile değmeden olacak bir iş değil Unreal ile çalışmak bence. Ha çalışılırsa, youtube'dan video izle aynısını yap mantığını geçemez yapılacak işler.

Eğer programlama ve oyun geliştirme ile daha önce bir deneyiminiz yoksa biraz C# bakıp Unity ile başlangıç yapmanızı tavsiye ederim. Hem tutorial'ları daha çok ve anlaşılır, hem de oyun motoru Unreal'e göre daha sade. Bir süre kendinizi geliştirdikten sonra zaten Unity yetersiz gelmeye başlayacaktır, işte o zaman Unreal ile çalışmanız daha mantıklı olur.
 
dyanikoglu' Alıntı:
[UETR]Khubur' Alıntı:
Hayır blueprintler ile basit bir şekilde oyun yapabilirsin. Tek sorun eğer oyun mekaniklerini doğru bir şekilde oyuna aktaramazsan optimizasyon sorunu yaşayabilirsin. Blueprint projenize gerektiği zaman "C++ sınıfları" ekleyerek genişletebilirsiniz(Fonksiyon Kütüphaneleri gibi). Blueprintlerde sıklıkla kullanılan algoritmalar efektif değildir ("hızlı sıralama veya baloncuk sıralama gibi"). Çok oyunculu bir oyun yapacaksanız C++ ile projeyi başlatmak en mantıklıdır.

Sadece temel programlama yeteneklerine sahip olun ve vasat derecede matematik bilirseniz blueprintler ile AAA ve çok oyunculu çevrimiçi oyunlar dışında istediğiniz tipte(FPS, TPS, Puzzle, Kart Oyunları, Hayatta Kalma...) vb oyunları sadece düğümleri bağlayarak yapabilirsiniz.

Burada kodlama bilgisinden kastın sadece bir dili bilmek olduğunu sanmıyorum. Bu işin temeli problem belirlemek ve problemi çözen uygun algoritmayı oyunu yormayacak şekilde oyuna yerleştirmek.

Programlama dünyasına el bile değmeden olacak bir iş değil Unreal ile çalışmak bence. Ha çalışılırsa, youtube'dan video izle aynısını yap mantığını geçemez yapılacak işler.

Eğer programlama ve oyun geliştirme ile daha önce bir deneyiminiz yoksa biraz C# bakıp Unity ile başlangıç yapmanızı tavsiye ederim. Hem tutorial'ları daha çok ve anlaşılır, hem de oyun motoru Unreal'e göre daha sade. Bir süre kendinizi geliştirdikten sonra zaten Unity yetersiz gelmeye başlayacaktır, işte o zaman Unreal ile çalışmanız daha mantıklı olur.

Ne dediğini tam olarak anlayabilmiş değilim. Benim demek istediğim basit bir şekilde programlama yeteneğinizin olması lazım ki blueprintleri kullanırken ne yaptığını anlasın.
Dillerin farklı olmasının çok önemi yok fakat C veya C++ bilmesi çok işine yarayacaktır. C++ oldukça zor bir dil değildir sadece başlayanlar için biraz kafa karıştırıcıdır.

Örnek vermek gerekirse: BP içerisinde Cast işlemi uygularken  C++ da bulunan static_cast, dynamic_cast, const_cast, reintrepert_cast gibi tip dönüştürme("type conversion") işlemlerini biliyorsanız, Cast işlemini blueprintlerle kullanırken işlerin nasıl yürüdüğünü çok kolayca anlarsınız. Mesela dynamic_cast katılım aldığı bir sınıftan yaratılan örneğin dönüşümü sağlanırken bir göstergeç("pointer") ile if döngüsü içerisinde boş göstergeç("nullptr") döndürüp döndürmediği kontrol edilmelidir. Blueprintlerde katılım alınan sınıftan Cast ettikten sonra düğümü var olan bir referansın bulunup bulunmadığını döndürür yani bir nevi programlama deyimiyle var olan tipin "nullptr" olup olmadığını kontrol eder(IsValid düğümü ile cast işleminin geçerli olup olmadığını sağlayabilirsiniz). Veya TArray<> Unreal Engine ait bir şablon kütüphanesidir ve dinamik olarak genişleyen konteynırlardan birisi olan STL(Standart Şablon Kütüphanesi) std::vector<> ile çok benzerlik gösterir. TArray şablonunu blueprintler ile çok kolayca kullanabilir vs... Aynı şeyler std::map veya bütün CPP estetikleri gibi =)

Programlama konusuna gelirsek blueprintler ile aklınıza gelen her şeyi yapabilirsiniz. Bu size bağlıdır. Eğitim serilerini izleyip kendi yarattığınız malzemelerle harika işler ortaya koyabilirsiniz. Tabii ki performans açısıdan C++ daha efektiftir. Fakat blueprintleri ezmeyin onlar kötü değil =) gayet hoşlar ve prototip oluşturmak için harika bir süzgeçler!

Valla ben uzun zamandır C++ ile programlamaktan ve Unreal Engine kullanmaktan oldukça mutluyum. Oyun motorunun yapılacak olan işin önemi açısından çok önemli olduğunu düşünmüyorum.
Önemli olan ekibin kalitesi ve doğru bir zamanda yaptığı doğru iş gücü diye bana daha mantıklı geliyor. Her iki oyun motoru da harika ve harika olmaya devam edecek.
 
[UETR]Khubur' Alıntı:
dyanikoglu' Alıntı:
Burada kodlama bilgisinden kastın sadece bir dili bilmek olduğunu sanmıyorum. Bu işin temeli problem belirlemek ve problemi çözen uygun algoritmayı oyunu yormayacak şekilde oyuna yerleştirmek.

Programlama dünyasına el bile değmeden olacak bir iş değil Unreal ile çalışmak bence. Ha çalışılırsa, youtube'dan video izle aynısını yap mantığını geçemez yapılacak işler.

Eğer programlama ve oyun geliştirme ile daha önce bir deneyiminiz yoksa biraz C# bakıp Unity ile başlangıç yapmanızı tavsiye ederim. Hem tutorial'ları daha çok ve anlaşılır, hem de oyun motoru Unreal'e göre daha sade. Bir süre kendinizi geliştirdikten sonra zaten Unity yetersiz gelmeye başlayacaktır, işte o zaman Unreal ile çalışmanız daha mantıklı olur.

Ne dediğini tam olarak anlayabilmiş değilim. Benim demek istediğim basit bir şekilde programlama yeteneğinizin olması lazım ki blueprintleri kullanırken ne yaptığını anlasın.
Dillerin farklı olmasının çok önemi yok fakat C veya C++ bilmesi çok işine yarayacaktır. C++ oldukça zor bir dil değildir sadece başlayanlar için biraz kafa karıştırıcıdır.

Örnek vermek gerekirse: BP içerisinde Cast işlemi uygularken  C++ da bulunan static_cast, dynamic_cast, const_cast, reintrepert_cast gibi tip dönüştürme("type conversion") işlemlerini biliyorsanız, Cast işlemini blueprintlerle kullanırken işlerin nasıl yürüdüğünü çok kolayca anlarsınız. Mesela dynamic_cast katılım aldığı bir sınıftan yaratılan örneğin dönüşümü sağlanırken bir göstergeç("pointer") ile if döngüsü içerisinde boş göstergeç("nullptr") döndürüp döndürmediği kontrol edilmelidir. Blueprintlerde katılım alınan sınıftan Cast ettikten sonra düğümü var olan bir referansın bulunup bulunmadığını döndürür yani bir nevi programlama deyimiyle var olan tipin "nullptr" olup olmadığını kontrol eder. Veya TArray<veri tipi>; Unreal Engine ait bir şablon kütüphanesidir ve dinamik olarak genişleyen konteynırlardan birisi olan STL(Standart Şablon Kütüphanesi) std::vector<veri tipi> ile çok benzerlik gösterir. TArray şablonunu blueprintler ile çok kolayca kullanabilir vs... Aynı şeyler std::map veya bütün CPP estetikleri gibi =)

Programlama konusuna gelirsek blueprintler ile aklınıza gelen her şeyi yapabilirsiniz. Bu size bağlıdır. Eğitim serilerini izleyip kendi yarattığınız malzemelerle harika işler ortaya koyabilirsiniz. Tabii ki performans açısıdan C++ daha efektiftir. Fakat blueprintleri ezmeyin onlar kötü değil =) gayet hoşlar ve prototip oluşturmak için harika bir süzgeçler!

Valla ben uzun zamandır C++ ile programlamaktan ve Unreal Engine kullanmaktan oldukça mutluyum. Oyun motorunun yapılacak olan işin önemi açısından çok önemli olduğunu düşünmüyorum.
Önemli olan ekibin kalitesi ve doğru bir zamanda yaptığı doğru iş gücü diye bana daha mantıklı geliyor. Her iki oyun motoru da harika ve harika olmaya devam edecek.

Blueprint kötülemek değildi amacım. Evet blueprintler yeni başlayanlar için gayet kullanışlı. 

Benim demek istediğim hayatında hiç kod yazmamış, bir problem belirleyip bu problemi çözen bir algoritma oluşturmaya kafa yormamış birisinin blueprintler ile de zorlanacağını düşünmekteyim. Misal bir objeyi oyun içerisinde belli bir path üzerinde haraket ettirmek istedi daha yeni başlayan bir geliştirici, hangi fonksiyonları ne şekilde kullanacağını kafasında kuramadığı sürece blueprintmiş c++'mış bir önemi yok bence. Ha, kafasında kuramazsa ne olur, açar youtube'dan izler nasıl yapıldığını, ama bu da pek bir şey katmaz bence daha işin temelinde olduğu için geliştiricimiz.

Ben bu işlere girişmeden önce oturup python, c#, java gibi bir dil ile başlamayı önermekteyim hala.
 
NOT: C++, blueprintlere göre daha efektiftir ve optimizasyon sorunu yaratmaz. Konferanslarda kendini bilmez birileri blueprintlerin daha iyi ve efektif olduğunu söylemiş bu tamamen kocaman bir yalan. Üyelerin kafalarında daha iyi bir şekil oluşması için avantajlarını ve dezavantajlarını ilk mesajda ayrıca belirttim.