sge2d


G.o.D

Member
Joined
Jan 15, 2007
Messages
358
Hallo,

ich habe gerade einen neuen cvs snapshot meiner 2d game engine fuer c (geht natuerlich auch mit c++) entwickler released. Leider sind die docs nicht aktualisiert, aber ich denke mal ein blick in demos und libtest sollte die meisten features aufzeigen.

Der neue release unterstuetzt jetzt das offizielle sdk, open2x und devkitgp2x.

Bis dato wurde sge2d noch nicht in projekten eingesetzt, wuerde mich also freuen wenn vielleicht eh grade jemand ein neues projekt plant, mal einen blick darauf zu werfen und mal berichten was fehlt, was nice to have waere oder was schlichtweg unguenstig geloest ist.

Hier gehts zum download:

http://sourceforge.net/project/showfiles.php?group_id=203039

Features mal kurz aus dem stegreif:

- Sprites, mit animation, pixel exakter kollisionserkennung, wegpunkten zum automatischen ablaufen
- Layer system fuer parallax scrolling, mit kamera positionierung
- Aufteilung in game states (z.B. menu, gameloop, highscores, etc)
- Samples und musik
- Ein paar zeichenfunktionen fuer linien, pixel, rechtecke
- Verschluesselte files. Das ganze spiel kann mit einem binary und einem datenfile ausgeliefert werden. Das datenfile muss nicht in den ram passen

Mehr faellt mir grade nicht ein
 
grade nen neuen snapshot releast.

neben einem wichtigen bugfix mit dem jetzt auch windows user via mingw datenfiles erzeugen koennen, einige neue features und vor allem mehr demos.

waehre sehr dankbar wenn sich jemand mit open2x erfahrung das anschaun koennte. wenn ich via open2x compiliere erhalte ich nur einen schwarzen bildschirm. mit dem orig gp2x devkit funktioniert alles. da ich bisher nie was mit open2x gemacht habe vermute ich den fehler eher in meiner open2x installation als bei sge2d
 
erklär mir mal, wie man das ganze unter dev-c++ nutzen kann.

habe dev-c++ installiert mit dem gp2x paket. das gp2x-testprogramm läuft unter dev-c++.

wie wird nun deine sache da eingebunden, damit deine arbeit nutzen bringt.

mfg
 
gp2x crosscompiling ist derzeit nur unter linux moeglich, ich werd mir das thema die naechsten tage mal anschaun, sollte vermutlich kein groesseres problem sein das auch unter dev-c++ ans laufen zu bekommen.

du nimmst vermutlich das hochoffizielle windows sdk von gph?
 
2D Engine? na sowas, genau das such ich im Moment! :D Schade, erst jetzt entdeckt. ^^""
Also mir geht es weniger um ne Engine an sich als ne Möglichkeit Grafiken zu "testen" und zwar "ingame" mit Scrolling, Parallax-Ebenen usw. Einfacher Editor um meine Grafiken reinzubauen währ schon was feines, dann würd ich mir die 6MB auch gern mit meinem 56K modem ziehen.
Es ist nämlich sauschwer Grafiken "aus dem Kopf" zu basteln, die dann auch noch gut zusammen harmonieren, farblich usw. wenn man das nicht "ingame" testen kann. Mir schwebt da Der Stil von "Sonic the Hegehog" vor, bin ein riesen Fan und ich finde die gute alte 2D Pixelkunst genial. Genau sowas möcht ich auch mal komplett selber machen. Aber alle freien Sonic-Klone für den PC sind entweder sehr Beta oder irre kompliziert zu bedienen (wie dieses DOS(!!!) "SonicX" Projekt), wenns ums Level-Basteln geht...oder man kann seine eigenen Grafiken nicht einbauen. Oder es gibt keine editierbaren Parallax-Ebenen oder oder... :-|| Irgend wo hakts immer.

Wenn ich einfach nen simplen Editor hätte, mit dem ich irgend ein Sprite durch selbst gepixelte Landschaften schubsen könnte, nur um zu sehen, wie die Grafiken wirken, dann währ das schon was feines. :)

