Autor Wątek: Survive  (Przeczytany 8473 razy)

Offline Liosan

  • Moderator

  • +3
# Lipiec 30, 2013, 10:09:46
Survive to strategia turowa w post-apokaliptycznym świecie. Zadaniem gracza będzie przydzielanie zadań małej grupce ludzi, którzy właśnie wynurzyli się z bunkra po długiej hibernacji; ich celem jest zbudowanie funkcjonującej społeczności z szansą na przeżycie.

Widok będzie izometryczny, z mapą podzieloną na kafle i prostą grafiką. Rozgrywka będzie trochę przypominała flashówkę Rebuild, trochę strategię King of Dragon Pass, a trochę planszówki typu worker placement (Pillars of the Earth chociażby). Na losowo generowanej mapie będzie można zwiedzać, szperać w poszukiwaniu zasobów, atakować i bronić się, rozwijać swój teren, technologie oraz ludzi, a także odkryć o co w zasadzie chodziło z tą apokalipsą. Rozgrywka stricte single-player, PvE.

Ambicje designu:
- chciałbym żeby gra dawała kilka w miarę niezależnych, luźno zdefiniowanych kierunków rozwoju (wojskowy, społeczno-rolniczy, technologiczny...), i mam nadzieję że nie wpakuję się w jakieś straszne zależności między nimi :)
- chciałbym, żeby gra angażowała gracza w historie które opowiada - postacie będą miały imiona, portrety, cechy charakteru i króciutkie biografie; będą między nimi relacje; przebieg misji i zdarzeń losowych będzie opisany tak, by gracz czuł wagę dokonywanych przez siebie wyborów.
- chciałbym, żeby gra umożliwiała szybkie rozgrywanie kolejnych tur, kilka krótkich decyzji za każdym razem, a jednocześnie dość brutalnie karała ewidentnie błędne decyzje
- chciałbym żeby gracz za każdym razem miał coś nowego do znalezienia, żeby większość kontentu była początkowo zablokowana, ale postępy i porażki gracza odblokowywały dostęp do kolejnych elementów, które można odkryć lub wybudować. Niejako pokrewny mechanizm był w Binding of Isaac.
- chciałbym, żeby gracz był łagodnie wprowadzany w grę - tzn różne elementy GUI pojawiają się wtedy, kiedy są potrzebne, nie wcześniej. Nie wyświetlamy "0" przy ikonce jakiegoś zasobu zaawansowanego tylko całkiem go chowamy; nie wyświetlamy okna technologii dopóki nie mamy labolatorium; etc.

Technologia: OpenFL + Haxe 3 + stablexui. Może będzie wersja na Flasha, Androida, Linuksa albo Maca, na pewno będzie wersja Windows.

Status implementacji:
- jakaś prosta mapka, z inicjalnymi budynkami, zasobami i obywatelami.
- obywatele pracują (przy budowie lub na farmach), jedzą jedzenie i zdobywają skilla.
- można wysłać kogoś na misję zbadania terenu, co nie ma żadnych konsekwencji :)
Niby mało, ale sporo roboty technicznej już jest - ta biblioteka do GUI ogarnięta, jakiś system eventów...

Na razie gra jest wyjątkowo i niemiłosiernie brzydka, więc screenów brak :) Nawet nie chciało mi się prostokącików rysować, więc grafiki są z neta.

Liosan

PS. Tytuł roboczy, pewnie przyjdzie mi kiedyś lepszy do głowy :)
« Ostatnia zmiana: Lipiec 30, 2013, 10:11:34 wysłana przez Liosan »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline zx81 (taxi_dr...

  • Użytkownik
    • Something Beautiful team

# Lipiec 30, 2013, 12:04:14
Brzmii bardzo fajnie. Tylko czasu masz bardzo malo.
na przyklad czarno widze zebys zdazyl z grafika. Trzymam kciuki.
To jest Twoj pierwszy projekt na wsoc2013 ?

Offline Liosan

  • Moderator

# Lipiec 31, 2013, 09:48:49
Pierwszy projekt i jedyny :) A czy zdążę z grafiką... no pewnie nie. Liczę na wyrozumiałość oceniających :) Na pewno postaram się żeby gra wyglądała lepiej niż obecnie, ale nie będę w to ładował jakiejś wielkiej pary.

