C++ i co dalej ? programowanie gier 2d

0

Witam!
Jakieś 2 lata temu rozpocząłem przygode z progmamowaniem (wcześniej był Game Maker i inne tego typu), konkretnie C++. Potem w szkole poznałem Pascala i powtórzyłem podstawy c++ (bo niestety nie dowiedziałem się niczego nowego :( ). Później przyszedł czas na Jave. Przerobiłem jeden kurs i całkowicie samodzielnie napisałem kółko i krzyżyk :) . Jeszcze troche "pobawiłem" się C# . Mam wrażenie, że poznałem kilka języków programowania, ale tak naprawdę nic nie wiem i nadal stoje na tym samym poziomie. Kompletnie nie mam motywacjii, żeby poznawać kolejne "teoretyczne" zagadnienia. Jedyną motywacją może jest matura rozszeżona z informatyki, no ale szczerze mówiąc już teraz potrafie rozwiązać większość zadań (na ponad rok przed owym egzaminem).
Kiedy rozpocząłem nauke programowania to jak większość chciałem tworzyć gry. Teraz myślę, żeby zacząć tworzyc jakieś proste gry 2d, ale nie wiem jakie biblioteki wybrać. Allegro, OpenGl, SDL ? Co polecacie? Może znacie jakieś ciekawe kursy/tutoriale ? A może macie jakiś inny pomysł na mój dalszy rozwój jako początkującego programisty? :)
z góry dzięki za podpowiedzi :)

0

To zależy od gustu. Tobie akurat (według mnie) to powinno być obojętne, bo jeśli to Twoja pierwsza gra to hiper mega kolosa nie zrobisz więc dużych oczekiwań nie masz.
Poczytaj kurs allegro, porób prymitywy, to samo z SDL i OpenGl(nie zalecane pchać się w oGL od razu..). Ja testowałem obie te biblioteki, bardziej SDL przypadł mi do gustu, więcej możliwości aczkolwiek mniej wbudowanych bajerów :( Coś za coś.

0

Przydałoby się, żebyś wiedział jak pisze się silniki, graficzne i fizyczne, to bardzo rozwija i jest taka książka: Game Engine Physics Development. Jeśli chodzi o graficzny, to szukaj książki w której jest przetwarzanie grafiki, czyli książka OpenGL lub DirectX czy innej biblii biblioteki graficznej.

0

Tutaj znajdziesz wiele przydatnych tutuoriali http://warsztat.gd/

0

A więc idąc za waszymi radami rozpocząłem ten kurs: http://warsztat.gd/tutorials.php?x=view&id=322
Męczyłem się z pierwszą lekcją jakieś dwie godziny i w końcu dałem za wygraną :( . Napotkałem takie błędy jak zwykle przy jakichkolwiek bibliotekach. Otóż korzystam z Visual c++ 2010 i z najnowszej wersji allegro. Jak się zwykle okazuje kurs napisany dwa lata temu jest już przestarzały. Nie wiem dlaczego, ale niektórzy bardzo lubią utrudniać życie innym. Bo czemu ma niby służyć zmiana nazwy plików nagłówkowych czy poszczególnych funkcji, jak nie utrudnianiu życia ? A Windows 7 to ja już kompletnie nie rozumiem - jak wkleiłem biblioteki do folderu 'system32' to pobrany z internetu pzykład się nie uruchamiał, a jak wkleiłem je do folderu 'system' (który wcześniej był całkowicie pusty!) to się uruchomił :)
Po grzebaniu w dokumentacji allegro i źródłach na temat tego jak skonfigurować projekt w VS (mam nadzieję, że tego rytuału nie trzeba powtarzać za każdym razem ) mój kod wygłąda tak:

#include <allegro5/allegro5.h>
#include <allegro5/allegro_font.h>
#include <allegro5/allegro_ttf.h>
#include <iostream>
#include <windows.h>
#undef main
void main()
{
al_init();
al_init_font_addon();
al_install_keyboard();
	if ( !al_create_display(640,480) )
		{
		std::cout << "Nie udalo sie utworzyc okna!" << std::endl;
		getchar();
		return;
		}
al_set_window_title(NULL,"Kurs Allegro – Pierwszy program, czcionki.");
ALLEGRO_FONT* font;
al_init_ttf_addon();
font = al_load_font("times.ttf", 48, 0 );
	if ( !font )
		{
		std::cout << "Nie udalo sie wczytac czcionki!" << std::endl;
		getchar();
		return;
		}
ALLEGRO_KEYBOARD_STATE key_state;
al_get_keyboard_state(&key_state);
while(!al_key_down(&key_state, ALLEGRO_KEY_ESCAPE))
{
al_get_keyboard_state(&key_state);
al_clear_to_color( al_map_rgb(0,0,0) );
al_draw_text( font,al_map_rgba(0, 0, 0, 0), 320, 216, ALLEGRO_ALIGN_CENTRE, "Witaj swiecie!" );
al_flip_display();
}
}
 

Niestety z jakichś niewyjaśnionych przyczyn program nie może wczytać czcionki. Wielokrotnie zmieniałem funkcje dot. inicjacji i wczytywania czcionek, ale to nic nie daje. Podawałem nawet dokładną ścieżkę do czcionki, ale to też niestety na nic :( .

Proszę o pomoc :)

0

isany dwa lata temu jest już przestarzały. Nie wiem dlaczego, ale niektórzy bardzo lubią utrudniać życie innym. Bo czemu ma niby służyć zmiana nazwy plików nagłówkowych czy poszczególnych funkcji, jak nie utrudnianiu życia ?
Chociażby temu, żeby te funkcje się wyróżniały (zaczynają się od al_), dzięki czemu jest mniejsze ryzyko kolizji z funkcjami z innych bibliotek.
Nie, nie można użyć namespace'a, bo Allegro jest pisane w C, nie C++.
Jak chcesz stare nazwy, to ściągnij Allegro 4.

Niestety z jakichś niewyjaśnionych przyczyn program nie może wczytać czcionki.
Prawdopodobnie program szuka czcionki w bieżącym katalogu, a nie w katalogu systemowym.

Podawałem nawet dokładną ścieżkę do czcionki
Pokaż jak to robiłeś.
Pamiętaj że nie można założyć, że Windows jest na pewno w C:\WINDOWS. Właściwy katalog trzeba pobierać z systemu.

0

jak to robiłem ? znalazłem czcionke Times New Roman u mnie na kompie w katalogu "C:\Windows\Fonts", skopiowałem ją na pulpit, żeby zobaczyć, że czcionka składa się z plików: times.ttf , timesi.ttf , timesbi.ttf, timesbd.ttf . W odpowiednim miejscu w programie wkleiłem ścieżkę: "C:\Windows\Fonts\times.ttf" .
Ale jak już mówiłem Windows 7 64 bitowy jest lekkopowiedziawszy skopany :) Szczególnie jeżeli chodzi o dodatkowe biblioteki albo o skalowanie ekranu (nawet Icy Towera nie moge uruchomić na full screenie)

