[#1] Wieści z mojej developerki
Hej, dzisiaj opublikuję pewne wiadomości z placu boju, czyli Workbencha mojej Amigi ;) Samopoczucie mi dopisuje także i humor lepszy, no i jestem rad że mogę z Wami podzielić się jakimiś informacjami. Mam nadzieję, że fatalna passa z niedotrzymywaniem terminów i niedokończonymi projektami niedługo minie, wszystko na to wskazuje. Bo mogę Was zapewnić, że nie wynika to z lenistwa, ale braku organizacji i systematyki w mojej pracy, nad którymi to rzeczami pracuję od niedawna.

Organizacja i systematyka to dwa podobne pojęcia. Jeśli mowa o zorganizowanej i systematycznej pracy oznacza to pracę, w której zadania są odpowiednio zhierarchizowane, ułożone w spójny plan. Dotychczas brakowało mi takiego podziału pracy na zadania, wszystko wykonywałem według bieżących potrzeb, przez co program często stawał się chaotyczny i niespójny. Budowałem program tak jak buduje się w Basicu, krok po kroku, zamiast układać algorytmy. I dlatego często zarzucałem bieżące wykonanie i zabierałem się za przepisywanie na czysto, bądź zupełne napisanie od nowa.

Czas położyć kres temu problemowi. Odpowiednie podejście do programowania już przy pisaniu edytora do Benefactora dało znać o sobie. Podział programu na zadania rozwiązał problem napisania tak dużej aplikacji. Zatem wróćmy do naszych projektów. Jak napisać "Arcymaga" dobrze? Ano należy podzielić program na komponenty składowe najlepiej tak, by najpierw powstały niezbędne niskopoziomowe elementy programu, a dopiero następnie sama idea gry. Oznacza to, że silniczek udostępni mi możliwość stworzenia gry według różnych pomysłów. Zatem pomysł na grę odchodzi troszkę na drugi plan, a skupiam się póki co na silniku, który uciągnie nam przeróżne pomysły na grę.

Więc oto komponenty, które powinny zostać napisane:
1. Obsługa obrazu w pliku display.c/display.s
2. Obsługa własnych, kolorowych czcionek w pliku text.c/text.s
3. Obsługa bobów w pliku bobs.c/bobs.s
4. Obsługa dźwięków w pliku soundfx.c/soundfx.s
5. Obsługa muzyki w pliku music.c/music.s
6. Obsługa kontrolera w pliku controller.c/controller.s
7. Obsługa obrazków w pliku images.c/images.s

