Spieleprogrammierung

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
TuroK-94
Beiträge: 2
Registriert: So 5. Jun 2011, 14:56

Spieleprogrammierung

Beitrag von TuroK-94 »

Hey Leute wollte fragen ob jemand so nett wäre und mir ein Spiel erstellt und den Quelltext mir gibt ... damit ich mal sehe wie sowas funktioniert und so ... vielleicht wäre eine Internetseite auch ganz hilfreich :lol: :lol: im voraus erstmal Danke :mrgreen:

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Spieleprogrammierung

Beitrag von corpsman »

Warum stellst du im selben Forum 2 mal die gleiche Frage ?

viewtopic.php?f=12&t=5048
--
Just try it

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Spieleprogrammierung

Beitrag von MAC »

Edit: Den Thread bitte schließen, da doppelt.

Code: Alles auswählen

Signatur := nil;

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Spieleprogrammierung

Beitrag von carli »

corpsman hat geschrieben:Warum stellst du im selben Forum 2 mal die gleiche Frage ?

viewtopic.php?f=12&t=5048


Richtig lesen!
Im anderen Thread wollte er wissen, wie man ein Spiel schreibt. Hier will er ein Fertiges serviert haben.

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: Spieleprogrammierung

Beitrag von Teekeks »

Ich schreib dir eine Game of Live, nur für dich:

Code: Alles auswählen

if (not (true xor (false or not false))) xor ((1=0) xor true)  then
begin
  Writeln('You lose the Game...');
  Writeln('Game over!');
end;

Mumbo
Beiträge: 3
Registriert: So 22. Jul 2012, 13:42

Re: Spieleprogrammierung

Beitrag von Mumbo »

Teekeks hat geschrieben:Ich schreib dir eine Game of Live, nur für dich:

Code: Alles auswählen

if (not (true xor (false or not false))) xor ((1=0) xor true)  then
begin
  Writeln('You lose the Game...');
  Writeln('Game over!');
end;


Hmm, ich frage mich wie du da ein Game of Life herausbekommst, kannst du es bitte genauer erklären?
Das Game of Life das ich kenne sieht jedenfalls anders aus: http://www.bitstorm.org/gameoflife/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Spieleprogrammierung

Beitrag von pluto »

Bitte, ich kann dir ein Link geben, zu einem Snake Spiel von mir, glaube aber kaum, dass es dir weiter hilft:
http://www.pluto.lazarusforum.de/Tutorials/MySnake.zip
oder eher ein Test Projekt: http://www.pluto.lazarusforum.de/15.05. ... yroads.zip

Ich wünsche viel Erfolg.
MFG
Michael Springwald

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 394
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: Spieleprogrammierung

Beitrag von MitjaStachowiak »

Ich wollte mal ein bootfähiges Spiel schreiben, mit Turbopascal (2D). Sah ganz gut aus, aber während das Zeichen-Fenster offen war, konnte man nichts mehr steuern^^ Vielleicht kann man daraus ein Mars-Roboter-Game machen: Man programmiert eine feste Route vor, die dann 20 Minuten später vom Roboter gefahren wird, für atemberaubende Action-Momente...

Danach habe ich die Spieleprogrammierung aufgegeben. Im 2-D-Bereich etwas neues zu entwickeln, das auch wirklich Spaß macht, bedarf einer guten Portion Kreativität. Im 3-D-Bereich dagegen programmiert man Monate, bis man eine ebene Fläche und eine starre Spielfigur hat, die hin- und her fährt. Es gibt natürlich fertige Spiele-Puzzle-Programme, die in der Freewarelösung dann aber doch nicht soo umfangreich sind, wie man sich das vorgestellt hat.

Deswegen rate ich Einsteigern prinzipiell davon ab, ein Spiel zu programmieren. Das endet immer auf die gleiche Weise:
1. Es wird eine Frage in einem Forum gestellt: "Wie programmiere ich meinen eigenen 3-D-Egoshooter?"
2. Es wird eine Website erstellt und veröffentlicht, mit beeindruckendem Werbeangebot und retuschierten Screenshots von anderen Computerspielen
3. Es wird irgend ein Compiler heruntergeladen
4. Jetzt beginnt die Programmierung: "Hello World" erscheint auf dem Bildschirm
5. Die retuschierten Screenshots verschwinden wieder von der Homepage
6. Nach einigen Monaten wird ein, mit einem fertigen Spiele-Editor geschriebenes Spiel hochgeladen, ohne Quest oder spannende Landschaften
7. Die Website wird gelöscht

Ein einfaches Spiel, wie Pacman, nachzuprogrammieren und mit ein Paar Effekten zu versehen, kann sicher Spaß machen und ist eine gute Übung. Mehr als die hier bereits geposteten Quelltexte brauchst du dafür nicht; man kann sowieso höchstens ein Paar Zeilen, zum erstellen einer 2-D-Zeichenoberfläche mit OpenGl, oder so, herauskopieren. Den Rest muss man selber machen :wink:

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2640
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Spieleprogrammierung

Beitrag von m.fuchs »

@Mitja: Sehr gute Beschreibung wie die "Spieleentwickler von morgen" vorgehen. :mrgreen:

