Welche Programmiersprache ist besser für geplantes 2D-Spiel?

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

TheMatrix

Betreff: Welche Programmiersprache ist besser für geplantes 2D-Spiel?

BeitragFr, Aug 17, 2007 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo BB-Freaks,

ich bin dabei, ein 2D-Spiel in die Gange zu leiten, welches Pokémon ähnelt. Dieses Spiel soll auch netzwerkfähig werden

Zu verbauen in dem Spiel, sind einige Zauber, die zumeist in Real-Time berechnet werden. Transparenz, drehen und anderes Ändern der Bilder in Real-Time ist ebenfalls von nöten. Ich weiß nur nun nicht, welche Sprache ich dafür nehmen sollte...

In meiner engeren Auswahl sind:

1. Java - Wäre echt am besten. Ich steck momentan voll in Java und prog damit jeden Tag. Zudem wäre mein Spiel Platformunabhängig und perfekt fürs I-Net geeignet. Java ist dann noch schön einfach und es gibt richtig gute IDEs(NetBeans). Nur weiß ich halt nicht, ob Java mit den Anforderung klar kommt, da Java recht lahm ist, wegen der VM und Platformunabhängigkeit... vielleicht weiß jemand mehr??..

2. C++ - Kein Plan. Noch nie mit geprogt, aber es ist halt die Spieleprogrammiersprache Nr. 1 auf der Welt. Zu dem arbeitet C++ sau schnell(wenn man gut progt) und würde mir alles offen halten. Platformunabhängig, wärs zwar net, aber egal... Gut wäre es eventuell darin zu schreiben, weil ich gleich C++ lerne und für die Zukunft vorbereitet wäre... Was echt ein Contra darstellt ist, dass es fast die schwerste Progsprache auf Erden is...

3. BMax - Hmm, öfter schon hier gehört im Forum. Habe irgendwie im Kopf, dass die auch recht schnell sein soll, aber wie schnell? Zudem müsste ich Geld für das Programm ausgeben(was ich eigentlich nicht so vorhatte). Das einzigste Pro wäre eigentlich nur, weil es einfacher zu erlernen wäre.

Wie ihr seht hab ich mir schon einige Gedanken gemacht, aber ich bin mir halt noch nicht schlüssig geworden. Hättet ihr vielleicht Ideen? Vielleicht haben ja hier einige echt viel Plan von den ganzen Sachen.

Wäre nett.

Gruß, Manu
°_° °.° °~° °v° .. -.-

Arrangemonk

BeitragFr, Aug 17, 2007 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
c++ ist sehrwohl plattformunabhängig, solange du ogl hernimmst für grafik
ingeneur

Abrexxes

BeitragFr, Aug 17, 2007 18:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Welche Programmiersprache ist besser für geplantes 2D-Spiel?


Keine, die frage müsste lauten wie gut ist der Programmierer.

Wenn du keine Plan hast dann nimm B3D und Fastimage, schnell und stabil.

Wenn Java dir gefällt dann versuch es ihn Java, ansonsten C++/SDL/OpenAL

Wenn das zu heftig und Mac/Linux gewollt dann nimm Blitzmax, aber dann sollten auch alle 3 Systeme zum debuggen bereitstehen.

Ansonsten kannst du eine von 200 anderen Sprachen nutzen, von Python bis Freebasic.

cu
 

ChristianK

BeitragFr, Aug 17, 2007 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
SDL kann ich nur empfehlen. Damit habe ich die Spieleprogrammierung mit C++ gelernt. SDL ist auch plattformunabhängig und es gibt einige Module für Grafik, TTF-Fonts, Sound, Netzwerk ...
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT

mahe

BeitragFr, Aug 17, 2007 21:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm BMax. Einfacher kannst du kein plattformunabhängiges 2D-Spiel programmieren.

Java ist sowieso nichts und für Spiele schon gar nicht und wenn du überhaupt kein C++ kannst würde das wahrscheinlich einige Zeit brauchen. (Obwohl es bestimmt nicht die schwerste Sprache überhaupt ist Wink )
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,

TheMatrix

BeitragFr, Aug 17, 2007 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
@ProGamer.Coder
SDL hört sich echt gut an, genau das was ich suche. Hab mal n bischen gegoogelt und werd mich mal einlesen.

@mahe
Ja, aber BlitzMax kann ich ja auch überhaupt nicht. Bei C++ hät ich die einzigste Anlaufstelle halt, dass ich Java halt kann... Kann BMax eigentlich überhaupt mit C++ mithalten?

Mal gucken. Also Java hab ich bereits aus meiner Liste gestrichen, weil mir zu viele sagen, dass das zu langsam ist...

Bin nur zwischen Bmax und C++ am kippeln..

Gruß, Manu
°_° °.° °~° °v° .. -.-

Abrexxes

BeitragFr, Aug 17, 2007 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
TheMatrix hat Folgendes geschrieben:
Kann BMax eigentlich überhaupt mit C++ mithalten?


Bei reinem 2D stellt sich die Frage nicht. Da aber Bmax streng genommen nur ein Wrapper für minGW und Fasm ist verschenkt es hier nicht viel.

