Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: Co można zawrzeć w 64 kilobajtach (kodu)?

15.02.2015 16:03
Mastyl
1
Mastyl
161
Za godzinę pod Jubilatem
Wideo

Co można zawrzeć w 64 kilobajtach (kodu)?

... przeciętny gracz powie pewnie że najwyżej plik *.doc dołączony do gry.

Ale kto obserwuje coś takiego jak demoscena, pewnie wie, że praktycznie wszystko.

Ostatnio robię przegląd demosceny z różnych platform, nie tylko PC. Chciałbym wrzucić dwa filmy, które znawcy sceny pewnie znają, ale które może kogoś zachęcą do zainteresowania się tematem:

Oba filmiki to nagrany zapis demka o wielkości 64k (kilobajty... tak) na PC. Czasami zastanawiam się, jak to możliwe, że w 64kb nawet przy megakompresji mieszczą się same sample czy tekstury użyte w tych demkach.

Gaia Machina - Approximate z 2012
https://www.youtube.com/watch?v=wir8sSDfW5Q

oraz

luma - mercury z 2014
https://www.youtube.com/watch?v=WBuoyegCeXI

Konkluzja jest taka, że twórcy takiego AC: Unity powinni brać lekcje optymalizacji u tych ludzi.

Oba filmy w HD. Miłego oglądania.

15.02.2015 16:33
maviozo
2
odpowiedz
maviozo
239
autor zdjęć

Pytanie tylko czy w tych 64 kilo jest też silnik renderujący?
[edit]
Pobrałem - to jest całość, z silnikiem. Wow, to ROBI WRAŻENIE. Choć oczywiście jest tam użyta mocna kompresja i dekodowanie, ale i tak WOW.
A co do sampli i tekstur. To zapewne ich nie ma.
Dźwięk może być w całości oparty o syntezatory (czyli wzory), VTS. Typowa "chipowa" muza, mieszcząca się w 1kb + odpowiednie, "dzisiejsze" efekty.
Tekstury również mogą być oparte o gradienty, wzory, cloudy itp.
Drugie demo wbrew pozorom bardziej "prymitywne", gdzie te wszystkie "kruczki optymalizacyjne" są aż nadto oczywiste. :)

A takie demka i demosceny to już od czasów prehistorycznych, dema na amidze zawsze robiły wrażenie :)

Drugie demo u mnie nie działa :(

15.02.2015 16:40
Mastyl
3
odpowiedz
Mastyl
161
Za godzinę pod Jubilatem

W tym demku o ziemi jest trochę tekstur, w tym drugim głownie światła i plamy, czysta matematyka. Ale efekt jaki piękny. Wg mojej wiedzy zasady 64k compo są takie, że w 64k ma mieścić się WSZYSTKO, czyli kod, grafika i dźwięk. I teksty creditsów. :)

15.02.2015 16:43
maviozo
4
odpowiedz
maviozo
239
autor zdjęć

Tak, zupdateowałem posta. Jest tam silnik, wszystko. Na moim 9800gt się tnie :D ale i tak robi to na mnie wrażenie...
Faktycznie kilka tekstur raczej musiało się tam znaleźć.

15.02.2015 16:50
MiniWm
😈
5
odpowiedz
MiniWm
243
PeaceMaker

Byla sobie swego czasu gra oparta w 100% o kod matematyczny :] (przypominala q3) to dopiero cudo bylo :] ( w sumie tak samo jak wizualizacje muzyczne oparte o c64 )

Coz przepadly czasy wykladow gdzie mielismy dostepne X cpu X pamieci i trzeba bylo rozwiazac problem :] nastapily czasy... "byle by dzialalo" w koncu mamy tyle mocy pod reka... kto by sie bawil w optymalizacje.... czy szukal
specjalisty od "algorytmow"...

W sumie systemy embeded ostatnim bastionem :)

ps. zaraz przeciez opengl wciaz zyje.... :)

15.02.2015 16:54
Mastyl
6
odpowiedz
Mastyl
161
Za godzinę pod Jubilatem

U mnie też się tnie, dlatego lepiej obejrzeć na jutubie. Ale ciekaw jestem, czy nie tnie się dlatego, że może wszystko jest w trybie softwarowym, czyli generowane tylko przez procesor, bez grafiki? Ale pewnie nie.
A jeśli już wykorzystuje grafikę, to pewnie w trybie OpenG, którego gracze nie updejtują od czasów Quaka 2 ;)