-png oder gif Tiles verwendbar, incl. (einfacher) Transparenz
-Vordergrund Layer incl. Objekte "vor" und "hinter" dem Player-Sprite
-Parallax Layer, mind. zwei, ebenfalls frei editierbar.
-Scrollgeschwindigkeit und -Richtung der Hintergrund-Layer frei konfigurierbar (man kann da die tollsten Effekte erreichen)

^_^
 
sorry, im moment ist das rein fuer programmierer

aber in deinem fall wuerd ich mal einen blick auf den game-editor http://www.game-editor.com werfen. die demoversion sollte fuer deine zwecke ausreichen.

eventuell ist auch der was fuer dich:

http://tilestudio.sourceforge.net/

mir faellt leider grade der tile editor nicht mehr ein, der mehrere opensource spiele unterstuetzt, da koenntest du das dann immer direkt ausprobieren. vielleicht findest du ja was per web suche
 
G.o.D said:
sorry, im moment ist das rein fuer programmierer

aber in deinem fall wuerd ich mal einen blick auf den game-editor http://www.game-editor.com werfen. die demoversion sollte fuer deine zwecke ausreichen.

eventuell ist auch der was fuer dich:

http://tilestudio.sourceforge.net/

mir faellt leider grade der tile editor nicht mehr ein, der mehrere opensource spiele unterstuetzt, da koenntest du das dann immer direkt ausprobieren. vielleicht findest du ja was per web suche

Danke für die Links. :) Werd ich mal durcharbeiten und weiter suchen. Vom Game-Editor hab ich schon mal was gehört. Aber im Grunde bräuchte ich nur was simples. Die meißte Arbeit macht ja scho ndas anpassen der Grafiken, was passt zu was, Licht, Schatten, "Komposition"... da muss der Editor leicht und geschmeidig "flutschen" :lol:
 
Hmm klingt interessant deine LIB. Ich werd sie mir mal genauer ansehen. Wie siehts mit portabilität aus? Symbian, WINce? oder grundsätzlich ausgeschlossen?
 
momentan werden nur plattformen unterstuetzt, die mir selbst zur verfuegung stehen, dazu gehoeren symbian und wince (leider|gottseidank) nicht. ich versuche aber die dependencies gering zu halten, damit sollte es eigentlich recht einfach auf jede plattform portierbar sein, fuer die sdl zur verfuegung steht - damit auch symbian und wince.
 
neue homepage, neue features:
  • mehrere animationen pro sprite (z.b. player in alle richtungen laufend)
  • a* pathfinding
  • particle emitter
  • mehr demos
  • zahlreiche neue funktionen und bugfixes

gp2x crosscompiling ist aber nachwievor auf linux beschraenkt, meine motivation was unter windows zu machen ist im moment eher in den unteren etagen zu suchen :wink:
 