Szczerze powiedziawszy, to jeśli chciałbym ciągnąć ten projekt bardziej "na poważnie", to czuję że nie opłaca mi się samemu robić grafiki. Połączenie sił z kimś wyspecjalizowanym w tym kierunku byłoby bardziej sensowne. No, ale to raczej pieśń przyszłości, na razie nie mam co pokazać :)

Liosan

Offline toxic

  • Użytkownik

# Lipiec 31, 2013, 15:58:58
Open source? Tak, żeby popatrzeć sobie od środka jak to całe "Haxe" wypada w praniu...

Offline Liosan

  • Moderator

# Sierpień 01, 2013, 12:09:43
Nie open-source, ale mogę Ci źródła podrzucić jak chcesz.

Ostatnie zmiany: ukryte kafle mapy, misja zwiadowcza je odkrywa, można przejmować nowe kafle. Ludzie giną z głodu.

Liosan

Offline toxic

  • Użytkownik

# Sierpień 01, 2013, 14:11:26
Dobre i to. A nie hostujesz przypadkiem gdzies kodu w internecie w sposob prywatny? Na jakims githubie czy innej assembli? Bo tak sobie mysle, ze mi wygodniej by bylo przez przegladarke sobie od czasu do czasu komit przejrzec (wiesz, w przerwie jak mi sie buduje projekt czy tez w ogolnym nastroju prokrastrynowania sie) i popaczeć co tam sie dzieje.

Offline dynax

  • Użytkownik

# Sierpień 01, 2013, 15:51:25
Super, tylko jak będziesz budował pod Maca to pamiętaj, że lepiej przestawić cały toolchain na clanga a nie g++. Granick ostatnio pisał, że mogą wyskakiwać dziwne błędy w hxcpp.

Offline Liosan

  • Moderator

# Sierpień 07, 2013, 12:15:01
Super, tylko jak będziesz budował pod Maca to pamiętaj, że lepiej przestawić cały toolchain na clanga a nie g++. Granick ostatnio pisał, że mogą wyskakiwać dziwne błędy w hxcpp.
Na razie to mam problem, że pod flashem gra działa inaczej... :) Konkretnie to GUI (stablexui) wariuje. Niedługo powalczymy, na razie sobie odpuściłem. Maca jeszcze nie próbowałem, ale dzięki za heads-up.

Ostatnie zmiany - można wysyłać ludzi, żeby zdobywali pożywienie lub inne zasoby. Dodałem też kilka nowych rodzajów kafli i budynków.

Liosan

Offline Liosan

  • Moderator

# Sierpień 23, 2013, 12:04:39
Ostatnio nie dodałem żadnych "poważnych" ficzerów, głównie usprawniałem działanie tego co jest. Jeden wyraźny dodatek to ekrany z tekstami i informacjami - jak ludzie wrócą z misji to wyświetla się potwierdzenie, podobnie jak skończy się budowanie budynku albo jeśli ktoś zginie z głodu. Są też teksty nawiązujące do fabuły - wyjaśniające skąd w ogóle ekipa wzięła się w tym bunkrze itp. Dodałem też sporo tekstów "pomocowych" - że tu drag-n-drop, że tu trzeba kliknąć etc. Oprócz tego są drobne usprawnienia generowania mapy, możliwość anulowania rozkazu budowania, możliwość przebudowywania budynków...

Największy challenge dla mnie w tej chwili - ogarnięcie tych wszystkich tekstów. Nie pisałem jeszcze gry z taką ilością tekstu, i zarządzanie nim - zarówno od strony organizacji zasobów jak i kodu - jest trudniejsze niż myślałem :) To fajne.

Wersja flashowa ciągle nie działa ale trochę mniej :) Oprócz wariującego GUI jest takie coś, że lokalnie działa ale po wgraniu na stronę jest czarno. Całkiem. Jak się poczeka długo długo, to ciągle jest czarno. Ale potem jak się przeładuje stronę, to już jest OK... jakiś problem z preloaderem albo coś? dynax, wiesz o co może chodzić?

Liosan

Offline dynax

  • Użytkownik

  • +1
