Autor Wątek: Tekstówka  (Przeczytany 7249 razy)

UIMP

  • *
  • Wiadomości: 35
  • Miejsce pobytu:
    Ustroń
Tekstówka
« dnia: 2014.04.21, 13:59:00 »
Święta, święta i po świętach (dość jedzenia!). W związku z nadmiarem czasu wolnego w mojej głowie zrodził się chory pomysł napisania gry przygodowo-tekstowej. Wczoraj, w przerwie między schabem, a roladą (tata świętował też urodziny) sporządziłem krótki koncept gry:

Czarnobyl, rok 2023
Po katastrofie, która miała miejsce prawie pół wieku temu, światu grozi kolejna katastrofa. Ostatni świadek katastrofy tuż przed śmiercią zdradził sekret skrywany od lat - na terenie elektrowni znajduje się układ, który ma dokonać zniszczenia zabudowań dawnej elektrowni. Teoretycznie nic wielkiego - przecież dziś nikt już tam nie mieszka. Jednak potężny wybuch wznieci ogromne ilości radioaktywnego pyłu z pozostałości reaktora, który może roznieść się na potężne odległości.
Twoje zadanie:
1. Na terenie Prypeci znaleźć urządzenie dezaktywujące "wielki wybuch"
2. Odnaleźć układ inicjujący wybuch i zdezaktywować go


Planuję 10 lokacji na terenie samej Prypeci, zgodnych z planem miasta oraz kilka dodatkowych, podziemnych przejść i kryjówek. Grę podzielę chyba na 2 części (1. Prypeć 2. tereny elektrowni). Planuję jakąś szczątkową grafikę (ilustrującą tylko miejsce, w którym się znajdujemy) i teksty.
Zastanawiam się, czy sterować będzie się przez wybór poleceń z listy (jak w PCtowej Misji Bielany), czy przez wpisywanie ich. Planuję ukończyć tą grę przed końcem tego roku, choć znając życie, skończę w połowie przyszłego. O ile skończę.

Proszę wszystkich o opinie, uwagi, wskazówki. Może jest tu ktoś z doświadczeniem w pisaniu gier tekstowych, kto chciałby pomóc dobrą radą. Do "Puszki Pandory" mi daleko :D Napisałem kilka tekstówek, baaaaaardzo prostych, teraz planuję coś większego, się zobaczy.

Z pozdrowieniami
UIMP

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Tekstówka
« Odpowiedź #1 dnia: 2014.04.23, 19:28:29 »
Coś ci nie chcą odpowiedzieć :)

Nie napisałem nigdy klasycznej tekstówki ale jakieś przemyślenia mam.

Z jednej strony jest łatwo a z drugiej trudno :)

Odpada cały aspekt szybkiego ruchu sprajtów, animacji, kolizji itp.

Główny problem to komunikacja z graczem.

Możliwe opcje to:
1) gracz wpisuje teksty typu ZABIJ SMOKA MIECZEM
2) gracz ma do dyspozycji różne menu (zobacz np. Seksmisję na Atari: https://www.youtube.com/watch?v=cYncPk3hjC4 )
3) Gracz ma kilka opcji i wybiera jedną z nich np. A) IDŹ W LEWO B)IDŹ W PRAWO

Opcja 3) jest najłatwiejsza do zakodowania.

W przypadku opcji 1) problemem jest parser czyli moduł kodu który będzie rozpoznawał znaczenie tekstów.

Która opcja najbardziej by Ci odpowiadała?

UIMP

  • *
  • Wiadomości: 35
  • Miejsce pobytu:
    Ustroń
Odp: Tekstówka
« Odpowiedź #2 dnia: 2014.04.24, 14:19:02 »
Planuję opcję 2 - na ekranie będzie się wyświetlać lista możliwych czynności i kursorami będzie można wybrać jedną z nich.
Jestem w trakcie pisania scenariusza, robię opisy każdej lokacji, opisy każdego zdarzenia, potem przeniosę tekst do pamięci ośmiobitowca i opracuję program.
Problem mam tylko z grafiką, nie bardzo wiem, jak ją przygotować. Rysowanie "w czasie rzeczywistym" odpada, myślałem o przygotowaniu obrazków w jakimś edytorze grafiki, załadowanie ich kolejno, jeden za drugim, do jakiegoś obszaru  i potem przenoszeniu ich do pamięci ekranu, ale wtedy obrazek powstawałby piksel po pikselu, co też mi nie pasuje. Ma ktoś jakiś pomysł? Bo o ile z programowaniem, jako takim, nie mam problemu, to zupełnie nie daję sobie rady z grafiką i dźwiękiem (assembler :/)
Rafale, dzięki za wskazówki :)

