Programowanie gier/silników

0

Witam,

od pewnego czasu programuje swój własny silnik do gier na system Android.
Obecnie opakowałem w dosyć wygodny sposób OpenGL (tekstury, atlasy, animacje, multitouch, kontrola czasu, porzadana ilość fps etc.).

Niestety jednak dotarło do mnie ostatnio, że tak naprawde nigdy nie widziałem kodu silnika lub chociażby gry.
Z tego co znalazłem to większość z nim wykorzystuje wątki - co wg mnie nie jest najlepszym pomysłem (brak synchronizacji itp.).
Oczywiście nie neguje wątków całkowicie.

Zastanawiam się czy ktoś z Was nie zna przypadkiem czegokolwiek co wyjaśniało by jak tak naprawde to powinno wyglądać?
Z reguły jestem samoukiem, jednak w tego typu przypadku nie chciałbym tracić czasu, aby po pewnym czasie zaczynać projekt od nowa, bo o czymś po drodze zapomnialem lub jest napisane źle.

Nie chodzi mi o kontretny język, po prostu potrzebuję czegoś w rodzaju przewodnika. Przykładowo jak wywołać prostą animacje pojawiania się lub ukrywania menu (nie mam pojęcia czy użyć wątka, wykonywać co klatkę zmianę położenia o ile dana flaga jest aktywna czy coś zupełnie innego).

Z góry dzięki za pomoc ;)

0

Pisz docelowo gry, bedzie prosciej i przyjemniej.
Tj. Wymysl sobie jakas gre, zbadaj funkcjonalnosc i napisz pod ta gre mini-silnik. Przy nastepnej grze ulepszaj go i ulepszaj, testujac nowe rozwiazania, badajac osiagi etc. Wtedy jest calkiem duza szansa, ze wyjdzie z tego cos fajnego, bo a) bedziesz widzial owoce swojej pracy b) nie da sie zaprojektowac wszystkiego Od razu, a proces tworzenia oprogramowania jest kilkuletni.

Druga sprawa mozesz posciagac jakies silniki gier http://en.wikipedia.org/wiki/List_of_game_engines tu masz liste i zobaczyc jak oni tam rozwiazywali pewne rzeczy / co tam umiescili.

Po trzecie, ciezko jest mi sobie w dzisiejszych czasach wyobrazic pisanie programow jakichkolwiek bez znajomosci / uzycia watkow.

0

Podaje link do krótkiego artykułu na temat projektowania silnika do gry - format PDF:
http://www.cse.chalmers.se/edu/year/2012/course/TDA361/Designing%20a%20PC%20Game%20Engine.pdf

Najlepiej jak byś zaprojektował architekturę silnika gry, podzieli jakie klasy mają być od czego zależne, oraz jakie i jak mają wyglądać interfejsy, szablony itp., oraz jakie wzorce projektowe możesz wykorzystać przy tworzeniu silnika do gry. Wydaje mi się, że na początku przy takim dużym projekcie warto coś zaprojektować/rozrysować niż od razu tworzyć.

A tutaj masz filmiki na temat jak tworzyć grę:

0

Całą filozofię w C++ przy D3D znajdziesz w: "Graphics Programming with DirectX 9 Module I&II".
Świetna książka :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1