Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Polygona

Frischling

  • »Polygona« ist der Autor dieses Themas

Beiträge: 13

Wohnort: Berlin

Beruf: WebEntwickler

  • Private Nachricht senden

1

28.12.2012, 12:58

Wie fange ich an.

Hallo Leute,

nachdem ich nun mein Hobby zum Beruf machen konnte, möchte ich den nächsten Schritt angehen.
Ich habe vor einigen Jahren schon mal ein bisschen in c++ reingeschnuppert, allerdings mit wenig erfolg.
Jetzt arbeite ich seit ca. 3 Jahren mit PHP, JavaScript, HTML, CSS, etc.
Mein Traum ist es allerdings irgendwann mal Games zu programmieren.

Ich habe nun die c++ Thematik wieder aufgegriffen und denke der einstieg gelingt mir bis jetzt sehr gut.
Meine Frage an euch. Ich habe wirklich ernsthaft vor in die Spieleprogrammierung einzusteigen. Mir schwebt da kein bestimmtes Spiel vor, sondern erstmal möchte ich die Grundlagen festigen.
Habt ihr denn ein paar Tipps mit welchen Geschichten und Themen in mich am Anfang beschäftigen sollte?
Ich habe mich gestern mal ein bisschen in openGL umgesehen und dachte nun ich baue mal so einen breakout-klon (unten brett, oben blöcke, mit brett kugel fangen -> kugel macht blöcke kaputt) kennt jeder. Geschafft habe ich es bis jetzt das sich das brett mit "a" und "d" bewegen lässt, und das der ball sich im fenster bewegt. Kollision gibt es bis jetzt nur an den Fensterrändern, weil ich noch nicht weiß wie ich den ball mit dem brett kollidieren lassen kann. Für tipps bin ich sehr dankbar. Achja, das ist erstmal alles in 2D. An die dritte dimension mach ich mich dann wenns einigermaßen gedämmert hat in meinem köpfchen.

Gruß Maik

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

2

28.12.2012, 13:22

Du fängst genauso an wie du es bereits getan hast ;)
Lernen solltest du vor allem die ganzen mathematischen Grundlagen, also Vektorrechnung, Matrizen, Winkelfunktionen, ... alles Dinge ohne die man auf Dauer nicht auskommt. Dann hilft es sich anzugucken wie andere ihre Spiele organisieren und wie du es selbst machen würdest, am Ende scheitert es oft am Design und nicht nur an Logik oder Performance.
Das würde ich sagen ist erstmal das wichtigste.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

3

28.12.2012, 13:22

Was genau möchtest du denn wissen? Guck dir doch ein paar Breakout Spiele im Internet an. Da gibts ja im Prinzip keine wirklichen Grenzen. Du kannst es dir ja erst mal einfach machen und eine normale Kollision ohne Schwung des Brettes etc machen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

4

28.12.2012, 13:25

Zu der Kollision:
Für den Einstieg könntest du dir sogenannte Bounding-Boxen anschauen, dann muss du nur noch die X und Y Koordinaten entsprechend vergleichen und das Ergebnis entsprechend verarbeiten, also ob sie sich überschneiden etc.
"Wer Angst hat, dass ihm seine Ideen geklaut werden, der scheint nicht viele zu haben. "

Polygona

Frischling

  • »Polygona« ist der Autor dieses Themas

Beiträge: 13

Wohnort: Berlin

Beruf: WebEntwickler

  • Private Nachricht senden

5

28.12.2012, 13:28

Ja, eine einfache kollision an den fensterrändern habe ich ja bereits.
Mir ist nur wirklich schleierhaft wie ich die kollision mit dem brett mach.
Da das brett sich ja immer an anderer stelle befindet wirds sicher nix mit ner stinknormalen if(x<n){ blabla; } abfrage.
man muss ja irgendwie bei jedem rendern der kugel prüfen ob sich die ränder der kugel mit den rändern des panels überschneiden bzw. berühren. Theorie ist verständlich, aber wie ich das in code packe ist mir noch ein rätsel.

da bah ich mich wohl mit "mirac" überschnitten... ich guck mal nach den bounding-boxen. danke

6

28.12.2012, 13:31

Im Wiki gibt's dazu einen schönen Eintrag.

Polygona

Frischling

  • »Polygona« ist der Autor dieses Themas

Beiträge: 13

Wohnort: Berlin

Beruf: WebEntwickler

  • Private Nachricht senden

7

28.12.2012, 13:45

guter beitrag, danke. aber dann muss ich erstmal wissen was ein ortsvektor ist und wie ich den initialisiere.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

28.12.2012, 14:37

Ein Ortsvektor beschreibt die Position eines Punkts, also z.B. (3, 8).

Yannic

unregistriert

9

28.12.2012, 14:57

Du kannst die Position des Punktes auch als den Vektor nehmen, der zeigt wie man vom Ursprungspunkt zu dem Punkt, der mit der Position beschrieben wird, gelangt. 8o

Polygona

Frischling

  • »Polygona« ist der Autor dieses Themas

Beiträge: 13

Wohnort: Berlin

Beruf: WebEntwickler

  • Private Nachricht senden

10

28.12.2012, 19:31

hui, ich seh schon das da noch einiges auf mich zu kommt.
Hab mich jetzt auch erstmal softwaretechnisch eingerichtet.
Da ich auf linux arbeite hab ich mir codeblocks organisiert und auf einen tipp hin beschäftige ich mich jetzt mal mit SFML.

Werbeanzeige