Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: Początki w pisaniu demek, prostych gierek.  (Przeczytany 2522 razy)

0 użytkowników i 2 Gości przegląda ten wątek.

Offline wlodi5

  • Level 1
  • *
  • Wiadomości: 14
Początki w pisaniu demek, prostych gierek.
« dnia: 16 Stycznia 2015, 15:39 »
Witajcie.

Pasjonuje się od ok. 15 lat starymi komputerami. Chciałbym w związku z tym spróbować czegoś twórczego i poznać język tych maszynek, a chodzi mi konkretnie o C64. Moim marzeniem od zawsze było zrobienie prostej demoscenki i napisanie pod nią muzyki.

Uczenie się w dzisiejszych czasach tak archaicznego języka jak np. Basic jest bez sensu - ja to wszystko wiem - jednak chodzi tu głównie o sentyment i ruszenie szarych komórek, potrenowanie logicznego myślenia. Programistą raczej nigdy nie będę, a chcę się po prostu trochę pobawić.

Mam zestaw C64, w którego skład wchodzi m.in magnetofon, stacja dyskietek 1541, dwa kardridże black box. Wykonałem też kabelek do transmisji danych między PC a stacją dysków, mam też możliwość nagrywania danych na kasety z PC.

Chciałbym pisać na realnym sprzęcie, w tym cała zabawa.

Przeczytałem już jakąś połowę książki "Nauka programowania w języku BASIC" Wacława Iszkowskiego, która od lat walała się po mojej biblioteczne, cały kurs programowania w Basic z tej strony, oraz przeglądnąłem instrukcję użytkownika C64 w języku angielskim, kładąc nacisk na rozdział z grafiką i tworzeniem sprite'ów, które to rozdziały przeczytałem w całości.

Chciałbym dowiedzieć się jak narysować jakieś tło, grafikę, bo samymi znakami graficznymi z klawiatury chyba tego nie zrobię ? Jak wykorzystywać zewnętrzne programy np. do rysowania grafiki, tworzenia muzyki i jak przenosić, implementować ów dzieła do kodu mojego programu. Chciałbym też dowiedzieć się jak tworzyć własne dźwięki,  jak np. zrobić digitalizowaną mowę, zdjęcia itp.

Chodzi mi o stworzenie prostej gierki, np. tekstowej z jakimiś elementami graficznymi, czy mini gierkami. Lub zrobienie jakichs najprostrzych efektów z których można by zmontować coś na kształt demka, prezentacji, chociażby obracający się sześcian czy coś prostego do zaprogramowania pod co można by podłożyć jakąś muzyczkę.



Offline Gohanks

  • Level 3
  • ***
  • Wiadomości: 103
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #1 dnia: 16 Stycznia 2015, 17:08 »
wlodi5 odezwij się do mnie we wtorek na skype (username Gohanks), to co chcesz wiedzieć mogę Ci wytłumaczyć, bo podobne rzeczy robiłem niedawno. Przede wszystkim odwiedź codebase64.org oraz poczytaj o pisaniu w assemblerze, bo basic w grach i demach zastosowania nie znajdzie.

Jeśli chodzi o samo rysowanie sprite'ów to na csdb.dk możesz znaleźć masę narzędzi na PC. użycie zrobionych spriteów na C64 jest możliwe na kila sposobów, np. export do kodu binarnego, lub kodu basic'a (data).
Ja np. sprite'y rysowałem sobie w wbudowanym edytorze C128 i zapisywałem na sd2iec, potem wczytywałem w trybie c64 w monitorze pamięci (też poczytaj o tym) i sklejałem wszystko w plik prg.

BTW. Blackbox chyba też miał monitor, więc polecam ściągnąć i poczytać instrukcję.

Offline Raf

  • Master of disaster
  • Administrator
  • Level 7
  • **********
  • Wiadomości: 7333
  • Wolność, własność, sprawiedliwość
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #2 dnia: 16 Stycznia 2015, 18:07 »
pierwsze pytanie - chcesz pisac na c64 czy pc ?
"Cokolwiek powiesz albo napiszesz, znajdzie się ktoś, kto słyszy lub czyta coś zupełnie innego i jeszcze bezczelnie wmawia Ci to"

Offline wlodi5

  • Level 1
  • *
  • Wiadomości: 14
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #3 dnia: 16 Stycznia 2015, 18:24 »
Tak jak nadmieniłem wyżej, na prawdziwym hardwarze, w tym przypadku C64.

Zacząłem się uczyć BASIC'a bo jest to jeden z najprostszych języków, z kolei Assembler jednym z najtrudniejszych. Nie chodzi mi o wyciskanie ósmych potów z C64, będę się cieszył jak uda mi się napisać jakiegoś sprite'a, który będzie zjadał kulki na ekranie, a szczytem mojego geniuszu będzie licznik punktów, który je będzie zliczał. Nie mam praktycznie żadnego doświadczenia w programowaniu i raczej cudów już nie zdziałam w moim wieku. Assembler jak na początek to chyba dużo, zwłaszcza jak na mój zlasowany już 28 letni umysł.

