wtorek, 12 sierpnia 2014

Finally completable

Hello everyone!

Great news! The Prince and the Coward is now completable! This means that we are able to play from beginning to the end of the game without skipping any important part of it. Here we have a screenshot from ending sequence to give you a proof:

Prince completable
Game ending

First thing that I had to change was hero drawing and movement to implement second hero displaying. I made some changes in Hero class (hero shadow drawing, zooming) and also update pathfinding functions for second hero and now it's working fine:

Second hero implementation
Displaying and movement

I also implement drawing "power meter" and bind it with mouse and keyboard buttons, so now last mini-game - "Escape from jail" is working correctly:

"Escape from jail"
Last mini-game

Next things that I had to code were credits loading and scrolling function for them. They are displayed after game ending animations and they look like this:

End credits
Scrolling after ending animations

I also work on graphics functions to add anti-aliasing code that exist in original version of game for sprite drawing functions. Prince is using 256 colors palette and its edge smoothing is based on 256 x 256 table of colors transition. Algorithm is checking if currently drawing pixel is located next to the edge of sprite and if it makes jagged line. If it does then this pixel is set with color from transition table calculated of original background pixel color and sprite's edge pixel color. Personally I don't see a big difference, but I think that it is visible mostly on not moving sprites, like shovel. You can compare it on screenshots below:

Anti-aliasing comparison - first location
(from left to right) Original game, ScummVM - AA on, ScummVM - AA off

Anti-aliasing comparison - shovel sprite
(from left to right) Original game, ScummVM - AA on, ScummVM - AA off

Most of work is done now, but there are still glitches that I have to fix (e.g. correct shadow drawing, fix drawing of last frames of FLC animations) and some ScummVM's Advanced Engine Features that I'd like to implement before merging of the engine.

