Prosta gra strategiczna-w czym zaprojektować?

0

Hej! Mam do zrobienia prostą grę strategiczną, coś w stylu mega uproszczonego Heroes of the Might and Magic :)
W sumie co polecacie, jakie środowisko/język/silnik?
Mi przychodzi do głowy :

  • Java

  • C# .NET (WPF)

  • C++/QT

  • Construct Classic (konkurencja dla Game Makera, ale Construct Classic jest na licencji open source)

Ważne jest, żeby było łatwo obsługiwać multimedia (wyświetlanie grafiki, animowane gify lub mng, obsługa dźwięku), dało się załączyć tryb pełnoekranowy.
Powiem szczerze, że zainteresował mnie trochę ten Construct... Generuje exe, bez problemu da się odtwarzać wideo, dźwięki (wav, mp3, mod, it, wma, ogg), ma fajne wbudowane efekty graficzne, obsługę Pythona itp.
Z góry dzięki za opinie/pomoc :)

1

Tego ostatniego środowiska nie znam, ale nada się wszystko. Pisz w tym, co znasz najlepiej albo czego chcesz się nauczyć.

1

Poczytaj o środowisku Microsoft XNA - warstwę aplikacji masz z głowy. Poza tym spora biblioteka do obsługi multimediów, wyświetlania sprite'ów itp itd. Piszesz w C#.

0

Kiedyś na podstawie tutorialu robiłem siatkówkę w XNA...Nawet przyjemny framework...Tylko nie wiem czy będzie tak prosto zrobić w nim interfejs do gry strategicznej...A Java?Chociaż Java standardowo jest uboga jeśli chodzi o dźwięk i wideo a JMF sprawia problemy na Win7...

1

Co znaczy prosto? ;) XNA Framework posiada szereg metod do wyświetlania obrazów 2D oraz obsługi klawiatury i myszy a więcej do szczęścia chyba nie potrzeba ;)

1

Tak wiem wiem. Chodzi mi o tworzeni GUI. Bo będzie dużo przycisków, pól wyboru (radio,checkboxów), list rozwijalnych. Stąd też mi ten WPF przyszedł do głowy (bez problemów można odtwarzać avi, wyświetlać obrazki) :)

0

Jeśli chcesz tylko zaliczyć i mieć to później gdzieś, to rób w czym Ci najłatwiej... (Construct Classic zapewne)

Ja bym nawet nie ruszał w strone niczego co jest nieprzenośne jak CC czy XNA. (XNA jest jak photoshop...)

Javy - jest framework libGDX pozwalający odpalić ten sam kod pod (windowsem/linuksem/macosx'em) oraz androidem.
C++ - pisząc w tym możesz pisać praktycznie pod wszystko (Jeśli chodzi o samo Qt - to jest nawet port na andka) jednak niekiedy zmiana frameworków bywa uciążliwa jak zmiana samego języka.

0

Nie, nie to nie jest na zaliczenie :) Na zaliczenie robiłem siatkówkę w C# i XNA :)
Hmmm jest wersja Construct 2 która generuje grę do HTML5, wersja Classic do exe z wykorzystaniem DX 9c...
No nic, jeszcze to przemyślę... Najbardziej przenośna wydaje mi się Java... A ten libGDX to w sumie... pomyśle nad tym :)

0

Ja bym próbował w Javie:)

0

A może w Game Makerze?

0

Jeśli chodzi o Javę to mamy np:

  • JavaFX 2.0+ - obecnie jest już SDK 64-bitowe pod Linuksa w wersji Developer Preview,
  • JMonkeyEngine do robienia gierek na shaderach i innych tego typu bajerach, jest też wersja JME na Androida,
  • do plików .mod, .it, .ogg powinny być jakieś wolno dostępne biblioteki,
0

Ja bym nawet nie ruszał w strone niczego co jest nieprzenośne jak CC czy XNA. (XNA jest jak photoshop...)

Nie do końca rozumiem twoje rozumowanie... XNA to wrapper na DirectX-a z paroma ułatwieniami do zarządzania cyklem życia gry. Stanowi naturalne rozszerzenie zarzuconego obecnie ManagedDX. Myśląc w ten sposób, wszystkie wrappery są nieprzenośne.

Jeśli chodzi o C# to do grafiki zazwyczaj używam OpenTK (Od Tao Framework radzę się trzymać z daleka, chyba że coś się zmieniło od kiedy go używałem) - ładny wrapper łączący OpenGL, OpenCL i OpenAL.

Zarówno OpenTK i XNA są dość niskopoziomowa ale nie znalazłem na razie satysfakcjonującego mnie frameworka do grafiki 2D w C# (może kiedyś sam się zmobilizuję i sam coś wypuszczę :>).

0

A czy w Swingu da się np. łatwo wyświetlić zadaną klatkę animacji z animowanego gifa np. na JButton?
W QT chyba się dało (obsługie animowane gify i MNG-animowany PNG)

0

No już działa wyświetlanie wybranej klatki animacji z GIFa na przycisku, przy użyciu klasy z http://www.java2s.com/Code/Java/2D-Graphics-GUI/DecodesaGIFfileintooneormoreframes.htm

:)

     GifDecoder gif = new GifDecoder();
     gif.read("animated1.gif");
     BufferedImage frame1 = gif.getFrame(0);  // klatka 1
     BufferedImage frame2 = gif.getFrame(1); // klatka 2
     jButton1.setIcon(new ImageIcon(frame1)); 
     jButton2.setIcon(new ImageIcon(frame2));
 

Odtwarzanie mp3 też da się w sumie łatwo zrobić, integrując JaveFX z Javą (w 1.7 i Java FX 2.0 jest to prostsze i mniej problematyczne niż w starszych wersjach Javy FX) i korzystając z klas Java FX:)
BTW. warto się zagłębiać w Javę FX ? :)

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