15.02.2015 17:26
Vaerin
7
odpowiedz
Vaerin
111
Generał
15.02.2015 18:21
Mastyl
8
odpowiedz
Mastyl
161
Za godzinę pod Jubilatem

Kurde momentami ten krieger ładniejszy od kłejka. Zobaczcie na dynamiczne oświetlenie gdy otwiera się przesłona drzwi ;)

96 kb!

15.02.2015 19:06
9
odpowiedz
AnnataR
160

Ah, pamiętam .kkriegera! Kolega mi go pokazywał gdzieś w okolicach 2005 r., nie mogłem uwierzyć, że to wszystko mieści się w parudziesięciu kilobajtach :) Podejrzewałem jakiś podstęp, że odnosi się do jakichś zewnętrznych bibliotek. Coś niesamowitego.

15.02.2015 19:50
Mastyl
10
odpowiedz
Mastyl
161
Za godzinę pod Jubilatem

Ale ponoć właśnie ta kompresja wszystkiego na żywo i generowanie dźwięków i tekstur na żywo - to powoduje przerażające wymagania. Procesor liczy 10 x więcej rzeczy.

A jak masz 10 giga tekstur, to gra je sobie spokojnie zaciąga z dysku do pamięci, nie obciążając procesora.

15.02.2015 19:53
maviozo
😡
11
odpowiedz
maviozo
239
autor zdjęć
Wideo

No i przez was "marnuję" moce przerobowe na oglądanie tego:
https://www.youtube.com/watch?v=iRkZcTg1JWU

SZLAG BY WAS!

;)

Właśnie o demach 4kb(!) czy 64kb mówią w około 29 minucie. Mówią tam, że potrafią w 128 bajtach(!!!!!!!) upychać animacje 3D. Z silnikiem.

15.02.2015 20:00
12
odpowiedz
b212
134
Generał

Interesowałem się jakiś czas temu demkami, ale to co wrzuciłeś mnie pozamiatało, WHAT THE FUCK.

Podobną reakcję wywołał post AnnataR (data ostatniego posta wskazuje na słuszność reakcji). Lurker? :D

15.02.2015 21:23
Mastyl
13
odpowiedz
Mastyl
161
Za godzinę pod Jubilatem
Wideo

4K compo też zrywa beret.

A obczajcie co w 64 potrafią zrobić Razor1911- znani pewnie każdemu graczowi z cracków :)

https://www.youtube.com/watch?v=IFXIGHOElrE

A co potrafi w 4k kompo?

Jeszcze lepsze:

https://www.youtube.com/watch?v=E3qn1RsJlUM

16.02.2015 00:44
PanSmok
14
odpowiedz
PanSmok
259
Legend

wierzyc sie nie chce...

16.02.2015 09:41
Henrar
15
odpowiedz
Henrar
107
Generał Whiskas

Yep, to optymalizacja - optymalizacja zużycia pamięci dyskowej kosztem zużycia procesora. Stosuje się tutaj technikę generowania proceduralnego - wszystko jest wygenerowane jest w kodzie, łącznie z grafiką. Nie ma tradycyjnych tekstur czy plików z dźwiękiem. Jest to cholernie zasobożerne pod względem zużycia procesora, trzeba się sporo nakodzić i nie da się wygenerować zbyt zaawansowanych tekstur i modeli przy pomocy czegoś takiego (tak, widzę Gaia Machine, ale tam na wielu rzeczy, obiektów nie ma, AI też nie).

16.02.2015 10:34
16
odpowiedz
zanonimizowany158587
167
Senator

Optymalizacja? Jeśli przez to rozumiemy czystą matematykę, to tak. Perfekcyjne wykorzystanie królowej nauk!

16.02.2015 10:47
17
odpowiedz
Lutz
173
Legend

zapomina sie o jednej rzeczy to niskopoziomowe programowanie. Mowienie o optymalizacji, odnoszenie do gier i aplikacji nie ma najmniejszego sensu.
o tym ze to procedural, l systemy i inne fraktale wspomniano juz wcześniej

16.02.2015 10:50
maviozo
18
odpowiedz
maviozo
239
autor zdjęć

Lutz - gostek na filmiku ewidentnie nie używa assemblera - to jakiś pascal czy cuś?

16.02.2015 10:55
Henrar
19
odpowiedz
Henrar
107
Generał Whiskas