BASIC'a też zacząłem się już uczyć i trochę czasu mu poświęciłem starając się powoli czytać z maksymalnym zrozumieniem, szkoda by było to zmarnować i zaczynać od nowa z nowym językiem.

Jeśli po przeczytaniu powyższych informacji koniecznie nadal polecacie mi Assemblera, trudno, może jakoś zacznę go nadgryzać, ale tak jak piszę, chodzi mi o proste programy tekstowe, ze szczątkową grafiką, tak żeby się co najwyżej pochwalić kumplowi i napisać jakąś śmieszną gierkę tekstową wyśmiewającą starych znajomych ze szkolnych czasów ;)

Nie wiążę raczej przyszłości z programowaniem, to taka chwilowa zabawa ale przy okazji i tak się czegoś nauczę. Basic i programowanie tak starych komputerów to wiedza zbyteczna, ale przynajmniej rozruszam trochę umysł i logiczne myślenie, a jeśli o to chodzi to każdy sposób jest dobry \"\"

Napisanie prostego demka to już szczyt marzeń. Lubię bawić się muzyką i komponowaniem, mam do tego zdecydowanie większy talent niż do matematyki. Próbowałem pisać zwyczajne utwory "do słuchania", ale kilka osób uznało że to co robię nadawało by się świetnie jako soundtrack do gier i samemu wolałbym robić właśnie tego typu rzeczy. Fascynuje mnie muzyka "demoscenowa", chętnie bym spróbował coś w tym stylu zrobić ale robić coś pod cudze produkcje, które w większości maja już własny soundtrack, trochę głupio, dlatego fajnie by było umieć zrobić samemu jakąś wizualizację.

@Raf, jeśli to Ty to pozdrawiam, miałem okazje wysłuchać arcyciekawego podcastu z jakiegoś radia na temat "jak zacząć przygodę z demosceną", wypowiadałeś się tam wraz z Odynem. Nie ukrywam, że wywiad popchnął mnie jeszcze bardziej do wzięcia odpowiednich książek do ręki.

Offline Gohanks

  • Level 3
  • ***
  • Wiadomości: 103
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #4 dnia: 16 Stycznia 2015, 19:01 »
\"\" Tak to ten sam Raf, też słuchałem tego samego podcastu. Moim zdaniem nie musisz się ograniczać do basic'a. Ale jeśli jest to dla Ciebie łatwiej przyswajalny początek to instrukcja do C64 powinna starczyć do zrobienia pierwszej gry. Podpowiedź: polecenia data i read.

PS: Generalnie podoba mi się Twoje podejście \"\" assembler nie jest koniecznością, basic da sobie radę z tym co chcesz osiągnąć.

Offline wlodi5

  • Level 1
  • *
  • Wiadomości: 14
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #5 dnia: 16 Stycznia 2015, 19:54 »
Także na razie próbuje napisać swój pierwszy większy program w BASIC'u V2. Właśnie zaczynam. Wypokowałem już na środku ekranu własną ksywę i postawiłem sobie za cel pierwszy mały efekt, czyli znak ">" który ma przelatywać z lewej do prawej części ekranu i "zjadać" ów napis, później miałby wrócić i od końca i wypisać "presents" czy coś takiego.

Później będę chciał dodać jakąś grafikę pikselową na czołówko-menu z logiem gry, może uda mi się przenieść ją jakoś z PC, ale o tym to już muszę więcej doczytać.
Na stronie http://codebase64.org widzę dużo przydatnych informacji \"\"

Offline F7sus4

  • Level 6
  • ******
  • Wiadomości: 2410
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #6 dnia: 16 Stycznia 2015, 21:54 »
Gra Smurfen, z tego co pamietam, byla napisana wyjsciowo w Basicu - tez sobie z niej rozpracowywalem niektore patenty.

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #7 dnia: 16 Stycznia 2015, 23:30 »
wlodi5:
Na stronie http://codebase64.org widzę dużo przydatnych informacji

Do basica to raczej słabe \"\"
Na CSDB też możesz poznajdywać darmowe źródła do efektów używanych w demach.
Proponuje rejestrację na CSDB i pogadanie z ludzmi na forum, HCL prześle coś na priva jak poprosisz.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline kroolic

  • Level 3
  • ***
  • Wiadomości: 122
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #8 dnia: 16 Stycznia 2015, 23:43 »
Jeśli chodzi o muzykę to Wacek moze ci podpowiedzieć jaki soft wart uwagi napisz do niego na priva

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #9 dnia: 16 Stycznia 2015, 23:50 »
tak logicznie jak ktoś robi kod, grafę i muzykę to jest Bogiem.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline pLayer_sct

  • Level 1
  • *
  • Wiadomości: 39
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #10 dnia: 17 Stycznia 2015, 00:07 »
Nie da się, sam miałem kiedyś takie aspiracje kod, muza, grafa 3d i swapper.. ale to było za czasów gdy człowiek był młody mógł nie spać pare dni i stawiał scene przed kobiety, teraz jak już jest żonaty i dzieciaty to się ciesze jak dziecko gdy mam czas demka na c64/ami pooglądać
pLayer / Suspect
--------------------------------------------------
C64C /internal SD2IEC, SwinSID, JiffyDos/+1541II+FINAL III+XU1541
A1200 + Blizzard030/50 + Lotharek HXC

