sobota, 19 maja 2012

Futuristic World

Tak, następna gra :) A dlaczego ? Bo teraz mam zajawkę na strategie kosmiczną ;)
A przy okazji będę musiał obczaić path finding, więc jak zwykle nauczę się nowych rzeczy.

Na razie w większej mierze zajmowałem się generowanie "wysp" / "planet" - jest 10 możliwości generowanie wysp, 0 - wyspy malutkie i jest ich b. dużo, 9 - wyspy ogromne, ale jest ich mało. Mapa ma wymiary 1000x1000 (raczej taka starczy :P), a planuję osiedlanie się nowych form życia na wyspach real-time, automatycznie, wiec jak będzie się nam dobrze grało to gra starczy na wiele godzin rozgrywki :)

Wyspy wygenerowane z numerkiem "9":

Z numerkiem "7":

Oraz z numerkiem "3":


Oczywiście widok (oddalenie) który tutaj widać ma 2%, żeby ująć jak najwięcej wysp, lecz wtedy FPS wynosi około 1-2.. Ale gra wtedy sprawdza każdy element mapy (czy znajduje się kafelek z planetą) więc jest to 1 mln elementów do sprawdzenia.. Chciałbym zrobić tak, aby przy coraz większym oddaleniu nie sprawdzać każdego elementu, tylko np co drugi, trzeci, piaty, dziesiąty itd, na pewno przyspieszyłoby to grę.

Wspomniałem też o path-finding, a to dlatego że będzie można tworzyć jednostki latające - statki kosmiczne - oraz jednostki naziemne - wojowników i robotników. Wojownicy oczywiście będą walczyć, a robotnicy budować "domy" - aby można było tworzyć jeszcze więcej jednostek. Być może - raczej tak, ale muszę to jeszcze przemyśleć - robotnicy będą zbierać surowce itd. I tutaj szukanie ścieżki mi się przyda. 
Oczywiście fajnie by było stworzyć serwer z takimi światami i móc grać, tworzyć cywilizacje z innymi graczami... Eh ta sieć! :)


Dobra, to jeszcze na dokładkę zapodam screena z wyścigówki:

Póki co, można driftować na zakrętach hehe :) Ten kwadrat i kółko to tylko do pewnych testów. Te biało-czerwone paski są generowane automatycznie, dlatego są jeszcze nieraz bugi :)
A wyścigi te nie będą zwykłymi wyścigami, tylko wyścigami nastawionymi na rozróbę ! Będzie kilka różnych trybów.

Do zobaczenia!

niedziela, 6 maja 2012

Litershire

Gra na konkurs skończona ;)
Zapraszam do ściągania, istnieją 2 wersje - z dźwiękiem oraz bez dźwięku.
Linki do ściągnięcia:
[BRAK DŹWIEKU] http://speedy.sh/k6dKD/Gra-na-compo-audio-no.rar
[Z DŹWIĘKIEM] http://speedy.sh/NPVA3/Gra-na-compo-audio-yes.rar

Nie jest to taka typowa platformówka, bowiem nie skaczemy tutaj po platformach, lecz idziemy cały czas prosto - możemy jedynie skoczyć lub zawisnąć. Wszystko po to, aby zestrzelić wszystkich literkowych przeciwników. Do dyspozycji mamy jeszcze 3 bonusy - spowolnienie czasu (tutaj lepsza jest gra z dźwiękiem, więc proponuję tą ściągnąć), zabójcze pociski (pociski 2x mocniejsze) oraz ochrona gracza (nie tracimy życia). Istnieje "dynamiczne niebo" - jest dzień i noc, lecz można to wyłączyć. Istnieją 3 poziomy trudności: łatwy, średni, trudny; na każdym z nich dostajemy odpowiednią ilość punktów za zniszczonego przeciwnika.
To by było na tyle, jeszcze raz zachęcam do ściągnięcia, przetestowania i napisania w komentarzu jak się podoba :)