@Lutz:
Żadne niskopoziomowe programowanie. Takie rzeczy można stworzyć w praktycznie dowolnym języku programowania (oczywiście, wtedy plik wykonywalny może nie zmieścić się w 64KB i mogą być problemy z wydajnością, ale da się).

I jest to forma optymalizacji - w tym procesie najczęściej przyspiesza się/zmniejsza coś względem czegoś. To nie jest taki tani proces jak niektórym się wydaje - że można obniżyć znacząco zużycie pamięci, czas wykonania i wydajność naraz. Może być optymalizacja pamięciowa kosztem np. wydajności, może być optymalizacja wydajności względem zużycia pamięci. Generowanie proceduralne nie jest tanie jeżeli chodzi o moc obliczeniową.

16.02.2015 11:17
20
odpowiedz
zanonimizowany1071794
1
Legionista

I co z tego, że 64 KB skoro te przykłady to taka zabawa, nawet grywalności to nie ma. Porównajcie to z normalnymi grami, tekstury drewna, obrazów na ścianach i inne rzeczy wyglądają ładnie, a to musi coś ważyć więc sama tekstura na obraz Ostatniej Wieczerzy nie zmieści się w 64 KB. Dodajcie dźwięki wystrzałów z broni, dźwięki chodzenia po podłodze, skrzypienie, wiatr, deszcz, burza, muzyka, dubbing dla postaci, cutscenki, AI, masa animacji, ekwipnek postaci, podnoszenie broni, fizyka, zniszczalne obiekty i masa innych rzeczy. Dlatego te 64 KB projekciki to zabawa by pochwalić się czymś, sensu większego to nie ma.
Nawet zwykłe programy, niezbyt rozbudowane mają z reguły więcej niż 64 KB.
Co wam tak na rozmiarach zależy? 30 mbitowe łącze to koszt ~50 zł, a za parę lat każdy będzie miał 100 mbitów za ~50 zł. Teraz gdy większość pobiera film kinowy w kilka minut (nawet nie w kilkanaście) rozmiary gier nie mają aż tak wielkiego znaczenia, bo i tak każdy w kilka godzin pobierze najnowszą grę ważącą wiele GB. Zauważcie, że nadal wychodzą gry 3d ważące po 200-300 MB, w early access są na razie.

16.02.2015 11:26
maviozo
21
odpowiedz
maviozo
239
autor zdjęć

Kompletnie tego nie kumasz i tyle :)
Parę lat temu byłbyś nazwany dzieckiem neostrady ;)

16.02.2015 11:33
22
odpowiedz
zanonimizowany1071794
1
Legionista

a ty parę lat temu zostałbyś nazwany przedszkolakiem

16.02.2015 11:34
zmudix
23
odpowiedz
zmudix
157
Professor Fate
Wideo

Jeżeli 4k, to tylko "Elevated". :)

https://www.youtube.com/watch?v=AWcbj7ksqwE

16.02.2015 11:35
24
odpowiedz
AnnataR
160

@Bardzo cwany
To jest trochę taka sztuka dla sztuki, w której zdecydowanie nie chodzi o porównywanie 64kb demówek z grami ważącymi ~ 50GB. Czy nie ma w tym sensu? Zdaje się, że niejedna osoba z demosceny znalazła zatrudnienie w branży gier, właśnie poprzez pokazanie swoich umiejętności w 64 kilobajtach.

16.02.2015 11:38
25
odpowiedz
zanonimizowany1071794
1
Legionista

takie osoby nawet nie musiały się reklamować, bo już pracowały od dawna gdzieś przez wiele lat i wątpię by płacili im stawkę głodową by musieli szukać roboty. To bardziej pokazywanie kto ma dłuższego wacka w tych 64 KB pseudo grach. A to wy porównujecie te pseudo gry z grami Ubisoftu i innymi, nie mówię o konkretnych osobach, ogólnie. I to była odpowiedź na posty tych ludzi

16.02.2015 11:42
26
odpowiedz
AnnataR
160

Tak się składa, że znam osobę, która właśnie dzięki takiemu „pokazywaniu wacka" znalazła zatrudnienie.
Ale co tam, wiesz lepiej.
Chyba EOT.

16.02.2015 11:43
maviozo
27
odpowiedz
maviozo
239
autor zdjęć

