Spiel Programmieren mit c++?
lima-city → Forum → Programmiersprachen → C/C++ und D
ahnung
code
figur
frage
grafik
jahr
lernen
nehmen
paar
programm
programmieren
programmiersprache
programmierung
projekt
spiel
sprache
tip
url
woche
wolf
-
Hallo, hab ne frage mir ist so ne idee gekommen undzwar würde ich gerne ein eigenes spiel schreiben/programmieren
ich lerne seit einerwoche schon c++ andere programmier sprachen kann ich leider nicht..
wie würde es den gehn ein Spiel wie zB. Metin2 oder auch WoW ( World of Warcraft ) zu scheiben ?
wie gesagt bin gerade dabei c++ zu lernen hab noch nicht genügen erfahrung...
was fuer programme würden sich am besten eignen um ein spiel zu machen..
und wie mach ich eine 3D Grafik ?
bin euch dankbar fuer JEDE antwort -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also die 3d-Grafik machst du indem du Modelle erstellst. Dafür gibt es Extra Programme (das beste ist glaub ich momentan der 3ds Max). Von der Programmiersprache her weiß ich wirklich nicht wies gemacht wurde. Ich Programmier grade auch nen Spiel mit XNA eine Erweiterung zu C# (Weiterentwicklung von C++). Wird allerdings 2D werden und deshalb hab ich keine Ahnung obs für 3D geht. Außerdem ises ja C# und nicht C++.
-
WoW...ich würde gerne sowas wie Word of warcraft machen da steckt sicher jahrelange planung dahinter..
es sollte nicht so groß aufgebaut sein sondern etwas kleiner..und man soll es schon Online spielen können
(auf einen Gemieteten Server)
nur bin ich mir garnicht so sicher wo und WIE ich anfangen soll...hab auch in google geschaut aber
bekomme keine richtigen antworten auf meine fragen...da es ja sicherlich ein paar jahre dauern wird bis ein spiel fertig ist und alleine ist es sogut wie nicht machbar !
hat jemand den ein tutorial wie man sich ein SPIEL mit cpp machen kann ? =)
oder kennt jemand ein gutes buch darüber wo alles drinnen steht was man wissen muss um sein eigenes
spiel zu entwickeln?
wie gesagt bin euch dankbar fuer jede Antwort !!! -
Für einen groben Überblick schau mal hier:
http://lazyfoo.net/articles/article01/index.php
Für die Graphik solltest du SDL und OpenGL benutzen. Ein SDL Tutorial befindet sich ebenfalls auf der Seite
http://lazyfoo.net/SDL_tutorials/index.php
Viel Spaß! -
@XNA: XNA ist eine API Sammlung für Microsofts XBox und Windows Live System. Man kann dort mit C++ sowie mit C# arbeiten und das ganze ist nur eine abstrakte Obermenge für die DirectX und Windows/XBox API die man sonst direkt ausführen kann. XNA bringt halt schon viele Hilfsmöglichkeiten mit, mit denen es relativ einfach ist etwas auf den Schirm zu bringen. SOund/Textureloader und vieles mehr. Aber dafür bedarf es trotz allem einiges an Grundwissen in Sachen Programmierung und Kenntnissen der jeweiligen Programmiersprache und der XNA API.
-
naja, egal welche programmiersprache, bei einem 3D-spiel wird man früher oder später um DirectX oder OpenGL nicht herumkommen. außer man will jede einzelne berechnung selbst ausprogrammieren (nicht empfehlenswert )
Und jo, normalerweise werden Spiele in C++ erstellt. Auch Java würde inzwischen einiges für Spiele bieten, aber irgendwie ist da noch niemand so richtig auf den zug gesprungen -
Also wäre es sinnvoll alle Programmiersprachen zu lernen ? xD
das dauer ja 5mal länger alles zulernen als ein spiel zu machen xD
also müsste ich am besten von jeder programmier sprache etwas können damit
das spiel auch was wird ? xD -
dome0910 schrieb:
Also wäre es sinnvoll alle Programmiersprachen zu lernen ? xD
das dauer ja 5mal länger alles zulernen als ein spiel zu machen xD
Da wäre ich mir nicht so sicher...
Programmiersprachen lernen und Programmieren lernen sind eigentlich 2 verschiedene Sachen. Es erfordert einiges an Erfahrung, um die richtigen Algorithmen und Datenstrukturen einzusetzen.
also müsste ich am besten von jeder programmier sprache etwas können damit
das spiel auch was wird ? xD
Theoretisch könntest du dein Spiel komplett in C++ schreiben. Es kann jedoch nicht schaden weitere Sprachen zu können, weil dies den Programmierer-Horizont erweitert und man lernt die gleichen Probleme von verschiedenen Seiten anzugehen. -
So. Mal um dir die Illusion zu rauben: Um ein Spiel wie WoW zu schreiben brauchst du:
+ excellente Programmierkenntnisse
+ Ahnung in Mathematik (willst ja schließlich 3D)
+ ein wasserdichtes Konzept
+ Ahnung in Grafik, ...
Du hast eben erst angefangen Programmieren zu lernen. Ahnung in Mathematik und im speziellen in 3D hat man nicht aus der normalen Schulmathematik sondern erlangt man durch langes probieren, probieren, probieren. Ein Konzept brauchst du damit du nicht nach einigen Monaten etwas einbauen willst was du anfangs gar nicht wolltest => Probleme
Ahnung von Grafikprogrammen die ein Format speichern, das für Spiele geeignet ist.
Ich programmiere selber schon einige Jährchen mit Delphi und seit ca. einem 3/4 Jahr beschäftige ich mich mit OpenGL. Ich würde im Moment so was wie nen echt guten Bomberman oder so herkriegen (also nichts aufwendiges in Strategie oder so).
Mein tipp: lerne erstmal C++ richtig oder auch ne andere Sprache und dann übst du erstmal in 2D um hinter die Grundkonzepte der Spieleprogrammierung zu kommen. Dann beschäftigst du dich mit Grafikprogrammen wie Blender oder sonst einem. Dann programmierst du einige kleinere Spiele und achtest dabei auf die Optimierung deines Codes.
So. Und dann kannst du so in ca. 5 bis 10 Jahren nochmal fragen kommen.
wfg
PS: Ich sag das nicht um dich zu ärgern, sondern um dich vor unnötigem Frust zu bewahren. Ich hab schon genug Projekte in der Art gesehen, die nach einigen Monaten "erstmal auf Eis gelegt wurden". -
Kann mich freesoftware nur anschließen. Was die Mathematik angeht, kann ich dir da ein gutes Werk empfehlen, was ich selbst zur Zeit lese, "Mathematik für Ingenieure und Naturwissenschaftler" ISBN: 978-3-8348-0224-8 (1. Band von 3). Da ist vieles sehr gut erklärt, vorallem die sehr wichtigen Vektoren, um die du nicht herumkommen wirst. Außerdem wirst du ya wohl auch einige Effekte, Explosionen, Zauberglitzerzeug etc. ebenfalls brauchen, dafür wird auch einiges an 3D-Mathematik vorrausgesetzt.
Was dein Projekt im allgemeinen angeht: Versuchs einfach, aber stell dich darauf ein schnell an deine Grenzen zu stoßen. Mach dann einfach mit was anderem weiter und setz dein Spiel später fort. Du wirst sehen, mit dem was du in der Zwischenzeit gelernt hast, kommst du wieder ein Stückchen weiter.
Liebe Grüße
- VampireSilence -
@freesoftware: So. Um dir mal die Illusion zu rauben. Mit Irrlicht könntest du es schaffen ein Programm zu schreiben, dass innerhalb 1 Monats mit Grundkenntnissen in C++ und GUTE Mathekenntnisse ein paar Figuren hin und herzubewegen ;)
Ne, aber Spaß beiseite. Auch ich muss dir die Illusion rauben, die du wahrscheinlich hast. Nehmen wir das beste beispiel: mich...
Ich bin seit nun fast 5 Jahren dabei zu programmieren. (habe mit 12-13 angefangen) Anfangs waren es nur einfache HTML Seiten. Danach habe ich mit PHP angefangen und mindestens 10 mal versucht ein Browsergame (also wirklich theoretisch unterste Stufe) aufzubauen. Ich bin 10 mal kläglich gescheitert. (ok, manche habe ich zur hälfte fertig gestellt)
Vor 2 Jahren dann bin ich auf eine Technische Schule gekommen und habe den schwerpunkt Informatik genommen. Das heißt 10 Stunden in der Woche + in der Freizeit C++ Programmierung. Vor ein paar Wochen sollten wir dann mal unsere Kenntnisse aufwenden und ein paar Programme schreiben. Ich und ein Klassenkamerad haben ein 2D Strategiespiel in etwa 150-200 Stunden arbeit zusammengebastelt. Du wirst lachen über die Fähigkeiten. Das Programm hat insgesammt 3500 Zeilen code. (trotzdem kann die KI uns bis heute noch nicht besiegen^^) Auch von anderen Programmierern, die oft seit ihrer Kindheit täglich Programmieren sind nicht viiiell bessere Programme gekommen. (bestes Spiel war ein Schach mit KI)
Du darfst natürlich immer dein Ziel vor augen haben. Aber vor 2 Jahren TÄGLICHEM lernen würde ich mich nicht in die 3D ebene wagen. (es gibt Gamemaker... die könnten dir vielleicht gefallen) Du solltest sowas wirklich nur machen, wenn du auch wirklich spaß am Programmieren hast.
Auch ich empfehle dir: wenn du irgendwo mitarbeiten willst steig in die Grafikprogrammierung ein. Dort wird händeringend für kleiner Projekte gesucht (Blender als Programm)
Ansonsten nichts überstürzen und immer Konzepte machen. (C++ und SDL wären auch meine Empfehlung für dich, wenn du nicht mit Brosergames anfangen willst, was dir den einstieg erleichtern würde) -
@raubritta: Irrlicht kenne ich nicht. Wenn ich schon programmieren will, dann auch ordentlich und nicht mit so click&drag-dingern. bei denen man nicht versteht was vor sich geht.
Um ne richtig gute KI zu proggen musst du soviel mögliche abläufe beachten, dass du alleine schon für die KI einige wochen am Proggen sein wirst. Was macht der Actor? Soll ich ihm nachlaufen?? soll ich wegrennen?? ...
Und schlag dir folgendes vor: Mach erstmal ein Snake, dann ein Bomberman in 2D, dann nen Bomberman in 3D (das dürfte dann schon mal ein Jahr in Anspruch nehmen; mindestens!)
Und dann besorg dir gute literatur! Mit vielen Beispielen und ausführlich beschrieben. Schau dich nach OpenSource-Projekten um und studier den Code (schon wieder ist ein Jährchen vorbei; mindesten!)
-
Irrlicht ist eine Engine. Das heißt du hast viele Klassen bereits vorgegeben, was dir das schreiben einer eigenen Engine vorwegnimmt. Programmieren musst du jedoch immernoch in C++ / C#
Bei der Ki hast du wirklich recht. Auch die Zeitabläufe ect. (meine KI (sie hat etwa 700 Zeilen) macht neben Gebäudebauen eigentlich nichts anderes als immer auf die gegnerischen Einheiten zuzulaufen bis ein gebäude oder ähnliches im weg wird die nächste Figur ausgebildet und geht auf den nächsten Gegner zu...
Und schlag dir folgendes vor: Mach erstmal ein Snake, dann ein Bomberman in 2D, dann nen Bomberman in 3D (das dürfte dann schon mal ein Jahr in Anspruch nehmen; mindestens!)
da stimm auch ich dir zu. Sind spannende / spaßige Spiele, die aber auch können erfordern. Wenn du da mal selber ne Idee hast immer machen. (ja, auch auf der Konsole kann man sich coole Spiele basteln!)
-
Wichtig ist am Anfang, dass die Spiele von der Strategie-Programmierung nicht aufwendig sind, so dass man sich ganz auf die Umsetzung der Grafik konzentrieren kann. Im späteren Verlauf sollte man sich dann immer anspruchsvollere Spiele aussuchen, die aber immer noch im Rahmen von einigen Tagen bis Wochen machbar sind.
wfg
EDIT:
KI: Da stellt sich schon wieder die nächste große Frage: Was soll ich machen wenn ich mit etwas kollidiere? Links? Rechts? Oben drüber? Unten durch?
Und: Wenn da ein Haus steht, sehe ich den Actor nicht => nicht laufen.
Beitrag zuletzt geändert: 3.3.2009 19:00:33 von freesoftware -
Vorallem wird es dann interessant, wenn es mehrere Actors gibt. Sagen wir ein Kampf 5 vs. 5. Die Kunst ist hier, eine KI zu schreiben die aus diesem Kampf keine 5 vs. 1 vs. 1 vs. 1...-Situation werden lässt, sondern die Einheiten in näherer Umgebung als Gruppe ansieht und sich entsprechend untereinander unterstützen lässt. Die Reichweite wird natürlich eingeschränkt, durch die Zeit, die die entfernten Einheiten zum nachrücken brauchen. Dieses wiederrum wird eingeschränkt durch die Bewegungsgeschwindigkeit und die Lebensdauer der Gruppe, was wiederrum durch Gegnerschaden, Hitpoints und Rüstungswert eingeschränkt ist. Du siehst also Strategiegames sind weitaus komplexer, als es zunächst scheint. Und letztenendes wird diese "Taktische Algebra" mehr Zeit beanspruchen, als die Grafiken an sich. Es geht also in erster Linie darum, Erfahrungen zu sammeln die dir genau Zeitspanne evtl verkürzen. Und da ist ein Spiel wie Bomberman schon sinnvoll. Was aber für den Anfang noch ein bisschen näher liegt und doch mathematisch fordert, wäre ein 4-Gewinnt-Spiel. Auch hier muss die KI viele verschiedene Situationen abschätzen können, die aber alle noch in einem leicht zu bewältigendem Rahmen bleiben.
Liebe Grüße
- VampireSilence
Beitrag zuletzt geändert: 3.3.2009 19:28:52 von vampiresilence -
Arbeite dies hier durch und melde dich dann wieder:
http://www.multimediaxis.de/showthread.php?t=57077 -
Der Beitrag ist echt gut.
Zeigt Anfängern, die keine Ahnung haben, was so "ganz nebenbei" mit ihrem "ich will ein Spiel programmieren, das besser ist als ... ist. Bin noch Anfänger. Ist aber doch eh nicht so schwer"-Wunsch mitkommt. Bewahrt sicher viele davon, unnötig viel zeit zu verschwenden.
Hier noch(mal) ein tipp von mir: beschäftige dich mit c++ oder einer anderen Sprache (oder auch mehreren), programmiere kleinere Programme und schau dich dann nach ner Gruppe um die ein Gemeinschaftsprojekt machen wollen, dass machbar ist und dich interessiert. Wenn du das in nem Forum findest, rate ich dir die User, die das Projekt gestartet haben, mal unter die lupe zu nehmen, da es viele gibt, die immer wieder so ein projekt starten und es dann nach kurzer zeit wieder aufgeben. -
WooooooooW soviele tipps was ich nicht verstehe ! wenn ich jetzt c++ kann werde ich nur grundlagen können wie ich ein programm fuer was weiß ich machen kann aber gibt es ein buch das Sich NUR auf Spiele programmieren Spezialesiert ?
das würde mir leichterfallen da ich ja keine programme wie msn,Icq machen will sondern nur n spiel
wo auch die befehele drinnen stehen zB ich habe eine Figur die ein Schwert hat und die figur schlägt den wolf
dass der wolf der Figut hinterher läuft und sie angreift?
und was es halt alles bei so spielen Giebt ! -
dome0910 schrieb:
das würde mir leichterfallen da ich ja keine programme wie msn,Icq machen will sondern nur n spiel
wo auch die befehele drinnen stehen zB ich habe eine Figur die ein Schwert hat und die figur schlägt den wolf
dass der wolf der Figut hinterher läuft und sie angreift?
gut, ich gebe es zu, ich will weder ein spiel programmieren noch kann ich c++ oder ähnliches. fest steht jedoch nach der lektüre eben all der "wwwooooowww - tips", das es etwas mehr braucht als ein paar codeschnipsel etc. und es sollte eigentlich jedem leser klargeworden sein, daß man da nicht mit ein paar grundlagen daherkommen kann, sondern daß es sich um arbeit handelt.
nach der leseart her scheint es, daß jemand, der kleine (?) programme schreiben kann eine stufe näher an einer spieleprogrammierung ist als jemand, der codebeispiele kopiert und ein handbuch auf dem wc liegen hat.
vielleicht sollen die spieler auch miteinander kommunizieren? dann sind wir eh wieder bei sachen wie icq programmieren, denn ich kann mir nicht vorstellen, daß da ein "gamer" nebenher noch icq am laufen hat (so mit i-tunes titelanzeige).
soviel habe ich also bei der lektüre gelernt, figur mit schwert und nen wolf in die landschaft setzten wo haut und rennt is nisch. -
wie stellst du dir das vor? ein befehlsfolge wie
schlage_mit_schwert gegner;
renne_weg;
verfolge_mich gegner;
mache_nebenbei_noch_alle_anderen_sachen;
???
klar gibt es bücher. ich habe hier z.B. einen fast 1000seitigen wälzer namens "3d-spieleprogrammierung" (ISBN: 3-8272-6857-5)
das hatte ich gekauft, als ich noch so naiv war wie du. soll keine beleidigung sein, aber schlag dir das aus dem kopf. als ich das gekauft habe, hatte ich schon hunderte von stunden programmiert, OOP im griff usw usw... kurz: ich hielt mich für einen guten programmierer. nach den ersten 100 seiten hatte ich einsicht und habe aufgegeben, da die materie für mich noch zu komplex war. vlt wäre das jetzt anders, aber jetzt hab ich nicht mehr die zeit für sowas... das schlimme: selbst dieses große, dicke buch vermittelt nur grundlagen. fortgeschrittene (inzwischen schon ältere) shader-techniken oder KI-programmierung werden nur oberflächlich behandelt, um da nur beispiele zu nennen.
ich kann dir sagen: fang jetzt ein spiel an, und du scheiterst. selbst bei einem 2D-spiel. nach einer woche programmieren würdest du wahrscheinlich nicht einmal eine der aufgabenstellungen schaffen, welche bei mir und anderen programmieren tagtäglich anfallen und die dagegen mickrig sind.
Beitrag zuletzt geändert: 3.3.2009 23:56:10 von desaster-productions -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage