Gra strategiczna... Pisać w C++ czy Delphi ?

0

Mam zamiar napisać prostą grę strategiczną,(chyba turową)...
Tylko czy zrobić ją w Borland C++ Builder czy Borland Delphi?
Zaznaczam, że gra będzie oparta na komponenty VCL (i BC++ Builder i Delphi opierają się na VCL), i czasem Winapi, ewentualnie DirectDraw do załączenia trybu pełnoekranowego i Direct Sound dla dźwięku...

Pytanie może troche dziwne, ale jestem ciekaw po prostu co jest lepsze do tego celu (chociaż wiem, że to subiektywne wrażenie, co jest lepsze)

Pozdrawiam ?

0

Ani Builder ani Delphi nie nadają się do tworzenia gier a tym bardziej VCL. Ja ci proponuje nauczyć się WinApi i OpenGL lub troche prościej skozystać z biblioteki Allegro :)

0

sorki ale po Twojej wypowiedzi wnioskuje, ze Ci to nie wyjdzie
najlepiej poczytaj wpierw o tworzeniu gier a potem sie zabierz za pisanie kodu

0

Tak, tylko, że OpenGL nie bardzo się nadaje do robienia prostej gry strategicznej, turowej w dwóch wymiarach.

Natomiast Allegro (jest chyba wersja pod Windows) się nadaję:)
WinApi i VCL znam zresztą lepiej niż OpenGL.
Tylko jest kwestia tego rodzaju, że jaki język lepiej wybrać C++ czy ObjectPascal (Delphi). Oczywiscie ObjectPascala znam lepiej ;)

Chodzi też o to, że udostępnie kod tej gry, i będzie można się nauczyć na przykładzie tej prostej gry pewnych ważnych aspektów przy tworzeniu gier :

  • odtwarzanie dźwięków (Winapi,albo DS, czy FMOD)
  • przesuwanie bitmap, proste mechanizmy kolizji
  • wczytywanie grafiki czy dźwięków z biblioteki DLL
  • elementy WINAPI
  • operacje na zmiennych, pętle, proste mechanizmy animacji, zapis danych do pliku itp.
  • zdarzenia losowe

Bardziej zależy mi na tym,żeby w prosty przystępny sposób użyć i pokazać pewne mechanizmy, aniżeli wodotryski;)

P.S. Najwyżej Intro zrobie w OpenGL:)

0

A co za różnica czy będziesz pisał

Inc(Zmienna);

czy

Zmienna++;

I tak napiszesz to samo [glowa]

0
LOSMARCELOS napisał(a)

Natomiast Allegro (jest chyba wersja pod Windows) się nadaję:)
WinApi i VCL znam zresztą lepiej niż OpenGL.
Tylko jest kwestia tego rodzaju, że jaki język lepiej wybrać C++ czy ObjectPascal (Delphi). Oczywiscie ObjectPascala znam lepiej ;)

Wiesz z zasady programuje sie w jezyku ktory zna się lepiej. I nie słuchaj opinii ze Delphi się nie nadaje do gier, czy do czegokolwiek innego poniewasz najczesciej sa to zwykle bujdy na resorach potwierdzane watlymi faktami (sam programuje w C++ ale Delphi tez znam). Widzialem calkiem dobre projekty gier w Delphi ktore byly juz zrealizowane i chodzily calkiem przyzwoicie.... Poza tym nie samym VCL czlowiek zyje :P
Poza tym masz tak malo sprecyzowane plany, brak porzadnego design-doca (chyba ze masz - wtedy przepraszam) ze projekt ma male szanse ukonczenia ;] a jesli to raczej nie bedzie cos ciekawego... dla scislosci - to jest stan na teraz.....

0

Ja pisze silnik do gry RTS w Delphi, bo uważam, że obiektowość w Delphi jest lepsza niz. w CPP ;)

Napisałem już trzy silniki graficzne: Opengl, DX, SDL, wszystkie w Delphi i Cpp. Gra obsługuje pliki graficzne: jpeg, bmp, png, gif, tga. Z plików dźwiękowych to ogg, mp3 i wav. Sztuczna inteligencja jest oparta na skryptach LUA podobnie jak cześć zasad rysowania grafiki. Większość danych jest ładowanych z plików dat. Zmieniając odpowiednio reguły rysowania terenu/grafiki można stworzyć dowolny rodzaj gry strategicznej ("kwadratowa", izometryczna, heksagonalna itp.). Stworzyłem dwa tryby: gry turowa, rts. Bawiąc się regułami rysowania mapy i Ai stworzyłem prosta grę wyścigowa, prosta grę RPG oraz strzelane typu Raptor ;) Silnik gry chodzi bardzo szybko (mapa 10000x10000 i 4000 jednostek ) W przyszłości chce stworzyć Tryb multiplayer oraz możliwość wyświetlania modeli 3d (obecnie działa tylko 2d). Za jakis czas będę potrzebował grafika 2d i level designera. Silnik gry jest całkowicie oparty na Delphi wiec jest to przykład ze można pisać gry w Delphi ;)

