[#1] Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.
SLOWEM WSTEPU:

Jako, ze programowaniem i kodowaniem zajmuje sie juz przeszlo 15 lat to bardzo gryzlo mnie to ze wciaz nie stworzylem zadnej gry :) Dlugo zastanawialem sie (pare lat:P) nad tym na jaka platforme taka gre zrobic, caly czas sklanialem sie ku starszym maszynom. No i nie moglo byc inaczej, ze wybralem Amige. Jako podziekowanie jej za to, ze o komputerach w starych czasach dowiedzialem sie od niej najwiecej.

Zaden ze mnie grafik wiec niestety do stworzenia silnika musialem poratowac sie cudza praca. Padlo na grafike z gry STORMLORD, nie chce by ktos zarzucil mi kradziez, ale musialem cos uzyc. To demo powstalo glownie w celu znalezenia grafika i muzyka do wspolpracy, tak by widzieli ze projekt bedzie ukonczony i jest w dosc zaawansowanym stadium. Jesli jestes grafikiem, lub chcialbys wykonac muzyke do gry (3ch, 4ty na sfx) to prosze o kontakt.

Na pisanie poki co lacznie poswiecilem okolo 50h.



ZALOZENIA GRY:

- ma dzialac na golej A500 (do weryfikacji, bo predzej czy pozniej FAST sie moze przydac) - gra byla testowana na a1200 z fastem, w obecnej chwili jest duzo optymalizacji do zrobienia i sam nie wiem jak wyglada to na a500, ale nie widze zadnego problemu by na koncu gra dzialala dobrze na tej Amidze, prosze o info jesli ktos odpali na A500 :)
- ma dzialac na kazdej klasycznej amidze, miescic sie na jednej dyskietce, ale takze uruchamiac z dysku twardego
- kod ma byc wylacznie w assemblerze i w 100% pisany przeze mnie
- nie uzywac zadnych zewnetrznych bibliotek, wykorzystywac hardware amigi
- gra w trybie lowres w 5bpl, co daje nam 32 kolory
- tworzenie mapy i oprogramowanie jej nie kodem, a specjalnymi podprogramami


MOZLIWOSCI SILNIKA:

- generowanie "nieskonczenie" dlugiej mapy wykorzystujac do tego 65536 tilesow (grafik) o wymiarach 16x16 px (obecnie grafika wykorzystana z gry STORMLORD ma 1024 tilesow)
- nieskonczona ilosc BOB'ow (np. przeciwnikow)
- wyswietlanie gracza jako BOBa, czyli ze wszystkich dostepnych kolorow
- wykrywanie kolizji miedzy BOBem a graczem
- wykrywanie kolizji miedzy oddanym strzalem a BOBem (jeszcze do poprawy, ale z grubsza dziala)
- mozliwosc zaprogramowania mapy specjalnymi podprogramami (o nich pozniej)
- kazdy tile moze byc oprogramowanym ITEMEM
- animowanie map (w bardzo prosty sposob ustalane jest jaki tile ma sie rotowac z innymi, animacja moze miec ogromna ilosc klatek)
- animacja bohatera i bobow nieskonczona iloscia klatek (obecnie w demie az dwie...)
- punkty
- zycia
- ekwipunek - do 5 przedmiotow do 99 sztuk kazdej


TROCHE SZCZEGOLOW TECHNICZNYCH DLA ZAINTERESOWANYCH:

1) PRZYKLAD ZAPISU BOB'a (pierwsza czacha widoczna w demie)

;x,y na mapie
dc.w 14*TILEW,8*TILE_H
;grafika boba poruszajacego sie w lewo, w prawo
dc.l mob1_left,mob1_right 
;informacja w ktora strone bob idzie (0=lewo)
dc.b 0
;aktualna klatka animacji
dc.b 0 
;energia
dc.b 100 
dc.b 100 ;sila boba
dc.b 1 ;1=bob sie porusza w prawo
dc.b 0 ;0=bob nie rusza sie w gore ani dol


2) PODPROGRAMY

w momencie, w ktorym gracz naciska strzalke w dol, sprawdzane sa informacje zapisane do tego zdarzenia, obecne mozliwosci to:

TYPE_ITEM EQU 0
TYPE_DUMMY EQU 1
TYPE_PROGRAM EQU 2

ITEM oznacza, ze zaprogramowano polozenie obiektu, dummy oznacza ze program wisi ale jest wylaczony do czasu wlaczenia go innym podprogramem, a type_program oznacza, ze w tym miejscu ma sie wywolac PODPROGRAM.

przyklad zapisu takiej informacji:

