Zalecany silnik gry 2D do prototypowania [zamknięty]


76

Jaki silnik gry na wysokim poziomie poleciłby Pan opracować prototyp gry 2D w systemie Windows? (lub Mac / Linux, jeśli chcesz)

Rzeczy, które rozumiem przez „wysoki poziom” obejmują (ale zdecydowanie nie są ograniczone do):

  • bez konieczności zarządzania rzeczami niskiego poziomu, takimi jak bufory ekranowe, konteksty graficzne
  • posiadające API do rysowania kształtów geometrycznych
  • Cóż, zamierzałem to pominąć, ale wydaje mi się, że opieranie się na prawdziwym języku „wysokiego poziomu” to plus (automatyczne zarządzanie zasobami i istnienie rozsądnego zestawu struktur danych w standardowej bibliotece).

Wydaje mi się, że Flash jest przysłowiowym słoniem w pokoju dla tego zapytania, ale bardzo chciałbym zobaczyć różne odpowiedzi oparte na wszelkiego rodzaju językach lub pakietach SDK.

Odpowiedzi:


31

Użyłem pygame intensywnie i ma wiele pozytywów:

  • jest to biblioteka dla języka Python, który jest językiem wysokiego poziomu
  • ma dobrą przejrzystą dokumentację
  • ma aktywną społeczność

Pygame to opakowanie wokół SDL, wieloplatformowej biblioteki graficznej 2D. Pygame ma również opakowania dla dźwięku, muzyki itp. Zauważ, że pomimo iż Python jest językiem programowania wysokiego poziomu, pygame jest (w przeważającej części) biblioteką graficzną dość niskiego poziomu.


3
Być może warto wspomnieć, że chociaż jest on w języku wysokiego poziomu, jako środowisko gry jest nadal dość niski.
Henk

5
Tak, możesz z łatwością spędzić kilka tygodni powoli budując silnik gry w PyGame bez dużej ilości faktycznej gry. To świetna biblioteka, ale z mojego doświadczenia wynika, że ​​z czasem będziesz musiał zbudować trochę kodu frameworka, aby zadziałał w celu szybkiego prototypowania bardziej zaangażowanych pomysłów.
James

35

Jeśli chcesz spojrzeć na inne rzeczy. Możesz sprawdzić Löve (który używa Lua)


4
Whoa, to wygląda na świetny sposób na naukę lua!
GloryFish

9
Uwaga: powyższy komentarz napisałem 22 września 2010 r. 7 dni później usiadłem i jednej nocy stworzyłem swoją pierwszą grę Löve, w której nigdy wcześniej nie napisałem Luy. Od tego czasu stworzyłem kilka gier z Luą i Löve i obecnie portuję grę Löve na iOS. To był świetny język do prototypowania i świetny sposób na naukę Lua.
GloryFish

2
Wspaniale jest usłyszeć: D
Ólafur Waage

20

Uważam, że XNA to bardzo fajny język do prototypowania. Łatwo jest zebrać szybkie pomysły, aby zobaczyć, jak działa gra / mechanika, i wystarczająco mocne, aby naprawdę wykonać zadanie. Ma też świetną społeczność na forach pomocy i kilka narzędzi stron trzecich (silniki fizyki / biblioteki pomocnicze / itp.)


Ponieważ Microsoft XNA to DOA, następną najlepszą rzeczą jest Monogame (implementacja XNA typu open source).
ashes999

2
Nadal będą go obsługiwać, a ty możesz nadal prototypować gry. Po prostu nie wysyłają nowych funkcji. Nie nazwałbym tego martwym, ale raczej przejściem na emeryturę :)

18

GameMaker wygląda jak dobre narzędzie do tworzenia prototypów lub budowania gry. Opiera się na zasadzie „przeciągnij i upuść” „bez potrzeby pisania jednego wiersza kodu”, więc wydaje się być skierowany do początkujących. (Nigdy go nie użyłem, po prostu się na nim natknąłem - ale ich strona internetowa z pewnością wygląda gładko. :)



14

Warto również wspomnieć o Flixelu Adama Atomica . Prosty, nowoczesny silnik gry typu bare-bone napisany we Flashu. Możesz się tego nauczyć w kilka minut, a nie dni. A użycie Flash (lub Processing / Java) chroni Cię przed jedną z najniebezpieczniejszych pułapek prototypowania: nie możesz używać kodu prototypu na żadnej poważnej platformie. To gra, którą chcesz prototypować, a nie kod.


1
+1 dla Flixel. Świetny silnik. Użyliśmy go w Global Game Jam (i wygraliśmy :). Nie można uzyskać częściowo wypolerowanych prototypów znacznie szybciej niż 48 godzin!
michael.bartnett,

