OpenAcademy: Biblioteka SDL

10 grudnia na Politechnice Wrocławskiej odbędzie się kolejny wykład z cyklu OpenAcademy. Tym razem spotkanie odbędzie się pod tytułem “Biblioteka SDL – czyli jak szybko i przyjemnie pisać gry 2D”.

Jak zapowiada prowadzący – Szymon Wilczek:

Wykład będzie poświęcony podstawowym zagadnieniom związanym z biblioteką SDL. Postaram się pokrótce przedstawić historię ów biblioteki, jej możliwości oraz kilka przykładów jej wykorzystania. Opowiem również o planowanym torze rozwoju SDLa. Łącząc to wszystko w całość mam nadzieję pokazać, iż jest to biblioteka, której wykorzystanie znacząco ułatwia proces pisania gier komputerowych.

Spotkanie rozpocznie się o godzinie 17:00 w sali 0.31 budynku C-13 (ZCS) Politechniki Wrocławskiej, przy ul. Wybrzeże Wyspiańskiego 23-25. Wstęp na wykład jest wolny, rejestracja nie jest wymagana.

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

15 odpowiedzi na „OpenAcademy: Biblioteka SDL”
  1. Awatar trasz
    trasz

    SDL ma jeszcze jakis planowany tor rozwoju?

    1. Awatar http://stilgar.openi
      http://stilgar.openi

      przeciez SDL rozwijasie calkiem niezle. wersja 1.3 powinna sie pojawic za niedlugo.

      1. Awatar pijaczek
        pijaczek

        @stilgar: nie odpowiadaj na zaczepki trasz'a – boli go ze ms nie ma odpowiedzi na biblioteki do tworzenia grafiki 2d takich jak sdl czy allegro ;p (nie oszukujmy się directdraw już dawno konkurencją nie jest).
        Jasne, że sdl ma się dobrze dopiero co została wydana 1.3 prerelease z dodająca dodająca obsługę iPhone/iPod Touch, Xbox przez xna, nintendo ds, dodana obsługa wielu urządzeń wejścia (multi pointer (mpx w linuksie czy microsoft surface)) i naprawiające największą wadę sdl input, czyli Force Feedback.

        1. Awatar TPJ
          TPJ

          Wiesz, uwaga trasza wcale nie musi być zaczepką. Jak to się zwykło mawiać, "gdzieś-tam", "kiedyś-tam" słyszałem, że przyszłość SDL stoi pod znakiem zapytania. Jeśli dobrze pamiętam, to chodziło i jakieś dość poważne problemy związane z projektem przyszłego API drugiej wersji biblioteki (czyli SDL 2). Póki co ma się ukazać (tak wynika z Twojego komentarza) wersja 1.3, czyli kolejne wydanie pierwszej wersji SDL.

          A co z planami dla wersji drugiej? Pytam poważnie, bo sam nie śledzę pilnie rozwoju SDLa.

        2. Awatar iniside
          iniside

          Moze XNA ? Nie jest to strict 2D, ale da sie latwo i szybko tworzyc gry oparte na spritach.

        3. Awatar bies
          bies

          TPJ: biorąc pod uwagę liczbę zmian w 1.3 zupełnie spokojnie można by nazwać ją wersją 2. A API: obecne jest znośne więc po co zmieniać?

        4. Awatar X
          X

          Sam Lantinga ma teraz pewnie sporo roboty w Blizzardzie…Światek linuksowy powinien mocniej wesprzeć tą bibliotekę, bo jest ona kluczem do popularyzacji Linuksa w świecie gier. Na przenośności korzytaają mało popularne systemy, a traci Windows. Przecież MS świadomie psuje standardy by zachować swoją pozycję.

  2. Awatar tanatos.pl
    tanatos.pl

    czyli jak szybko i przyjemnie pisać gry 2D

    Nie tylko 2D, SDL generalnie ułatwia pisanie gier multiplatformowych poprzez bezpośrednią obsługę mediów w różnych systemach operacyjnych. SDL w połączeniu z grafiką OpenGL i dźwiękiem OpenAL to bardzo dobry wieloplatformowy odpowiednik Microsoftowego DirectX'a.

    1. Awatar X
      X

      Kilka uwag. Dwie piersze do posta tanatos.pl

      SDL to wiecej niż obsługa mediów. Jest w nim też obsługa wątków i zdarzeń – rzeczy, które w róznych systemach potrafią różnie wyglądać. Są też sockety (SDL_net), ale tymi się nie bawiłem, bo tradycyjne sockety wyglądają wystarczająco przenośnie (nie bawie sie tym zawodowo ani ambitnie).

      SDL nie jest w ścisłym sensie odpowiednikiem DX. To jest tylko wrapper. tzn. nie musi być tylko wraperem, ale nie słysząłem o systemie w którym SDL działałby najblizej sprzetu jako pierwotne API.
      Nie napisałem "tylko wrapper" w sensie pejoratywnym. Implementacja SDL na Windows jest napisana w DX, więc to co szybkie, obsterownikowane na DX, to i bęzie szybkie, obsterownikowane na SDL. Podobnie jest z innymi systemami. SDL to po prostu część pracy jaką wykonałby każdy wieloplatformowy programista gdyby chciał pisać wieloplatformowo i miał 20 razy tyle czasu na pisanie międzyplatformowego warappera co na właściwy projekt.

      Sam narzut bibliotek nie jest wielki. Nie żyjemy w czasach CPU 8Mhz, by opakowanie funkcji funkcją rujnowało wydajność. Z resztą np. w wywołaniu blita dużej pixmapy obsługa wywołania funkcji jest zaniedbywalna w porownaniu z czasem pracy samego blittera, a dla funkcji typu UstawTrybGraficznyc() czas nie ma raczej znaczenia. Piszę, bo czasem jakiś "optymalny" progrmaista potrafi wyskoczyć z podobnymi zarzutami.

      Warto też zauważyć, że w SDL powstało wiele komercyjnych tytułów. Głównie porty na Linuksa z Win. Wiele czołowych gier open source jest w SDL, np. Battle for Wesnoth. To jest sprawdzona biblioteka.

      SDL jest bardzo przemyślane, łatwo się go nauczyć. Zwykle łatwiej niż "natywnego" API, które nosi na sobie ślady ewolucji, kompromisów, przekombinowania (jak np. wczesne DX), lekceważenia zastosowań multimedialnych itd. Zatem jeśli zamierzamy pisac na tylko jedną platformę, to i tak skorzystamy.

  3. Awatar pudlo
    pudlo

    Ciekawe czy trasz ma jeszcze jakieś plany rozwoju? Drżyjcie 🙂

    1. Awatar X
      X

      Trasz ociera się o trolizm, ale jest to trolizm na wysokim poziomie. Raczej nawet nie trolizm, ale postawa prowokująca do dyskusji. To mi przypomina taki program z TV – Sondę. Dwóch panów niby się kłociło, spierało, a dyskusja szła jednak do przodu, nawet gdy się do końca nie zgadzali. Tak na oko połowa tutejszych kometowaczy do pięt traszowi nie dorasta. Ich poziom to, za przeproszeniem, minusikowo-plusikowe podsrywanki.

  4. Awatar X
    X

    Czy ktoś wie czy boost wchodzi albo wejdzie kiedyś w kompetencje SDL? Jak zaczynałem przygodę z C++ to w standardzie i de facto standadzie niewiele było. Jako leń cenię sobie języki z dużymi, standardowymi bibliotekami. Tysiąc frameworków, setki API – to nie dla mnnie. Wole się koncentroać na samym projkecie niż na wicznych eksperymentach.

    1. Awatar bies
      bies

      Tak, wchodzi: Boost.Thread (z resztą Boost.Thread to już prawie standard). Pewnie jeszcze jakieś inne o których nie pamiętam.

      1. Awatar pijaczek
        pijaczek

        Jeszcze Boost.Asio z SDL_net, ale boost nie wchodzi w główne kompetencje sdl czyli input, tworzenie okien i tworzenie grafiki 2d (oraz tworzenie okna dla opengl).
        PS. do rozrzucania wątków po prockach wole OpenMP ;p

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *