[#211] Re: Zapowiedzi nowych gier

@Hexmage960, post #209

A oryginał brzmi tak:

A beginning is the time for taking the most delicate care that the balances are correct. This every sister of Bene Gesserit knows.

Zważywszy na fakt, że mowa o rozpoczęciu studiów nad życiem Muad'Diba i o tym, żeby na początku wszystko sobie prawidłowo poukładać... Nie przyznawałbym tak łatwo punktów Łozińskiemu.

A co do gry: Niestety na MorphOSie nie działa. Elegancko zamraża komputer.
[#212] Re: Zapowiedzi nowych gier

@recedent, post #211

A co do gry: Niestety na MorphOSie nie działa. Elegancko zamraża komputer.

Proponuję w tym przypadku używać UAE. Grę piszę i testuję na Amidze 1200 i chcę by na niej dobrze działała. Obrane przeze mnie metody wymagają jednak oryginalnego chipsetu, mimo że odnoszę się w tej chwili tylko do funkcji systemowych.

Gdyby MorphOS nie miał graphics.library, tylko coś pod inną nazwą (np. cybergraphics.library), to mój program wypisałby po prostu komunikat o braku stosownej wersji biblioteki. A tak mój program zakłada, że wszystkie niezbędne funkcje z biblioteki są zaimplementowane, bo wersja biblioteki jest V40+.
[#213] Re: Zapowiedzi nowych gier

@Hexmage960, post #212

z tego co rozumuje to wlasnie w tym przypadku uzycia systemowych funkcji to powinno dzialac na mosie?
[#214] Re: Zapowiedzi nowych gier

@juen, post #213

Korzystam z graphics.library i input.device, a nie z intuition.library do tworzenia obrazu i przyjmowania sygnałów z myszy i klawiatury. MOS nie schodzi poniżej intuition.library, tak jak inne systemy RTG. Więc nie działa.

Handler input.device zakłada, że dane wejściowe nadchodzą z rejestrów procesora, co też może stwarzać problemy.

W pętli głównej jest Wait(), który czeka na sygnał z handlera input.device lub timer.device.

Ostatnia aktualizacja: 07.11.2016 10:02:14 przez Hexmage960
[#215] Re: Zapowiedzi nowych gier

@Hexmage960, post #214

He? Nie wiem o co ci w tym momencie chodzi. Handlery spokojnie dzialaja. To, ze w handlerze dane wejsciowe pochodza z rejestrow nic nie zmienia bo te rejestry ciagle tam sa (wirtualne). Inaczej zadna biblioteka by nie dzialala.

To co na 99% nie dziala w twoim programie to uzywanie wlasnego View zamiast normalnego ekranu.
[#216] Re: Zapowiedzi nowych gier

@kiero, post #215

Wybaczcie mi lamowe pytanie, bo sie nie znam na Morphosie. Czy tam można używać własnego View czy są jakieś obostrzenia ? Pytam z ciekawości bo ja bym użył Okna na ekranie.
[#217] Re: Zapowiedzi nowych gier

@asman, post #216

Mozna jezeli masz w komputerze chipset oryginalny. Jezeli nie masz to nie. Tak samo jak nie mozna bylo na amidze klasycznej w ktorej siedziala karta graficzna. Po prostu nie ma zadnej emulacji coppera. Uzywa sie po prostu ekranowi okien.
[#218] Re: Zapowiedzi nowych gier

@kiero, post #215

Dziękuję Kiero za odpowiedź, na razie jednak nic nie będę z tym robił, pozostaję przy View, zważywszy że opieram całą prędkość działania na wykorzystaniu View i input.device oraz stosuję własnego duszka do kolorowego wskaźnika myszy.
[#219] Re: Zapowiedzi nowych gier

@Hexmage960, post #218

Polecam jako ćwiczenie, zaprojektowanie programu tak, żeby działał i z kartą graficzną, i z AGA. Nie mówię, że na działać naraz, ale żeby kompilował się do dwóch wersji wykonywalnych. Poćwiczysz abstrakcje w programowaniu to ci się jeszcze kiedyś ze 1000 razy przyda.
[#220] Re: Zapowiedzi nowych gier

@michal_zukowski, post #219

Myślałem troszkę o tym, jednak wolę zrobić to na końcu niż w fazie projektowania. Zważywszy, że program póki co korzysta tylko z funkcji systemowych przygotowanie odrębnej kompilacji nie powinno być trudne, choć to dodatkowa praca, której teraz chcę uniknąć.

Trzeba by wprowadzić abstrakcję w następujących miejscach:

  • View (AGA) / Screen + ScreenBuffer (RTG)
  • input.device (AGA) / Window (RTG)
  • layers.library (AGA) / Window (RTG)

Pytanie tylko co z kolorowym wskaźnikiem myszy? Nie wiedziałbym jak to zrobić w RTG.
[#221] Re: Zapowiedzi nowych gier

@Hexmage960, post #220

Projektowanie takiej abstrakcji robi się własnie w fazie projektowania. Nie później !!!
Nie musisz implementować dodatkowych funkcji. Ważne tylko, że jak np. masz funkcje OtwórzEkran(jakaś struktura nie dla RTG) to zmieniasz to na coś w rodzaju OtwórzEkran(jakaś struktura (kontekst) w której można potem umieścic dane i dla RTG i dla AGA).

Wtedy logika czyli mięsko gry będzie miało ten sam kod źródłowy a różnice będą w plikach otworzenieekranu_aga.c otworzenieekranu_rtg.c (oczywiscie nazwy z tyłka, chodziło o przykład)
[#222] Re: Zapowiedzi nowych gier

@michal_zukowski, post #221

Rzeczywiście w ten sposób trzeba by projektować w fazie początkowej. Stosując opisany przez Ciebie sposób program mógłby działać na AGA i RTG z jednego pliku wykonywalnego.

Jest drugi sposób - kompilacja warunkowa, którą można dodać na każdym etapie. Nie trzeba wówczas tworzyć dodatkowego kontekstu. Po prostu w zależności od jakiejś stałej, np. RTG program będzie kompilował się do stosownej wersji.

Gra będzie działać też szybciej - nie będzie jakichś dodatkowych działań na kontekście.

Na przykład teraz jak mam funkcję MoveSprite(vp, es, mx, my); to żeby zadziałało to poprawnie na RTG robię to w taki sposób:
#if RTG
#define MoveSprite(vp, es, x, y) moveMouse(x, y)
#endif

I implementuję funkcję moveMouse(). Podobnie dla innych funkcji (a także innych kawałków kodu).
[#223] Re: Zapowiedzi nowych gier

@Hexmage960, post #222

Tak kompilacja warunkowa jest ok, jak masz dwie, trzy różnice na funkcje jak masz tych różnic za dużo to warto rozdzielić to na różne pliki bo skonczy sie na tym, że bedziesz miec wiecej linijek z ifdefami niz samego kodu :)
[#224] Re: Zapowiedzi nowych gier

@michal_zukowski, post #223

Zmodernizowałem stronę z blogiem i artykułami. Zapraszam serdecznie do odwiedzania mojej strony. Mam nadzieję, że wygląd przypadnie do gustu większości odwiedzających.

http://coreprogramming.pl

Jeśli chodzi o wieści co do projektu gry, to udało mi się zaprogramować czytanie oraz zapis plików IFF, które będą zawierać wszelakie dane wymagane przez moją grę.

Gorąco proszę o wspieranie mojego projektu. Każde miłe słowo się liczy.

Pozdrawiam.
[#225] Re: Zapowiedzi nowych gier

@Hexmage960, post #224

Zmodernizowałem stronę z blogiem i artykułami. Zapraszam serdecznie do odwiedzania mojej strony. Mam nadzieję, że wygląd przypadnie do gustu większości odwiedzających.


I znowu pokasowales cala mase tresci?
[#226] Re: Zapowiedzi nowych gier

@mschulz, post #225

Nie, ta treść z poprzednich wpisów jest ukryta.
[#227] Re: Zapowiedzi nowych gier

@Hexmage960, post #224

Ja się tam może nie znam ale Diuna, Atrydzi, Harkonnenowie, sequel Dune 2: Battle for Arrakis... czy Waszmość planujesz może w przyszłości jakiś konflikt z prawem autorskim? Pół biedy jak nie skończysz i to będzie jakieś tam pitu-pitu. Ale jak Ci się jednak uda i to opublikujesz jakoś to jest to warte tego żeby za chwilę kazali pokasować? oraz płacić?
Nie wiem czy to się kwalifikuje jako miłe słowo.
Również pozdrawiam.
[#228] Re: Zapowiedzi nowych gier

@mschulz, post #225

Zapomniales udac zdziwienie;)
[#229] Re: Zapowiedzi nowych gier

@softiron, post #227

Wysłałem zapytanie pod adres na stronie http://dunenovels.com/contact (ten biznesowy). Strona jest aktywna i należy do Herbert Properties LLC. Zobaczymy co odpowiedzą. Jeśli odpowiedź będzie negatywna, to będę musiał przemianować te terminy. A może odpowiedzą pozytywnie. ;)

Hello,

I wish to ask whether it is possible to obtain rights to make a hobbyist's (noncommercial) computer game for Amiga computers with references to Frank Herbert's Dune novel?

These references cover using some terms from the novel like the planet's and houses' names.

Thank you for an answer.

Best regards,
Robert Szacki
[#230] Re: Zapowiedzi nowych gier

@Hexmage960, post #226

"Ukryta"????

Przed kim? Po co? w jakim celu?

Miniat miałeś zrobioną stronę z planem, miała jakiś cel i funkcję. Kolejny raz ja przerobiłeś praktycznie niszcząc to co zrobiłeś wcześniej.

Wszystko co robisz, niestety, dowodzi temu, iż prędzej czy później porzucisz to nad czym teraz pracujesz. IMO raczej prędzej.
[#231] Re: Zapowiedzi nowych gier

@michalmarek77, post #230

Projekt rodzi się w bólach, ale nie zamierzam go porzucić.

Co do "ukrytego" materiału, czyli poprzednich wpisów, chciałem właśnie zaznaczyć, że nie został on usunięty, cały czas rezyduje na stronie internetowej, tylko nie ma linków.

Po prostu często odczuwam potrzebę posprzątania kodu strony. Tak samo postępuję z programami. Z reguły kod nie ginie, ale jest przepisywany na czysto. Tak było i w tym przypadku.
[#232] Re: Zapowiedzi nowych gier

@Hexmage960, post #231

Kod kodem, ale po co ukrywać treść?
[#233] Re: Zapowiedzi nowych gier

@twardy, post #232

Żeby było jasno i przejrzyście.
[#234] Re: Zapowiedzi nowych gier

@Hexmage960, post #224

Masz też nowy avatar.
[#235] Re: Zapowiedzi nowych gier

@michalmarek77, post #230

Mowilem setke postow temu ;) nadal zero postepow w engine ale za to jest ladowanie iffow i jest coraz to kowa strona www i mnostwo tekstu... o niczym ;)
[#236] Re: Zapowiedzi nowych gier

@Hexmage960, post #231

Po prostu często odczuwam potrzebę posprzątania kodu strony.


Porządki zostaw na wiosnę. W końcu nie robisz strony WWW, tylko grę.
[#237] Re: Zapowiedzi nowych gier

@Hexmage960, post #222

Kompilacja warunkowa is sooooooo nineties.
[#238] Re: Zapowiedzi nowych gier

@baderman, post #237

yyy? To czego się "teraz" używa? Pytam serio. ;)

A bardziej w temacie: jak przedmówcy mówią. Olej sobie poprawianie WWW, bo ona powinna raczej powstawać pobocznie. Zrób sobie listę TODO, poukładaj ją w kolejności w której będziesz robić grę. Za duże problemy rozbijaj na małe i konsekwentnie leć z koksem.

I pamiętaj: za pierwszym razem na 95% nie uda Ci się przewidzieć wszystkiego, a zwłaszcza tego dobrze zaprojektować. Ale jak już coś działa, zrobione chociaż w najbardziej toporny sposób, to masz już podstawę, którą pozostaje już tylko ulepszać.

Ostatnia aktualizacja: 21.11.2016 17:39:14 przez teh_KaiN
[#239] Re: Zapowiedzi nowych gier

@teh_KaiN, post #238

OK. Jest wreszcie progress update dotyczący silnika gry. Już wiadomo jak gra ma grać. Są konkrety!
W skrócie co zostało zaprojektowane i napisane:
- Mapa złożona z pól posiadających opcjonalnie odnośnik do budynku zajmującego to pole,
- Budynek - indywidualna struktura zawierająca położenie, typ, stan, aktualną procedurę obsługi oraz licznik postępu w budowie,
- Statystyki budynków w tym koszt, początkowa liczba punktów wytrzymałości i domyślna procedura obsługi,
- Procedura dodawania placu budowy CYARD do mapy.
- Procedura wydawania polecenia BUILD budynkowi.
- Procedury obsługi budynku w stanie IDLE oraz wstępnie BUILDS.
- Dane zainicjowane (DATA): zaznaczony budynek, współrzędne lewego górnego rogu aktualnie widocznego obszaru mapy.
- Dane niezainicjowane (BSS): mapa, struktury budynków.

Naprawdę jest tego dużo. Są solidne podstawy. Jeszcze nic nie widać na ekranie, jest tylko logika gry. Wymienione elementy będą oczywiście rozbudowywane.

Chciałbym by w pierwszym tech-demku zawrzeć pustą mapę z placem budowy i możliwością budowania budynków. Grafika będzie importowana w postaci skórek celem łatwej podmiany.

Na bazie tego mechanizmu można wprowadzać kolejne pojęcia jak jednostki, ale to później.

http://coreprogramming.pl/Node3.html
[#240] Re: Zapowiedzi nowych gier

@Hexmage960, post #239

kiedy jakies nowości?
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem