Skocz do zawartości

SDL vs Allegro


Dawidds

Rekomendowane odpowiedzi

Ostatnio zainteresowałem się C++. Wybierałem dłuuuugo.... jednak w końcu decydowałem się na C++. Myślałem też nad Delphi, ale "odstraszają" mnie takie rzeczy:

 

if ... then
begin
    ...
end

Już wolę { i }...

 

Ale do tematu. Allegro wydaje mi się prostszy w nauce - zawsze znajdzie się jakiś tutorial itp. SDL jakoś nie tak popularny... ale coś nie wiem dlaczego mnie do niego ciągnie...

 

Jestem świadomy, że Allegro jest silnikiem do gier, a SDL tylko do grafiki. Jednakże - przykładowe pytanko: jest w SDL'u możliwość wykrywania kolizji :P ? W Allegro nie ma <_< Sam se napisałęm... choć, niestety, działa tylko po prostokątach <_<

 

Wiedzę dotyczącą C++ amm średnią, jednakże... ekhm.... umiem szukać :P Więc jakby co znajdzie się odpowiedź na problem. Co do angielskiego - no jeden rok nauki - troche się rozumie, ale najlepiej słownik w "łapę" i do roboty :P Zawsze da rade. Więc angielski kurs ewentualnie może być - choć, nie ukrtywam, wolę polski.

 

No to na tyle :P

 

A właśnie. Piszę w Dev-C++ :P Bym zapomniał xD

Odnośnik do komentarza
Udostępnij na innych stronach

No to miniplusik dla SDL :D

 

Niech ktoś da przykładowy kod, który wyświetli jakiś obiekt (bitmapę o nazwie plik.bmp) na danej pozycji x i y. Albo chociaż mniej więcej :P Porównam se, co ciekawsze.

 

A teraz idę przeczesywać internet :P

 

Edit: Wybieram SDL :D Trochę poszukałem na necie przykładowych kodów - duuuuużo prostszy się wydaje. :P

 

Teraz, jakbyście mogli prosiłbym o jakiś ciekawy kurs/przykład ;)

Odnośnik do komentarza
Udostępnij na innych stronach

lol. SDL do grafiki? Pierwsze słyszę. Ja na nim robię gry i jest spoko.
Czysto teorytycznie SDL służy do grafiki... praktycznie nie wiem, jak jest.

 

Ale nie to chciałem powiedzieć: to pochwal się swoją wiedzą :P Jakie gry na nim iszesz i "jest spoko" ?

 

Co do strony - nawet fajna :P

 

Co do kolizji: umiem taką - że wykrywa "po prostokącie". Ale mi chodzi o dokładną kolizję... Dokładną, tzn. że jak wezmę dwa kółka, i zbliżę je do siebie "po przekątnej" to kolizja nastąpi wtedy, kiedy się dotkną, a nie wtedy, kiedy granice obrazka się zatną.... tojuż wykracza poza moje możliwo.ści. No może nie możliwości, co umiejętności :P

Odnośnik do komentarza
Udostępnij na innych stronach

Co do kolizji: umiem taką - że wykrywa "po prostokącie". Ale mi chodzi o dokładną kolizję... Dokładną, tzn. że jak wezmę dwa kółka, i zbliżę je do siebie "po przekątnej" to kolizja nastąpi wtedy, kiedy się dotkną, a nie wtedy, kiedy granice obrazka się zatną.... tojuż wykracza poza moje możliwo.ści. No może nie możliwości, co umiejętności tongue2.gif

Wszystko jest pod linkiem który podałem. A co do gier jakie tworzę - skrobię tam jakąś platformówkę. Ale ze względu na moje lenistwo zaglądam do moich projektów C++ dosyć rzadko =P

Odnośnik do komentarza
Udostępnij na innych stronach

Znalazlem po polsku nieco mniejszy kursik, ale z pewnoscia sie przyda ;)

http://www.gamedev.pl/tutorials.php?x=view&id=86 PART1

http://www.gamedev.pl/tutorials.php?x=view&id=87 PART2

 

Tutaj jest np. spis gier ktore uzywaja SDL'a:

http://pl.wikipedia.org/wiki/Simple_DirectMedia_Layer

 

Sam obecnie ucze sie Allegro, ale wydaje mi sie ze jest on dosyc ubogi w stosunku do SDL'a, ale to chyba

tylko jakies moje "widzi mi sie" ;)

 

pozdro!

Odnośnik do komentarza
Udostępnij na innych stronach