sect0r

  • *****
  • Wiadomości: 698
  • Miejsce pobytu:
    Oltedal/NO
  • speccyholic
Odp: Tekstówka
« Odpowiedź #3 dnia: 2014.04.24, 15:42:22 »
Z grafiką to chyba nie będzie problemu, przerzucenie 2/3 ekranu LDIR'em będzie raczej niezauważalne.
To chyba akurat najmniejszy problem w tej grze.
A powiedz, czy grafikę będzie Ci ktoś robił? Może byś zaprzęgł jakiegoś grafika do współpracy  ;D
Szarak # DivIDE+ # MasakratorFM DeluXe by Zaxon

UIMP

  • *
  • Wiadomości: 35
  • Miejsce pobytu:
    Ustroń
Odp: Tekstówka
« Odpowiedź #4 dnia: 2014.04.24, 18:16:42 »
Problemem jest zerowy budżet, więc grafik musiałby pracować charytatywnie :)
Na pewno przydałaby się osoba do pomocy - jestem w stanie dużo zrobić w Basicu, ale operacje na pamięci, assembler, to dla mnie czarna magia.
Poza tym - jak wygląda projektowanie grafiki na Spectrum? Dla mnie jest to zupełnie nowe doświadczenie i drugi (pierwszy, jeśli chodzi o wyświetlanie grafiki) poważniejszy program. Dlatego tak niepewnie podchodzę do tematu.
Cieszę się, że jest jakiś odzew, a na forum ludzie chętni do pomocy  :D

Ilyad

  • *****
  • Wiadomości: 581
  • Miejsce pobytu:
    Białystok, IV Rzesza Pospolita
Odp: Tekstówka
« Odpowiedź #5 dnia: 2014.04.24, 19:41:07 »
Na stronie vtrdos.tu w zakładce system znajdziesz mnóstwo narzędzi do grafiki, także w multikolorze. Są też narzędzia do konwersji z PC. Powodzenia. Miło że pojawiają się ludzie z chęcią robienia czegoś nowego na Spectrum :)
ZX-81, ZX-Pand AY, 48k "gumiak", 48K+, 128K + "Toster", +2 "szarak" 1024k Profi, Masakrator FM, DivIDE 2K11, ZX Evolution rev. C, ZX-Uno, C64, C16 64K, Plus4 + 1541 Ultimate II + SD2IEC

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Tekstówka
« Odpowiedź #6 dnia: 2014.04.24, 19:59:26 »
Cytuj
Poza tym - jak wygląda projektowanie grafiki na Spectrum?

Współcześnie praktycznie każdy kto chce coś stworzyć a nie tylko się pobawić przez pół godziny tworzy grafikę na Spectrum na pececie a potem ją konwertuje i importuje. Tak jest znacznie wygodniej chociaż talent do rysowania jest w dalszym ciągu wymagany ;)

Możesz też od biedy konwertować jakieś zdjęcia z netu, zawsze to lepiej niż brak jakiejkolwiek grafiki.

Pamiętaj tylko że grafika jeśli nie jest składana z kawałków to strasznie zżera pamięć. 10 obrazków na 2/3 ekranu po 4 kB i cała pamięć zajęta.

Asemblerem się nie przejmuj, w razie czego pomożemy :)


mad1

  • **
  • Wiadomości: 86
Odp: Tekstówka
« Odpowiedź #7 dnia: 2014.04.24, 20:13:54 »
Albo tekstówka bez grafiki, też się takie zdarzały :D

RafałM a jak chciałbym konwertować grafikę i wkomponować do takiej tekstówki to w jakim formacie ona by musiała być? Ja tylko konwertowałem grafikę do formatu .scr ale posłużyła mi ona do loadera. Czy .scr też można w komponować do właściwego programu? Czy jest może jakiś format, który zapisuje plik w formacie instrukcji basic'a i konstrukcji typu plot, draw by można potem to wstawić w basicowy program?
« Ostatnia zmiana: 2014.04.24, 20:33:22 wysłana przez mad1 »