Offline wlodi5

  • Level 1
  • *
  • Wiadomości: 14
Początki w pisaniu demek, prostych gierek.
« Odpowiedź #11 dnia: 17 Stycznia 2015, 01:40 »
Zarejestruje się na CSDB. Do tej pory ściągałem stamtąd tylko demka.

Zrobiłem ten efekt \"\" Napis wpokowałem do odpowiednich rejestrów pamięci ekranu, czyli zapewne jak koń pod górę. Zadeklarowałem zmienne X i Y i DX i DY wartościami 0.9.Wpokowałem wzór 1024 + x + 40. * y dla kodu znaczka > i drugi POK ze wzorem dla spacji, między nimi pętla opóźniająca. Dalej zmienna X=X+DX i wymyśliłem warunek IF X=1.8 THEN <linia z pierwszym pokiem ze wzoru>.

I w sumie działa tak jak chciałem. Wkleił bym kod gdyby mi się chciało to przenosić :D

Także pierwsze koty za płoty.

A co do grafiki i muzyki, brałem lekcje gry na pianinie od 2012 do niedawna dla zajawki (wiadomo że w tym wieku nic juz nie osiągnę) i coś tam komponowałem jakieś koncepty w oparciu o zdobytą wiedzę, myślę że pod demko coś bym tam sklecił ale wirtuozeria by to nie była. Niemniej ten element tworzenia byłby dla mnie dosyć przyjemny. Co do grafiki to czułbym się jak w domu, pod warunkiem że byłby to PS, znajomość photoshopa mamy rodzinną i chyba we krwi (ojciec i brat są fotografami). Jednakże nie wiem jakie zasady panują w tworzeniu grafiki w kulturze demoscenowej i jakich metod, narzędzi się używa. A kod, tak jak widać na załączonym obrazku, babram się w pieluchach.

Także Bogiem to ja raczej nie będę, ale mam za to dużo wolnego czasu, brak żony, dzieci, do pracy chodzę kiedy mi się chcę. Problemem jest wytrwałość. Mam dużo zajawek, ale po dwóch dniach muszę przerzucić się na coś innego i wracam do tego po jakimś czasie.

Offline rs2322

  • Level 5
  • *****
  • Wiadomości: 540
  • ASAP
Re: Początki w pisaniu demek, prostych gierek.
« Odpowiedź #12 dnia: 18 Maja 2015, 22:32 »
Gohanks mozesz napisac cos wicej o sklejaniu tych plików w jeden .prg.
Cos tam sie bawie w basicu, mam przykladowo dwa pliki JPG przerobione na format .prg i teraz chciałym raz ładować jeden plik raz drugi, jak to uczynić ?
Obrazki do .prg utworzylem za pomoca GangEd.


moj_program.prg
obrazek1.prg
obrazek2.prg

« Ostatnia zmiana: 18 Maja 2015, 22:42 wysłana przez rs2322 »
Pamięci RAM każda ilość: KM4164, 4464, TMS 4464 MT1259-10
PCB - projekty na zamówienie.
Programowanie pamięci EEPROM, EPROM - free !
SD2IEC http://c64power.com/forumng/index.php?topic=6630.0

Offline Kisiel

  • Level 7
  • *******
  • Wiadomości: 11447
  • Number 7 in all users competition...
    • http://wiki.projekt64.filety.pl/doku.php
Re: Początki w pisaniu demek, prostych gierek.
« Odpowiedź #13 dnia: 19 Maja 2015, 10:25 »
proponuje
load"obrazek1",8,1
load"obrazek2",8,1

jak to zrobić pod assy masz w codebase.
idz wyprostowany wśród tych co idą na kolanach

...w przypadku checi zakupu UK1541,GA,MA,T8500,T7501 prosze o kontakt na Facebooku, haslo: UK1541....

Offline rs2322

  • Level 5
  • *****
  • Wiadomości: 540
  • ASAP
Re: Początki w pisaniu demek, prostych gierek.
« Odpowiedź #14 dnia: 19 Maja 2015, 10:54 »
tylko ja z tego chce mieć jeden plik .prg , jak to uczynić ?
Pamięci RAM każda ilość: KM4164, 4464, TMS 4464 MT1259-10
PCB - projekty na zamówienie.
Programowanie pamięci EEPROM, EPROM - free !
SD2IEC http://c64power.com/forumng/index.php?topic=6630.0