Archiwum dla tagu rendering

Wysłany dnia 20 września 2010 o godzinie 21:11. Skomentuj!, kategorie: Implementacja, Kingdoms Clash.NET , tagi: .

Zacząłem pisać grę. I to nie „na żarty”. Ku mojemu zaskoczeniu i początkowym problemom(nie wiedziałem, za co się zabrać) idzie całkiem sprawnie. Po kilku godzinach przemyśleń „od czego zacząć” zacząłem pisać… Na początku przygotowałem sobie przykładową klasę nacji i jednostki, co od razu pozwoliło mi poprawić interfejsy, które wykorzystywały. Zaraz po zaimplementowaniu nie użyłem ich, bo… nie widziałem jak ;) Od razu wyświetlić? Nie mam jak, a zresztą, po co? Postanowiłem przerzucić się na chwilę na coś innego – mapy. Czytaj dalej…

Wysłany dnia 05 września 2010 o godzinie 15:44. Komentarzy: 1, kategorie: Kingdoms Clash.NET, Projektowanie , tagi: , , , , .

Koniec teorii, czas na praktykę. Postaram się opisać teraz jak to wszystko zorganizowałem, czego użyłem i co przemawiało za tym, a nie innym sposobem.

Na wstępie chciałbym również uprzedzić, że pisanie w najbliższym czasie zwolni. Postaram się sukcesywnie pisać o projekcie i pisać go samego, lecz nowa szkoła robi swoje ;)

Starałem się zaprojektować silnik tak, by był dość elastyczny i bardzo mały – zawierał tylko to, czego potrzeba i nic więcej. Wydaje mi się, że osiągnąłem to, co chciałem. Silnik, na dzień dzisiejszy, nie udostępnia wiele, lecz jest to na tyle solidna podstawa, by móc już pisać na tym grę(co mam zamiar w najbliższych dniach zacząć). Chciałem sprawdzić czy jest zdatny do użytku i napisałem na szybko bardzo prostą minigierkę(dostępną w repozytorium w gałęzi simple-game). Wynik jest zadowalający – działa tak jak powinno(po kilku poprawkach) i pisanie nie męczy ;) Co prawda brakuje mu jeszcze wielu rzeczy, ale będę je dopisywał w miarę potrzeb. Czytaj dalej…

Wysłany dnia 27 sierpnia 2010 o godzinie 15:15. Skomentuj!, kategorie: Kingdoms Clash.NET, Projektowanie , tagi: , .

Decydując się na wydzielenie silnika poza grę(i stworzenie go quasi uniwersalnym) musiałem zdecydować jak on będzie wyglądać i co będzie oferował. Nauczony poprzednimi próbami pisania silnika w C++, które nie przetrwały nawet jednej mojej gry, postanowiłem, że będzie oferował on minimum możliwości, jakie powinien oferować silnik i będzie w maksymalnym stopniu korzystał z tego, co oferują mi zewnętrzne biblioteki. Postawiłem sobie też za cel, by wszystkie podsystemy mojego endżajnu były stosunkowo niezależne od pozostałych.

Jak na razie jestem zadowolony z tego, co napisałem – projekty(wszystkie 4) na dzień dzisiejszy mają 3940 linii, z czego tylko 2354 to kod a poszczególne podsystemy są niezależne od siebie w stu procentach(przynajmniej w interfejsach, w implementacji, dla ułatwienia dalszego pisania, musiałem je „połączyć”).

Stanąłem też przed ważnymi wyborami – jak rozwiązać rendering, jak zorganizować „ekrany” i przechodzenie pomiędzy nimi, zasoby, „obiekty gry”. To nie był mój „pierwszy raz”, więc miałem, marne, bo marne, pojęcie jak to może wyglądać i jak sprawuje się w działaniu. Przedstawię teraz te sposoby, na które wpadłem w czeluściach Internetu lub to, co sam wymyśliłem i tym samym rozpoczynam „cykl” o architekturze ;)

Czytaj dalej…