Autor Wątek: Imagine Cup 2008  (Przeczytany 6049 razy)

Offline orzech

  • Użytkownik
    • homepage

# Październik 18, 2007, 19:38:44
Cześć!

Słuchajcie bierze ktoś z Was udział w tegorocznym Imagine Cup? Zastanawiam się, czy rozpocząć projekt w kategorii 'game development'. Zawsze to trochę zabawy, będzie się można czegoś nauczyć, a nuż się uda przejść do drugiej rundy. ;) Myślę o jakiejś mniej intensywnej produkcji.

Jeśli ktoś byłby zainteresowany wspólnym projektem, to proszę dać znać. Coś pogrzebiemy w XNA. :]

Pozdrawiam :)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline really

  • Użytkownik

# Październik 18, 2007, 20:48:33
Ciekawa sprawa...pomyslow mam duzo, ale programista ze mnie marny (a XNA to dla mnie w ogole czarna magia). Poza tym mam w tym roku (szkolnym) mature, wiec mam malo wolnego czasu

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Październik 18, 2007, 21:15:14
Hmm, właściwie to nigdy nie przywiązywałem uwagi do IC, ale pomysł jest ciekawy, zwłaszcza jeżeli miało to by być mniej intensywne, bo właśnie się zastanawiałem nad poklepaniem jakiegoś silnika w XNA. :)

therealremi

  • Gość
# Październik 18, 2007, 21:18:20
Ja chwilowo porzuciłem XNA na rzecz przypomnienia sobie C++ (chwilowo ze skutkiem exeków nie do odpalenia poza Visual Studio BTW.)... jesli ktoś się zajmie tą zakichaną kolizją/fizyką, to mogę dołączyć... miałem z Grikiem zacząć jakiś XNA projekt, znaczy się planowałem, ale moja praca dyplomowa się sama napisać jakoś nie chce.

Jak coś to służę w którejś z dziedzin
- modelowaniu 3D (Blender)
- animacji 3D/2D (Blender)
- efekty PostScreen
- kodowanie czegokolwiek w C#  i na poziomie średnim c++, Python, Pascal w razie potrzeby
- muzyka oraz dzwięk - produkcja
- xAct obsługa API,
- ogółem basic DSP (aczkolwiek to "chyba" poprzez xActa jeszcze nie jest możliwe i trza w directSoundzie robić).

nie zrobię tego wszystkiego na raz... ale za którąś/kilka z ww. kwestii mógłbym się wziąć w ew. projekcie.

therealremi

  • Gość
# Październik 18, 2007, 21:54:35
że tak nieśmiało zapytam: jak znosicie to, że zarządzanie pamięcią w C# odbywa się automatycznie i to że defaultowo klasy trafiają na ten managed heap?
bo mnie normalnie szlak trafia ;)

therealremi

  • Gość
# Październik 18, 2007, 22:03:37
A mnie to cieszy jak tego mateuszka, gdy dorwie się do jedzenia.
http://pl.youtube.com/watch?v=-DHxqJkmxeg

A tak pwoażnie, dlaczego cię szlak trafia? Uzasadnij to. Nie widzę powodu dla którego to miało by mnie wnerwiać.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Październik 18, 2007, 22:12:28
że tak nieśmiało zapytam: jak znosicie to, że zarządzanie pamięcią w C# odbywa się automatycznie i to że defaultowo klasy trafiają na ten managed heap?
bo mnie normalnie szlak trafia ;)
Rozumiem jakby szlak Cię trafiał podczas kodowania w J2ME, ale w C# na PC to nie widzę jakoś większego problemu. :)

therealremi

  • Gość
# Październik 18, 2007, 22:23:14
Nie chce tu za bardzo robic offtopa, no ale przecież gry mają to do siebie, że praktycznie w każdym momencie musimy mieć do dyspozycji ileś tam mocy obliczeniowej kompa, a w C# nie wiadomo kiedy program zacznie "czyścić" pamięć.
Ponadto, czyszczone są tylko obiekty, do których nic się już nie odwołuje, więc nie można sobie po prostu walnąć delete na obiekcie do ktorego ciągle mamy jakąś referencje i tym samym zwolnić pamięć na coś innego.
Przynajmniej nie jest mi wiadomy sposób aby to jakoś kulturalnie osiągnąć w C# - poprawcie mnie jeśli się mylę  :)

therealremi

  • Gość
# Październik 18, 2007, 22:41:03
No właśnie wiesz kiedy jest czyszczenie... jest kilka zasad (druga sprawa że są skomplikowane i lepiej nie wnikać zbytnio, bo wsiąkniesz) i tyle. Jeszcze nie miałem jakiegoś niespodziewanego cyrku z GC... sprawdź lepiej sam po prostu jak to działa / jakie to ma zastosowanie...

Mylisz moc obliczeniową z pamięcią.
//Edit: No chyba że w kontekście spowolnienia działania na czas sprzątania.
Może c# to nie jest jakiś wymiatacz jeśli chodzi o prędkość obliczeń liczb zmienno-przecinkowych, ale zapewniam cię że jego wydajność jest wystarczająca i raczej ciężko jest gre zastopować na procesorze ("super fizyka" mogła by być ew. problemem, bądź renderowanie na softwarze sick!).

Nie sądzisz że to właściwe podejście, zwalniać tylko te obiekty do których nie ma referencji?
Jest to kulturalne rozwiązanie właśnie.

I rzeczywiście lepiej nie kontynuuj tego offtopa - ja serio bym chciał jakiś zespół skleić na te IC '08.
« Ostatnia zmiana: Październik 18, 2007, 22:43:52 wysłana przez RageX »

therealremi

  • Gość
