Autor Wątek: Budowa Silnika Gry  (Przeczytany 18976 razy)

Offline MoHeR

  • Użytkownik

# Listopad 30, 2012, 20:28:56
Jesli chcesz wiedziec, czego Twoj silnik potrzebuje, to zacznij pisac gre i dodawaj do silnika to, czego aktualnie potrzebujesz :P Jesli skonczysz ta gre, to wiesz, ze masz wszystko, co potrzebne, aby napisac gre :P

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline XPietrucha

  • Użytkownik

# Listopad 30, 2012, 20:37:04
Pomysł fajny, tylko nie wiem czy u mnie to wyjdzie dodawać różne rzeczy podczas pracy. Zawsze robiłem najpierw projekt, lub cokolwiek, dopiero potem na tym tworzyłem (kiedy już miałem tak fajnie z górki).

Offline mihu

  • Użytkownik
    • mihu

# Listopad 30, 2012, 20:42:54
Jesli chcesz wiedziec, czego Twoj silnik potrzebuje, to zacznij pisac gre i dodawaj do silnika to, czego aktualnie potrzebujesz :P Jesli skonczysz ta gre, to wiesz, ze masz wszystko, co potrzebne, aby napisac gre :P
+1.

Cytuj
To co mi poradzacie ?
pisać od razu grę, bez silinika ?
Co rozumiesz przez pisanie gry bez silnika? Zawsze tworzy że jakąś część silnikową (chyba że masz na myśli użycie gotowego middleware). Linia między grą a silnikiem może się oczywiście rozmywać i nie jest to nic złego. Po prostu piszcie grę. Zestaw niskopoziomowych funkcjonalności, które powstaną, można nazywać silnikiem gry (jeśli koniecznie chcesz tej nazwy używać).
Jeśli zamierzacie tworzyć grę, to równoległe pisanie silnika, który z założenia ma być odseparowany, uniwersalny (a nie dostosowany pod aktualny projekt) to w waszej sytuacji (i pewnie w prawie każdej innej) automatyczne skazywanie się na niepowodzenie.

Offline 11

  • Użytkownik

# Listopad 30, 2012, 20:44:54
To co mi poradzacie ?
pisać od razu grę, bez silinika ?
Pisać grę, a w trakcie pisania elementy, które należą do silnika (są na tyle generalne, że da się używać w innym projekcie) wrzucać do osobnego modułu.

Offline Cerberus

  • Użytkownik
    • Moja strona

  • +1
# Listopad 30, 2012, 20:51:28
Mocno polecam Ci ściągnąć UDK i pobawić się z tym chociaż trochę. Zrób mapkę z dwoma domkami i górką, zaskryptuj w kismecie włącznik światła w ciemnym pokoju, w unreal scripcie zrób własny rodzaj broni (dziedziczący oczywiście po już istniejącym, a niech się tylko fireratem różni). To Ci może dać jakieś pojęcie, jak wygląda praca na gotowym silniku.

Ta Twoja rozpiska potrzebnych rzeczy nie wygląda źle, z ważnych rzeczy do brakuje Ci zarządzania gameplayam i obiektami gry (czyli skryptowanie najpewniej), jakiś AI, jakaś fizyka (podpiąć zewnętrzna bibliotekę, nawet nie myśl żeby zrobić inaczej, ale to trzeba zrobić na początku) no i animacje. Generalnie zasada jest taka, że jeśli na czymś się znasz, zrobienie tego zajmie 3 razy więcej czasu niż zakładasz. A jeśli się nie znasz, 8 razy więcej ;)

Żeby to przedsięwzięcie miało szanse powodzenia, to zaprojektuj sobie ten silnik, ale w pierwszej kolejności rób tylko niezbędne rzeczy. Zaryzykuje stwierdzenie, że do zespołowego tworzenia bardziej rozbudowanej gry najważniejszy jest edytor plansz. Jak będziesz na etapie, że masz program, który wyświetla mapę, możesz wrzucić tam dwa sześciany i stożek, zapisać do pliku i odczytać po ponownym uruchomieniu, to już będzie solidna baza.

Offline rhdbisgrt

  • Użytkownik

# Listopad 30, 2012, 20:52:02
Witam wszystkich!

Jestem po raz pierwszy na forum, długo już śledzę warsztat ale dopiero
teraz postanowiłem poprosić was o radę.

