Po nauce tworzenia aplikacji webowych, nadszedł czas na napisanie własnej gry. W najbliższy wtorek poznamy PyGame – pakiet przeznaczony do tworzenia gier i aplikacji multimedialnych w Pythonie.
Wykład odbędzie się we wtorek, 1 czerwca o godzinie 17:15 w sali 2.17 w budynku C-13 Politechniki Wrocławskiej. Poznamy na nim podstawy PyGame – dowiemy się, jak pisać przenośne programy multimedialne w Pythonie oraz jak stworzyć własną prostą grę.
Materiały z wykładu zostaną opublikowane na stronie internetowej www.asi.pwr.wroc.pl/python.


Udostępniacie same prezentacje czy też nagrania?
Póki co tylko prezentacje (+źródła). Nagrania będą udostępnione w późniejszym czasie.
Bardzo odległym? Gdzie można na nie czekać (będzie info na osnews?)
Około 1-2 tygodnie. Należy na bieżąco śledzić newsy na www.asi.pwr.wroc.pl, choć niewykluczone, że pojawi się także informacja na OSnews.
Python to muł straszny w porównaniu do reszty.Co z jego pięciokrotnym przyśpieszeniem, zapomnieli?
Python nie jest mułem. Po prostu można w nim pisać zgodnie z jego filozofią, a można byle jak. Składnia jest na tyle bogata, że umożliwia pisanie czegoś, co sprawi, że program będzie działał bardzo wolno – jednak przeważnie wynika to z ignorancji programistów (w szczególności osób, które nie znają Pythona, a jedynie piszą coś "na próbę", a potem dziwią się, że ich kod wykonuje się wolno).
Nie znam Pythona. Możesz doprecyzować o co chodzi?
Dla mnie generalna mułowatość wynika z kilku powodów:
1) podstawowe braki w algorytmice, nieznajomość optymalnych algorytmów albo wręcz brak świadomości dotyczącej złożoności algorytmow. "To proste! Pętla w petli, w petli".
2) używanie języka skryptowego i z braku wiedzy ignorowanie jego cech wbudowanych (które działają szybko) poprzez ich implementację w tym języku.
3) zły projekt – ale to w małym programiku "na próbę" raczej nie wyjdzie
4) kompletne rozpasanie powodowane lenistwem. Np. szukanie podciągu za pomocą wyrazen regularnych, traktowanie bazy danych jak plik
5) wchodzenie w temat o którym się nie ma pojęcia, np. znamy relacyjne bazy danych, ale nie znamy indeksów, mamy 2 wymiarowa tablice w C i nie wiemy ktorym wymiarem jest ona liniowo w RAM, operujemy duzymi porcjami danych i ignorujemy hierarchię pamięci, aktywnie czekamy na zdarzenia itd.
Możesz mi wyjaśnić jak się ma to do pisania niezgodnie z filozofią Pythona?
Chodzi mi o to czy jak się ma świadomość problemów 1-5, to mimo tego można wpaść w jakieś pułapki wydajnościowe?
Tutaj mamy jeden z benchmarków:
http://shootout.alioth.debian.org/u32/benchmark.p…
żadnemu benchmarkowi nie można ufać w 100%. Kod w jednym języku może być lepszy, w innym gorszy. Konfiguracja może pasować lepiej jednemu, gorzej drugiemu. Autor benchmarka nie musi ogarniać wszystkich opcji konfiguracyjnych kazdego języka i nie musi znać wszytskich narzędzi przyspieszających.
Jdnak ogólną tendencję widac. Stosowalność języków zależy od gatunku gry i pożadanej jakości. Jeśli nasz program większość czasu spędza na obliczeniach i sa one zauważalne (mały FPS, każą czekać długo na nową turę itp) to języki dające kilkadziesiąt razy mniejszą wydajność od C odpadają. Jeśli piszemy przygodówkę point and click, strzelaninę w której i tak wyrabiamy się z renderingiem itp. to kodujemy w tym co lubimy (co najlepiej umiemy?)
Do reszty czyli czego, może Ruby'ego?
python i pygame jest swietne, sam kilka gier w tym napisalem i dzialaja fajnie, flasha przebija na maxa, no c++ to to nie jest, ale pygame jest w c i chodzi szybko
a ja mam koło ze sdizo