Neues Projekt habe Fragen und brauche Hilfe



  • Hallo liebe Community von C++

    Ich habe vor mit ein paar Kumpels etwas zu programmieren und zwar ein Spiel

    Wir sind 4 Leute und alle 14 Jahre alt und leider hat keiner (ich auch nicht) wirklich Ahnung von C++ etc. das heisst üben.

    Nun ich habe angefangen C zu üben und kann nun auch paar kleine Sachen machen (printf scanf und so)

    Nun habe ich aber nicht wirklich Ahnung ob es funktioniert damit ein Spiel zu programmieren.
    Projekt :

    Wir haben vor ein Strategie spiel zu machen (Wie AoE C&C EE Warcraft3 und so)

    Infos zu den Leuten
    2 Leute die C C++a und so lernen möchten
    1 Der Grafiken erstellen möchte
    1 Der uns "passiv" hilft mit Tipps

    Doch ich habe ein paar Fragen!

    Und zwar

    1. Welche Sprachen brauche ich alle um programmieren zu können
    Ich habe gegoogelt und immer wieder verschiedenes gefunden deswegen bin ich mir unsicher
    2. Wie erstelle ich die Grafiken am besten und die Maps das es nicht zu 0815 ist aber schon etwas besser (Wir brauchen ja ein paar Jahre) und trz. nicht ZU viel Arbeit verbraucht
    3. Wie erstelle ich ein Hauptmenü und die Einheiten (Durch Programmieren nur wie füge ich die Dateien und so ein?
    4. Wie stelle ich KI bzw. Gegner ein
    Damit das SPiel erstmal im "Offline Modus" klappt braucht man ja KI
    Wie funktioniert das richtigß

    Das waren erstmal paar Fragen.

    Vielen Dank schonmala



  • So etwas wie warcraft3 ist natürlich keine Kleinigkeit aber mit viel Ausdauer und Spucke werdet ihr vielleicht etwas kleineres hinbekommen.
    Also steckt euch lieber direkt ein kleineres Ziel... oder eigentlich auch egal...
    solange es euch Spass macht -> learning by doing

    Für ein Spiel braucht man schnelle grafik und einen direkten zugriff auf die Grafikkarte.

    Schaut euch vielleicht mal SFML an das ist ein Framework der euch viel Arbeit abnimmt wenn es darum geht ein Spiel zu programmieren... zudem hat er so glaube ich ein Python-binding... d.h. ihr müsst nicht direkt mit c++ anfangen und müsst euch so viel weniger mit Pointern und so beschäftigen.

    Ihr solltet erstmal nur in 2D bleiben weil da die Mathe viel einfacher ist.
    Graphiken erstellt ihr dann als Sprites (googeln).

    Menu wird halt mit einem Objekt gemacht das wahrscheinlich ein Bild sein wird
    und dann in irgendeiner Form auf einen Mausklick reagiert...

    Fangt am besten damit an einfach mal ein bild darzustellen welches dann auf eure eingaben reagiert...

    Gruß
    muli



  • Wieso nicht gleich ein MMORPG? Das ist eigentlich der Standard bei unerfahrenen 14jährigen.



  • Wo ein Wille da auch ein Weg 😉

    Bis man merkt das dies vielleicht doch ein wenig zu Aufwändig ist hat man schon viel gelernt ...
    Und in einem So frühen Stadium macht es doch ohnehin keinen Unterschied ob jetzt ein Moorhuhn oder Warcraft3 angepeilt wird...

    Erstmal ein Sprite darstellen und auf Input reagieren.... braucht man für beides und danach ist man schon schlauer und wird von alleine zu deiner Einsicht kommen.
    Aber die Motivation etwas zu lernen ist da... und das ist gut.



  • So you want to begin making games, maybe you already started on one, maybe you and a few friends decided to try being a studio. Think you got what it takes? Of course you do, or at least you can learn fast enough during the process. I think you are wrong, or at least misinformed. Making games takes experience, discipline, dedication, know-how, and a driving idea and/or boss.How can you get that experience and discipline needed to tackle any game for years to come? I believe I have the perfect solution. Some may laugh, others may doubt, but here it is: Make Pong.

    This is where you go “Eeewww…nono, we want 3D, massive worlds, immersive sound, latest-and-greatest features!” But seriously, why not try to see if you can do Pong? Such a simple game can’t take more than a day to make; maybe two days if you only work on it in your spare time – more like a month, I say. You may even use 3D and immersive sound.

    Are you up for the challenge?

    Bitte bitte den folgenden Blogeintrag lesen:
    http://tinodidriksen.com/2003/05/06/but-can-you-make-pong/



  • Vielen Dank erstmal für die Antworten 🙂

    Die Ausdauer werde ich haben da ich es einfach schaffen will und es vllt später als Bewerbung auch gut ankommt der Grund warum ich so früh anfange ist ganz einfach 🙂 Ich lerne besser und schneller und muss nicht mit 20 anfangen 🙂

    Kleineres Ziel ist schon gut 🙂 Nur da arbeitet man lieber alleine da sonst die LUst verschwindet von den anderen und dieses Projekt wird und sicher spass machen

    Im moment habe ich nen PC der schlecht ist (Spare auf nen neuen PC für 400 EUro so) und werde Ende des Jahres in haben reicht das den für gute Bearbeitung?'

    Und zum Thema 2D sind spiele wie Mario (Die alten) oder nicht?

    Nun habe ich nen Anfang zum Grafiken : Sprites 🙂 Danke

    Nur mit dem Bild wie mache ich das am besten?! (Grafik ist nicht mein Ding) soollte ich sowas mit CS oder so machen?

    Und SFML werde ich mir mal durchgucken

    Vielen Dank Muli

    Also im Klartext :

    Ich soll erstmal nen Bild (sprite) erstellen was auf INput reagiert?!)

    @ This-That

    Ein MMOPRG PServer erstellen ist dumm 😮 und nen komplett eigenen dauert glaube ich länger... und wir möchten halt etwas "schweres" machen damit wir Erfahrung bekommen



  • Mit der Einstellung wirst du ganz klar scheitern. Das haben bereits mehr als genug vor dir, und die haben auch immer wieder beteuert das sie über sehr viel Ausdauer verfügen.

    Macht Pong. Das ist bereits schwierig genug für einen Anfänger, und da habt ihr eher eine reale Chance es fertig zu bekommen. Und ein fertiges Projekt kommt bei Bewerbungen eher an, als eines das nie fertig wird.



  • Naja .. ich möchte ja Spiele-Entwickler werden und so früher Anfang desto besser :0

    Ich behalt auf jeden Fall mein Optimismus



  • Früher Anfang schön und gut, sagt ja auch niemand was dagegen. Aber ihr plant einfach zu viel für den Anfang. Man startet mit (sehr) kleinen Projekten, und wenn man die mal fertig gestellt hat kann man sich an größere wagen. Denn sonst kann ich dir garantieren, dass es zwangsläufig früher oder später scheitern wird. Egal wie optimistisch ihr am Anfang seid, oder für wie ausdauernd ihr euch haltet.

    Kleine Projekte sind schneller fertig gestellt, und die fertistellung von Projekten motiviert wirklich. Davon abgesehen lernt ihr durch die Fehler, die ihr mit Sicherheit machen werdet, aus den kleinen Projekten. Dieses Wissen wird euch bei der Planung eines größeren Projektes sehr viel später enorm helfen.

    Es hat schon seinen Grund warum die Entwicklung von Spielen in großen Teams mit erfahrenen Entwicklern die Vollzeit arbeiten mehrere Jahre dauert.



  • Und was auch noch wichtig ist: Ihr solltet euer Projekt gut planen. (Auch wenn es "nur" ein kleines Spiel wie Pong ist.) Ich hatte von drei Spielen, die ich einfach mal so aus Spaß angefangen habe, nur eines fertiggestellt. Bei den anderen beiden hatte ich irgendwann ein Problem, das ich nicht vorhergesehen habe, bekommen. Nunja, seitdem mache ich mir vorm Programmieren schon ein paar Gedanken. Das macht auch das Bugfixen einfacher, wenn man alles klar strukturiert hat. Bei dem Spiel, das ich fertig gestellt habe, habe ich schon nach ein paar wochen keinen Überblick mehr über den Quelltext.

    Herbert von Karajan hatte mal gesagt: "Wer all seine Ziele erreicht, hat sie wahrscheinlich zu niedrig gesteckt." Aber ich würde an eurer Stelle auch erst mal mit kleineren Projekten anfangen.

    So, dann noch viel Spaß bei der Entwicklung eurer Spiele.

    MfG, Jochen



  • Kolibri94 schrieb:

    Naja .. ich möchte ja Spiele-Entwickler werden und so früher Anfang desto besser

    Hmm, aber vielleicht fehlt dir einfach die geeigete Mathematik in dem Alter.



  • Ihr habt ja Recht mit dem was ihr sagt

    Aber sowas wie Ping Pong oder so ist langweilig.

    So macht das doch kein Spass und wenn sie dann keine Lust haben auf solangweilige Dinge ?

    Ich habe nun ca 30 Min gegooglet wegen Menü und so

    So wirklich was gefunden habe ich auch nicht.

    ABER! trozde werden wir nicht aufgeben und wenn es auch 8 Jahre und es dann trozdem noch Fehler gibt dann brauchen wir halt 10 Jahre

    Aber das packen wir ja 🙂 Wir sind ja noch jung



  • Sieh es mal so: Wenn ihr gut coded werdet ihr fast alles was ihr für das kleine Spiel braucht auch weiterverwenden können. Und der Spass beim Programmieren kommt durch das Lösen von Problemen ... eigentlich ist es da auch egal was man programmiert solange man ein spannendes Problem hat.

    Zu dem Aufwand für ein RTS Game:
    An Age of Empires haben 60 Mann über 2 Jahre Vollzeit gearbeitet und das waren Profis.... (Aus der IX)
    Und das hat keinerlei 3D Graphik.

    und habt mich nun unmotiviert

    So viel zu deiner Ausdauer!

    Aber ich bin immer noch der Meinung das es nicht schlimm ist ein Spiel nicht fertig zu bekommen... man lernt mit jedem Tag den man programmiert etwas dazu ... und das auch noch nach Jahren ... also früh anfangen ist schon mal gut.

    Man möchte Dich hier auch nicht demotivieren sondern Dir helfen den Aufwand realistisch einzuschätzen.

    Also viel glück und vor allem Spass am Programmieren.



  • Zu dem Aufwand für ein RTS Game:
    An Age of Empires haben 60 Mann über 2 Jahre Vollzeit gearbeitet und das waren Profis.... (Aus der IX)
    Und das hat keinerlei 3D Graphik.

    BITTE ?! 2 Jahre vollzeit ? Und 60 Mann?

    Okay okay dann brauchen wir denke 10 Jahre (nicht viel Zeit erfahrung und die grösse)

    Naja zu der Aufgabe wegen Sprite erstellen kann ich nun 🙂
    Aber azum Menü nichts wirkliches gefunden



  • @Kolibri94: Ich fange auch gerade an C++ zu lernen und habe aber jahrelange Erfahrung in anderen Sprachen und würde nicht im Leben daran denken ein größeres Spiel in C++ zu programmieren. Vielleicht fange ich in ein paar Wochen mal an mich an einem Pong zu versuchen um zu sehen wo es noch hapert bei mir, und ich habe schon früher auf dem Amiga Grafikdemos in Assembler geschrieben.

    Die Spielebranche gehört zu den schwersten Softwarebereichen die es gibt. Da kommt alles zusammen Konzept, Softwareentwicklung im Allgemeinen(ein riesen Thema:Planung, Design, Umsetzung als Team, Tests etc.), Informatik/Mathematik, die Programmiersprachen im Allgemeinen, Die Entwicklungsumgebungen, Kenntnisse über die Frameworks, Grafik, Musik, Marketing und so weiter. Wenn du jetzt anfängst und hochmotiviert bist und bleibst bekommst du dein erstes brauchbares Minispiel vielleicht nach 3 Jahren hin. Davor ist alles unter Lernphase abzustempeln.

    Wie Andere schon geschrieben haben, versucht Euch in ein paar Wochen mal an einem Pong und vorher vielleicht ein kleines Textadventure oder ein Tic Tac Toe über Netzwerk oder allgemein erst mal einen Chat per Konsole oder so. Da wirst du schon merken wo es überall hapert.

    Ich wünsche dir trotz der Bedenken ganz viel Erfolg und vor allem viel Durchhaltevermögen.

    G hibbes

    P.S.: Es gibt keinen Shortcut zum Spieleprogrammieren 😉



  • Okay..

    Einmal wirklich ein riesen DANKE!

    Ich habe mit dem anderen gesprochen und wir sind uns einnig unser 1. Projekt Pong

    Ich bin nun dabei um C zu lernen (Wie er) über www.tutorials.at

    Und überlegen dann wie man sowas machen kann(Da steht nicht wirklich was über spiele Programmierung)





  • Und warum in C und nicht in C++? In C++ kannst du auf SFML zurückgreifen, was schon einiges erleichtert. Gerade auch wegen der Möglichkeiten die OOP bietet.

    Und wenn ihr mit eurem Pong fertig seid, dann probiert euch doch mal an einem Spiel wie Bomberman. Dort kann man eine Menge an Techniken einbringen: Tilemaps, Sprite-Animationen, eventuell sogar Scrolling, usw. Man muss sich ja nicht strikt an das Original halten - der Kreativität sind keine Grenzen gesetzt und innovative Ideen immer gerne gesehen.



  • Moin,
    ja sowas wäre ein Sprite. Ganz grob ausgedrückt ist ein Sprite ein beliebiges Grafikobjekt, welches du über den Bildhintergrund kopierst. Das kann eines dieser Tierchen sein oder auch nur ein schwarzes Rechteck. Dein Mousezeiger ist ebenfalls ein Sprite.

    Von mir gibt es den 👍 dafür, dass ihr dne Rat mit Pong angenommen habt. Mir ist es ähnlich ergangen wie vielen anderen zuvor auch. Ich habe nämlich damit begonnen gleich eine Tilemap zu programmieren, diese scrollen zu lassen, Objekte darauf zu plazieren, usw. Es hat ewig lange gedauert, bis ich alleine damit fertig geworden bin. Bin zum eigentlichen Spiel gar nicht gekommen. Dazu kam der Frust durch die lange Zeit.
    Hätte ich den typischen Weg Pong, Tetris, kleiner 2d Shooter oder Jump & Run beschritten, hätte ich die Tilemap anschließend aus dem Ärmel gechüttelt.

    Warum?
    Bei Pong lernst du am einfachsten Sprites und Bilder dar zu stellen und diese zu bewegen. Dazu einfache Eingabeabfragen, Kollisionserkennung (wenn der Ball den Paddel berührt), vielleicht noch ein Soundeffekt bei Kollision und ganz wenig logisches Denken. Fertig ist Pong.

    Auf diesem Wissen kannst du Tetris aufsetzen. Hier hast du ein paar mehr Grafikobjekte, dein Code wird größer sein und du übst dich im Kampf gegen die Unübersichtlichkeit 😉 Da ihr ein Team aus zwei Programmierern seid und ein Grafiker, könnt ihr hier mit dem Teamwork anfangen. Der Tip-Geber kann sich als Spieletester verausgaben und den Grafiker bei Augenkrebsbildern warnen
    Kreuzt bei Zeiten die Tage im Kalender an, an welchen ihr euch in den Haaren lagt. Meinungsverschiedenheiten sind unausweichlich! Laßt euch nicht dadurch von eurem Vorhaben abbringen.

    Habt ihr das geschafft, geht es los mit dem Shooter oder Jump&Run. Tja, laßt euch überraschen von der Vielfallt und Komplexität, die euch jetzt überrent. Gute Planung ist jetzt wirklich wichtig. Wenn ihr dabei seid, lehnt euch für ein paar Minuten zurück ud denkt an euer anfängliches Vorhaben ein RTS in langer Zeit zu proggen, da ihr meint viel Ausdauer zu haben.

    Mir hat es übrigens sehr geholfen meine Projekte in kleine Ziele zu zerlegen und diese an zu steuern. Meistens habe ich es zeitlich nicht einhalten können, weil Schule, Freunde oder irgendwas dazwischen kam (bin eben ein Hobbyprogger).
    Noch mehr hat e3s mir geholfen, auf zu schreiben, was ich nach einer Arbeitseinheit geschafft habe, welche Lösung ich gefunden habe oder an welchem Problem ich gerade arbeite.

    sfml in Verbindung mit C++ oder Python ist auch meine Empfehlung

    nun wünsche ich euch viel Spaß
    Sönke



  • Hi,

    ich finde eure Entscheidung auch super und von Soenke wurde auch alles sehr schön lebendig beschrieben.

    Macht euch auch klar das selten irgendwo steht wie ihr ein Menu macht oder wie ihr eine Figur bewegt. Das ist im Groben alles nur Manipulation des Speichers. Ihr müsst als Programmierer da alle Elemente des Spiels auf Datenstrukturen und Algorithmen abbilden. Deswegen gibt es auch so viele Bücher und Tuts dafür, weil Grafik, Animation, Sound alles im Endeffekt nur manipulieren des Speichers ist was man versucht so gut und schnell und übersichtlich wie möglich zu gestalten, was dann wieder das Zusammenspiel von Programmiersprache, Datenstrukturen und Algorithmen wäre. Darum sind auch Bücher über diese einzelnen Themen meist besser als ein Buch über Spiele-Programmierung, da gibt es zwar auch gute englische Literatur (Game Programming Gems z.B.) aber das ist eher was für Profis die schon die Grundlagen von ich nennen es mal PDA(Programmiersprache-Datenstruktur-Algorithmus) drauf haben.

    G hibbes



  • Okay.. nun sind wir an unser 1. "Problem" gekommen

    Wir haben nun das C Tutorial durch und können schon fast alles was da ist.

    Nur nichts hilft und diese Ping Pong zu erstellen ?

    Wie weiter vorgehen? Weite Tuts oder ein Buch besorgen?


Anmelden zum Antworten