;kwiatek
 dc.w 5,8 ;tile_x na mapie, tile_y na mapie
 dc.b TYPE_ITEM,1 ;rodzaj, ilosc (tutaj lezy 1 przedmiot, ale moze lezec ich np 10 sztuk)
 dc.w TILE_EMPTY ;w przypadku wykonania w to miejsce ma sie wstawic TILE_EMPTY
 dc.l prog_strzala ;oraz wykonac PODPROGRAM "prog_strzala"

 
 ;diam1
 dc.w 15,8
 dc.b TYPE_ITEM,1
 dc.w TILE_EMPTY
 dc.l 0

 ;
 ;nagrobek
 dc.w 20,8
 dc.b TYPE_PROGRAM,255
 dc.w 0
 dc.l prog_podpowiedz2

 ;
 ;drzwi1_a
 dc.w 39,8
 dc.b TYPE_PROGRAM,255
 dc.w 0
 dc.l prog_drzwi1


w przypadku wcisniecia fire sprawdzanie sa takie stany (przyklad oprogramowania mapy):

dc.w 10,8,TILE_FLOWER ;tile x mapy, tile y mapy, gracz ma miec aktualnie w rece TILE_FLOWER
 dc.l program_zasadzenie ;wtedy ma sie wykonac PODPROGRAM "program_zasadzenie"

 ;
 dc.w 57,8,TILE_FLOWER
 dc.l program_zasadzenie2
 
;
 dc.w 0,0,98 ;0,0 = sprawdz w kazdym miejscu mapy czy w rece ma tile="98" jesli tak to wykonaj podprogram "program_jedz"
 dc.l program_jedz

;
 dc.w 0,0,TILE_DIAMOND
 dc.l program_shoot


i same PODPROGRAMY, moga miec nieograniczona dlugosc i skladac sie z takich komend (dzieki, ktorym naprawde mozemy wykonac nieskonczone ilosci kombinacji):

PROG_END EQU 0
PROG_DRAW EQU 1
PROG_MOVE_BYTE EQU 2
PROG_MOVE_WORD EQU 3
PROG_MOVE_LONG EQU 4
PROG_USE_ITEM EQU 5
PROG_SCORE_ADD EQU 6
PROG_MESSAGE EQU 7
PROG_USE_ACT_ITEM EQU 8
PROG_DRAW_ACT EQU 9
PROG_DELAY EQU 10
PROG_SHOOT EQU 11
PROG_LIFE_UP EQU 12

PRZYKLADY:

program_shoot:
 dc.w PROG_SHOOT ;strzelaj!
 dc.w PROG_END ;koniec
 
;
program_jedz:
 dc.w PROG_USE_ACT_ITEM ;zmniejsz o jeden ilosc aktualnego przedmiotu w rece
 dc.w PROG_SCORE_ADD ;dodaj punktow:
 dc.l 1 ;jeden
 dc.w PROG_LIFE_UP ;dodaj zyc:
 dc.w 1 ;jedno
 dc.w PROG_END ;koniec

;
program_zasadzenie:
 dc.w PROG_USE_ACT_ITEM ;uzyj item
 dc.w PROG_SCORE_ADD ;dodaj 1 punkt
 dc.l 1
 dc.w PROG_DRAW_ACT,TILE_FLOWER ;narysuj w aktualnej pozycji gracza kwiatek
 dc.w PROG_DRAW,14,1,TILE_EMPTY ;usun bloczek z poczycji 14,1
 dc.w PROG_DRAW,14,2,TILE_EMPTY
 dc.w PROG_DRAW,14,3,TILE_EMPTY
 dc.w PROG_DRAW,14,4,TILE_EMPTY
 dc.w PROG_DRAW,14,5,TILE_EMPTY
 dc.w PROG_DRAW,14,6,TILE_EMPTY
 dc.w PROG_DRAW,14,7,TILE_EMPTY
 dc.w PROG_DRAW,14,8,TILE_EMPTY
 dc.w PROG_DRAW,14,9,TILE_EMPTY
 dc.w PROG_DRAW,10,6,TILE_EMPTY ;usun bloczek (tutaj jest strzalka) z pozycji 10,6
 dc.w PROG_END
 
;
prog_drzwi1:
 dc.w PROG_MOVE_WORD ;wstaw wartosc o dlugosci dwoch bajtow
 dc.l player_x ;w adres "player_x"
 dc.w 13*16-8 ;70 (czyli nic innego jak przenies gracza na pozycje 70)
 dc.w PROG_MOVE_WORD ;i podobnie przeniesienie pozycji gracza w y
 dc.l player_y
 dc.w 48
 dc.w PROG_DELAY ;poczekaj ulamek sekundy 
 dc.w PROG_END ;koniec



I OSTATECZNIE GRA (DEMO!!!):