Was Java angeht, wie gesagt, bei 2D stellt sich die Tempo frage nicht, hier ist auch Java schnell genug , aber machen wir uns nichts vor. Java war als "perfekte Frau" gedacht und heraus gekommen ist eine "billige *****". Was damals in den 90igern versprochen wurde konnte nicht eingehalten werden, da sind alle Vor/Nachteil Diskussionen unnötig. Bei Javascript sieht es da etwas besser aus. Java ist nun mal eine Insel, keine "Sandbox" und auch keine Weltstadt.

Was Bmax/C++ angeht, guck dir mal zb http://hge.relishgames.com/ an oder http://www.allegro.cc/ , dazu noch mingw mit http://www.codeblocks.org/ oder gleich VCexpress. Wenn du damit klarkommst (auch wegen Java Erfahrung) dann bist du bei weitem später flexibler als mit Bmax. Für 2D reicht aber auch Bmax locker aus.

cu

TheMatrix

BeitragSa, Aug 18, 2007 1:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, also BMax klingt total interessant, aber warscheinlich muss dies doch nun wegfallen, da wir 4 Entwickler sind und das einfach zu teuer wird zum Hobby-Programmieren...

Ist HGE und Allegro ev. sowas ähnliches wie SDL? Sieht nämlich so aus. Eine IDE hab ich schon. Ich nehme NetBeans 5.5.1 mit C++ Integration, da ich jeden Tag mit dieser IDE programmiere.
HGE und Allegro werde ich mir auch mal genauer betrachten. Bzw. was findet ihr davon am besten?

Gruß, Manu
°_° °.° °~° °v° .. -.-

Abrexxes

BeitragSa, Aug 18, 2007 1:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Welche die "beste" ist hängt davon ab wer vor dem Rechner sitzt. Beide haben alles was man braucht. Audio ist bei beiden nicht enorm, aber da hilft die Bass.dll weiter.

Guck dir am besten ein paar Samples an. Die HGE wurde übrigens auf der DUS für einen Speed Wettbewerb genutzt. Hier das Resultat von David Scherfgen und Christian Rösch.

www.scherfgen-software.net/mis...laeuft.zip

Das war eine 17 Stunden Arbeit, also bitte nicht denn Code bewerten nach Schönheit. Wink

cu

TheShadow

Moderator

BeitragSa, Aug 18, 2007 10:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Schwierigkeitsgrad:
-BlitzMax (leicht)
-Java (mittel)
-C++ (schwer)

Geschwindigkeit:
-C++/BlitzMax (schnell)
-Java (langsam)

Preis:
-C++/Java (kostenlos)
-BlitzMax (kostet was)

Kompilierung:
Java (1x kompilieren und es läuft)
C++/BlitzMax (muss für jede Platform neukompiliert werden)


wenn man das berücksichtigt und für dich der Preis keine Rolle spielt, dann nimm Blitzmax - wenn doch, dann bleibt Java (da ich denke für 2D sollte es schnell genug sein)

wobei ich persönlich Java nicht so mag und ich würde BlitzMax oder C(++) nehmen
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2
 

Roseman

Betreff: Re: Welche Programmiersprache ist besser für geplantes 2D-Sp

BeitragSa, Aug 18, 2007 10:40
Antworten mit Zitat
Benutzer-Profile anzeigen
TheMatrix hat Folgendes geschrieben:

(...)
1. Java - Wäre echt am besten. Ich steck momentan voll in Java und prog damit jeden Tag. Zudem wäre mein Spiel Platformunabhängig und perfekt fürs I-Net geeignet. Java ist dann noch schön einfach und es gibt richtig gute IDEs(NetBeans). Nur weiß ich halt nicht, ob Java mit den Anforderung klar kommt, da Java recht lahm ist, wegen der VM und Platformunabhängigkeit... vielleicht weiß jemand mehr??..
(...)


Wenn du in Java schon fit bist, solltest du dabei bleiben.
Und wenn ihr 4 Leute alle mit Java umgehen könnt, dann nehmt einfach Java.

Java ist nicht langsam, die Initialisierung dauert nur meistens ziemlich lange.
Und für ein 2D Projekt sollte sich die "Schnelligkeitsfrage" einer Sprache eh nicht stellen.

Die SDL kann man ja auch mit Java gut benutzen, und diese Bibliothek reicht im Allgemeinen für 2D Projekte völlig aus.


Versteh mich nicht falsch, C++ ist im professionellen Bereich DIE Sprache, wenns um Spiele entwickeln geht. Du bekommst unheimliche viele Tutorials, Bücher, Bibliotheken usw. für diese Sprache.
Und BMax ist sicherlich auch eine super Sprache für Spieleprogrammierung, da sie für diesen Zweck entworfen wurde.