Postaram się zrobić stronę projektu we wrześniu a pierwsza gra oparta na tym silniku wyjdzie dopiero po maju 2006 (chciałbym wcześniej, ale to nie zależy ode mnie). Pozdro sześćset ;P [diabel] [diabel]

0

Dzieki za odpowiedzi.
W sumie pewne algorytmy są "uniwersalne" i można je zaimplementować zarówno w Pascalu, C++ jak i Visual Basicu (do tego ostatniego jakoś nie jestem przekonany).

P.S. Zgadzam się z Tobkiem, obiektowość w ObjectPascalu jest lepsza niż w C++ (wg mnie troche bardziej... "intuicyjna".
Pozdrawiam!

0
Tobek napisał(a)

obiektowość w Delphi jest lepsza niz. w CPP ;)

Ja uważam wręcz odwrotnie

Tobek napisał(a)

Napisałem już trzy silniki graficzne: Opengl

Nie nazwałbym OpenGL silnikiem graficznym. Swoją drogą gratuluję napisanie OpenGL, DX i SDL, Mi by to zajęło kilka żywotów..

Tobek napisał(a)

[...]

ale żeś sobie reklamę zrobił [glowa] [glowa] teraz firmy biją się, żebyś z nimi pracował. Szkoda, że to nie dział praca

[edit]
kto mi wytłumaczy na czym dokładnie polega ta wyższość OP nad C++ [???] [???]

0

a nie mozesz uzyc i teg i tego?

do obslugi winapi i dx chyba lepszy bedzie c++ a inne rzeczy mozna robic w delphi.

ps. osobiscie uwazam, ze delphi jest do bani ;P

0

No mi sie wydaje, że skoro bede korzystać z VCL to lepiej skorzystać z Delphi, co C++ BUILDER i tak zawiera biblioteke Run-Time i pascala i C++

0

AklimX: Gra = Silnik gry + Silnik graficzny(stworzony specjalnie pod silnik gry) + Inne silniki

0

Korzystając z VCL nie masz żadnej różnicy między Delphi a C++ Builderem poza różnicą składniową - VCL jest jedno i to samo - w Builderze źródła VCL'a są w Pascalu napisane. A jeśli chcesz naprawdę wiedzieć, w czym, to w tym, w czym lepiej się czujesz.

EDITED:
Ja też się lepiej czuję w Pascalu, ale to kwestia tego, że dłużej w nim siedzę. Powoli się przerzucam. Ale nie ma złych narzędzi - są źli użytkownicy [green] <- kwiatuszek wpisany w bazę Kojota z powodu nagłego przypływu weny twórczej skłaniającej mnie do tworzenia długich i inteligentnie brzmiących wypowiedzeń ;P

0

Tak szczerze mówiąc lepiej się czuje w Pascalu (mimo, że troche wiecej pisania - begin, end zamiast {} itp)....
Dzieki!
Pozdrawiam!

0

Hmmm powiem tandetnie: "pytanie jest bez sensu" :)

Bedziesz pisal gre w VCL'u? piszesz o kolizjach wiec wnioskuje, ze bedzie tam wiele ruchomych obiektow - w takim razie zycze Ci powodzenia ;).
Piszesz też o DirectDraw - po co Ci w takim razie VCL? Uzyj WinApi + DirectDraw i jezyka, ktory lepiej znasz.
OS - zrodel nigdy za wiele, byle czytelnych.

Tobek: napisales 3 silniki graficzne? ;] Nie lepiej bylo zrobic wspolny interfejs z wyborem biblioteki graficznej?
Odnosze wrazenie, ze sie chwalisz niedzwiedziem w lesie //ktorego nikt nie widzial...

0

Aż tak wiele obiektów ruchomych to nie będzie. Max ze 20 ;)
DirectDraw jest mi tylko potrzebny po to,żeby załączyć tryb pełnoekranowy, dla okreslonej rozdzielczości (i dodatkowo tzw. tryb ekskluzywny pracy aplikacji).

