Neues Projekt habe Fragen und brauche Hilfe



  • 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?



  • Ich stehe den ganzen Tutorials skeptisch gegenüber. (Viele Tutorials werden von Anfängern geschrieben, was dann zu Halbwissen führt). Zum Lernen bevorzuge ich da ein richtiges Buch, da dort alles auch Strukturiert dargestellt ist und ein Buch auch als Nachschlagewerk dienen kann. Wie gut das Tutorial ist, weiss ich nicht, aber das Buch, mit dem Ich C++ gelernt habe, hatte rund 1200 Seiten. Dort sind dann alle Themenbereiche abgedeckt. Ob es jatzt ein Gutes Buch über SFML gibt, weiss ich nicht, aber wenn, dann würde ich euch raten, euch ein solches Buch zuzulegen.

    MfG, Jochen



  • Ich hab mir mal das C-Tutorial auf tutorials.at angeschaut. Ist nicht so schlecht, wie ich es erwartet habe, allerdings gibt es hier schon einige Lücken.
    Zum Beispiel wird nicht über die Arbeitsweise des Prozessors und die Verwaltung der Speicherbereiche im RAM gesagt. Auch hab ich die Worte Stack und Heap noch nichtmal im Funktionen-Kapitel gelesen. Rekursive Funktionen hab ich auch nicht entdeckt, schlüsselwörter wie static und extern auch nicht.

    Also: Kauft euch lieber ein Buch, ihr könnt ja mal hier im Forum in der Bücherecke vorbeischauen.

    MfG, Jochen



  • Hm okay 🙂 Das heisst ein Buch kaufen

    Nun gibt es 2 Fragen

    Wie teuer is so ein Buch ?! (Wir müssten uns 3 zu legen)

    Und ich spare für nen PC da meiner im mom echt schlecht is tund ich auch so keine grösseres Sachen it Grafik machen kann und ich bekomaaea nicht so viel Geld



  • Ich habe mir vor einiger Zeit das Buch
    "C++ Lernen und professionell anwenden" besorgt.
    Es hat zwar ca 50€ gekostet, aber es ist schön strukturiert und nach jedem Kapitel gibt es immer kleine Aufgaben, welche zu lösen sind. Und zu Lernen habt ihr da sicherlich genug. Ich blick garnichtmehr durch 😉 Vielleicht seit ihr da schlauer.

    Bei Interesse schaut einfach mal bei Amazon nach. Vielleicht klappt es auch wenn ihr euch eins teilt...



  • Als ich früher mal kurz was in C machen musste hat mir das Buch C Programmieren von Anfang an sehr geholfen und es kostet nur 12 EUR http://www.amazon.de/C-Programmieren-von-Anfang-computer/dp/3499600749/ref=sr_1_1?ie=UTF8&s=books&qid=1275133817&sr=1-1

    Es steht aber auch hier nicht drin wie ihr Pong programmiert, genauso wenig wie ein Notepad oder Paint. Das müsst ihr euch selbst überlegen und aus den Bausteinen die ihr gelernt habt was machen. Ich finde es erstaunlich wie schnell ihr aus dem Tutorial C gelernt habt.

    Sobald ihr die Programmiersprache könnt, versteht ihr es auch mit den Frameworks/Bibliotheken umzugehen die euch dann mehr Funktionalität bieten. Alle wirklich selbst machen geht zwar, kostet aber auch eine ganze Menge Zeit und ist meist schlechter als das Vorhandene, was aber zum Lernen nicht wichtig wäre. Ist vielleicht was wenn ihr schon sehr fortgeschritten seit.

    Wenn euch Pong zu hoch als Ziel ist, schreibt doch einen kleinen Textviewer der eine Datei ließt und immer eine Seite darstellt und beim Drücken einer Taste umschaltet. Das könnt ihr ja dann erweitern(Scrolling, Seitenanzahl, Zeichenanzahl etc.) Lasst eurer Fantasie da freien Lauf, es ist sehr schwer gleich zu Anfang was ganz Spektakuläres zu entwickeln.

    G hibbes

    P.S.: Achso, wollt ihr eigentlich in C oder C++ entwickeln?



  • Mir gefiel das Buch "C++ von A bis Z" von Jürgen Wolf zu 40€.
    Es gibt auch ein "C von A bis Z" vom gleichen Autor.

    Danke hibbes 🙂 den Ball werfe ich gleich zurück, denn deine Anmerkung vor Pong etwas textbasiertes zu machen kann ich nur unterschreiben. Prima Übung.
    Danach sitzt der ganze Kram mit Ein/Ausgabe, Schleifen, Abfragen, Verzweigungen, Funktionen und Pointern umso besser.

    Lassen wir sie durch den Dschungel gehen! 🤡
    ein paar typische Programmieraufgaben:
    Zahlenraten, Zahlen sortieren, Taschenrechner, Textviewer, (ganz kleine) Adressverwaltung und am Ende kommt das Schmankerl "Arena".

    Bei "Arena" tritt man gegen einen Gegner an, dem man den Hosenboden stramm zieht. Wenn man das geschafft hat, bekommt man Erfahrungspunkte und Geld. Von dem Geld kann man sich heilen lassen, neue Waffen/ Rüstung kaufen. Erfahrungspunkte helfen beim verbessern der Charakterwerte beim Levelaufstieg. Anschließend steigt man wieder in die Arena zum Hosenboden stramm ziehen. Damit man nicht jedesmal neu anfängt, soll der Spielstand speicherbar sein. Natürlich wird der eigene Spielcharakter am Anfang per Zufall ausgewürfelt.
    Da habt ihr doch so ziemlich alles beisammen. Zufallszahlen, Dateibehandlung, Ein/Ausgabe, Menüsystem erstellen und am Regelsystem für den Kampf könnt ihr herum designen. Läßt sich alles gemütlich in der Console darstellen.

    Anschließend ist Pong ein Klacks 😉



  • Soenke schrieb:

    Mir gefiel das Buch "C++ von A bis Z" von Jürgen Wolf zu 40€.

    Das Buch taugt nichts.



  • Das habe ich auch gehört, wer ist Jürgen Wolf eigentlich? Ich lese immer bei den anderen Autoren dass sie Professor der Informatik oder sogar die Erfinder der Programmiersprache sind. Was ich bis jetzt so von ihm gelesen habe ist einfach erklärt, aber da liegt wahrscheinlich auch die Falle, dass durch das Einfache auch nur die Hälfte erklärt wird oder liege ich da falsch?



  • Ich besitzte euch ein Buch von ihm, und hab auch mal seine anderen Bücher überflogen. Man hört oft das sie nicht gut seien, was ich aber nicht wirklich nachvollziehen kann. Die Sprache ist einfach und der Schreibstil locker. Mag sein das die Beispielprogramme keine bis ins Detail durchdachten Meisterwerke sind, aber genau deshalb sind sie meiner Meinung nach für Anfänger verständlich.

    Ich hab meistens das Gefühl, das oft der Neid aus den Leuten spricht, weil es eben keine Bücher von einem Professor sind, und man deshalb glaubt, das man das auch selbst so hinbekommen hätte.

    @Janjan, begründe doch deine Aussage mal bitte. Ich kenne die * A-Z Bücher nicht im Detail, es würde mich aber überraschen da jetzt falsche Dinge zu finden.



  • Schaut doch mal nach was ihr z.B. über den Typumwandlungskonstruktor da findet. Das war so ein Thema wozu ich auch in meinem Buch noch Fragen zu hatte.

    G hibbes



  • Okay erstal vielen Dank das ihr so bereit seid mir zu helfen (habe nirendwo einen Thread gesehen der so gut ist wie unser)

    Ein riesen Dank!

    Erstmal heisst es bis Montag warten da ich erstmal sprechen muss 🙂

    Welches Buch wir holen etc.

    Zum Thema C odeR C++ am beasten ist es so viel wie mögl also verschieden weil dann aa aist es einfacher problee zu lernen und evlt. was anders zu machen

    Und schnell gelernt habe ich es da ich mit solchen Anfänger sachen erfahrung habe mit If etc.



  • Also, die letzten beiden Sätze hab ich jetzt nicht wirlklich verstanden...
    Ich will jetzt keine Diskussion über C und C++ anfangen, allerdings finde ich, dass manche Dinge in C++ einfach einfacher sind. z.B. Machen die vorgefertigten Klassen wie die Stream-Klassen, die Datenstrukturen (deque,vector,map...), die String-Klasse usw. viele Dinge einfacher. Von daher würde ich euch zu C++ raten, das ist allerdings nur meine persönliche Meinung.

    MfG, Jochen



  • "Zum Thema C odeR C++ am beasten ist es so viel wie mögl also verschieden weil dann aa aist es einfacher problee zu lernen und evlt. was anders zu machen"

    Übersetzung:
    Zum Thema C oder C++: am Besten ist es so viel wie möglich zu machen, also Verschiedenes, weil dann ist es einfacher Probleme zu lernen und eventuell etwas anderes zu machen.

    ---------

    "Mir gefiel das Buch "C++ von A bis Z" von Jürgen Wolf zu 40€."
    Ich hatte zuvor ein Buch, welches C und C++ gemeinsam behandelte. Das war mehr verwirrend als lehrend.

    Wie Storm.Xapek.de schon schrieb ist es in eher 'einfacher' Sprache gehalten. Wenn es dann gewisse Dinge nicht bis ins kleinste Detail erklärt, sehe ich es persönlich als nicht so schlimm an. Warum wollt ihr einem Jugendlichen eine kryptische Bibel von Prof. Dr. Dr. Goldenprogger aufdrücken, wenn es der Gedankenwelt eines Jugendlichen nicht entspricht? Das schreckt eher ab. Nicht gerade didaktisch wertvoll.
    Was meint ihr, warum Lehrmittel der 7. Klasse anders aussehen als Lehrmittel für Studenten?
    Ich gehe hierbei davon aus, dass es bei Kolibri94 & Freunde nicht um Überflieger handelt. 😉

    Wenn sie bei der Sache bleiben, werden sie sich eh weiter informieren und sich andere Bücher holen oder in Foren stöbern.



  • Soenke schrieb:

    Warum wollt ihr einem Jugendlichen eine kryptische Bibel von Prof. Dr. Dr. Goldenprogger aufdrücken, wenn es der Gedankenwelt eines Jugendlichen nicht entspricht? Das schreckt eher ab. Nicht gerade didaktisch wertvoll.

    Das ist bloß eine Verwechslung. Sie wollen ja nicht C++ lernen, sondern Gamecoding, da ist A-Z natürlich besser.

    Die Bibel von Goldenprogger ist gar nicht kryptisch. Und ich habe nie verstanden, weshalb man den Kindern erst Wörter wie "A-A", "Pipi machen" und "Wau-Wau" beibringt, jeden Mann zum Onkel erklärt, und ihnen beibringt, es gäbe den Weihnachtsmann. Lieber gleich deutsch beibringen und nicht lügen.


Anmelden zum Antworten