http://mega.szajb.us/juenizer/exe.juen01






Ostatnia aktualizacja: 05.10.2014 15:51:43 przez juen
[#2] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #1

wykorzystywac hardware amigi


Fantastyczne! Mało kto już jest dziś w stanie docenić gry korzystające z amigowego chipsetu, a jeszcze mniej jest ludzi potrafiących go oprogramować w assemblerze. Trzymam kciuki za powodzenie.
[#3] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #1

Super pomysł Ale grafika do wymiany pomysł
[#4] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@parallax, post #3

w tym celu przedewszystkim powstal ten temat i demo :)

(probuje namowic Coshera i DKL'a)

Ostatnia aktualizacja: 05.10.2014 16:46:35 przez juen
[#5] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #4

Wiem pomysł Tu masz kilku chojraków, co może się zainteresuje pomysł


Ostatnia aktualizacja: 05.10.2014 16:36:01 przez parallax
[#6] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #1

http://mega.szajb.us/juenizer/exe.juen01_000 <- wersja pod a500

gre odpalilem przed chwilka na a1200 bez fastu i chodzi tak samo jak z fastem, wiec smiga bardzo plynnie

natomiast gra na a500 chodzi okolo 60% predkosci, ale tutaj glownie kwestia optymalizacji i mysle, ze jestem w stanie dociagnac do 100% predkosci z a1200
[#7] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #6

Odpaliłem gierkę pod WinUAE, gra chodzi szybko nawet po emulacji A500.
Z minusów to zauważyłem, że nie do końca działa kolizja zobacz podlinkowany obrazek.
Sterowanie postacią też nie jest najlepsze. Grając na klawiaturze po wciśnięciu 2 klawiszy jednocześnie np. góra i bok postać podskakuje w górę a czasem skacze po ukosie pół ekranu by kolejne pół ekranu przejść i to wszystko gdy wcisnę szybko raz 2 klawisze. Czy jest może dostępny edytor poziomów do gry?

Grafikiem jestem początkującym dlatego ustąpię miejsca lepszym. Gdyby żaden się nie zgłosił to możesz na mnie liczyć. Gdybyś był zainteresowany to można też przenieść grę MagicBall do Twojego silnika, kafelki są gotowe. Podsumowując bardzo ważny jest edytor poziomów, kolizja i płynne przewijanie ekranu.
[#8] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@Leon, post #7

dziekuje za informacje. grafika jest uzyta cudza stad takie niedociagniecie na tym obrazku (tile powinien sie konczyc dalej, dlatego wydaje sie ze postac jest w powietrzu)

co do sterowanie to klawiatura jest wylacznie testowo, zapomnialem o tym napisac - bedzie sterowanie joystickiem co zmieni diametralnie responsywnosc! :)

edytor mapy jest napisany w html/css/php/js, ale poki co nie udostepniam

o magicball mozemy jeszcze pomyslec, jesli mozesz napisz do mnie na biuro@cdlabel.info

Ostatnia aktualizacja: 05.10.2014 19:05:26 przez juen
[#9] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #8

Trzymam kciuki za powodzenie tego projektu :)
[#10] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@Gżegżółka, post #9

Ja też. I jednocześnie marze o tym, by się komuś chciało zrobić na Ami coś więcej niż kolejną zręcznościówkę...
[#11] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@OSH, post #10

A więc wszyscy trzymajmy kciuki, a zrobi się samo pomysł P.S. Też trzymam kciuki OK
[#12] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #6

Link pod wersję na A500 nie działa a chciałbym przetestować. Pod emulatorem wersja na A1200 działa dobrze. Trzymam kciuki za projekt i życzę wytrwałości w tworzeniu !
[#13] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@Barracudo, post #12

fakt, juz dziala. cudow nie ma, ale tak jak pisalem wczesniej, troche optymalizacji i nie powinien odbiegac od a1200, ale to pod koniec mysle...

Ostatnia aktualizacja: 05.10.2014 21:56:26 przez juen
[#14] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #13

60% prędkości nadal jest grywalne. Nie wyliczam wad ponieważ jest to wersja 0.1 Przy kolejnych (jeśli będziesz udostępniać) już jednak zacznę się czepiać :) Pozdrawiam !
[#15] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #1

Bardzo chętnie pomogę. Zgłoszenie wysłane na PM.
Fanie było by gdybym mógł bez ograniczeń prace publikować w wątku "piksele".
Była by to atrakcja, myślę. Tak mi się wydaje.
[#16] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #1

Jeszcze nie odpalałem, ale zapowiada się bardzo ciekawie ok, racja
Trzymam kciuki za powodzenie OK
[#17] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@Koyot1222, post #15

Jako postęp prac na grafiką pomysł
[#18] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #1

http://mega.szajb.us/juenizer/exe.juen02

zmiany:

- sprawdzana wersja CPU i wykonywany clearacheu dla 030+
- wywalono sterowanie klawiatura, zrobiono sterowanie joystickiem (pelna responsywnosc, bohater juz sie nie gubi)
- program wykonywalny od mc68000 0,5mb pamieci chip
[#19] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #18

OK
[#20] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #18

Trzymam kciuki za projekt. A teraz garść uwag/paytań/sugestii.

W jakim celu jest wykonywany ClearCacheU ? Czyżby SMC (Self-Modifying-Code) ?
Nie rozumiem czemu sterowanie klawiaturą zostało wywalone. powinny być (według mnie oczywiście) obydwie możliwości: klawiaturą i dżojstikiem. Mogę pomóc w tej kwestii i w innych też.
[#21] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@asman, post #20

pierwszy przypadek to proba dojscia dlaczego Phibrizzo musial wylaczyc cache na 060, zeby gra mu sie nie wieszala (sam obecnie nie mam nawet 030 wiec wale w ciemno)

co do klawiatury to nie widze najmniejszego sensu by platformowka amigowa miala sterowanie strzalkami :) oczywiscie obsluga klawiatury pozostala do szybkiego przelaczania miedzy itemami.

jezeli chodzi o pomoc to dziekuje, na chwile obecna jest juz sklad grafik i muzyk :)

Ostatnia aktualizacja: 07.10.2014 15:26:01 przez juen
[#22] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #21

jezeli chodzi o pomoc to dziekuje, na chwile obecna jest juz sklad grafik i muzyk :)

Spoko, powodzenia.
[#23] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@asman, post #20

http://mega.szajb.us/juenizer/exe.juen03

to ostatnia wersja na ten moment. wyeliminowalem blad, ktory mogl powodowac zwieche, gra powinna byc juz kompatybilna ze wszystkimi amigami

ewentualnie za jakis czas wrzuce zoptymalizowana wersje,w ktorej predkosc gry na a500 bedzie juz idealna

na ten moment nie przewiduje juz innych poprawek gdyz grafika juz jest w trakcie tworzenia wiec demo spelnilo swoja funkcje.

wersje developerskie beda na poczatku dostepne wylacznie dla testerow

nie puszczajcie kciukow :)

ps: wciaz planuje takze inne rodzaje gier niz platformowka
[#24] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #23

Trzymamy kciuki, z grafikiem i muzykiem uda sie na 99% OK

"ps: wciaz planuje takze inne rodzaje gier niz platformowka"
Ja chetnie nawiaze wspolprace przy innych rodzajach gier.
[#25] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #23

Z ciekawości zapytam, co to był za błąd ?
[#26] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@asman, post #25

nic zwiazanego z CPU, w pewnym momencie udalo mi sie go odtworzyc na mojej amee wiec poprawka juz nie byla problemem
[#27] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #26

Kiedy planujecie wydanie gry? pomysł W tym roku? pomysł
[#28] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@juen, post #1

może jakiś crowd funding? chętnie bym kupił tę grę :D

Panowie: autor i selur, zróbcie może konwersję Chu Chu Rocket, tytułu Segi znanego z Dreamcasta, jest też na GBA i ST. Wydaje mi się, że to jest do wykonania...

Ostatnia aktualizacja: 08.10.2014 13:25:39 przez charliefrown
[#29] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@parallax, post #27

Kiedy planujecie wydanie gry? pomysł W tym roku? pomysł


ciezko mi mowic za grafika, ale wiem ze postepy beda szybkie, ale tak czy siak nie ma co tworzyc nadzieji, ze pelna gra wyjdzie jeszcze w tym roku. obecnie strzelam 1-2 kwartal 2015.

crowdfunding


nie robie tego dla pieniedzy :)

chu chu rocket


ciezko mi pojac ta gre, chyba ze zdobede ja na dreamcasta i zagram :)

----

w najblizszym czasie chcialbym zrobic cos w stylu colonization, jesli bylby jakis chetny grafik do pomocy.,

innym typem jest dungeon master, ale tutaj od cholery grafiki by potrzeba bylo. kupe roboty nawet na lata przy freeware

tak czy siak chcialbym rownolegle robic wiecej niz jedna gre
[#30] Re: Nowa gra na AMIGE! Zapraszam do sprawdzenia nowego silnika.

@charliefrown, post #28

Nie wiem czemu akurat autor i ja, ale nie ogarniam takich gier jak Chu Chu a z platformowek tez jestem cienki i raczej nie mam weny do takich gier.. takze lipa
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