C64Power Forum

Software => Programowanie => Wątek zaczęty przez: wlodi5 w 16 Stycznia 2015, 15:39

Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: wlodi5 w 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ę.
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Gohanks w 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ę.
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Raf w 16 Stycznia 2015, 18:07
pierwsze pytanie - chcesz pisac na c64 czy pc ?
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: wlodi5 w 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.
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Gohanks w 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ąć.
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: wlodi5 w 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 \"\"
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: F7sus4 w 16 Stycznia 2015, 21:54
Gra Smurfen, z tego co pamietam, byla napisana wyjsciowo w Basicu - tez sobie z niej rozpracowywalem niektore patenty.
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Kisiel w 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.
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: kroolic w 16 Stycznia 2015, 23:43
Jeśli chodzi o muzykę to Wacek moze ci podpowiedzieć jaki soft wart uwagi napisz do niego na priva
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Kisiel w 16 Stycznia 2015, 23:50
tak logicznie jak ktoś robi kod, grafę i muzykę to jest Bogiem.
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: pLayer_sct w 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ć
Tytuł: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: wlodi5 w 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.
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: rs2322 w 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

Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Kisiel w 19 Maja 2015, 10:25
proponuje
load"obrazek1",8,1
load"obrazek2",8,1

jak to zrobić pod assy masz w codebase.
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: rs2322 w 19 Maja 2015, 10:54
tylko ja z tego chce mieć jeden plik .prg , jak to uczynić ?
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: comankh w 19 Maja 2015, 14:15
np z monitora, S nazwa urządzenie adres adres

to naprawdę 2s z google
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: rs2322 w 19 Maja 2015, 20:06
comankh moge prosić o przykład ?
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: comankh w 20 Maja 2015, 10:26
j/w

http://lmgtfy.com/?q=commodore+64+saving+memory+from+final+III+monitor
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Kisiel w 20 Maja 2015, 11:52
A co się dziwić..ja kiedyś straciłem całe pięć minut zanim zadałem dobre pytanie wujkowi z gulem.
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Data w 29 Sierpnia 2015, 15:23
Wlodi5: Do napisania prostej tekstowej gry z nieskomplikowaną grafiką i efektami dźwiękowymi BASIC ci wystarczy. Istnieje kilka całkiem imponujących (biorąc pod uwagę ograniczenia) gier przygodowych napasanych w BASICu. Znacznie gorzej jest z grami akcji. Próba zrobienia dynamicznej gry może uzmysłowić ci, że albo działasz na styku BASIC/ASM, albo że ten pierwszy w ogóle nie odgrywa już istotnej roli w Twojej produkcji.
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Tex13 w 29 Sierpnia 2015, 22:02
Najepszego nauczyciela przedstawił Ci Comankh, korzystając z jego możliwości poszukaj skany czasopism w których były często opisane początki programowania np. CAFan (Commodore & Amiga), Bajtek, Kebab itd. jest trochę dostępnych skanów książek. Jest też bardzo dużo książek i czasopism w języki angielskim i niemieckim.
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: nameless w 30 Sierpnia 2015, 20:04
gazety znajdziesz tutaj

http://retroreaders.makii.pl/2011/11/archiwum-plikow/
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Defiant w 29 Grudnia 2015, 18:32
W sumie mogę podpiąć się pod ten subject bo też zaczynam naukę pisania demek.

Jak ci idzie wlodi5?

Ja dopiero zebrałem materiały i przygotowałem środowisko - będe pisał demka na PC dla C-64
Tytuł: Re: Początki w pisaniu demek, prostych gierek.
Wiadomość wysłana przez: Kisiel w 29 Grudnia 2015, 19:49
Idzie mu dobrze, po dniach wolnych wrócił do pracy ;)