Aber ich gehe nach deinen Postings mal davon aus, dass ihr 4 Leute weder mit C++ noch mit BMax bisher etwas gemacht habt.
Ihr müsstet euch daher alle in eine neue Sprache einarbeiten, wobei das in C++ schon ein Weilchen dauern kann.
Mit Java bekommt ihr alle schneller Ergebnisse, da ihr da ja "schon drin steckt".
Wärest du alleine, dann würde ich sagen, guck dir die anderen Sprachen mal an.
Nur mit mehreren Leuten kann die Motivation ziemlich schnell flöten gehen, wenn alle sich in eine komplett neue Sprache einarbeiten müssen.

Kannst ja mal mit Java und SDL ein bisschen rumspielen. Wenns nicht klappt kann man immernoch ne andere Sprache ins Auge nehmen.
So verliert ihr weniger Zeit, als wenn ihr euch erst in C++/BMax einarbeitet und dann merkt, dass es mit Java doch einfacher gegangen wäre.


Mfg
Mirko
 

MasterK

BeitragSa, Aug 18, 2007 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
"java ist zu langsam" ist, das muss ich mal so sagen, völliger unsinn. natürlich, wenn man nur die zeichenmethoden verwendet die java selbst mitbringt, könnte es etwas langsam werden (aber in den meisten fällen geht das mit 2d trotzdem ganz gut). aber man kann auch in java opengl verwenden, und dann stellt sich die geschwindigkeitsfrage für hobbyprojekte selbst in 3d nicht mehr.

TheMatrix hat Folgendes geschrieben:
Also Java hab ich bereits aus meiner Liste gestrichen, weil mir zu viele sagen, dass das zu langsam ist...

das sagen vor allem viele, die nie mit java gearbeitet haben.
+++ www.masterk.de.vu +++
Lila FTW!

TheMatrix

BeitragSa, Aug 18, 2007 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Wow, ihr habt mir jetzt ein völlig neues Denken gegeben..

@Abrexxes
Zitat:

Hier das Resultat von David Scherfgen und Christian Rösch.

www.scherfgen-software.net/mis...laeuft.zip


Find ich schon sehr schick und das in 17 Stunden arbeit
Shocked . Nunja, also ist hge wohl echt gut. Von Bass.dll hab ich schon viel gehört, würde das wohl nutzen. Gibt es denn keine Unterschiede zwischen Allegro, hge und SDL? Dann wäre es ja eh egal, was ich da nehmen würde...oder?

@all
Hmm, also Java geht doch? SDL kann man einbinden? Dann müsste das doch eigentlich auch mit hge und allegro in Java funzen oder? Wäre natürlich hammer, weil das alles Sorgen von mir nehmen würde. Ich glaub ich schreib mal ne Test-Routine in Java die einiges an grafischen Erfordernissen abverlangt. Mal sehen, wie das Ergebniss wird...

OpenGL? Wie benutz ich das? Gibt es da auch schon Librarys in Java, oder müsste ich mir da was besorgen. Aber ist OpenGL eigentlich nicht besser für 3D programmierung geeignet?

Gruß, Manu
°_° °.° °~° °v° .. -.-
 

MasterK

BeitragSa, Aug 18, 2007 17:56
Antworten mit Zitat
Benutzer-Profile anzeigen
opengl kannst du entweder mittels sdl nutzen (bzw nutzt man die sdl dann eigentlich lediglich zum initialisieren), da weiss ich aber nicht was genau der sdl-wrapper für java mitbringt.
oder du nutzt jogl: https://jogl.dev.java.net/
dieses binding wird in zukunft wahrscheinlich die offizielle schnittstelle zu opengl in java sein.

TheMatrix hat Folgendes geschrieben:
Aber ist OpenGL eigentlich nicht besser für 3D programmierung geeignet?

2d programmierung mit einer 3d schnittstelle bedeutet letztlich, dass man die dritte dimension ausser acht lässt. man hat aber all die vorteile die einem eine 3d schnittstelle liefert: hardwarebeschleunigung, rotation, skalierung, nette effekte wie alphablending und wenn man will auch lustige sachen wie pixelshader.
+++ www.masterk.de.vu +++
Lila FTW!

TheShadow

Moderator

BeitragSo, Aug 19, 2007 12:17
Antworten mit Zitat
Benutzer-Profile anzeigen
LOL - wenn man sowieso plant SDL zu nehmen, dann kann man auch gleich C nehmen - dann wäre meiner Meinung dann sowieso einfacher

ich weiß ja nicht wie SDL da in Java eingebunden wird - es hört sich aber nicht mehr platforunabhängig an... (???)
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

TheMatrix

BeitragSo, Aug 19, 2007 13:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Es muss ja nicht SDL sein. Ich finde ja, dass hge und allegro sich auch interessant anhören. Und den Code von
Zitat:
Hier das Resultat von David Scherfgen und Christian Rösch.

www.scherfgen-software.net/mis...laeuft.zip

kann ich sogar teilweise lesen. Soviel unterschied besteht garnicht zwischen Java und C++. Es ist alles nur ein wenig umschrieben. Warscheinlich werd ich jetzt aber hge nehmen. Scheint ziemlich schnell zu arbeiten und Ergebnisse hab ich auch schon gute gesehen.

Gruß, Manu

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group