atarionline.pl c64 demo behind the scenes - Forum Atarum

Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

  • :
  • :

Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

    • 1: CommentAuthorblacktofu
    • CommentTime28 Mar 2012
     
    • 2:
       
      CommentAuthorlaoo
    • CommentTime28 Mar 2012
     
    Całkiem mądrze koleś gada...

    Ale jednak linuxowcy to psychole. Facet zadeklarował, że do następnego dema chce użyć SVN i już święte oburzenie, no bo przecież jest tylko jeden jedyny słuszny GIT stworzony przez naszego Pana i Władcę. Ile w tym demie będzie branchów, żeby ułatwiać sobie merdżowanie? No bez jaj. Torvalds widać zabronił ludziom posiadania własnego zdania.
    • 3: CommentAuthoremkay
    • CommentTime28 Mar 2012
     
    Have a look at 44:40

    There you see, why most C64 demos run "fast". They simply do not calculate all stuff, just re use it, while Atari Demos mostly do all the stuff step by step.
    • 4: CommentAuthorat0mic
    • CommentTime28 Mar 2012
     
    @laoo czytałem w Wiki ale ni w ząb nie wiem po co jest GIT albo SVC/SVN?
    • 5:
       
      CommentAuthorlaoo
    • CommentTime28 Mar 2012 zmieniony
     
    emkay: I woudn't call it a rule. Just none has came up with such effect yet on atari. We do have some similar effects though, like infinite bobs to name one.

    at0mic: Wyobraź sobie, że uczestniczysz w projekcie, nad którym pracuje kilka osób i każda z nich równolegle do pozostałych implementuje jakiś inny feature. Ty zmieniłeś procedurę A w liniach powiedzmy 100-200, a kolega naniósł poprawki na procedurę B w liniach 500-600. Jak synchronizować zmiany? Wysyłacie do siebie maile ze źródłami? Można! A jeśli jest ich dużo (kilka, kilkanaście, kilkadziesiąt tysięcy wierszy kodu) co wtedy? A jeśli programistów jest 10, 20, 30? Każdy coś robi. Pracujecie 8 godzin dziennie. Zmiany pojawiają się non stop. Jak to opanować?
    Tu wkraczają systemy kontroli wersji. Już w latach 50-tych mieli systemy polegające na lokowaniu wybranych plików (programista oznaczał plik jako zajęty i nikt inny nie mógł go zmodyfikować, dopóki nie został zwolniony. Taki semafor). Jeszcze kilka komercyjnych systemów działa w ten sposób po dziś dzień (nie wiem dlaczego ludzie tego używają). Nowocześniejsze system pozwalają na równoległą pracę z opcją zatwierdzania zmian do głównego repozytorium w dowolnym momencie (tak działa SVN). Wówczas pliki są porównywane i jeśli zmiana nie jest konfliktowa, jest ona zapisywana do serwera, tak aby inni mogli pobrać te zmiany i mieć je u siebie (konflikty są wtedy, gdy ktoś zmodyfikował ten sam fragment kodu. Nie można rozwiązać tego problemu automatycznie i człowiek musi podjąć decyzję jaka powinna być ostateczna wersja w repozytorium). Teraz trendy są systemy rozproszony bez jednego głównego repozytorium (tak działa git). Każdy ma całe repozytorium u siebie i każdy jest w stanie rozwijać swoją wersję projektu (bo nie ma wersji głównej). Powstałe wersje można ze sobą łączyć na życzenie. Jest to koncepcyjnie bardziej skomplikowane, ale dobrze sprawdza się w dużych projektach open-sourcowych (jak jądro linuxa, gdzie aplikowane są tylko wybrane zmiany).
    Dlatego śmieszy mnie, gdy ktoś do prostego projektu z małą liczbą developerów upiera się przy tak skomplikowanym systemie jak git. SVN jest o wiele prostszy, bardziej intuicyjny i w zupełności wystarczający.
    • 6: CommentAuthorat0mic
    • CommentTime28 Mar 2012 zmieniony
     
    @laoo - super opisane!

    @all
    smieszny program ale matematyka całkiem poważna:
    • 7: CommentAuthor0xF
    • CommentTime29 Mar 2012
     
    Spodziewałem się więcej konkretów w tej prezentacji. Ale i tak pewnie była dość trudna dla niewtajemniczonych.

    Co do systemu kontroli wersji, to nie rozumiem oburzenia laoo i na youtube - prezentujący uśmiechnął się i grzecznie wyjaśnił.
    • 8:
       
      CommentAuthorcrrn
    • CommentTime29 Mar 2012
     
    @laoo
    uwież proszę że nawet taka produkcja jak demo na 8 bitowy sprzęt potrafi składać się z dużej ilości plików źródłowych. oczywiście nikt nie będzie robił brancha, ale warto mieć coś co ci pokazuje zmiany zrobione przez innych. pilnuje kolizji w kodzie, wersjonuje, itp...
    z kolegami z którymi teraz składam demko mamy środowisko składające się z narzędzi on-line m.in: GIT, Forum dyskusyjne z definiowaniem zadań dla ekipy i dropboxa do wymiany plików...
    jak ktoś w robocie przyzwyczai się że każdy nawet najkniejszy projekt programistyczny zaczyna się od takich rzeczy (nawet lokalnie a nie na serwerze) nie potrafi inaczej postępować.
    btw: polecam książkę "Pragmatyczny programista" - warto przeczytać nawet jak programuje siętylko w ASMie 6502.
    • 9:
       
      CommentAuthorxeen
    • CommentTime29 Mar 2012 zmieniony
     
    z czego konkretnie korzystacie, crrn? przyznam że obecne projekty "hobby / 8 bit" prowadzimy wspierając się grupą dyskusyjną i mailami - moim zdaniem jest niewygodnie. Jeżeli jest coś darmowego, onlineowego to chętnie poczytam o doświadczeniach. Oczywiście kwestia svn, git, cvs czy czegoś tam jeszcze jest pomijalna i oczywista - ja preferuję svn i mnie on wspiera (z pluginami w rodzaju subclipse, czy tam subversive) we wszystkim co wymieniono i potrzebuję (merge, konflikty, branche itp). Chodzi mi bardziej o forum z "tasklistą" - wyważone i nie przesadzone (jednak dla takich projektów nie wiadomo jakie kombajny to przerost formy nad treścią, a proste narzędzia mogą pomóc)
    • 10:
       
      CommentAuthorlaoo
    • CommentTime29 Mar 2012 zmieniony
     
    @0xF
    Oburza mnie zealotyzm czcicieli Torvaldsa. Na wzmiankę o SVNie było głośne "what???!!" zupełnie jakby facet dopuścił się jakiegoś świętokradztwa, a on tylko wolał użyć prostszego, bardziej intuicyjnego systemu do prostych zastosowań. Jakby co, nie jestem fanboyem SVN, bo np nie mam oporów do zaznajamiania się z Mercurialem, a uważam tylko, że ten stabilny i dojrzały projekt jest świetny do prostych zastosowań.


    @crrn
    Jestem adwokatem systemów kontroli wersji i wydajnej pragmatycznej metodologii tworzenia oprogramowania. Więc bez obaw, a Hunta Thomasa mam na półce :)

    @xeen
    Swojego czasu do 8-bitowych zastosowań używałem ->link<-
    Nie jest to dokładnie to czego szukasz, a bardzo lekki bugtracker.
    • 11: CommentAuthormono
    • CommentTime29 Mar 2012 zmieniony
     
    Trac: ->link<- - proste i pożyteczne. Wgląd do kodu źródłowego dzięki czemu można w ticketach linkować do konkretnego źródła, czy do wiki. Milestony, komponenty, historia zmian, powiadomienia mailem.

    Edit: "Wgląd do kodu źródłowego" - miałem na myśli to, że trac może pokazywać zawartość projektu w repozytorium dowolnego VCS.
    • 12: CommentAuthor0xF
    • CommentTime29 Mar 2012
     
    Trac jest fajny, używa(łe)m go w kilku projektach, w tym atarowskich.

    laoo: Facet sam używa Gita, a SVNa wybrał dlatego, że jego kolega Oswald dopiero uczy się systemów kontroli wersji (oraz Makefile - w tym momencie sam bym krzyknął "what?!" ;).
    • 13:
       
      CommentAuthorKaz
    • CommentTime30 Mar 2012 zmieniony
     
    Trzy, cztery lata temu wstecz byl pomysl, zeby taki tracker dolaczyc gdzies na podstronie AOL jako zalecany do prowadzenia projektow gier, dem, etc (bylyby artki zachecajace, etc). Zeby wlasnie od niego zaczynali nasi koderzy, zeby stal sie standardem, a znajomosc metodologii ulatwilaby powstawanie prac. Wowczas jednak nie bylo odpowiednio prostego, a dobrego i darmowego systemu.

    Czy uwazacie ze a) ma to sens?, b) ktorys z tych wymienionych nadawal sie na taki standard?
    • 14: CommentAuthorat0mic
    • CommentTime30 Mar 2012
     
    2 x tak - chcę się nauczyć z tego korzystać ale niech wybiorą program fachowcy!
    • 15:
       
      CommentAuthorlaoo
    • CommentTime30 Mar 2012
     
    Ja byłbym za Trac'iem: "It provides an interface to ​Subversion (or other version control systems), an integrated Wiki and convenient reporting facilities."
    • 16: CommentAuthorblacktofu
    • CommentTime30 Mar 2012
     
    Co do nauki systemu kontroli wersji - to sie zawsze oplaci, bo im jest obojetne jaki kod wersjonuja (asm,c,php), gałazki sa wszedzie, etykietki rowniez. A git jest fajny dzięki github (no i OpenEmbedded).

    Ale chyba dyskusja się toczy na temat który w prezentacji zajął 30-60 sekund.

    A z glownego tematu - jak zrobic taka prezentacja o Atari? Tak, aby zostawić coś po sobie?

    Mamy dema na ftp.pigwa.net, ale mniej i mniej osob potrafi je kompilowac, nie mowic o zrozumieniu, co tam sie dzieje. Ci, ktorzy je pisali, spedzili sporo czasu, aby osiagnac to co osiagneli. Wiele osob patrzy z niedowierzaniem na to, co osiagnieto to na 8 bitowym komputerze z konca lat 70 XX wieku. Obawiam sie, ze za pewien czas zostaną nam tylko owe filmiki.
    • 17: CommentAuthor0xF
    • CommentTime30 Mar 2012
     
    Kaz: a) obawiam się pułapki "metodyki i standardowych narzędzi" - to nie jest najważniejsze przy programowaniu
    b) stawiam na Trac+SVN. Git daje więcej możliwości, niż SVN, ale przez to jest trudniejszy do opanowania.

    blacktofu: Z takiej prezentacji to nauczysz się kodowania tyle co nic. :) Nie wiem nawet, czy zachęci ona kogokolwiek do kodowania na 8-bit.

    Kilka godzin prezentacji wideo nie zastąpi lektury kilku książek i magazynów dyskowych. Wiele z nich jest już łatwo dostępnych w sieci.
    • 18:
       
      CommentAuthorKaz
    • CommentTime30 Mar 2012
     
    0xF - jest mi znany efekt pulapki metodyki czy standardow, ale tutaj chodzi raczej o drogowskaz dla pewnych osob (niekoniecznie poczatkujacych koderow, raczej osob nie obeznanych z praca grupowa przy programach). To wyszlo przy pracach nad "Kolony 2106", w ktora bylo zaangazowanych kilkanascie osob (bo tlumacze, testerzy tez). Wiekszosc z tych osob nigdy nie uczestniczyla w projektach programistycznych. Zobacz jakie czesto bywa zamieszanie z kolejnymi wersjami gier tylko przez to, ze nie posiadaja one oficjalnej numeracji. Niby banalna sprawa, a standardowe numerowanie usprawniloby znacznie odbior, dodawanie do baz danych, analize, etc. A to jedna, prosta rzecz z zakresu metodologii, sa inne, znacznie wazniejsze.

    Dlatego, jezeli koderzy wskaza efektywne, ale w miare proste narzedzia do zarzadzania projektem, poparte praktyka i doswiadczeniem polecajacego to zaloze sie, ze w pewnej perspektywie czasu podniesie to wydajnosc naszej spolecznosci. Bedzie moglo powstac wiecej gier czy dem, ktore wymagaja zaangazowania i ktore sa bardziej skomplikowane. Co wiecej, jezeli przyzwyczaimy sie do standardow pracy to latwo bedzie przechodzic z jednej tworczej grupy do drugiej i brac udzial w pracach z biegu. Obecnie zauwazylem, a pracowalem przy grach Atari w wielu roznych konfiguracjach osobowych, ze za kazdym razem trzeba wypracowywac "jezyk komunikacji", a sposoby postepowania sa inne. To uciazliwe.
    • 19: CommentAuthorat0mic
    • CommentTime31 Mar 2012 zmieniony
     
    kompletna ślepota pomyliłem wątki i wpisałem tu zamiast odwapniania mózgu w Asseblerze