0

Tak myślałem, że tak to zrobiłeś.
Znak '' nie działa tak jak chcesz. Ścieżkę musisz wprowadzić "C:\Windows\Fonts\times.ttf"

0

Skoro korzystasz z 64bitowego systemu, a domyślam się że przykładowe programy z tutoriali allegro są 32bitowe, to dlaczego wrzucasz odpowiadające im biblioteki do system32, skoro w tej wersji systemu znajdować się tam mają bibloteki w wersjach 64bit?
Biblioteki 32bitowe w tym systemie lecą do SysWOW64.

0

no powiedzmy, że czcionka się wczytuje, ale dalej coś jest nie halo bo nic się nie wyświetla, ale za to wywala mnóstwo błędów:

'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Program Files\Alwil Software\Avast5\snxhk.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\system\allegro-5.0.5-monolith-md-debug.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7600.16385_none_72fc7cbf861225ca\GdiPlus.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\shell32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\winmm.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\psapi.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\opengl32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\glu32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\ddraw.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\dciman32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\setupapi.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\devobj.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\comdlg32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7600.16661_none_ebfb56996c72aefc\comctl32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\msvcr100d.dll', Symbols loaded.
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\msvcp100d.dll', Symbols loaded.
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\d3d9.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\d3d8thk.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\atiumdag.dll', Cannot find or open the PDB file
'MojProjekt.exe': Loaded 'C:\Windows\SysWOW64\atiumdva.dll', Cannot find or open the PDB file
The thread 'Win32 Thread' (0xf84) has exited with code -1073741510 (0xc000013a).
The thread 'Win32 Thread' (0xfb0) has exited with code -1073741510 (0xc000013a).
The thread 'Win32 Thread' (0x12cc) has exited with code -1073741510 (0xc000013a).
The thread 'Win32 Thread' (0xfec) has exited with code -1073741510 (0xc000013a).
The thread 'Win32 Thread' (0x42c) has exited with code -1073741510 (0xc000013a).
The thread 'Win32 Thread' (0x13e8) has exited with code -1073741510 (0xc000013a).
First-chance exception at 0x5c802ccf in MojProjekt.exe: 0xC0000005: Access violation reading location 0x02361260.
Unhandled exception at 0x5c802ccf in MojProjekt.exe: 0xC0000005: Access violation reading location 0x02361260.
The program '[3308] MojProjekt.exe: Native' has exited with code -1073741819 (0xc0000005).

ps. sorki nie widziałem posta powyżej :)
ale dalej nie wiem co zrobić, bo tych brakujących dlli jest troche więcej niż te z allegro . jeszcze się okaże, że mam VS źle zainstalowane :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1