Yoda: Do Allegro nada się niemal każdy. W Dev-C++ wchodzimy w aktualizacje, zaznaczamy Allegro, klikamy, i już mamy :D Podobnie SDL...

 

Swoją drogą: jak rozmieszczasz obiekty na planszy? To mnie najbardziej wnerwia w C++ - brak jakiegoś edytora leveli. Wiem, powinienem se sam napisać :P Ale i tak szkoda...

 

Kamilek: Ten tutek już widziałem - ale tam za bardzo nie uczą SDL. Bardziej totalne podstawy :P A tyle to już umiem. Z tutka Yody :P (raczej poleconego przez Yodę...) Trochęszkoda, że angielski, ale coś tam zrozumialem...

 

Jeszcze można napisać własny silnik gier np. w DirectX lub OpenGL
ROTFL :D Pisać silnik do gier w silniku do gier :P ? Troche nielogiczne xD Pisałbym własny engine do gier, który wymagałby zainstalowanego DirectX xD
Odnośnik do komentarza
Udostępnij na innych stronach

Swoją drogą: jak rozmieszczasz obiekty na planszy? To mnie najbardziej wnerwia w C++ - brak jakiegoś edytora leveli. Wiem, powinienem se sam napisać tongue2.gif Ale i tak szkoda...

Zrób se tablicę obiektów, przypisz im x i y i rozmieszczaj waść ;P

Odnośnik do komentarza
Udostępnij na innych stronach

DirectX i OpenGL to nic innego jak "programowanie grafiki"... fakt, DirectX posiada jakieś "udogodnienia" ale Microsoft żyje własnym światem więc nie jest multiplatformowy, A OpenGL też posiada biblioteki które ułatwiają programowanie ale już są stworzone przez programistów w OpenGL'u którzy tworzą własne biblioteki które można ściągnąć z internetu, ale niektóre nie są multiplatformowe ;p

Ps. Gdyby nie Microsoft nie dostosował OpenGL'a do działania z Windowsem to pewnie OpenGL by dalej leżał zakurzony i prawie przez nikogo nie używany ;p

Więc gdybyś chciał pisać gry komercyjne to wg mnie lepszym wyborem jest DirectX

Odnośnik do komentarza
Udostępnij na innych stronach

DirectX i OpenGL to nic innego jak "programowanie grafiki"... fakt, DirectX posiada jakieś "udogodnienia" ale Microsoft żyje własnym światem więc nie jest multiplatformowy, A OpenGL też posiada biblioteki które ułatwiają programowanie ale już są stworzone przez programistów w OpenGL'u którzy tworzą własne biblioteki które można ściągnąć z internetu, ale niektóre nie są multiplatformowe ;p

Ps. Gdyby nie Microsoft nie dostosował OpenGL'a do działania z Windowsem to pewnie OpenGL by dalej leżał zakurzony i prawie przez nikogo nie używany ;p

Więc gdybyś chciał pisać gry komercyjne to wg mnie lepszym wyborem jest DirectX

Bee, i tak Mikroskop wyłączył wsparcie dla OpenGL - w Viście jest on emulowany przez DirectX.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeszcze można napisać własny silnik gier np. w DirectX lub OpenGL ;)

 

Nom, po 5 latach nauki... Jak już zajmuje się pisaniem gier jako hobby.. SDL,allegro... spokojnie mu wystarczą... No chyba że zamierza tym się zająć na poważnie.. i zamierza pisać jakąś grę 3d to tak..(chociaż po poziomie jego znajomości c++ szczerze w to wątpię)

Odnośnik do komentarza
Udostępnij na innych stronach

ROTFL :D Pisać silnik do gier w silniku do gier :P ? Troche nielogiczne xD Pisałbym własny engine do gier, który wymagałby zainstalowanego DirectX xD

Ani DirectX, ani OpenGL nie jest silnikiem gier.

OpenGL(Graphic Library) jest to zestawienie bibliotek pozwalających na efektywne tworzenie grafiki trójwymiarowej. Wprawdzie posiada on biblioteki, które wspomogą także np. interakcję(mówię np. o GLUT - Graphic Library Utility Toolkit).

DirectX jest zestawieniem bibliotek pozwalających na uzyskanie odpowiednich rezultatów: DirectDraw(renderowanie grafiki 2d), Direct3D(renderowanie grafiki 3d), DirectAudio(dźwięk zwykły i trójwymiarowy), DirectPlay(funkcje dla mplayerów), Directinput(obsługiwanie urządzeń wejściowych i interakcja z użytkownikiem), DirectShow(odwarzanie plików multimedialnych w formatach takich jak AVI i MPG), DirectSetup(umożliwia to aby DirectX instalował się z aplikacją).

 