Rogal

  • ***
  • Wiadomości: 176
  • Miejsce pobytu:
    Warszawa
Odp: Tekstówka
« Odpowiedź #8 dnia: 2014.04.24, 20:19:27 »
Ja tak tylko czysto teoretycznie :)
lekko odbiegając od konkretnego tematu ale chyba nie dokońca ;)
Jak zacząłem swoją zabawe z zx spectrum po 20 letniej przerwie narodził mi się też pomysł. Na programowaniu się nie znam, natomiast amimacją i grafiką zajmuję się na codzień, do tego twórczy umysł ;). Ale wracając do rzeczy, jak doprowadzałem swoje "wehikuł" do stanu przyzwoitości to patrząc na płytkę od klawiaturki polbritowskiej

narodził się w mojej głowie taki pomysł na platformówkę w której, bohater musi odkryć wszystkie litery z klawiatury, oczywiście na jego drodze pełno przeszkadzaczy (i inne…)
I tak zacząłem robić nawet mapke tej gry :) ;) w graFX2 na podstawie owej plytki … Nie wiem co ztego i czy wogóle coś będzie ale moje pytanie przy okazji tej dyskusji.

Jak wygląda przy tworzeniu gier na zx spectrum współpraca grafik - programista??
Nie mam o tym pojęcia więc to może śmieszne pytanie ale czy jeśli grafik zrobi np. mape gry wg. odpowiedniej specyfikacji (rozdzialki, kolory, format pliku) oraz np zanimuje postacji to czy w przypadku zx spectrum programista może to zaimplementować w kod?? Mowa o grafice przygotowanej poza zx spectrum, np wlaśnie wspomniany grafx2

Jak np Rafał robiłeś swoje upiękrzenie renegade?? Czy to bylo robione edytorami graficznymi??
Jak powstawała taka grafika do janosika? Czy to było właśnie wcześniej narysowane w jakimś edytorze??
Temat mnie ciekawi bo może kiedyś jeśli będzie czas i zajawka mógłbym wspomóc jakiś projekt lub wskrzesic jakiś wspólny…

edit, w miedzy czasie pisania mojego postu pojawiły sie odpowiedzi Rafala w pewnym stopniu odpowiadające mi na pytanie ale temat bym zagłębił ( wspólpraca grafik/programista)



UIMP

  • *
  • Wiadomości: 35
  • Miejsce pobytu:
    Ustroń
Odp: Tekstówka
« Odpowiedź #9 dnia: 2014.04.24, 20:47:09 »
Też z chęcią zgłębiłbym podstawy grafiki na gumiaku.
Szukałem programów, z tego, co widzę, to wszystkie konwertują grafikę do formatu *.scr. Powiedzmy, że będę miał przygotowany zestaw grafiki w formacie *.scr i teraz co? Wgrywam to kolejno, i pewnie będę musiał to wczytać nie do pamięci ekranu, a do jakiegoś wolnego miejsca w pamięci i potem podprogramem będę musiał jakoś przenieść tę grafikę na ekran, tak?
Coś czuję, że to będzie porażka, bo dysponuję bardzo małą ilością pamięci (zamierzam wrzucić od adresu 49152 wzwyż wszystkie teksty).

A jeśli chodzi o klawiaturę, to najdziwniejsza jest w Juniorze - kontaktrony i magnesy.

trojacek

  • *****
  • Wiadomości: 6846
  • Miejsce pobytu:
    Warszawa
Odp: Tekstówka
« Odpowiedź #10 dnia: 2014.04.24, 21:04:34 »
A jeśli chodzi o klawiaturę, to najdziwniejsza jest w Juniorze - kontaktrony i magnesy.

Nie, nie najdziwniejsza - tylko najlepsza! Tak się właśnie kiedyś robiło profesjonalne klawiatury, a nie jakieś folie, gumki i inne badziewia ;)

sect0r

  • *****
  • Wiadomości: 698
  • Miejsce pobytu:
    Oltedal/NO
  • speccyholic