Gra zajęła 3. miejsce na 16 prac !
(http://forum.warsztat.gd/index.php?topic=24977.135)





sobota, 28 kwietnia 2012

Compo i gry

Już po egzaminach gimnazjalnych, więc można wrócić do kodzenia :)
Na początek: http://warsztat.gd/news/850/compo_maj_2012
Właśnie piszę gierkę na ten konkurs, po 2 godzinach udało mi się napisać to:


Tekst może być sprite'm, więc mam nadzieję, że jest to poprawne :P
Zachęcam wszystkich programistów gier do wzięcia udziału :)

Ogólnie taka ładna pogoda jest, że w domu praktycznie jestem wieczorem. W między czasie piszę też taką o to gierkę:



W grze sterujemy myszką tą czerwoną kropką i nie możemy najechać nią na ten czarny kolor. Musimy dojść do wyjścia (które jeszcze nie jest zrobione), a po drodze zbierać gwiazdki, które pozwolą nam odblokować kolejny rozdział :) Będą też różne elementy ruchowe, wizualne itd.. ;)

piątek, 13 kwietnia 2012

Java?

Otóż dzisiaj stwierdziłem, że co to za programista, gdy potrafi posługiwać się tylko w jednym języku :) Tak jakoś pomyślałem o Minecrafcie i postanowiłem, że zerknę na tę Javę. Tak się złożyło, że w sumie zleciało całe popołudnie..
Na razie zaznajomiłem się z podstawami i jej ogólną obiektowością, przy czym bardzo szybko mi to szło - Java jest bardzo, ale to bardzo podobna do C++ patrząc na składnię. Oczywiście, różni się wieloma rzeczami, ale naprawdę, gdy ją obczajałem, to wszystko zapamiętywałem migiem. Niedługo może udostępnię tutaj "owoce mojej pracy" w Java hehe :)
Szczerze mówiąc, to najistotniejszą różnicą między C++ i Javą jest obiektowość - Java jest w pełni obiektowa, natomiast C++ nie jest (w każdym bądź razie kod w C++ możemy napisać strukturalnie). Ale pare linijek pisania i już się przyzwyczajasz ;)

Podsumowując, piszesz i umiesz w dobrym stopniu C++ ? Spróbuj popisać w Java. Piszesz i umiesz w dobrym stopniu Javę? Spróbuj popisać w C++. Naprawdę łatwo się przyzwyczaić :)

wtorek, 3 kwietnia 2012

SeaEditor2D beta - do ściągnięcia :)

Tak jak powiedziałem, tak też zrobiłem :)

Najpierw zdjęcie, później opis i na końcu link do ściągnięcia.




* Obsługuje 4 warstwy
* Aby wczytywana bitmapa była obiektem, należy zaznaczyć checkboxa "Obiekt?", przezroczysty kolor to kolor rgb 255,0,255
    - W następnej wersji będzie możliwość zmiany kanału alpha
* Rozmiar mapy to 500x500
    - W następnej wersji będzie możliwość zmiany jej rozmiaru
* Wyświetlanie (bądź nie) siatki na mapie
    - Troche zamula przy jej wyświetlaniu (u mnie 600 FPS bez, 100-200 FPS z siatką), więc trzeba to zoptymalizować
* Zapis, odczyt mapy.
* W czasie rzeczywistym (co około minutę?) zapisywana jest mapa "backupMap". Kiedy nastąpi jakikolwiek crash, wyłączenie komputera, cokolwiek, będzie można później tą mapę odczytać - a więc nie stracisz swojej mapy .
    - Usuwana jest ona przy wyłączeniu edytora (w normalny sposób).
* Swobodne dodawanie kafelków
    - Na razie max 43, w następnej wersji zrobię suwak, a co za tym idzie, będzie można dodawać więcej kafelków
    - Musiałbym dodać też usuwanie tych kafelków
* Regulowany rozmiar pędzla (rozmiar 50 to automatycznie cała mapa)

# Całkowita obsługa obiektów, tj. swobodne ich ustawianie zrobię w następnej wersji :)