Napisałem sobie swój Framework.

  • Obsługa Okna
  • Logger
  • Parser komend we własnej konsoli (ala. logger lub pomocnicze okno podczas sprawdzania błędów :D)
  • Tworzenie urządzenia Direct3D
  • Renderowanie Sceny
  • Rysowanie Prymitywów
  • Wczytywanie obiektów (modeli) z pliku

+ jeszcze napisałem w wolnych chwilach moduł matematyczny i pomocnicze struktury.


No to gratuluje, masz mw polowe ilosci lat ktore ja
osobiscie posiadam i wyniki mamy podobne, (bo ja tez kawalek wlasnego frameworka, para rzeczy przetrenowane & so)


Offline XPietrucha

  • Użytkownik

# Listopad 30, 2012, 20:56:23
@mihu
jeżeli kierowałeś to do mnie, to błędnie napisałeś o moim postanowieniu do silnika. Nie mam zamiaru pisać ogólnego, uniwersalnego silnika, tylko Silnika pod moją grę, którą mam zamiast ukończyć, a tak jak napisałeś silnik tak czy siak będzie napisany, czy to zrobimy jawnie (sami go napiszemy świadomie), czy napiszemy go w formie niejawnej podczas tworzenia gry, tylko tutaj według mnie inne jest jak to będzie napisane.

Ponieważ myśląc nad Silnikiem z ogólu będziemy myśleć nad tym jak on będzie wyglądał, jak będziemy na nim coś tworzyć, a tworząc grę będziemy robili zestawy funkcji i klas, które nam się przydadzą i pozwalają uporządkować kod.

Takie przynajmniej wg. mnie jest myślenie o tworzeniu gry, a silnika odłącznie.

@@
Właśnie zapomniałem, że razem z Silnikiem warto dołączyć (czytaj. Zrobić) Narzędzia ... typu Edytory, podstawa to Edytor Świata.
« Ostatnia zmiana: Listopad 30, 2012, 20:58:33 wysłana przez XPietrucha »

Offline XPietrucha

  • Użytkownik

# Listopad 30, 2012, 21:26:58
Pytania dot. Edytora.

W jakim języku napisać Edytor ? ... Bardziej wygodnym byłby C# z platformą .NET.
Renderer napisać w C++ ... Bardzo wydajny język, a sam Edytor (który nie potrzebuje wydajności,
a Ładny i Kompatybilny z każdym użytkownikiem Interfejs, który użytkownik będzie mógł dostosować)

Narysowałem i opisałem wstępnie jak miałby wyglądać właśnie ten Edytor. Napiszcie mi co można by w nim poprawić. (Przeczytajcie opisy, bo tam jest dużo więcej niż samo ustawienie okien).

Offline flexi

  • Użytkownik

# Listopad 30, 2012, 22:03:13
Rob w tym ci bedzie najwygodniej :-)

Offline Cerberus

  • Użytkownik
    • Moja strona

  • +1
# Listopad 30, 2012, 22:13:28
Edytor wraz z GUI też da radę napisać w cpp + qt albo wixwidget albo jeszcze coś innego.

Gorąco zachęcam do zrobienia researchu, najpierw przejrzyj gotowe i sprawdzone rozwiązania, potem projektuj swoje.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Listopad 30, 2012, 22:53:16
Z własnego doświadczenia: każda biblioteka GUI z którą się zetknąłem i która nie jest Immediate Mode jest na dłuższą metę PITA.

Offline Kos

  • Użytkownik
    • kos.gd

# Listopad 30, 2012, 22:58:24
Z mojego doświadczenia j.w., może poza "która nie jest Immediate Mode" :-).

Offline Paweł

  • Użytkownik

# Listopad 30, 2012, 22:58:49
co to znaczy pita?

Offline 11

  • Użytkownik

# Listopad 30, 2012, 22:59:50
Pain In The Ass?

Offline Paweł

  • Użytkownik

# Listopad 30, 2012, 23:19:25
No, muszę zgodzić się z Kosem, próbowałem imgui np. tu: http://warsztat.gd/screen/9482/gui_na_ukonczeniu ale też lekko z tym nie było, a chcąc robić layoutery i tak trzeba znać rozmiary kontrolek w kontenerze, czyli trzeba je i tak przechowywać kontrolki po stronie gui.