Odp: Tekstówka
« Odpowiedź #11 dnia: 2014.04.24, 21:28:37 »
a co z kompresją ? kiedyś za starych czasów pamiętam że był jakiś kompresor do screenów.
Szarak # DivIDE+ # MasakratorFM DeluXe by Zaxon

Ilyad

  • *****
  • Wiadomości: 581
  • Miejsce pobytu:
    Białystok, IV Rzesza Pospolita
Odp: Tekstówka
« Odpowiedź #12 dnia: 2014.04.24, 21:35:17 »
Trzeba znaleźć jakiś kompromis. Obrazki zawsze można spakować screenkompresorem, Gdyby obrazek miał zajmować np. jedną trzecią ekranu to po kompresji zajmowałby ok.700-800 bajtów
ZX-81, ZX-Pand AY, 48k "gumiak", 48K+, 128K + "Toster", +2 "szarak" 1024k Profi, Masakrator FM, DivIDE 2K11, ZX Evolution rev. C, ZX-Uno, C64, C16 64K, Plus4 + 1541 Ultimate II + SD2IEC

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Tekstówka
« Odpowiedź #13 dnia: 2014.04.25, 23:09:45 »
Jakby tu zacząć z obrazkami i kompresją? :)

Generalnie jeśli chcemy wyświetlać obrazki to sam Basic nie wystarczy. Trzeba sięgnąć po assembler.

Najprościej jest wyświetlić cały ekran - kopiujemy 6912 bajtów z jakiegoś tam obszaru pamięci do pamięci ekranu i już. W assemblerze to będą 4 linijki:

Cytuj
LD HL,NN        ;źródło
LD DE,16384  ;pamięć ekranu
LD BC,6912
LDIR

Trochę trudniej się robi gdy kopiujemy 1/3 lub 2/3 ekranu - pamięć grafiki i atrybutów nie leży bezpośrednio po sobie więc trzeba kopiować dwa bloki.

A już zupełnie trudno jest gdy chcemy narysować np obrazek o rozmiarach 5x7 pól z górnym rogiem w położeniu 10x12. Bajty na ekranie które wizualnie leżą obok siebie w pamięci są zupełnie nie po kolei no i trzeba pisać odpowiedni dość złożony kod kopiujący w assemblerze.


Ja całą swoją pracę związaną ze Spectrum tak naprawdę wykonuję na PC :) W większości swoich gier (podobnie chyba jak większość współczesnych spectrumowych twórców używam programu Sevenup:

http://metalbrain.speccy.org/

Wczytuję do niego normalny obrazek z pc (najlepiej .png albo .gif) i konwertuję. Można konwertować na plik binarny .bin albo tekstowy (zapis np .BYTE 1,2,3,4 ) Podczas konwersji trzeba się samemu zdecydować na jakiś "format" - czyli tak naprawdę kolejność bajtów - czy rzędami, czy kolumnami czy grafika i atrybuty osobno, czy przemieszane itp.

Potem mam swoje środowisko - edytor tekstowy skojarzony z kompilatorem. Piszę instrukcje że chcę załączyć jakiś plik binarny pod danym adresem albo po prostu robię copy/paste do kodu instrukcji .BYTE.

Potem to kompiluje do snapshota i mam grafikę w pamięci pod zadanym adresem. Wcześniej muszę jeszcze w assemblerze napisać kod kopiujący ją na ekran.

Kod kopiujący może też zawierać rozpakowywanie spakowanych danych. Są pewne gotowe rozwiązania z których można skorzystać.

To nie są niestety rzeczy które można opanować przez godzinę ani przez tydzień ale gdyby ktoś miał konkretne pytania postaram się pomóc

UIMP

  • *
  • Wiadomości: 35
  • Miejsce pobytu:
    Ustroń
Odp: Tekstówka
« Odpowiedź #14 dnia: 2014.04.26, 15:34:44 »
Coś czuję, że będę miał problemy z grafiką. Chociaż, wydaje mi się, że można by to zrealizować w Basicu, w podobny sposób, jak przenoszenie komentarzy. Jak ma się sprawa z atrybutami, jeśli grafika ma być czarno-biała? Rafale, czy możesz wyjaśnić mi, jak dokładnie jest zapisywana grafika na Spectrum?