Archiwum

Posty oznaczone ‘Projekty’

Worklog: Encjaki

lipiec 22nd, 2009

Mam dobrą i złą wiadomość dla wszystkich, których zainteresował temat Encjaków. Po pierwsze, dobra: wróciłem do tematu i znów grzebię w kodzie. Po drugie, zła: to co wytworzyłem poprzednio średnio mi się już podoba i szykuje się małe refactoring. Innymi słowy: zamiast pisać nowe rzeczy, będę poprawiał stare…

Paweł Encjaki | , , , ,

Worklog: Encjaki

czerwiec 24th, 2009

Niestety prace nad Encjakami idą mi jak krew z nosa. W pracy zbliża się termin dużego wdrożenia nowego produktu, testy idą pełną parą i po całym dniu ‘napierdalania’ kodu nie mam po prostu sił do pracy nad własnymi projektami. Aczkolwiek, coś się dzieje. Przez ostatnie tygodnie powstał zarys silnika strony głównej i rejestracji.

O dalszych postępach będe informował jak będzie o czym informować…

Paweł Encjaki | , , , ,

Symulator ewolucji - Encjaki

czerwiec 7th, 2009

Kilka, a może kilkanaście, lat temu zafascynował mnie temat symulacji życia na komputerze. W jakiejś gazetce znalazłem opis programu symulującego rozwój populacji jednowymiarowych ‘form życia’: jak żyjątko ma w polu obok partnera, to sie rozmnaża, jak nie ma, to ginie. Pamiętam, iż nawet spróbowałem przenieść to na 2 wymiary, z możliwością poruszania się ‘żyjątek’ i tak dalej. Projekt padł i leżał.

Jakiś czas temu ponownie sięgnąłem do tematu i postanowiłem stworzyć ’symulator ewolucji’. Wiem, brzmi dumnie, choć coś w tym jest. Powoli, od pomysłu, przez próby zaczęły kształtować się Encjaki. Czym dokładnie są Encjaki trudno mi opisać w kilku zdaniach, ale spróbuję.

Jako ‘Pan i Władca’ otrzymujesz we władanie skrawek terenu podzielonego na pola. Każde pole charakteryzuje się dwoma parametrami: maksymalna ilość pożywienia (roślinności) jaka może się w nim znajdować i wartość przyrostu pożywienia (ile pożywienia przybędzie w polu po każdej turze). Swój teren możesz zasiedlić formami życia. Obecnie są to cztery gatunki:

  • Encjaki - średni roślinożerca (żywi się pożywieniem zebranym z pola w którym przebywa)
  • Ratompek - mały roślinożerca
  • Krambol - drapieżnik, żywi się Encjakami
  • Omorak - drapieżnik, żywi się Ratompkami

Podczas każdej tury (załóżmy, że dnia), każda forma życia wykonuje, lub próbuje wykonać jedną z czynności:

  • pożywić się - jeśli nie uda jej się nic zjeść, jej zdrowie spada, jeśli uda, zdrowie wzrasta
  • rozmożyć się - jeśli znajdzie drugiego osobnika swojego gatunku i oboje będą gotowe do rozrodu
  • zostać w polu w którym się znajduję
  • pójść na północ, południe, wschód lub zachód

Dwie pierwsze czynności są imperatywami i żyjątka nie mogą same decydować czy je wykonać czy nie. Pozostanie oraz przemieszczanie się to już zupełnie inna sprawa. Wszystkie żyjątka natura wyposażyła w prościutki móżdzek, a właściwie sieć neuronową reagującą na to, coś w okoł nich dzieje. Co więcej, to gracz decyduje jak żyjątka będą się zachowywać, gdyż posiada możliwość stworzenia wzrorca zachowań według którego działają żyjątka i nauczenia mózgów podejmowania decyzji.