41 komentarzy:

  1. Na jakiej wersji działa KiT na 1.7.0 czy na dev?
    On what version it work? On stable or developer?

    OdpowiedzUsuń
  2. kiedy Twój kod zostanie włączony do oficjalnego ScummVM?

    OdpowiedzUsuń
  3. Kod KiTa został dzisiaj włączony do oficjalnego ScummVM. Jest to nadal silnik w wersji niestabilnej. Zachęcam wszystkich do testowania - https://github.com/scummvm/scummvm/

    OdpowiedzUsuń
  4. Niestety, u mnie ScummVM wyłącza się podczas próby uruchomienia KiT.

    OdpowiedzUsuń
    Odpowiedzi
    1. musi być skopiowany do najważniejszego dysku - w przypadku Windowsa jest to zwykle dysk C

      Usuń
    2. Dziwny jest ten mechanizm do komentarzy.
      Dopiero 3-ci mój komentarz wypisało na stronie.

      @Kosz Śmieci
      miałem ten sam problem. U mnie zadziałało ściągnięcie patcha (znajdziesz go na internetach) i przestawienie gry na dysk C.

      Zaraz umieszczę cię w chmurze mój katalog z grą, który działa w ScuumVM.
      Wystarczy go później uruchomić w tym programie (wersja Scuum musi być aktualna).
      Dzisiaj jeszcze umieszczę link.

      Usuń
    3. Proszę:
      https://www.dropbox.com/s/p7rm1g1v03cu7sd/gra.zip?dl=0

      Usuń
    4. Spróbuj:
      https://www.youtube.com/watch?v=KtUiSPfjd5U&list=UUfLc-MTfBEkON7PUf6wEGHw

      Usuń
  5. Udostępnił Pan gdzieś plik prince_translation.dat do gry w języku angielskim już czy nie?
    Czy wykonał Pan już może możliwość zapisu lub wczytania gry w ScuumVM w KiT?

    OdpowiedzUsuń
    Odpowiedzi
    1. Parser do eksportowania i pakowania tekstów gry jest już ukończony: https://github.com/scummvm/scummvm-tools.
      Grupa tłumaczek z http://www.manatranslation.com pracuje obecnie nad angielską wersją.

      Grę można było do tej pory zapisać / wczytać z menu ScummVM w trakcie gry (Ctrl + F5). Od dzisiaj można też grę wczytywać bezpośrednio z launchera. Powinny też poprawnie działać ustawienia dźwięku gry i powrót do launchera.

      Usuń
    2. Dzięki bardzo za odp.
      Przeklikałem się przez wszystkie klawisze i już myślałem, że nie ma opcji wejścia do tego panelu.
      A tak spokojnie można teraz grać. Dziękuję raz jeszcze,

      Usuń
  6. Ktoś może mi powiedzieć jak odpalić tą grę w ScummVM?

    OdpowiedzUsuń
    Odpowiedzi
    1. Napisałem post wyżej, jest tam paczka która powinna się odpalić w ScuumVM.
      Jak będziesz miał jakieś problemy to napisz na maila piotr.proc@gmail.com i odpiszę ci szybko.

      Usuń
    2. Postaram się dzisiaj zrobić screencast o tym jak odpalić Książe i tchórz w ScummVM.
      Samemu trochę się nad tym namęczyłem.

      Gdy będzie gotowy (dziś, może jutro) to podeślę tutaj link.

      Usuń
    3. Proszę:
      https://www.youtube.com/watch?v=KtUiSPfjd5U&list=UUfLc-MTfBEkON7PUf6wEGHw

      Usuń
  7. Na ScummVM obsługującego Księcia w wersji Stable trzeba będzie poczekać co najmniej do wersji 1.8.0. W tej chwili można go testować pobierając daily builda z tego linka: http://scummvm.org/downloads/scummvm-win32.exe lub samodzielnie kompilując to repozytorium: https://github.com/scummvm/scummvm.

    Tutaj znajduje się krótka instrukcja jak później dodać pliki gry do emulatora: Adding a game to ScummVM.

    OdpowiedzUsuń
  8. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  9. Witam.

    Czy będzie możliwość uruchomienia gry na Androidzie (tam jest ScummVM 1.7.0) - który niestety gry nie wykrywa.

    OdpowiedzUsuń
    Odpowiedzi
    1. Witam.

      Obecnie grę na innych platformach można uruchomić pobierając paczkę "Download latest development build" z tej strony: http://buildbot.scummvm.org/builds.html.
      Np. dla urządzeń Androida z procesorem w architekturze ARM będzie to: http://buildbot.scummvm.org/snapshots/master/android_arm-master-latest.zip

      Przed instalacją należy usunąć poprzednią wersję ScummVM 1.7.0. Paczkę należy rozpakować, a następnie na urządzenie wgrać z niej pliki scummvm.apk (emulator ScummVM) oraz scummvm-engine-prince.apk (plugin Księcia) i kolejno zainstalować. Dodatkowo na urządzenie należy skopiować folder z grą i dodać grę do emulatora (analogicznie jak przy wersji na PC).

      Plik README.Android.txt w paczce zawiera informacje dotyczące sterowania na urządzeniach Android.

      Usuń
    2. Witam. Gdzie można znaleźć plik: scummvm-engine-prince.apk do pobrania? Szukałem na oficjalnej stronie jak i w googlach. Z góry dziękuję za pomoc.

      Usuń
  10. Dziękuję bardzo za informacje.

    Grę udało się bez problemu uruchomić na tablecie.

    OdpowiedzUsuń
  11. Cześć! Mam tu obraz płyty z grą i ScummVM nie potrafi znaleźć plików, chociaż jedyny problem to wielkość liter danego pliku (sumy kontrolne się zgadzają). Struktura katalogów wygląda tak:

    http://pastebin.com/V1izEczt

    OdpowiedzUsuń
  12. Wiadomo, kiedy można spodziewać się tłumaczenia?

    OdpowiedzUsuń
  13. Witam!
    Mam problemy z uruchomieniem gry w ScummVm 1.8.0 . Dotychczas pobrałem i zrobiłem wszystko taj jak w filmie zamieszczonym przez pana Piotra na yt. W pewnym momencie po wybraniu gry z dysku C,włączenia folderu z gra tam gdzie są foldery 1,2,3 itd nie wybiera mi wersji językowej gry a powinno.
    Gdy mimo to chce włączyć grę wyskakuje mi komunikat cytuje ,,ScummVM nie znakazł gry ".
    Jakby ktoś krok po kroku powiedział co zrobić będę wdzięczny .
    Pozdrawiam

    OdpowiedzUsuń
  14. Na wstępie chciałbym podziękować za wspaniałą robotę, z przeportowaniem gry. Gra uruchamia się bez problemu, jednak mam problem konfiguracja myszki.
    Gra instalowana na tablecie z Androidem 6. Po tapnieciu w planszę nasz bohater podąża do celu, jednak nie jestem w stanie rozpocząć dialogu akcji podnieść przedmiotu. Próbuje Galaxy dwa razy, krócej, dluzej ale bez zmian. Jest na to jakaś rada ?
    Dzięki za pomoc

    OdpowiedzUsuń
  15. Hej, bardzo fajnie zrobiony projekt. Mam kilka pytań odnośnie samego programowania. Dokładnie o wyciągnięcie grafiki z gry. Jakbyś miał chwilę czasu i chęć to się odezwij. Dzięki.

    OdpowiedzUsuń
  16. Witam. Mogłby ktoś podesłać link do pliku: scummvm-engine-prince.apk? Bardzo zależy mi, żeby odpalić KiT-a na Androidzie. Podesłałem prośbę drugi raz gdyby ktoś nie zauważył pod innym komentarzem. Dzięki za pomoc.

    OdpowiedzUsuń
  17. Znalazłem link do stronki, na której powinien się znajdować silnik gry dla Androida, tyle że jest tam informacja "Work in progress, not competable": http://wiki.scummvm.org/index.php/Prince
    Jak coś znajdziecie to proszę o odpowiedź- moze ktos, gdzieś go ma zapisany i uda się udostępnić :)

    OdpowiedzUsuń
  18. Ma ktoś scummvm-engine-prince.apk? Nigdzie nie można znaleźć tego pliku.

    OdpowiedzUsuń
  19. Ma ktoś scummvm-engine-prince.apk? Nigdzie nie można znaleźć tego pliku.

    OdpowiedzUsuń
  20. Hi, I don't know if you will see this but I was wondering if there's any rough English translation file for ScummVM available?

    OdpowiedzUsuń
    Odpowiedzi
    1. I found old English demo :D working under dos :D you can check it but it is demo anyway http://legendsworld.net/adventure/game/8243

      Usuń
  21. Hej, tak z ciekawości czy jakieś inne poprawki weszły od daty tego posta i kiedy oficjalnie scummvm bedzie wspierał KiT? W tej chwili daily build scummvm działa z Kit.

    OdpowiedzUsuń
  22. Cześć Łukasz znalazłem pewien BUG w grze który uniemożliwia przejście dalej. Gdy przenosimy się do współczesnego świata idziemy do świątyni i rozmawiamy z księdzem i to jest bug. Rozmowa nie przechodzi poprawnie bo wskazując mu rozmowę poprzez gesty odrazu kończy rozmowę po pierwszym gescie.

    OdpowiedzUsuń
    Odpowiedzi
    1. Dokładnie ten sam problem, chociaż nie gram na wersji Łukasza. Może to problem ze ScummVM? Moja wersja to 2.2.0

      Usuń
    2. Bingo. Po zainstalowaniu wersji 2.1.0 działa

      Usuń