2007-02-26

Przerwa

Jutro z rana jadę do szpitala, na wycięcie migdałków. Wracam pod koniec tygodnia i potem mam wolne przez tydzień, które zamierzam wykorzystać częściowo na uczenie się do matury i oczywiście kodowanie ;) .

2007-02-21

Jeśli nie VSync to co?

Po kolejnych testach stwierdzam, że niski FPS nie jest winą VSynca. Teraz znowu jestem w kropce. Obsłużę w końcu wczytywanie mapek i wtedy zobaczę różnice w FPS'ach.

Po pewnych analizach i próbie określenia specyfikacji mojego prostego formatu opisu (wraz z formatem zasad opisu) doszedłem do wniosku, że nie potrzebuję tworzyć własnego formatu. Moje pomysły okazały się dość zbieżne z zamysłem Regedita w XNL2. Już przerobiłem eksporter na XNL2 i najprawdopodobniej od jutra będę kodził wczytywanie i wyświetlanie mapek.

Dostrzegam potrzebę spisania o co chodzi w moim projekcie, ogólnych założeń i jakiejś roadmapy, może zrobię to równocześnie z założeniem projektu na SourceForge.

2007-02-20

VSync

Dzisiaj dzięki kanałowi #warsztat i dodatkowym testom dowiedziałem się co powoduje u mnie małą ilość FPS'ów, wszystkiemu winien jest VSync.

SDL podobno ma domyślnie wyłączonego VSynca ale dla pewności ustawiłem odpowiedni atrybut (dostępny od wersji 1.2.10 SDL'a), który miał sprawić wyłączenie VSynca. Niestety nic to nie dało. Poszedłem krok dalej i uzyskałem informację o rozszerzeniach WGL (WGL_EXT_swap_control) i GLX (GLX_SGI_swap_control), mające zapewnić mi kontrolę nad VSynciem. Niestety rozszerzenie GLX nie pozwala wyłączyć VSynca...

Rozwiązania szukam dalej. Możliwe, że mam to jakoś nadrzędnie ustawione w systemie, więc w ustawieniach też tego poszukam. Nie chcę całkowicie pozbyć się VSynca, ale potrzebuję mieć możliwość wyłączenia go, dla łatwości badania wydajności.

2007-02-19

Pliki i pliczki

Dzisiaj wreszcie poprawiłem mierzenie czasu (szybki jestem, nie ma co :P).

Zastanawiam się nad takim ogólnym, prostym i malutkim formacikiem opisu, na styl plików Obj (no i przez to pośrednio MOQ). Posłużyłby on do plików konfiguracyjnych i map. Jest to powiązane z pewną koniecznością częściowej reorganizacji wczytywania danych oraz porządkiem w ustawieniach. Równocześnie zajmę się wczytywaniem plików MOQ.

Jestem dość rozczarowany ilością FPS'ów i nie mam pojęcia co może powodować tak niską wydajność. Jedno jest pewne - muszę zrobić więcej testów

Przez doświadczenia w Pythonie owładnęła mną chęć użycia go w dalszym etapie jako języka skryptowego dla gry. Udaje mi się na razie hamować te zbyt daleko idące zapędy.

Po moim dzisiejszym śnie (:>) i poprzednich przemyśleniach poważnie rozważam założenie projektu na SourceForge, głównie ze względu na Subversion :)

2007-02-18

Mija tydzień i...

...i nic. Wytłumaczę się krótko czemu nic nie pisałem przez tydzień. Po pierwsze zainstalowałem sobie (i musiałem się nacieszyć) Xfce 4.4. Po drugie testowałem sobie funkcje jakie oferuje Beryl zarówno pod XGL jak i pod AIGLX. No i wreszcie po trzecie myślałem, że pójdę do szpitala na usunięcie migdałków 15 lub 16 lutego i jakoś nie miałem ochoty robić czegoś nad czym prace musiałbym gwałtownie przerwać na parę dni. Od razu napiszę, że wstępny kolejny termin to 23 luty.

Całkowicie bezczynny jednak też nie byłem. Eksporter do MOQ jest w 95% ukończony (importer może poczekać :P) i na tym etapie spełnia najważniejsze zadania. Muszę przebudować obsługę meshy. Wtedy już będzie można zabrać się za prawdziwie interesujące zadania.

2007-02-10

Edycyjne boje: Reloaded

Skrobałem sobie swój własny edytor i szybko doszedłem do wniosku, że to nie ma sensu. Nie lubię robić takich pierdół a także wkurza mnie trochę FLTK...

Już słyszę te głosy z tyłu sali - "Trzeba było tak od razu". Cóż człowiek uczy się przez całe życie. Powstaje proste pytanie "W takim razie co z tym edytorem?", na które jest jedna prosta odpowiedź - plug-in do Blendera. Bazuję na skrypcie importu/eksportu plików Obj. Dzięki temu prawie skończyłem :) Czemu prawie, a nie już? Ano nie znam Pythona za bardzo... Nie, nie czytam teraz kursu Pythona, tylko uczę się bezpośrednio patrząc na kod i pomagając sobie dokumentacją Blendera. Muszę przyznać, że Python jest nawet całkiem fajny :D

Bazuję na skrypcie do plików Obj, bo zamierzam używać zmodyfikowanego formatu Obj. Mój format nazywa się: Queight's Modified Obj (MOQ). Modyfikacje to w sumie uproszczenia względem Obj:

  • dwuwymiarowe koordynaty wierzchołków
  • pozbycie się materiałów na rzecz nazwy tekstury :)
  • okrojenie struktury grup
Wiem, że to co tu napisałem brzmi trochę chaotycznie, więc w paru słowach: MOQ to uproszczony i przystosowany do 2d OBJ.

Jednak ostatecznie nie oznacza to, że nie zrobię swojego edytora. Najprawdopodobniej zrobię go, ale jego rola ograniczy się do rzeczy związanych ze scenariuszem i mechaniką gry (chociażby zaznaczanie colliderów). Chyba, że się nakręcę i wyprodukuję odpowiedni plug-in do Blendera, jeżeli w ogóle da się zrobić coś takiego.

2007-02-07

Edycyjne boje

Ostatecznie zdecydowałem się na zrobienie własnego edytora z użyciem FLTK. Dlaczego? Sam do końca nie jestem pewien :) Jedno wiem na pewno - zapewni mi to łatwe wprowadzenie elementów ściśle dotyczących logiki gry. Z czasem ten edytor mógłby stać się dla mnie bazą do pisania innych edytorów.

2007-02-03

Wiele pracy

Ostatnimi czasy mam do zrobienia pewną stronę internetową, więc mam trochę mniej czasu na prawdziwe kodowanie. Strona wychodzi już całkiem nieźle a to za sprawą naprawdę wspaniałego CMS'a jakim jest Drupal. Parę rzeczy najprawdopodobniej będę zmuszony zrobić we własnym zakresie. Ostatecznie będę adminem strony, co również zabierze troszkę (ale o wiele mniej) czasu

Dzisiaj postanowiłem porobić też coś dookoła projektu. Edytor map. Mam tu praktycznie 3 możliwości:

  1. Napisać od zera
  2. Zrobić wtyczkę do np. Blendera
  3. Przerobić jakiś istniejący opensource'owy edytor
Jeżeli załatwię sprawę tworzenia map, to bardzo szybko będę mógł je wyświetlić. Dzięki temu wizualnie sprawy pójdą ostro do przodu i będzie naprawdę co pokazać. Wydaje mi się, że najlepszym wyborem będzie 1 i po części 2.

Chciałbym mieć już coś więcej na IGK, które jest już za....