Ein paar Anmerkungen dazu noch: Programmierung in dem Sinne ist heutzutage in der Spieleindustrie nicht ausschlaggebend. Da sind ein paar Core-Entwickler die die Game-Engine entwickeln und gut ist es. Das Interessante machen die Spiele- / Leveldesigner, (3D-)Grafiker, Musiker, Texter, Sprecher, ...
Von daher ist es auch gar nicht weiter schlimm, wenn man ein fertiges-Spiele-Kit verwendet um sein Spiel zusammen zu bauen. Man muss auch nicht einmal alle Möglichkeiten nutzen. Wenn Story und Atmosphäre stimmt, dann macht selbst ein Textadventure viel Spaß.

Allerdings hat dieses ganze Spieledesignen nicht mehr viel mit dem Informatikunterricht zu tun.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Re: Spieleprogrammierung

Beitrag von bembulak »

Allerdings hat dieses ganze Spieledesignen nicht mehr viel mit dem Informatikunterricht zu tun.

Dem stimm' ich zu.
http://www.gamefromscratch.com/post/201 ... loper.aspx

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Spieleprogrammierung

Beitrag von pluto »

Ich wollte mal ein bootfähiges Spiel schreiben, mit Turbopascal (2D).

Ich habe mal eins gesehen, in http://www.delphipraxis.net/. Ich glaube das war ein Snake Clone, ich meine mit ASM Programmiert... Sicher bin ich mir aber nicht.

Ein einfaches Spiel, wie Pacman, nachzuprogrammieren und mit ein Paar Effekten zu versehen, kann sicher Spaß machen und ist eine gute Übung.

Darum hatte ich die Idee mit dem GameMaker Projekt. Damit sollten Anfänger auf Spierlircher Art das Programmieren lernen. Nach einem dem OOP Prinzip:
Eine Klasse muss nicht wissen, wie eine Klasse etwas bestimmtes macht, nur dass sie es macht ist wichtig. Aber von Grundauf das Programmieren Lernen braucht seine Zeit.

Im Channel habe ich eine Anleitung erstellt für eine Laufschrift. Sehr einfach gehalten. Aber es geht ja ums lernen. Ich finde es lächerlich immer zu sagen: Gleich am Anfang ein Spiel zu Programmieren ist keine gute Idee. Dabei kommt es einfach nur auf das Spiel an. Klar, ein 3D Spiel, geht auch nicht so ohne weiteres, aber da kommt es auf die Person an. Wenn die Person gut in Mathe ist, ist das selbst für diese Person kein Problem.

Aber am einfachsten ist es, mit etwas Anzufangen, was man Sehen kann.

EDIT01: Und damit spreche ich auch die Jüngeren von uns an, die sagen wir mal unter 15 Jahre alt sind. Die wollen bestimmt kein Taschenrechner erstellen, oder Adressverwaltung.
MFG
Michael Springwald

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Spieleprogrammierung

Beitrag von carli »

pluto hat geschrieben:
Ich wollte mal ein bootfähiges Spiel schreiben, mit Turbopascal (2D).

Ich habe mal eins gesehen, in http://www.delphipraxis.net/. Ich glaube das war ein Snake Clone, ich meine mit ASM Programmiert... Sicher bin ich mir aber nicht.

Hab ich auch mal gebaut (http://botwars.tk/snake.img)

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Spieleprogrammierung

Beitrag von pluto »

Lustig, wie starte ich sowas? in einer VM oder geht es einfacher? Ein Disketten Laufwerk habe ich nicht.
MFG
Michael Springwald

MitjaStachowiak
Lazarusforum e. V.
Beiträge: 394
Registriert: Sa 15. Mai 2010, 13:46
CPU-Target: 64 bit
Kontaktdaten:

Re: Spieleprogrammierung

Beitrag von MitjaStachowiak »

Ja, gut, für jüngere Einsteiger ist natürlich etwas Graphisches interessanter. Ich habe das Programmieren zuerst mit HTML angefangen (Okok, das ist ein Dokumentformat und kein Programm...). Mir war während eines Campingurlaubs langweilig und ich habe angefangen, an unserem Platz an verschiedenen Stellen je vier Fotos in alle Richtungen zu machen. Die habe ich dann mit HTML so verarbeitet, dass man sich von Bild zu Bild klicken konnte, als würde man dort entlanglaufen.

Soetwas könnte man auch schon als Spiel werten - prinzipiell ist es schon in Ordnung, mit Spielereien anzufangen. Aber in einer Paintbox ein Spiel zu schreiben, ist nicht so was wahre, finde ich. Man braucht schon ein Paar zusätzliche Header und ich fand es am Anfang mitunter am schwierigsten, mich in "professionelle" Sourcecodes einzulesen. Man darf sich nur nicht zu viel vornehmen ;-)

carli
Beiträge: 657
Registriert: Sa 9. Jan 2010, 17:32
OS, Lazarus, FPC: Linux 2.6.x, SVN-Lazarus, FPC 2.4.0-2
CPU-Target: 64Bit

Re: Spieleprogrammierung

Beitrag von carli »

pluto hat geschrieben:Lustig, wie starte ich sowas? in einer VM oder geht es einfacher? Ein Disketten Laufwerk habe ich nicht.


entweder du nimmst eine Festplatte oder verbrennst eine CD, man kann den Bootsektor auch auf USB-Sticks schreiben. Die Daten auf dem Stick werden nicht zerstört, da Snake ja nur die ersten 512 Byte belegt, die sowieso dafür vorgesehen sind.
Du kannst aber auch ganz bequem eine virtuelle Maschine (z.B. VirtualBox; mit QEMU geht es seltsamerweise nicht) benutzen.

Antworten