Za to silniki gry to np. taka Aurora. Link

Odnośnik do komentarza
Udostępnij na innych stronach

Ani DirectX, ani OpenGL nie jest silnikiem gier.

OpenGL(Graphic Library) jest to zestawienie bibliotek pozwalających na efektywne tworzenie grafiki trójwymiarowej. Wprawdzie posiada on biblioteki, które wspomogą także np. interakcję(mówię np. o GLUT - Graphic Library Utility Toolkit).

DirectX jest zestawieniem bibliotek pozwalających na uzyskanie odpowiednich rezultatów: DirectDraw(renderowanie grafiki 2d), Direct3D(renderowanie grafiki 3d), DirectAudio(dźwięk zwykły i trójwymiarowy), DirectPlay(funkcje dla mplayerów), Directinput(obsługiwanie urządzeń wejściowych i interakcja z użytkownikiem), DirectShow(odwarzanie plików multimedialnych w formatach takich jak AVI i MPG), DirectSetup(umożliwia to aby DirectX instalował się z aplikacją).

 

Za to silniki gry to np. taka Aurora. Link

 

Obecnie nie używa się DirectDraw..(lepsze do 2D są allegro i SDL) już w DirectX'ie 9 nie jest on obecny(jest połączony z 3d).. Skopiowałeś definicje z jakiegoś starego źródła chyba ;]

Odnośnik do komentarza
Udostępnij na innych stronach

Obecnie nie używa się DirectDraw..(lepsze do 2D są allegro i SDL) już w DirectX'ie 9 nie jest on obecny(jest połączony z 3d).. Skopiowałeś definicje z jakiegoś starego źródła chyba ;]

Akurat to pisałem od siebie. :P Po Input, Show i Setup zajrzałem do książki "Open GL Programowanie Gier", ale i tak zredagowałem to w miarę własnymi słowy.

Odnośnik do komentarza
Udostępnij na innych stronach

Ani DirectX, ani OpenGL nie jest silnikiem gier.
Teorytycznie. Praktycznie 99% użycia OpeGL oraz DirectX to właśnie gry.

 

Zrób se tablicę obiektów, przypisz im x i y i rozmieszczaj waść ;P
W sumie fakt, tablica wystarcza... ale kurna przyzwyczaiłem się do edytora :P

 

Pozatym: Konrad-GM - nie musiałęś brać moich słów doslownie... dobra nie chce mi sie wyjaśniać...

 

@toic: Może skończmy dyskusję o 3D...? :P

Odnośnik do komentarza
Udostępnij na innych stronach

100% gry to język programowania... bez tego nic by nie było ;p

 

Wypowiedz na poziomie przedszkolaka ;] 100% gry to język programowania... może kod napisany w "jakimś" języku programowania to.. 0o Takimi wypowiedziami jeszcze bardziej mącisz chłopakowi, który już widzi w DirectX render czy raczej silnik gry różniący się od gm tym że nie ma edytora..

Odnośnik do komentarza
Udostępnij na innych stronach

A czy DirectX i OpenGL są tylko do 3D?? ;D
Zacyuję siebie: "Teorytycznie tak, praktycznie 99% gier" uywających DirectX lub OpenGL są 3D. Nikt nie będzie używał ciężkiego w obsłudze silnka, który na dodatek trzeba instalować (DirectX) osobno i trochę waży, jeśli może w prostszy i, mneij ważący, lepszy dla uzytkownikai może nawet lepszy sposób użyć SDL itp. - no lub napisać w samym C++ (SDL to C++ '-.- MAm na myśli neiużywanie gotowych części kodu :P)

 

@up: Nie bierz postów dsłownie...

Odnośnik do komentarza
Udostępnij na innych stronach

Zacyuję siebie: "Teorytycznie tak, praktycznie 99% gier" uywających DirectX lub OpenGL są 3D

A guffno prawda, jeśli na przykład się już używa SDL'a to lepiej go połączyć z OpenGL'em albo wo gole nie używać do większych projektów ;p

@up: Nie bierz postów dsłownie...

To po co się je pisze? aby wymienić się wiedzą ;p

@UP to Will: Co do przedszkolaka to fakt, tylko że napisałem go z ironią ;p

EDIT: Co do wielkości DirectX'a, czy to dużo ściągnąć te 70MB ? ;p

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...