A kolizje beda chyba najprostszego typu (jesli jest przeszkoda, zatrzymaj jednostke itp). Taka prymitywna wersja Heroes of the Might and Magic.

0
LOSMARCELOS napisał(a)

Tak, tylko, że OpenGL nie bardzo się nadaje do robienia prostej gry strategicznej, turowej w dwóch wymiarach.
Nadaje się jak wszystko inne. Wybierasz tryb glOrtho zamiast glFrustum i nie przeszkadza Ci trzeci wymiar. Poza tym skoro chcesz używać DirectX'a jedynie do trybu pełnoekranowego ;P to raczej ta gra będzie przypominać "połatane z poplątanym wykorzystaniem czegokolwiek co się nadaje bądź nie..."

0

Piszesz grę stategiczną to zobacz to:
http://www.c-evo.org/
jest napisana w delphi, są też i źródła

pozdrowienia

0

Dzięki za link!

Czy gra będzie wyglądać jak poplątanie z pomieszaniem?? Po prostu DirectDraw mi jest potrzebny, żeby załączyć pełny ekran i określoną rozdzielczość (bo w oknie jakoś dziwnie grać,a ludzie mają w różnych rozdzielczościach Windowsa ustawionego).

0
LOSMARCELOS napisał(a)

Dzięki za link!

Czy gra będzie wyglądać jak poplątanie z pomieszaniem?? Po prostu DirectDraw mi jest potrzebny, żeby załączyć pełny ekran i określoną rozdzielczość (bo w oknie jakoś dziwnie grać,a ludzie mają w różnych rozdzielczościach Windowsa ustawionego).

to mozesz zmienic rozdzielczosc programowo i dopasowac okno do ekranu

0

Nie , skądże znowu. Widziałem ją w różnych rozdzielczościach, i jest dobrze

pozdrowienia

0

No już wstępnie zrobiłem szkielet gry.

Dla zainteresowanych link do exe z grą (b. wczesna wersja) ...

http://zul-84.w.interia.pl/GRA_MARCELA.zip

Oczywiście to dopiero początek gry. Staram się robić komentarze w kodzie, i w miare wszystko optymalnie robić. Być może udostępnie źródła.
Programowanie gier to wiele aspektów - programowanie, grafika, dźwięki, muzyka, projektowanie poziomów, marketing itp, dlatego nie spodziewajcie się czegoś super...
Chodzi o to,że przy projektowaniu nawet prostej gry można się nauczyć sporo (języka programowania, debugowania, obsługi grafy, dźwięku itp)...

Pozdrawiam!
P.S. W menu USTAWIENIA gra pokazuje b. szczegółowe informacje o pamięci ! :)

0
LOSMARCELOS napisał(a)

Chodzi o to,że przy projektowaniu nawet prostej gry można się nauczyć sporo

No i o to chodzi. Wniosek? Rób to dalej, choćby tylko dla siebie.

LOSMARCELOS napisał(a)

P.S. W menu USTAWIENIA gra pokazuje b. szczegółowe informacje o pamięci ! :)

Nie patrzyłem, ale czyżby GlobalMemoryStatus()? [diabel]

0

Jedna uwaga malutka. Po wyłączeniu zostaje pusty pasek na dole po oknie. Żeby go nie było chyba musisz najpierw wrócić do trybu okienkowego nie fullscreen i dopiero wtedy zamykać.

0
T72 napisał(a)

Jedna uwaga malutka. Po wyłączeniu zostaje pusty pasek na dole po oknie. Żeby go nie było chyba musisz najpierw wrócić do trybu okienkowego nie fullscreen i dopiero wtedy zamykać.

Ok, postaram się to naprawić.
P.S. Jakiego masz Windowsa? Na XP jest ok.

0

Uaaa ktoś nakradł z Dune 2 :P

0
Sheitar napisał(a)

Uaaa ktoś nakradł z Dune 2 :P

Nie tylko ja :

http://arrakis.dune2k.com/

:)
Pozdrawiam!</url>

Projekt zaktualizowałem.

0

Spoko gierka!:) Dodaj więcej jednostek, zrób więcej obiektów na mapie:)
Zdaje sobie sprawe,że to dopiero początek!

P.S. Też jestem z Lublina.

0

U mnie na winxp to nie działa

Uruchomienie tej aplikacji nie powiodło się ponieważ nie znaleziono fmod.dll

A poza tym daj ten plik na inny serwer, bo z tego ściąga sie tragicznie :/

0

Zaktualizowałem projekt. W pliku zip powinna być ta biblioteka.

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