Jakby tego było mało, żyjątka uczą się podczas swojego krótkiego życia. Jeśli podejmą jakąś decyzję, w następnej rundzie ta decyzja zostanie zweryfikowana. Podczas rozmanażania, potomki dziedziczą cechy po swoich rodzicach oraz mutują. W efekcie, kolejne generacje form życia różnią się od swoich poprzedników. Jeśli nowa cecha okaże się korzystna dla populacji, istenieje szansa, że zostanie utrwalowa w kolejnych pokoleniach. Jeśli nie, zaginie, lub populacja wpadnie w ślepą ścieżkę ewolucji i w efekcie wymrze.

Na dzień dziesiejszy gotowy jest engine Encjaków, to znaczy wszystkie funkcje związane z życiem opisanych gatunków. Trwają prace na interfejsem zarządzania populacją i funkcjami statystycznymi. Pozwolę sobie jeszcze nie pokazać screenów, gdyż jest na to zbyt wcześnie i nie chcę straszyć potencjalnych użytkowników. O postępach będe informował.

Paweł Encjaki | , , , ,

DIY - uchwyt do blendy

listopad 11th, 2008

Blenda dobra rzecz, blenda ma wadę: do blendy potrzeba asystenta lub statywu z odpowiednim uchwytem. Asystent czasami jest, czasami nie ma i nie ma kogo zaprosić do roli “oświetlacza”. Statyw oświetleniowy jakimś gigantycznym wydatkiem nie jest, ale specjalny uchwyt do blendy to wydatek już około 100zł. Jak dla mnie, zdecydowanie za dużo jak za kawałek rurki z dwoma klamerkami.

Podczas zakupów w jednym z marketów (nazwy nie wymienię, nie będę robił reklamy) natknąłem się na klamerki/klipsy do zamykania otwartych torebek (na przykład po czipsach). Lewy neuron pogadał chwilę z prawym neuronem i powstał prosty plan: z dwóch klamerek, drewnianej listwy, kilku wkrętów i taśmy izolacyjnej też da się zbudować uchwyt do blendy.

Sposób wykonania jest banalnie prosty:

  1. listwę przycinamy do długości większej o kilka centymetrów od średnicy blendy. Te dodatkowe centymetry posłużą do zamocowania klipsów
  2. dwa klipsy przykręcamy do listwy za pomocą wkrętów. Warto dać podkładki aby nie uszkodzić klipsów. Odległość pomiędzy klipsami powinna być taka, aby swobodnie można było przypiąć do nich blendę
  3. w moim uchwycie zdecydowałem się na mocowanie na uchwycie do parasolek, co znacznie uprościło konstrukcję: do mocowania wystarcza duży wkręt po środku listwy owinięty taśmą izolacyjną w celu zwiększenia jego średnicy ( i po części bezpieczeństwa)

I to tyle. Efekt końcowy wygląda tak:

Paweł Fotografia, Projekty, Wujek Dobra Rada | , , , ,

Pulsar Online: worklog

lipiec 10th, 2008

Może ktoś pamięta, ponad rok temu zacząłem prace nad grą internetową typu MMORPG pod tytułem Pulsar Online. Po dość długiej przerwie wróciłem do tematu. Niestety, gdy tylko zobaczyłem ukończone fragmenty kodu stwierdziłem, że coś tu nie halo i przez ponad 3 tygodnie w czasie wolnym przepisywałem to, co niby już działało. Teraz też działa, ale lepiej. Trochę ruszenia mózgownicą, kilka przydatnych klas w PHP (z dwóch jestem szczególnie dumny: klasa cache w danych sesji i klasa trochę upodobniająca MySQL do bazy obiektowej z automatyczną synchronizacją cache i bazy) i to co działało, działa dalej, tyle, że lepiej, szybciej i wygodniej się to oprogramowuje.

Anyway, powstały też nowe rzeczy:

  • mapa systemu
  • nawigacja i wyszukiwanie najkrótszej drogi do celu
  • podstawowe operacje na wyposażeniu i uzbrojeniu
  • inne drobne sprawy

Obecnie siedzę nad obsługą NPC. Drugi dzień męczę skrypt tworzący NPC na podstawie szablonów. Jeszcze kilka dni i choćby ta drobnostka będzie działać…

Paweł Pulsar Online, Zawodowo | , , , , ,

Switch to our mobile site