Naprawdę świetne. Grałem dziś rano i nauczyłem się go od zera.
mcintyre321

@ michael.bartnett, czy możesz połączyć się ze swoją zwycięską grą? Po prostu ciekawy :)
James McMahon

@JamesMcMahon Doceniam twoją ciekawość :) Czy możesz pingować mnie na czacie na ten temat? Chciałbym też wspomnieć dla przyszłych czytelników komentarzy, że wolę Flashpunk od Flixela w dzisiejszych czasach między nimi dwoma.
michael.bartnett

8

To nie jest konkretnie silnik gry, ale zajrzyj do Przetwarzania . Niektóre dobre strony to:

  • Wymagana minimalna konfiguracja. Możesz mieć coś na ekranie w 30 sekund.
  • Może zanurzyć się w Javie w dowolnym momencie, np. W kolekcjach, ale duża część składni rysunków, animacji i interakcji jest znacznie mniej szczegółowa niż prosta Java.
  • Wszystko, co napiszesz, będzie kompatybilne z Processing.js , więc możesz z nim pracować wszędzie, gdzie masz nowoczesną przeglądarkę.

8

Używam Novashell.

Użyłem Game Maker jako głównego narzędzia, ale miałem problem z YoYo Games (nie będę tu teraz wyjaśniać), a potem znalazłem Novashell.

Novashell jest NAPRAWDĘ narzędziem do prototypowania, został stworzony przez osobę, która również stworzyła „LORD” (Legend of Red Dragon) i „Dink Smallwood”, aby mógł szybko tworzyć gry dla Ludumdare (48-godzinny konkurs gamejam), ma edytor map , obsługuje skrypty LUA, jest wykonany w C ++, ma licencję zlib (co oznacza, że ​​możesz robić co chcesz ze źródłem, bez twierdzenia, że ​​wymyśliłeś rzeczy, których nie zrobiłeś), i ma silnik fizyki (Box2D), system cząstek (Linear Particle for ClanLIB), obsługuje MikMod i Fmod, działa w systemach Linux, Mac i Windows, jest bardzo łatwy w użyciu i możesz pytać o to Setha!

EDYCJA: Seth to nazwa programisty (który również uczynił Pana)


dzięki! nigdy wcześniej o tym nie słyszałem, ale lista funkcji jest wystarczająco interesująca, aby spróbować. również open source
Nek,

Tak! Moja własna wersja Novashell jest nieco ulepszona w stosunku do oficjalnej wersji, ale zajmie to DUŻO czasu, zanim ją wydam :( (nie ma jej nawet fizycznie w pobliżu komputera)
szybszy

w każdym razie nie mam czasu na naukę tego przed Ludum Dare w ten weekend. Mam nadzieję, że wydacie go przed następnym LD.
Nek,

także myśl przewodnia tego LD pochodzi od samego Setha!
Nek

Tak :) Seth jest niesamowity ... Nie nadążam za LD :( Więc nie mam pojęcia nawet, kiedy będzie następny LD.
Speeder

7

Game Maker jest bardzo fajny, w zasadzie robi wszystko, co opisałeś. Posiada ikony przeciągnij i upuść dla początkujących oraz kod dla zaawansowanych użytkowników. Jednak po ponad roku używania C ++ powrót do Game Maker był ... bolesny.

Wady:

  • Brak struktur danych zdefiniowanych przez użytkownika (nic takiego jak struktury C lub klasy C ++, tylko „obiekty”)
  • Dynamicznie wpisane (wpisz „varAwesome = 0” i o mój boże, właśnie się pojawił)
  • YoYo Games jest złe

Plusy:

  • Łatwy w użyciu, trudny do opanowania
  • Robi dla ciebie wiele rzeczy na niskim poziomie
  • Aktywna i aktywna społeczność

Zacząłem tworzyć gry za pomocą Game Maker w 2002 roku. :)


6
lol w dynamicznie wpisywane - minusem ...
RCIX

Tak, to i słabe pisanie. Dostałem kilka naprawdę dziwnych błędów, zanim zdałem sobie sprawę, że operator modułu zwraca odpowiedzi w liczbach zmiennoprzecinkowych.
James

Żadne struktury danych zdefiniowane przez użytkownika nie są uciążliwe. Jeśli chcesz zwrócić więcej niż jedną wartość z funkcji, musisz utworzyć dla niej obiekt, ale wszystkie obiekty są pełnymi aktorami gry z pozycją, zdarzeniami itp. Nie możesz ominąć tablic (jeśli nie określisz indeks, przyjmie [0])
Bart van Heukelom