Interessant, interessant. ^^
Könntest du theoretisch eine auf dem GP2X lauffähige Demo eines 2D Grafiktestes mit deiner Engine machen wenn ich dir die fertigen Grafiken gebe? Isch hab da was mit dem "Scrolling Game Development Kitt" am PC gebastelt, nachdem ich in monatelanger Arbeit die Grafiken dafür gepixelt hatte. Bilder gibts in meinem Grafik-Thread: http://forum.gp2x.de/viewtopic.php?f=25&p=63996#p63996 (runter scrollen)
Man kann zwar mit dem SGDK theoretisch auch ne Self-Running Datei erstellen oder alles in XML exportieren aber davon hab ich keinen Plan. Drum läuft alles halt nur mit dem Editor selber. Ist nur ein Test mit nem haufen Background-Parallax-Ebenen für den Himmel, Mittelgrund und einem Testlevel-Aufbau als Vordergrund (und noch ein weiterer Vordergrund für Sachen, wo der Player dahinter verschwinden kann.
Level könnte man also basteln wie man lustich ist, für die Hintergrundgrafiken könnte ich auch noch ne Anleitung geben, wie groß die Tiles da sind oder wie welche Ebene scrollen sollte. ^^"""
Sprite hab ich eigentlich keines, der Sonic ist nur ein Beispiel und den kann man auch nicht gut animieren mit den beschränkten Mitteln des SGDK. Die Hauptarbeit läge also bei dir, ich kann dir nur Level-Grafiken anbieten.

Nur ne verrückte Idee. :D
 
Würde gerne wissen, ob ich das hier:
http://forum.gp2x.de/viewtopic.php?f=4&t=5538
mit deiner Engine einfach in c++ portieren/übertragen kann. Möchte die Sprache wechseln. GLBasic hat mich echt enttäuscht. Auf die Probleme scheint im Forum nie wirklich jemand eine Antwort zu haben. Und den Entwickler hab ich schon seit Tagen eine PN wegen eines Sound Bugs im Bezug auf den GP2X angeschrieben und bekomme keine Antwort.
Nur leider weiss ich nicht, wie ich das hier in c++ genau so hinbekomme :/
 
@Fusion_Power:

derzeit gibt es nichts fuer tile maps, das wollte ich aber eh als einen der naechsten schritte machen. notfalls koennte man immer noch auf vollbild zurueckgreifen, sofern der ram des gp2x ausreicht. einen versuch waers wert

@momosxp:

hab mir das mal angeschaut. ansich spricht nichts gegen eine umsetzung auf c oder c++ und sge2d. fuer einsteiger wuerde ich fast reines c empfehlen, c++ ist deutlich komplizierter - es sei denn, du brauchst irgendwelche objektorientierten features. nur die sprites kann sge2d so wie du sie im moment vorliegen hasst, nicht verarbeiten. die muessten in einzelbilder umgewandelt werden, statt wie im moment alles in einem bild. allerdings ist nachwievor das crosscompilen auf gp2x nur unter linux moeglich.

p.s.: das mit pn an entwickler ist eigenartig, ich habe selbst ein wenig mit glbasic rumgespielt und kenne es eigentlich genau anders: der support ist klasse. versuchs vielleicht mal im glbasic forum
 
Soweit ich weis ist/war Gernot (GLB) im Urlaub, das muss halt auch mal sein.
 
Konnte erfolgreich unter Windows für den GP2X mit der Code::Block - Umgebung, aus dem GP2X - Archiv, die Demo "Collison" erstellen und abspielen. Das Ergebnis ist beeindruckend, absolut flüssig, nach dem ich auf Hardware - Surfaces umgestellt habe.

Einige Wünsche/Ergänzungen habe ich noch:

Bitte stelle die <sge.h> - includes auf einen eigenen Namespace um, z. B. <SGE2D/sge.h> Somit kann jeder entscheiden, wo er die Include - Dateien ablegen will, solange er das übergeordnete Verzeichnis einbindet. Bei den SDKs die ich bisher gesehen habe, wird z. B. SDL auch über <SDL/sdl.h> eingebunden.

Wenn möglich, erstelle 2 statische Bibliotheken, einmal für den PC und für den GP2X. Damit muss man die "C" - Quellen nicht in das Makefile mit aufnehmen, was die Erstellung neuer Projekte vereinfacht.

Ist es möglich die "Start" - Taste unter dem GP2X abzufangen? Ich sehe im Quellcode keine Abfrage auf die Start - Taste zum beenden des Programmes.

Werde jetzt noch weitere Demos kompilieren, mach bitte weiter.

Gruß
Thomas

Edit:
- Demo Animation läuft
- Demo Particels läuft, allerdings nur so mit 10-15 FPS
- Demo Pathfinding läuft ebenfalls
 
KidPaddle said:
absolut flüssig, nach dem ich auf Hardware - Surfaces umgestellt habe.

hm... meinst du jetzt windows, oder gp2x? meines wissens unterstuetzt der gp2x keine hardware surfaces und unter windows sollten sie per default benutzt werden... bin ich da falsch informiert? hat das eventuell was damit zu tun ob man das original sdk oder eines der neueren hernimmt?
Bitte stelle die <sge.h> - includes auf einen eigenen Namespace um, z. B. <SGE2D/sge.h> Somit kann jeder entscheiden, wo er die Include - Dateien ablegen will, solange er das übergeordnete Verzeichnis einbindet. Bei den SDKs die ich bisher gesehen habe, wird z. B. SDL auch über <SDL/sdl.h> eingebunden.

sge2d wird aber nicht systemweit installiert, wie z.b. sdl, daher endet es immer damit, dass man dem compiler ein include directory mitgeben muss, da alle files mit sge* geprefixed sind, sehe ich eigentlich keine probleme damit. ich werd mal drueber nachdenken, aber ist natuerlich immer bloed sowas im nachhinein umzustellen
Wenn möglich, erstelle 2 statische Bibliotheken, einmal für den PC und für den GP2X. Damit muss man die "C" - Quellen nicht in das Makefile mit aufnehmen, was die Erstellung neuer Projekte vereinfacht.

du meinst, vorkompiliert, fuer windows user? bzw. user von entwicklungsumgebungen wie code::block? ich denke das waere dann besser in einem eigenen archiv aufgehoben. prinzipiell ist sge2d eine multi plattform engine, die *auch* den gp2x unterstuetzt, aber es ist nicht die hauptausrichtung.
Ist es möglich die "Start" - Taste unter dem GP2X abzufangen? Ich sehe im Quellcode keine Abfrage auf die Start - Taste zum beenden des Programmes.

darum muss man sich selber kuemmern, sieh z.b. demos/basic/main.c - if (es.start.released)...
- Demo Particels läuft, allerdings nur so mit 10-15 FPS

das liegt an den transparenten png im sprite particle emitter, der gp2x schlaegt sich auesserst schlecht mit blitten von transparenten bildern. es sollte deutlich schneller laufen, wenn man auf transparente sprites verzichtet, aber zu demonstrationszwecken mal eingebaut, sieht einfach besser aus ;)

endlich mal echtes feedback, damit kann ich schon mal was anfangen, danke :p
 
G.o.D said:
hm... meinst du jetzt windows, oder gp2x?
Für den GP2X. Das normale SDK untersützt kein HW - Surfaces, konnte die libSDL.a einfach durch die von paeyrn ersetzt und die unterstützt HW - Surfaces.
sge2d wird aber nicht systemweit installiert.
Ich habs bei mir gemacht, da die Bibliotheken von anderen "Herstellern" zentral gespeichert sind. Ist jedoch Geschmacksache.
du meinst, vorkompiliert, fuer windows user?
Ja, und auch für den GP2X. Ist ja kein muss, jeder kann für sich entscheiden, ober deine Datei direkt einbindet, oder die Bibliothek.
darum muss man sich selber kuemmern, sieh z.b. demos/basic/main.c - if (es.start.released)...
Uupps, Sorry, einfach übersehen.

Sitze gerade selber an einem SDL - Framework, welches zwar funktioniert, jedoch beim Abspielen von Musik auf dem GP2X noch nicht so rund läuft.

Gruß
Thomas
 
G.o.D said:
@Fusion_Power:

derzeit gibt es nichts fuer tile maps, das wollte ich aber eh als einen der naechsten schritte machen. notfalls koennte man immer noch auf vollbild zurueckgreifen, sofern der ram des gp2x ausreicht. einen versuch waers wert
Ah, Ok. Yo, Tiles sparen schon ganz schön Speicherplatz, so ne Technik ist immer brauchbar für 2D Engines. WIrd ja eh fast immer alles "getilet". Das Interessante ist übrigens, dass ich unterschiedliche Tilegrößen verwende, das geht mit dem SGDK. Vordergrund hat 32x32, der große Mittelgrund hat 128x128 (weil zu faul um viele kleine Tiles zu puzzeln, dann lieber wenige große :D) und der Hintergrund hat 64x64px Tilegröße. Aber im Notfall kann man alles auf eine Größe bringen, die Grafiken kann man ja aufteilen wie man will. Ich war so schlau und hab die Hintergründe als Komplett Grafik abgespeichert (bis auf die einzelnen Wolkenbänder), so wie der im Game aussieht, so sieht der auch in der Grafikdatei aus. ;)
 
oh ja tiles, dann wag ich mich auch mal ran deine engine zu testen...
ist dann noch ein map-format geplant oder darf ich mir ein eigennes ausdenken?
 
Back
Top