-
Notifications
You must be signed in to change notification settings - Fork 0
/
plany_i_nadzieje.txt
78 lines (65 loc) · 3.92 KB
/
plany_i_nadzieje.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Czyli co jest do zrobienia!!!
Do wymyślenia:
- nowe struktury obiektów gotowe do instancjonowania, interpolowania położeń, obsługi gry sieciowej oraz
wykorzystania wielu procesorów
- obsługa gry sieciowej
- architektura wielowątkowa
ok realizacja instancjonowania obiektów
- tworzenie dialogów i grafów dialogów albo grafów wyborów. Najlepiej, żeby dało się to robić gdzieś na
zewnątrz, a potem importować
- drzewa behawioralne
- maszyny stanów
- optymalny system dodawania obiektów do silnika i do poszczególnych modułów (oczywiście można sprawić,
że trzeba by wywołać tysiąc funkcji dla każdego dodawanego obiektu, ale tego nie chcemy)
- sposób tworzenia GamePlaya, trzeba dodać jakieś nowe rozwiązania, być może same eventy nie wystarczą
albo po prostu będą niewygodne.
- deffered shading
- renderowanie wieloprzebiegowe
- przewidwywanie czasu, w którym pojawi się następna klatka - synchronizacja z monitorem + dodanie pobierania czasu tuż przed interpolacją
ok robienie statystyk czasu poświęconego na liczenie poszczególnych czynności silnika
- obiekty złożone - dziecko dziedziczy ruch po rodzicu, możliwość ustawienia pivota (?)
- kompilowanie projektu pod WindowsPhone, WindowsStoreApp (jeżeli da się to zrobić z minimalnymi przeróbkami)
- odtwarzanie dźwięków (Problemem jest sytuacja, w której odtwarzamy dźwięk w reakcji na uderzenie pocisku. Dostęp musi być
z poziomu obiektu reprezentującego pocisk.)
- struktury pod Level of Detailes dla meshy
Do napisania:
- wszystko to co zostanie wymyślone + reszta poniżej
- optymalizacja danych pobranych z pliku modelu (klasa Model3DFromFile)
- poprawienie wyświetlania w tym:
- użycie brył kolizji w celu wyeliminowania obiektów niewidocznych
- napisanie algorytmu, który najlepiej wykorzysta optymalizację w klasie Model3DFormFile)
ok interpolowanie położeń i rotacji obiektów (do tego trzeba mieć wymyślone nowe struktury)
- użycie instancjonowanych obiektów (do tego trzeba wymyśleć nowe struktury)
- system do tworzenia lightmap
- tablica hashująca dla obiektów przechowywanych w silniku, z ułatwieniem dostępu do wskaźników
na obiekty w poszczególnych modułach
- stworzenie interfejsu, dzięki któremu można będzie używać silnika z klas GamePlay (a nie tak jak teraz,
że jest funkcja test wywoływana w klasie engine, która ustawia testową scenę
- DirectXMath streaming - użycie funkcji, do strumieniowego przetwarzania danych tam gdzie się da
- instancjonowanie obiektów
- FBXLoader - wczytywanie meshy w trybie indeksowanym (w tej chwili są wczytywane jako TRIANGLE_LIST - marnotrawstwo)
Do przeczytania, dowiedzenia się, ogarnięcia, zorientowania, zrozumienia itd:
- animacja szkieletowa
- język skryptowy LUA (być może jakieś zewnętrzne narzędzia używają, więc warto wiedzieć czy się przyda)
ok DirectX 11
- DirectX 12
ok instancjonowanie obiektów w DirectX
- pomyśleć czy nie da się rozszerzyć możliwości kompilacji gier dla innych platform (xbox, playstation )
- pomyśleć czy nie lepiej obsługiwać DirectInput w trybie buforowanym, zamiast dostępu do całej klawiatury
- pomyśleć o Android NDK
//====================================================================================//
DirectXGUI
Do wymyślenia:
- tworzenie GUI, dostępne kontrolki i jak to wszystko ma działać
- obsługa urządzeń wejściowych (w połączeniu z GUI)
- stworzenie parsera do wczytywania GUI z plików XML (http://pugixml.org/)
- renderowanie tylko gdy konieczne (renderowanie do tekstury, użycie rect scissor itd.)
Do napisania:
- napisanie definicji istniejących interfejsów kontrolek
//====================================================================================//
Edytor Scen
- system, w którym miałyby być tworzone lightmapy. Ponieważ do tego potrzebna jest wiedza o wszystkich
obiektach statycznych w danej scenie, to aż się prosi, żeby zrobić jakiś edytor scen, z którego będzie
można potem sceny importować do silnika, a nie jest to raczej mała rzecz, więc trzeba to najlepiej jak się
da przemyśleć)
- optymalizacja meshy, tworzenie LODów