Polecam GameMaker, jeśli chcesz szybko prototypować swój projekt gry. GameMaker jest bardzo potężny i widziałem niesamowite rzeczy, które zostały z nim zrobione. Możesz potencjalnie zaoszczędzić dużo czasu i smutku, jeśli najpierw prototypujesz swój projekt gry w GameMaker, zanim zaczniesz opracowywać silnik gry w C ++ lub XNA.
Cooper

Mam bibliotekę skryptów dynamicznej alokacji pamięci specjalnie w celu obejścia problemu braku struktur danych. Powiem, że posiadanie takich bibliotek i możliwość robienia tego w wersji lite z pewnością bardzo ułatwia pracę.
The Great Duck

5

Używam DarkBASIC Professional od 2 lat i naprawdę mi się to podoba. Jeśli nie możesz sobie pozwolić na zakup pełnej wersji, możesz po prostu pobrać bezpłatną wersję obsługiwaną reklamą. Game Creators, twórcy DBPro, również wydają regularny biuletyn, który sprawia, że ​​czytanie jest całkiem dobre, a ponadto mają dość dużą aktywną społeczność; wszystkie powyższe można znaleźć tutaj:

https://www.thegamecreators.com/

Sprawdź to, mam nadzieję, że coś tam znajdziesz.

Pozdrawiam, BFM


5

cocos2d, który używa pygletu . Te dwie biblioteki Pythona używam intensywnie do prototypowania.

Znacznie łatwiejsza w obsłudze niż pygame.

Dziwię się, że jeszcze nie wspomniano!


5

Polecam Scirra Construct dla początkujących i szybkiego prototypowania.

Sam silnik gry jest abstrakcyjny, więc możesz całkowicie skupić się na grze. Wtyczki umożliwiają dodatkową funkcjonalność, „kod” składa się z blokowalnych bloków zdarzeń, stanów i akcji itp.

Construct jest aktywnie rozwijany i ma także aktywną społeczność.


3