# Sierpień 23, 2013, 12:13:36
Używasz jakiejś biblioteki do rysowania czy piszesz w gołym OpenFL? Jeśli używasz to włącz jakiś testowy preloader, może po prostu długo zasoby się ładują. Inna rzecz która przychodzi mi na myśl to złe umieszczenie animacji na scenie. Nie wiem jak to robisz ale ja lubię swfobject.js czyli to co jest w szablonach do AS3 od FlashDevelop. Dorzucę zipa jak nie masz. Wrzuć do tego folderu plik swf i pozmieniaj odpowiednie wartości w index.html. Po odpaleniu indexu w przeglądarce powinno być git.

Offline Liosan

  • Moderator

# Sierpień 23, 2013, 13:21:47
O, dzięki za template.zip, wygląda ładniej niż to co używałem. Nie pomogło ale używam tego :)

Zainteresowałem się preloaderem, i... no cóż, kluczowe było, że teraz w OpenFL preloader ma mieć swoją linię w pliku konfiguracyjnym nmml (swój węzeł <app>), bo jak jest doczepiony do <app> gdzie jest reszta opisu aplikacji to to nie działa. Weird. W każdym razie, teraz preloader się odpala, tylko nie wyświetla obrazka mimo że mu karzę :) I to też nic nie pomaga na czarność ekranu.

W logu na web developer console jest kilka linii mojej inicjalizacji (nie wszystkie), log z Preloadera jest w lewym górnym rogu (tak jakbym odpalił debug flash player). Może jakiś wyjątek leci w trakcie inicjalizacji? Czy jest co muszę zrobić żeby poczekać na odpalenie się zasobów, czy to jest robione magicznie "samo"?

Link: http://www.blackseraphstudio.info/survive

Liosan

Offline dynax

  • Użytkownik

# Sierpień 23, 2013, 13:47:55
Pamiętaj, że najprawdopodobniej w preloaderze nie masz dostępu do folderu z assetami. Pojedyncze pliki trzeba embeddować do kodu. Patrz jak to robi flixel - https://github.com/HaxeFlixel/flixel/blob/dev/flixel/system/FlxPreloader.hx . Spróbuj też dodać do pliku konfiguracyjnego (który swoją drogą teraz powinien mieć rozszerzenie xml a nie nmml ;P ) linijkę <set name="PRELOADER_NAME" value="scizeka.do.klasy.preloadera" />

Offline Liosan

  • Moderator

# Sierpień 23, 2013, 15:30:47
Dzięki, ale akurat to mam pokryte - loader się odpala. Może nawet wyświetla to co chciałem, tylko że zaraz potem odpala się normalna gra która wszystko maluje na czarno a potem się crashuje bo nie ma jakiegoś zasobu... Robiłem eksperymenty, i jak się wywali katalog z grafikami z gry to dokładnie takie są objawy (logi się zgadzają), nawet "openfl test neko".

Przesunąłem odpalanie gry z konstruktora głównej klasy do obsługi eventu ADDED_TO_STAGE (bo tak wyglądało we haxeFlixelu, więc link się przydał, dzięki :)), ale nie pomogło.

Wiesz co jest naprawdę podejrzane? Dodałem taki kod w Preloaderze na ENTER_FRAME:
var total: Int = this.stage.loaderInfo.bytesTotal;
var loaded: Int = this.stage.loaderInfo.bytesLoaded;

Log.trace("Loaded " + loaded + "/" + total);


I przy pierwszym ładowaniu wypisuje tak (chociaż liczby mogą być losowe):
[13:58:10.595] SurvivePreloader::loading:28: Loaded 195393/195393

A przy drugim tak (i przy drugim gra działa):
[13:59:57.985] SurvivePreloader::loading:28: Loaded 786432/786432

Dlaczego przy pierwszym ładowaniu jest mniej danych? Czemu przerywa ładowanie? :/

Liosan

Offline dynax

  • Użytkownik

# Sierpień 23, 2013, 15:37:42
Szczerze mówiąc nie spotkałem się jeszcze z czymś takim :O Chyba lepiej będzie z tym pójść na ich forum, jeśli to wina OpenFL a nie twoja i przeczyta to ktoś z ekipy to jest duże prawdopodobieństwo, że wieczorem na githubie będzie fix :)

Offline Liosan

  • Moderator

# Sierpień 23, 2013, 15:58:50
Słusznie, dzięki za pomoc :) Jak mi się uda naprawić to dam znać.

Liosan