# Październik 18, 2007, 23:00:29
Mylisz moc obliczeniową z pamięcią.
//Edit: No chyba że w kontekście spowolnienia działania na czas sprzątania.
Właśnie w tym kontekście.

Nie sądzisz że to właściwe podejście, zwalniać tylko te obiekty do których nie ma referencji?
Jest to kulturalne rozwiązanie właśnie.
Myślę, że to czy referencja jest czy jej nie ma nie powinno mieć znaczenia jeśli chcemy zwolnić pamięć.
Właśnie na tym polega dynamiczna pamieć żeby można było ją zwolnić bez wychodzenia ze scope?
Nawet można mieć większe problemy, jeżeli nieopatrznie korzysta się z obiektu do którego wciąż mamy referencje (bo ciągle jest w scope), a jego zawartość jest już nieaktualna. Wcześniejsze ręczne zabicie go poprzez delete sprawiłoby, że łatwiej można by wychwycić taki błąd.

Wiem, wiem, że w praktyce pewnie wszystko działa szybko. Ale ostatnio nawet czytałem wywiad z szefem Valve i wyjaśniając dlaczego nie korzystają z C# przytoczył właśnie ten argument z pamięcią. W branży ciągle używa się assemblera (przynajmniej tak wynika z ofert pracy) więc wątpie żeby szybko pogodzono się z utratą kontroli nad zarządzaniem pamięcią. Zwłaszcza że w grach ciągle zwiększa się zużycie i pamięci i CPU, więc mimo wszystko nie powinno się zakładać, że jakieś zasoby komputera pozostają niewykorzystane.

Sklecajcie ten zespół, ta offtopowa dyskusja może tylko pomóc topikowi ;)
« Ostatnia zmiana: Październik 18, 2007, 23:19:48 wysłana przez therealremi »

therealremi

  • Gość
# Październik 18, 2007, 23:50:49
valve i dynamiczna pamięć to ehem, daleko od siebie bardzo. bardziej bym patrzał na rockstar, bethesda, crytek. W tym kontekście te słowa by miały jakiś sens. A u valve jak do tej pory nie dostrzegłem jakiejś zabawy z pamięcią... raczej gigantyczne (w stosunku do gier które używają takich sztuczek z pamiecią) loadingi, to ich domena.

Poza tym nie widzę problemu z zastąpieniem takiej dynamicznej pamięci innymi, powiedziałbym nawet lepszymi metodami np. mocny object pooling, "bez alokacyjno/zwalniające działanie". Pamieć w takiej strukturze jest podzielona/przydzielona raz, a dobrze. Nie trzeba nic szukać, alokować, resetować, a potem zwalniać. Po prostu przypisujesz pod dany adres na nowo.
Z tej perspektywy, za duże znaczenie przywiązujesz do alokowania, zwalniania pamięci moim zdaniem.

Co nie znaczy że nie masz racji. Idea GC jest dość stara, do tej pory wymyślono, acz nie wdrożono kilkanaście lepszych (z resztą prac o różnych pomysłach na GC, jest dość sporo). :)
Zobaczymy co wdroża w tym nowym c.

Offline mINA87

  • Użytkownik

# Październik 19, 2007, 13:29:32
valve i dynamiczna pamięć to ehem, daleko od siebie bardzo. bardziej bym patrzał na rockstar, bethesda, crytek. W tym kontekście te słowa by miały jakiś sens. A u valve jak do tej pory nie dostrzegłem jakiejś zabawy z pamięcią...
To zobacz sobie ich własne alokatory do kontenerów :)

Offline orzech

  • Użytkownik
    • homepage

# Październik 19, 2007, 18:48:45
Cytat: RageX
nie zrobię tego wszystkiego na raz... ale za którąś/kilka z ww. kwestii mógłbym się wziąć w ew. projekcie.

Hmm, właściwie to nigdy nie przywiązywałem uwagi do IC, ale pomysł jest ciekawy, zwłaszcza jeżeli miało to by być mniej intensywne, bo właśnie się zastanawiałem nad poklepaniem jakiegoś silnika w XNA. :)

Tak, to byłby zdecydowanie mniej wymagający pod względem czasu projekt. Każdy ma na pewno dużo własnych zajęć. Do końca I rundy jest jeszcze 100 dni, więc na spokojnie będzie można w wolnej chwili zająć się jakąś ciekawą gierką (niekoniecznie 'mega-produkcją'). ;) Temat gry - o ile się nie mylę - jest związany z ochroną środowiska. 8)

@Krzysiek K, RageX : jeśli macie ochotę na wspólne pisanie to wejdźcie na www.imaginecup.com i zarejestrujcie się. Wtedy założę team i na pewno wyjdzie z tego coś ciekawego. ;)

Pozdrawiam!

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Październik 19, 2007, 19:38:52
Cytuj
Temat gry - o ile się nie mylę - jest związany z ochroną środowiska. 8)
Właśnie mi przypomniałeś czemu nie startowałem w poprzednich edycjach - zawsze dawali denne tematy (chyba że obronę Ziemi przed najazdem obcych można nazwać ochroną środowiska). :)

Cytuj
@Krzysiek K, RageX : jeśli macie ochotę na wspólne pisanie to wejdźcie na www.imaginecup.com i zarejestrujcie się. Wtedy założę team i na pewno wyjdzie z tego coś ciekawego. ;)
Konto założone. Login mam taki jak tutaj. :)

therealremi

  • Gość
# Październik 19, 2007, 20:19:32
Cytuj
Temat gry - o ile się nie mylę - jest związany z ochroną środowiska. 8)
Właśnie mi przypomniałeś czemu nie startowałem w poprzednich edycjach - zawsze dawali denne tematy (chyba że obronę Ziemi przed najazdem obcych można nazwać ochroną środowiska). :)

Możecie zrobić takiego Hitmana - chodzisz i sprzątasz.