Ale to właśnie Ty je porównujesz i próbujesz wmówić wszystkim, że to bezcelowe :)
A ci goście fajnie się bawią, znajdują w tym relaks i potrafią skrzyknąć innych tego typu ludzi.
Były czasy, kiedy to właśnie te dema były najbardziej zaawansowane. Teraz to raczej forma pewnej tradycji, podtrzymania rywalizacji itp.
Czy to zawody na najdłuższego? W pewnym sensie tak, tak samo jak wyścigi, czy cokolwiek innego. Zawsze ktoś ma najdłuższego.

16.02.2015 20:45
😁
28
odpowiedz
Lutz
173
Legend

Żadne niskopoziomowe programowanie. Takie rzeczy można stworzyć w praktycznie dowolnym języku programowania (oczywiście, wtedy plik wykonywalny może nie zmieścić się w 64KB

czy ty rozumiesz o czym piszesz?

16.02.2015 21:14
Mastyl
29
odpowiedz
Mastyl
161
Za godzinę pod Jubilatem

zmudix - pikny landszaft w tych 4 kilo. Patrząc na to, można uwierzyć w system proceduralnego generowania w grze No Man's Land.

A przykład tej gry, niech przemówi właśnie do Bardzo Cwanego. Bez takich umiejętności programistycznych ciężko stworzyć do gry np. właśnie systemy generowania proceduralnego. Ja się nie znam na programowaniu w asemblerze na tyle, żeby o nim pisać jakieś elaboraty, ale o tworzeniu gier jakieśtam pojęcie mam. Wierz mi - jedno z drugim ma większy związek niż Ci się wydaje.

16.02.2015 21:26
MiniWm
😈
30
odpowiedz
MiniWm
243
PeaceMaker

Pssssst... i tak najwieksze wrazenie zrobily na mnie "Komputery" zbudowane w minecrafcie :]

ps. Programista ze mnie zaden :) co najwyzej moge wygrac konkurs na najpiekniejszy kod w perlu ;)

16.02.2015 21:35
maviozo
31
odpowiedz
maviozo
239
autor zdjęć

Zasadniczo w tytule jest błąd, bo te rzeczone 64kb to nie objętość kodu w postaci tekstowej, tylko skompresowany i skompilowany program ze wszystkimi materiałami :)

16.02.2015 23:28
32
odpowiedz
Lutz
173
Legend

@up ale takbylo od czasowzx spectrum/ c64.

Kiedy robilem jeszcze gry na amige sprity byly 15 kolorow + transparent z palety 256. Ci ktorzy robili na atari st mieli jeszcze bardziej przesrane, ale dzieki temu nie mam problemow z optymalizacja grafiki.

Assemblera o ile dobrze pamietam da sie uzywac tez w jezykach wysokiego poziomu, sek w tym, ze w takich demach nie uzywa sie stadardowych bibliotek. Wszystko jest kompilowane pod konkretny cel. Stad jest to raczej Art (PRZEZ DUZE A) anizeli sztuka uzytkowa. I ja tak to traktuje (inni powiedza sztuka dla sztuki i tez beda mieli racje)
A co do materialow powyzej pewnej wartosci bardziej oplaca sie napisac procedure generujaca pattern, niz wrzucac bitmape "mmaterial"

16.02.2015 23:53
MiniWm
😈
33
odpowiedz
MiniWm
243
PeaceMaker

Kiedy robilem jeszcze gry na amige Czapki z glow :) niestety za mlodym na takie piekne czasy :] eh gdybym urodzil sie 10 lat wczesniej

Pozwol ze zapytam (gdyz zawsze mnie ciekawilo ) jak wygladala sprawa z "Arcadowkami" ? pod wzgledem kodowania :) ?
(tzn co gra to zupelnie inna "plytka hardware" )

16.02.2015 23:56
Bramkarz
👍
34
odpowiedz
Bramkarz
130
Legend

.kkriegera nawet kiedyś odpalałem.

Mój wtedy - technologicznie - konkurować z Doomem 3.

17.02.2015 01:01
35
odpowiedz
Lutz
173
Legend

[33]
Ja niestety jestem juz stary. A robienie gier na amige w moim wypadku to byla grafika ;) Faktem jest ze glownie platformowki bo byly chyba najprostsze dla ekipy z ktora robilem. Mielismy jedno duze podejscie do infogrames z czyms w stylu spartacusa ale ekipa sie posypala przed czasem.
Kontakt z asemblerem to bylo atari i 6502 ale tam to glownie disasemblowanie a programowac i tak wolalem w action! tylko ze mialem wtedy 16 lat ;)

Forum: Co można zawrzeć w 64 kilobajtach (kodu)?