Przewijanie Game Development Kit w wersji 2 jest drugim głównym iteracji (przepisanie) z IDE rozwoju gry i ram dokładnie tego rodzaju prototypów i prostego tworzenia gier 2-D. Jako druga iteracja wykorzystuje nowoczesne języki (C #) i technologie (refleksja nad niestandardowym kodem), a także opracowuje niektóre podstawowe wady projektu (teraz pozwala na umieszczanie duszków bezpośrednio w edytorze map zamiast tylko ścieżka, która musi być podłączona zewnętrznie do duszka, i nie stara się być takim edytorem Wysywig, ponieważ są pewne rzeczy, które chcesz wydarzyć tylko w czasie wykonywania, a inne tylko w czasie projektowania).

Niektóre z interesujących cech:

  1. Zdecydowana większość kodu frameworka jest dostępna i edytowalna w IDE. Jeśli nie podoba ci się sposób działania wbudowanej funkcji „PushTowardSprite”, możesz wywołać edytor i zmienić go lub dodać własny, który pojawi się na liście wraz ze wszystkimi wbudowanymi poleceniami.
  2. Wspomniałeś o możliwości rysowania wielokątów. Ten framework jest oparty na OpenTK, który jest opakowaniem .NET wokół OpenGL. Masz więc całą moc OpenGL na wyciągnięcie ręki. W kodzie frameworka znajduje się jedna klasa „Display.cs”, którą można edytować w IDE i dodawać dowolne funkcje rysunkowe.
  3. Wiele frameworków jest ukierunkowanych na fizykę side-scrollera (chodzenie po zboczach, platformach jeździeckich itp.), Więc wiele z tego kodu jest już dla ciebie zrobione; oczywiście możesz go dostosować lub zignorować dla innych typów gier 2D. Gra Tetris została z nim napisana.
  4. Przewijanie Paralaksy
  5. Przezroczystość alfa może być osadzona w grafice lub zastosowana do rysunku dowolnej grafiki.
  6. Wszystkie dane projektu są zapisywane w jednym pliku XML (zbiór danych .NET). Zewnętrzni redaktorzy mogą uzyskać dostęp do pliku, tym samym rozszerzając funkcje dostępne w IDE, jeśli to konieczne.
  7. Projekty są kompilowane najpierw do projektów C # (kompatybilnych z Visual Studio), a następnie do plików EXE (ze wszystkimi osadzonymi zasobami). W razie potrzeby można załadować projekt do programu Visual Studio w celu ulepszenia interfejsu debugowania lub programowania kodu.

3

Dzięki PreviewLabs, firmie specjalizującej się w szybkim prototypowaniu , często używamy Unity3D do prototypowania gier 2D.

Chociaż jest to silnik 3D, istnieje kilka sposobów wykorzystania go do prototypowania 2D. Oto główne zalety:

  • Jest bezpłatny do użytku na platformach PC i Mac
  • Płatne wersje działają również na iOS i Androida, dzięki czemu możesz zobaczyć, jak działa Twoja koncepcja na innej platformie.
  • Jest wyposażony w silnik fizyki, z którego można także korzystać podczas prototypowania gier 2D.

Piszę serię postów na blogu o tym, jak Unity3D może być wykorzystywany do prototypowania gier 2D; jest to pierwszy: Prototypowanie gier 2D w Unity3D


3

Slick Framework napisany w Javie jest dobrym wyborem. Tego po raz pierwszy nauczyłem się programować. Korzyścią jest to, że działa na wielu platformach, może tworzyć aplety dla Internetu i ma fantastyczną obsługę narzędzi / bibliotek przez Eclipse lub cokolwiek innego, co ma środowisko Java. To powiedziawszy, ostatecznie przerzuciłem się na Flash, ponieważ jeśli chcesz dystrybuować swoje gry, nie ma nic łatwiejszego ani bardziej skutecznego.


2

Zacząłem używać FlashPunk do mojego pierwszego projektu rozwoju gry i jak na razie było to naprawdę sprytne. Jest to biblioteka Flash stworzona do projektowania gier. Jest to silnik gry typu bare-bone podobny do Flixela, ale bardziej przypomina GameMaker, ponieważ jest bardziej przyjazny dla początkujących niż Flixel. FlashPunk wraz z edytorem Ogmo sprawiają, że bardzo wydajne jest uzyskanie odpowiedniego poziomu projektowania bez konieczności poświęcania dużo czasu na kodowanie. Więcej informacji o wszystkich trzech z nich można znaleźć w Flash Game Dojo .


1

Drugą wzmiankę o Game Maker. Powiedziałbym, że jeśli każdy silnik gry spada na ciągłość od „łatwego w użyciu / uczenia się, ale ograniczonego w tym, co możesz zrobić” do „naprawdę potężnego, ale opanowanie go zajmuje dużo czasu” ... Game Maker jest właściwie definicją łatwego w użyciu ekstremum. Jak mówi Cyclops, najbardziej podstawową funkcją (duszki, tworzenie obiektów gry, ruch, wykrywanie kolizji, zapisywanie itp.) Są ikony przeciągania i upuszczania. W rzeczywistości zawiera dość solidny język skryptowy, którego można używać, gdy zaczniesz być dobry ... ale kiedy zaczniesz pisać całą grę we wbudowanym języku skryptowym, być może nadszedł czas, aby „ukończyć” język skryptowy taki jak Flash lub PyGame.

Mimo to odniosłem wielki sukces w Game Maker jako początkującym, nie wymagającym programowania narzędziu dla studentów projektowania gier i nie mogę go wystarczająco polecić.


1

Jestem bardzo początkującym w tworzeniu gier i byłem pod wrażeniem, że udało mi się zrobić coś z gry tak szybko i łatwo. Python + SDL = zapewniona łatwość.


1

Cóż, jeśli chodzi o prototypowanie, tak naprawdę nie potrzebujesz sprytnego zaplecza z zarządzaniem zasobami i tym podobne. Tak długo, jak można załadować grafikę i wyświetlić je, jesteś w większości ustawiony. Idę pod prąd i proponuję „napisz własne”. Stracisz zero czasu, zastanawiając się, jak korzystać z czyjegoś interfejsu API. Jeśli napisanie własnego nie jest tak naprawdę opcją, DirectX jest dostarczany z przykładową strukturą zapewniającą większość podstawowych usług. Brak wiązania się z ramami oznacza, że ​​nie tracisz czasu na przestrzeganie ich zasad i nie jest ograniczony ich zakresem. Prototypowałem jako zadanie, a moje najszybsze wyniki były wtedy, gdy mogłem po prostu wbić kod bez martwienia się o frameworki. Owijarka 2D naprawdę nie potrzebuje nic więcej niż ładowanie obrazów i możliwość wyświetlania ich w x, y - prawdopodobnie ze skalą, rotacja, a jeśli chcesz być trippy, shader. Resztę możesz kodować według potrzeb. Dla prototypu - kod nie będzie przyjemny.


1

Torque-2d od GarageGames to świetny silnik gry ze świetną społecznością, kilkoma naprawdę imponującymi dodatkami oraz wbudowaną obsługą systemów Windows, Mac i Wii, a nawet iOS (na osobnej licencji). Kosztuje 99 USD.

Unity3d (można na nim opracować gry 2d) to kolejny bardzo dobry silnik gry o wysokiej jakości ze stosunkowo niską barierą wejścia. Ponownie, świetna społeczność i naprawdę fajna obsługa wielu platform, w tym iOS i Android, oprócz Win / Mac, Wii, Xbox, Playstation i Internetu.

Świetnym silnikiem skoncentrowanym na iPhonie jest cocos2d na iOS.


1

Twoje pytanie dotyczy tego, co trzeba zrobić, aby napisać prototyp gry 2D, ale myślę, że jest jeszcze jedna rzecz do rozważenia: największą zaletą Flasha jest dzielenie się tym prototypem z innymi. Prawie każdy ma już zainstalowanego Flasha. Mogę przesłać plik SWF i przekazać adres URL komuś przez czat lub e-mail. Bez pobierania, bez instalacji, bez rozpakowywania, bez exe, bez problemów międzyplatformowych. Skończyło się na tym, że wybrałem Flasha, ponieważ udostępnianie i otrzymywanie opinii było tak łatwe. Iteracja polega na ponownym przesłaniu i poleceniu przeładowania, a ja chciałem szybkiej iteracji do prototypowania. (Javascript + Canvas / SVG to kolejna przydatna opcja i jestem pewien, że wkrótce zobaczymy biblioteki takie jak Flixel / Flashpunk dla JS).


1

HGE wydaje się świetny. Ma edytor cząstek, edytor GUI i jest używany przez profesjonalnych programistów.


1

Zawsze jest GLBasic .

Jest to dość wysoki poziom języka, a ostatnio rozszerza on obsługę urządzeń mobilnych.

  • Jest to zarówno 2D, jak i 3D
  • Bezpłatnie dla niekomercyjnych
  • Podstawowe polecenia duszka z kolizją pikseli lub bloków
  • Napisz raz i wdróż na wielu urządzeniach i platformach (głównie)
  • Obsługuje Box2D poprzez wrapper (fora wyszukiwania)
  • Niestandardowe TYPY danych z funkcjami (zbliżone do klasy, ale pozbawione dużej funkcjonalności OOP)
  • Może uzyskać duszkę poruszającą się na ekranie w krótkim czasie z kilkoma liniami kodu

1

PixieEngine to internetowe środowisko IDE i środowisko do tworzenia gier. Używa CoffeeScript do tworzenia skryptów i zapewnia wbudowane edytory grafiki pikselowej i efektów dźwiękowych.

PixieEngine IDE


1

Brałem udział w podobnej misji i natknąłem się na kilka innych narzędzi, które nie zostały tutaj wymienione:

  • Stencylworks to środowisko IDE / dev do szybkiego i łatwego budowania gier Flash, wizualny interfejs dla istniejących modułów. wydaje się być w 100% darmowy, nie open source, a kluczowymi zaletami są sprytne, bezkodowe kodowanie (to nie jest tak jak schitzoid / interfejs wizualny Gamemakera). Martwię się o granice interfejsu wizualnego - niejasne, jak naprawdę jest ono zorientowane obiektowo; z pewnością ma proste rzeczy; prawdopodobnie gdzieś tam jest edytor skryptów javascript, ale jeszcze go nie widziałem. Wydaje się, że jest przeznaczony do wspólnego rozwoju (rdzeń wbudowany w IDE; wszystkie zasoby i zachowania hostowane na serwerze, wniesione przez użytkownika). To może być WIELKIE dla rozwoju prototypu. Jeszcze niewiele z tego zrobiłem, ale samouczek był bardzo prosty i oto

Próbowałem też kilku innych dziwniejszych.

Alice to środowisko gier / deweloperów 3D, które jest open source - wygląda trochę niezgrabnie.

Kodu, wychodząc poza Gamemaker w zakresie łatwego / ograniczonego spektrum, skierowanego do dzieci, pozwala tworzyć gry z kontrolerem Xbox. wolne od Microsoft Research

Scratch, od MIT Labs, jest darmowym i naprawdę podstawowym 2D, mającym na celu zachęcenie dzieci do kodowania. Niezgrabny wizualnie. Jednak elastyczny.

Wracając do LOGO Paperta, Microworlds JR pozwala ci pisać logo. Potrzebuje aktualizacji, aby była przydatna, IMO.

Dla mnie, jak dotąd, sprowadza się to do Construct 2 vs Stencylworks ... choć sprawdzę, jak łatwo jest zbudować przyzwoitą grę 2D w Unity, jak wiem i lubię Unity.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.