Powyższe elementy są niezbędnym składnikiem naszego silniczka 2D z bobami. Pliki mogą być albo w języku C (#?.c), albo w asemblerze (#?.s) w zależności od potrzeb. Teraz dopiero zabieramy się za logikę gry, która również może być umieszczona w kilku plikach. Teraz ważna rzecz - jaki pomysł na grę wybieramy - a więc ustalam w tym momencie, że nasza gra będzie grą typu RPG, dosyć statyczną pod względem animowanych obiektów - sądzę, że to dobre rozwiązanie ponieważ gra RPG może być dosyć łatwo rozbudowywana i ciekawa nawet gdy do dyspozycji jest kilka komnat. Poza tym obraz będzie na tyle statyczny, że na pewno uniknie się problemu z szybkością rozgrywki. Zatem do gry RPG dodajemy takie oto pliki:

8. Obsługa mapy z klocków w pliku map.c/map.s
9. Obsługa obiektów (stworków, przedmiotów, rzeczy) na mapie w pliku objects.c/objects.s
10. Główna pętla rozgrywki w pliku engine.c/engine.s
11. Inicjacja i zwolnienie zasobów w pliku main.c/main.s

Zatem tak ustalam plan prac i postaram się go systematycznie wykonywać w najbliższym czasie i Was informować o postępach. Spróbuję napisać nową grę na Amigę z gatunku RPG.
[#2] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #1

Zatem tak ustalam plan prac i postaram się go systematycznie wykonywać w najbliższym czasie i Was informować o postępach.


Małe sprostowanie: to nie jest plan prac.
To jest lista pobożnych życzeń.
Planem prac będzie dopiero wtedy jak dodasz datę ukończenia (tak zwany nieprzekraczalny deadline) do każdego elementu z tej listy.
Rzuć okiem na dowolny plan prac - CZAS odgrywa tam kluczową rolę.
Nie to żebym się czepiał, po prostu nazywaj rzeczy po imieniu.

Powodzenia!
[#3] [post oznaczony jako OT] wyświetl Re: Wieści z mojej developerki
[#4] Re: Wieści z mojej developerki

@stachu100, post #2

Nie ustalam czasu ukończenia, ponieważ mój czas wolny również jest ograniczony. A należy pamiętać, że wszystko to koduje jedna osoba. Na pewno też w jeden dzień/tydzień/miesiąc nie odrodzi się amigowa scena programistyczna.

Na dowód tego, że nie są to tylko pobożne życzenia napiszę, że zrobiłem już "display.c" oraz "images.c" oraz pracuję nad wspomaganiem procesu tworzenia pisząc pomocnicze programiki.
[#5] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #4

Czyli są konkrety! i tego się trzymajmy- oby tak dalej- do przodu OK
[#6] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #1

oby nie zakonczylo sie jak na ArcyMagu
[#7] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #1

Może byś w końcu zdecydował się pod jakim pseudonimem chcesz "występować na scenie", przez co w końcu byś się skupił na innych ciekawszych rzeczach, byli tacy co obiecywali gruszki na wierzbie choć nikt od nich tego nie wymagał. Miniat, Klub Amigi RNS, miniatian i hextreme - trzymaj się od nich z daleka, bo skończysz tak samo. OK
[#8] Re: Wieści z mojej developerki

@rafgc, post #7

Spokojnie, Robert da sobie radę. Musi tylko pamiętać o tym, aby nie "łapać" kilku pomysłów na raz. Jeden człowiek nie ogarnie wielu spraw. Żaden geniusz tego nie zrobi. Często słyszy się że znany artysta w jednej dziedzinie, ma też talenty w innej. Często słyszy się że znany naukowiec jest wszechstronny w wielu dziedzinach, ale musiał iść na kompromis i wybrać tą jedną. Robert wciąż szuka pomysłu, ale w końcu znajdzie. Miejmy nadzieję że już znalazł.
Trzymamy kciuki i pomożemy. :)
[#9] Re: Wieści z mojej developerki

@Andrzej Drozd, post #8

Dziękuję za miłe słowa. Jeśli chodzi o moje gierki to należy pamiętać, że ja często przepisuję na nowo odwołania do systemu jeśli chodzi o wyświetlanie obrazu, obsługę obrazków, czy dźwięku, a powinienem mieć jedną gotową biblioteczkę do tego wszystkiego i z niej swobodnie korzystać. Jeśli miałbym taką gotową biblioteczkę to mógłbym zająć się tylko i wyłącznie logiką gry. I dlatego troszkę zastanawiam się, czy nie zająć się AMOSem, bo ten idealnie nadaje się do pisania gier, bo ma już gotowe procedury obsługi wszystkich komponentów Amigi (w kwestii muzyki, dźwięku, grafiki, ikon itd.). Póki co zaprzęgam do pracy "PhxAss" (asembler), by sklecić szybkie procedury. Jedyną wadą AMOSa, która moim zdaniem wadzi tylko użytkownikom monitorów VGA jest to, że korzysta bezpośrednio z zasobów sprzętowych, a nie poprzez biblioteki systemowe. Na tym poletku "PhxAss" ma przewagę. AMOS jest bardzo prostym językiem typu Basic i aż dziwi mnie, że wielu kolegów forumowych ma problemy w pisaniu nawet w AMOSie. Mnie kilka gier udało się w nim napisać w młodości i dopiero po przesiadce na C zacząłem mieć problemy w pisaniu pełnych gier (dopiero edytor do Benefactora oraz mój klon Robbo były pierwszymi ukończonymi programami o czym zresztą wielokrotnie wspominałem).

Jeszcze zastanawiam się troszkę nad AMOSem, póki co wczoraj przygotowałem obsługę obrazu za pomocą View i ViewPortu w asemblerze. Mnie naprawdę kręci pisanie na Amidze w różnorakich językach, ale należy pamiętać że do jednych celów dobre jest jedno rozwiązanie, a do drugich drugie. Jeśli przesiadłbym się na AMOSa to na pewno szybciej ujrzelibyście efekt pracy, bo skupiłbym się na logice gry RPG. W "PhxAss" jeszcze długo będę przygotowywał biblioteczkę potrzebną przy takim projekcie.
[#10] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #9

A może by tak połączyć jedno z drugim? Logika w AMOS a kluczowe procedurki w assemblerze? Zresztą możesz zacząć od AMOSa, zobaczyć jaki kod generuje a potem zastąpić słabsze procedury swoimi własnymi.
[#11] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #9

Próbowałeś Blitz BASIC?
[#12] Re: Wieści z mojej developerki

@BULI, post #11

http://www.republika.pl/minniatian/Arcymag/Final/ARCHMAGE.PNG

Witajcie! Postępy z Arcymagiem są znaczne od kiedy to zmieniłem gatunek gry na RPG. Będzie to dość statyczne RPG, choć na pewno jakieś animacje się znajdą. Co najważniejsze grafika Krzysztofa Matysa prezentuje się wyśmienicie od kiedy jest to gra RPG - zresztą dlatego też zmieniłem ów gatunek na RPG. Na powyższym zrzucie ekranu możecie się przekonać. Jest tam tylko urywek z całej grafiki, jaką on dla mnie narysował i przedstawia południową ścianę zamku. Są napisy i guziczki, dzięki którym można będzie przemieszczać się na południe, wschód itd. Prócz tego mapka rysuje się efektownie (piksel po pikselu), ale będziecie mogli to zobaczyć dopiero jak opublikuję tę grę lub wersję demonstracyjną (postaram się wypuścić jak będzie już pełna).

Do przeczytania!

P.S. Postanowiłem załączyć binarki, żebyście mogli zobaczyć jak to teraz wygląda. Oczywiście silniczek już w obecnej postaci pozwala na znacznie więcej, czego nie widać w tym preview.

http://www.republika.pl/minniatian/Arcymag/Final/ARCYMAG_PREVIEW.LHA

Ostatnia aktualizacja: 11.05.2012 21:10:23 przez Robert-Minimat-Szacki
[#13] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #12

Milo i fajnie. Trzymaj się mocno, Kolego, nie daj się chorobie. Walcz, rób swoje, uparcie dzień po dniu do celu.
Trzymam kciuki, kibicuję Ci serdecznie.

Serdeczności
Des
[#14] Re: Wieści z mojej developerki

@Des, post #13

[#15] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #12

Witam,

Czekam na wersję finalną.

Pozdrawiam
[#16] Re: Wieści z mojej developerki

@asman, post #15

Sądzisz, że dożyjesz "setki" ?
[#17] Re: Wieści z mojej developerki

@asman, post #15

Świeże zrzuty ekranu można oglądać na tej stronie:

http://minniatian.republika.pl/Arcymag/Final/archmage.html

Już teraz są 4 lokacje i łatwo można dodawać nowe, najpierw postanowiłem zrobić szkielet gry, czyli mapę i lokacje, a później będę pracować nad scenariuszem i zagadkami. Grę piszę w sposób obiektowy mimo, że w C, a nie w C++ (używam wskaźników do funkcji w strukturach). Na przykład każda lokacja może być unikalna, bo zawiera unikalne metody: do konstrukcji lokacji, do wyświetlania opisu lokacji oraz do wydarzeń rozgrywanych w danej lokacji. Prócz tego dzięki obiektowej budowie program jest niesamowicie elastyczny i łatwy w rozbudowie.

W planie mapa będzie dzielić się na 3 główne części - na zewnątrz zamku, wewnątrz zamku i w lochach i będzie z kilkanaście lub więcej lokacji.
[#18] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #17

Ze screenow to wyglada jak gra tekstowa z oknem graficznym a nie gra RPG.
Chyba, ze to ma byc gra tekstowa z elementami RPG..
[#19] Re: Wieści z mojej developerki

@selur, post #18

Mnie to wygląda na tekstowy RPG - gatunek, którego nienawidzę.
[#20] Re: Wieści z mojej developerki

@mailman, post #19

Ma to być troszkę RPG, troszkę gra przygodowa, czyli wcielamy się w jakąś postać, ma ona określone parametry bojowe i zdobywa doświadczenie podczas bitew z potworami, jednocześnie gracz musi podnosić przedmioty i rozwiązywać różne zagadki, które pojawiają się w grze.

Prawdę mówiąc to właśnie w tym gatunku widzę Arcymaga z grafiką Krzysztofa Matysa, próba zrobienia z tego klonu Robbo się nie udała, bo niepotrzebnie Krzysztof przeszedł na grafikę izometryczną, chcąc urozmaicić ją. Gdyby pozostał przy kafelkach 16x16 z widokiem z góry i fajnymi elementami jak animowany ładunek wybuchowy, śrubka, które Krzysztof przygotował, na pewno wyszedłby taki Super Robbo z fajną grafiką już dawno. A tak próbuję uratować ten projekt. Mam nadzieję, że to się uda.

Krzysztof już później nie chciał powracać do widoku z góry, ja uważam, że gdyby wrócił do widoku z góry sklecilibyśmy razem jeszcze nie jedną produkcję. Jestem otwarty na współpracę. Krzysztof jeszcze milczy, mimo że wysłałem na grupową listę dyskusyjną informację o wznowieniu produkcji. Chciałbym spełnić i jego i własne marzenie o autorskiej produkcji na Amigę. Teraz akurat jest dobry okres dla mnie, bo udaje mi się sprawniej programować i z dnia na dzień jest coraz lepiej.

@mailman:

Zerknij proszę jeśli będziesz miał czas do gry:
http://minniatian.republika.pl/Arcymag/Final/ARCYMAG_PREVIEW.LHA
Liczę się z krytycznymi komentarzami odnośnie sterowania itp. Zobacz, czy rzeczywiście gra zapowiada się już teraz w Twoim nielubianym gatunku. Mam nadzieję, że Twoje czarne przewidywania się nie spełnią. Pamiętaj też, że ja mam zawsze głowę pełną pomysłów i zawsze może wyjść z tego bardzo ciekawa gra, która Ci się spodoba nawet mimo to, że w gatunku, który nie lubisz. Scenariusz, którym porządnie zajmę się po zrobieniu siatki lokacji ma być w zamierzeniach dość ciekawy.

P.S. Chciałbym ukończyć tę grę, tak żeby była to po Amiga Robbo moja druga pełna produkcja w języku C i żebym trzymał się zasady: jeden projekt jednocześnie

Ostatnia aktualizacja: 13.05.2012 20:10:33 przez Robert-Minimat-Szacki
[#21] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #20

To nie byla grafika izometryczna tylko rzut top-down xx stopni. Grafika izometryczna jest np. w Genesii a rzut top-down 45* w Dune 2.

Skoro jedyna przeszkoda byl rzut grafiki, to w czym tak naprawde problem?
Zrob gre z czystym rzutem top-down uzywajac grafiki tymczasowej a pozniej jak juz bedzie gotowa, to zatrudnisz grafika, ktory ci to ladnie wypiksluje.
Zreszta mozesz tymczasowo uzyc nawet skorek z gry BOH, wystarczy zredukowac liczbe kolorow i jest.
Znowu zabierasz sie od d... strony. Wpierw robisz krotki zarys scenariusza, pozniej projektujesz ten swoj "silnik", dorabiasz grafike a dopiero na koncu zabierasz sie za pisanie kodu. Wez zrob chociaz raz jak nalezy.
No i jesli jedyna motywacja jest ukonczenie jakiejkolwiek gry, to ta gra bedzie totalnym krapem..
[#22] Re: Wieści z mojej developerki

@selur, post #21

To nie byla grafika izometryczna tylko rzut top-down xx stopni. Grafika izometryczna jest np. w Genesii a rzut top-down 45* w Dune 2.


Od technicznej strony Robbo najlepiej działa i wygląda w rzucie z góry, dziękuję nakładającym się skrzyniom.

Dune 2 jest w rzucie z lotu ptaka z tego co mogłem zaobserwować. Jednostki nie mogą się "nakładać" na siebie przez co nie wszystkie muszą być odświeżane za każdym razem.

I właśnie to "nakładanie" się na siebie obiektów animowanych jest wyróżnikiem zastosowanego rzutu.
[#23] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #20

Nie chcę Cię zniechęcać, ale to jest właśnie ten gatunek. Nie wiem dlaczego w to brniesz, skoro tego typu produkcje nie należą do popularnych. "Nurek" czy "Arcymag" to były rzeczy, w kierunku których powinieneś dążyć. Wywarzasz kolejne drzwi, lecz abyś za nimi nie znalazł kolejnego zawodu. No ale to Twój plan, Twoja ambicja więc powodzenia.

Moje uwagi.

1. Taka gra, jak to co teraz robisz opierać się, moim zdaniem, powinna głównie na silniku, który interpretuje skrypt budujący i opisujący akcję. W tym skrypcie powinny być tekst, wywołania grafiki i jej lokalizacja, którą na tej podstawie buduje kod silnika. Ty jak widzę wrzucasz wszystko w execa (z tego wyjdzie kobyła). Ja bym tego tak nie pisał, ale to Twój projekt.

2. W obecnym stadium zbyt wiele zobaczyć nie można (poza tym, co napisałem w punkcie 1.). Proponuję na potrzeby kolejnego preview zaprezentować coś bardziej zaawansowanego, gdyż moim zdaniem zbudować trzy lokacje, to większość początkujących programistów potrafi. Tutaj przecież nawet silnika tak naprawdę nie ma albo nijak nie można sprawdzić, co jest w stanie zaprezentować.

Mam nadzieję, że taka surowa krytyka Cię nie zrazi.

Ostatnia aktualizacja: 13.05.2012 21:32:05 przez mailman
[#24] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #22

Nie wiem o czym teraz piszesz. Ja pisalem o tym, ze w swojej wypowiedzi stosowales bledne nazewnictwo odnosnie grafiki. Zeby byla jasnosc podaje przyklady:

grafika izometryczna zwana rowniez 2,5 wymiarowa
Utopia
UFO: Enemy Unknown
Genesia
Sabre Team


grafika Top-down tzw. "rzut z lotu ptaka".
Alien Breed
Hilt 2
Storm Swiv
Steel Empire

grafika Top-down pod katem 45 stopni (kat zazwyczaj miedzy 30 a 45 stopni)
Dune 2
Cannon Fodder
Caesar
Banshee
Chaos Engine
[#25] Re: Wieści z mojej developerki

@selur, post #24

zatem Arcymag posiadal grafike stworzona przez Koyota "top down pod katem xx stopni", Robbo ma grafike typu "side view" a grafike czystego rzutu "top-down" ma gra BOH.
[#26] Re: Wieści z mojej developerki

@Robert-Minimat-Szacki, post #9

I dlatego troszkę zastanawiam się, czy nie zająć się AMOSem, bo ten idealnie nadaje się do pisania gier, bo ma już gotowe procedury obsługi wszystkich komponentów Amigi (w kwestii muzyki, dźwięku, grafiki, ikon itd.).

Pokaż na co Cię stać, podane na tacy

Ten Arcymag to wygląda jak jakaś gra sprzed 25 lat, sorry. I to raczej tekstówka z grafiką, niz RPG. Jedyne co mogę pozytywnego napisać to to, że zadziwiająco dobry poziom języka angielskiego, jak na składność Twoich postów po polsku.

PS. Jeśli pomysł na grę spychasz w procesie jej tworzenia na sam koniec, to good luck.
PS2. Jeśli to ma być RPG, to masz już napisany scenariusz? Jeśli nie, to czy masz już kogoś kto go napisze?

Ostatnia aktualizacja: 14.05.2012 07:50:15 przez GumBoy
[#27] Re: Wieści z mojej developerki

@mailman, post #19

Każdy ma inny gust i nie należy tym dyskutować.
Ja na przykład grałem sporo w tak zwane rogale. Nazwa właściwa to rougelike.
Jest to nieco inny gatunek od prezenowanego tutaj. Gra się miodnie w czystym trybie tekstowym.OK
Tylko są dwa problemy:
1) Nie każdy takie gry lubi
2) Fabuła musi być naprawdę ciekawa aby nawet na chwilę zabłysnąć wśród takich hitów jak A.D.O.M., Angband, Nethack. Znakomita większość z tych tytułów jest opensource.
W każdym bądź razie powodzenia!
[#28] Re: Wieści z mojej developerki

@selur, post #18

A co ma interfejs gry do gatunku? RPG tekstowe ma jak najbardziej rację bytu. Pierwsze RPG to gry, w które grało się rzucając kośćmi i słuchało opisu świata i zdarzeń z ust mistrza gry, więc taka forma jaką prezentuje Miniat jest bliższa prawdziwej RPG niż Ci się wydaje. FPSy/RPG w stylu Skyrim to gotowiec podający graczowi świat jak na tacy. Świat gier RPG powinien być budowany w umysłach graczy, a nie w 3dsMaxie.
Miniat: RPG to przede wszystkim dobra fabuła, która powinna wciągać jak dobra książka. Jeśli nie zadbasz o to, to mimo nie wiem jak dobrego kodu nic z tego nie będzie. Życzę powodzenia.
[#29] Re: Wieści z mojej developerki

@frywolny_marian, post #28

I uwazasz, ze warto robic miesiacami tekstowe RPG dla 30 osob?
Jakbys nie zauwazyl gra powstaje na Amidze dla amigowcow a ilu bedzie fanatykow tekstowego RPG w tej retro grupie?
[#30] Re: Wieści z mojej developerki

@frywolny_marian, post #28

Grałem w RPG na długo przed posiadaniem pierwszego komputera (mało tego, grałem w D&D), ale nie uważam, żeby ta forma była monopolem na ten gatunek i tylko poprzez interfejs tekstowy da się go na komputerze realizować.
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