Autor Beitrag
Supernova
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 108

WinXP
D7 Prof
BeitragVerfasst: Mo 02.02.04 18:45 
Hi !

Ich hab auf dem forum gesehen, dass man mit Delphi auch Spiele proggen kann ! :shock:
Dies fand ich natürlich voll Geil !

Blöß leider weiß ich nicht womit ich anfangen soll . Ich hab das OpenGL Tutorial von Aya durchgemacht ( is echt super !).
Dies hat mir natürlich voll gut gefallen bloß leider hab ich davon eigentlich nur sehr wenig vom Inhaltlichen her Kapiert (Vielleicht liegt es daran dass ich erst 12 bin :? ).

Außerdem hab ich im Forum auch was von

> DelphiX :?:
> DelphiGL :?:

gelesen ?

Hab mir von fiji-Fihter die Schneeballschlacht heruntergeladen ( empfehlung : runterladen!!!) und hab gesehen dass es ein Ego-Shooter ist.
(Dass fand ich natürlich wieder voll GEIL!!).

Kommen wir etz mal zu meiner Frage :

PS. Hab das Buch GoAhead Delphi6 (980 seiten - für Fortgeschrittene) durchgemacht.
Mit was sollte ich anfangen ?
Reicht mir die Intelligenz für sowas (vom Buch)?

*********** :?: :?: :?: :?: **************

Lob an die Page :
Hier bekommt man echt schnell eine Antwort !
( Im gegensatz zu den anderen Foren !!)


MFG
*** Supernova***
MaxiTB
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 679

Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
BeitragVerfasst: Mo 02.02.04 19:07 
Uii - okay - hier kommt die Bremse vom Dienst *g*

Spiele programmieren ist ... ähm ... fustrierend, deprimierend, anstrengend, langwierig ... oder besser gesagt, es ist nicht anders, als eine Wirtschaftssoftware zu machen.

Sagen wir mal so ... 10% macht Spaß, der Rest ist harte Arbeit ... und leider unterschätzt man eben die 90% immer ziemlich, weil die Motivation nach ein paar Wochen schnell den Bach runtergeht, besonders, wenn man alleine was macht.

Aber eh ... es gibt auch positive Seiten !

Spiele programmieren tut man nämlich am besten nicht alleine - das wichtigste bei der Sache ist nämlich der Motivationsfaktor und wenn sich zwei finden, die zusammenarbeiten, dann wirds was !

Weiters fängt man bei der Spiele Programmierung klein an ...
Sehr klein ...
Nop, du hast es immer noch nicht, kleiner, viel kleiner ...

Vergiß OpenGL, vergiß DirectX, vergiß Sound, und jo, vergiß Grafik.

Brauchst du alles nicht für den Anfang.
Dein erstes Spiel sollte heißen: Zahlenraten.

Einfach eine zufällige Zahl im Bereich 1-99 erraten und wenn man sie erraten hat, dann die Anzahl der Versuche ausgeben.

Wenn du das hast, dann verbessern - schrittweise. Eingabe komfortabler machen, vielleicht den Computer an den Player Tips geben (das der Wert größer oder kleiner ist) usw.

Dein zweites Spiel sollte dann schon gefinkelter sein: Space Horizonalscoller

Einfach in einem Form ein Image, welches auf und ab bewegt werden kann (player raumschiff) und Asteroiden, welche dem Raumschiff entgegenfliegen (natürlich zufällig auf der Y).

Bei einer Kollision explodiert der Player, bei jedem Asteroid, der vorbeifliegt, werden die Asteroiden schneller.

Wenn du das geschafft hast, bist schon auf dem Sprung - dann hast du auch ein Gefühl, wie Spieleprogrammierung aussieht.

Dann machst du nur noch:
- Schüße.
- Verschiedene Gegner, die auch zurückschießen können.
- Levels, Score, vielleicht Extrawaffen wie Raketen.
- Scrollende Sterne im Hintergrund.
- Sound.

Wenn du das alles hast, dann das selbe für DirectX.

Gratulation !
Jetzt hast du einen Eindruck davon, wie man Spiele macht und kannst dich auf andere Herausforderungen stürtzen.

:arrow: Wenn du manchmal nicht weiterweißt, dann komm hier her und stelle deine Frage; wir helfen alle gerne weiter ! Und glaubs mir, Rückschläge und typische 'Argh-war-ich-blöd'-Erlebnisse wirds eine Menge haben; ist normal - sowas nennt man lernen :wink: - hatte wir alle :roll: .

:arrow: Wenn du dagegen irgendwann auf dem Weg aufgegeben hast, dann ists einfach nicht das richtige für dich ... wenns dich tröstet, ich bin auch nicht als Bauer geeignet und werde deshalb nie wieder Urlaub auf dem Bauernhof machen 8) .

BTW zu meiner Person:
Ich hab damals mit 7 angefangen auf dem C64 zu programmieren, weil mich mein Vater dazu gezwungen hat (ein Stunde spielen=eine Stunde programmieren). Ich bin auch den Geschmack gekommen, so hat nur noch mein Vater die Spiele gebraucht. Mittlerweile habe ich eine Ausbildung in diesem Bereich hinter mir und auch in einen größeren, international tätigen Spieleproduzenten gearbeitet. Selber hab ich natürlich auch ein paar Games gemacht - aber die sind jetzt wohl schon ziemlich angestaubt *lol*. Den Weg, den ich dir empfehle, den bin ich am C64 überigends auch gegangen - geschafft habe ichs nur per Bücher und Selbstbildung in 3 Jahren. Allerdings wirds bei dir schneller gehen, du hast dieses Forum und ich mußte damals auch Assembler packen ...

_________________
Euer Mäxchen
Wer früher stirbt, ist länger tot.
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Mo 02.02.04 20:32 
MaxiTB hat folgendes geschrieben:
nicht anders, als eine Wirtschaftssoftware zu machen.

ich finde auch, dass man die Leute nicht genug bremsen kann, aber ich finde bei einem Spiel ist die Motivation anders, wenn man sieht, dass man was geschafft hat...

MaxiTB hat folgendes geschrieben:
Sagen wir mal so ... 10% macht Spaß, der Rest ist harte Arbeit ... und leider unterschätzt man eben die 90% immer ziemlich, weil die Motivation nach ein paar Wochen schnell den Bach runtergeht, besonders, wenn man alleine was macht.

sehe ich auch so... wenn man weiß, dass man sich nicht langfristig für etwas motivieren kann, dann sollte man es gleich lassen...
und langfristig bedeutet bei einem Spiel, dass man ganz alleine entwickeln iwll durchaus mehrere Jahre :roll:

MaxiTB hat folgendes geschrieben:
Weiters fängt man bei der Spiele Programmierung klein an ...
Sehr klein ...

ganz meine Meinung :D

MaxiTB hat folgendes geschrieben:
Nop, du hast es immer noch nicht, kleiner, viel kleiner ...

Vergiß OpenGL, vergiß DirectX, vergiß Sound, und jo, vergiß Grafik.

Brauchst du alles nicht für den Anfang.
Dein erstes Spiel sollte heißen: Zahlenraten.

war tatsächlich mein erstes Spiel :D

MaxiTB hat folgendes geschrieben:
Dein zweites Spiel sollte dann schon gefinkelter sein: Space Horizonalscoller

mein zweites Speil war ein 2D-Autorennen ;D

MaxiTB hat folgendes geschrieben:
Wenn du das alles hast, dann das selbe für DirectX.

da muss dir wohl ein Rechtschribfehler unterlaufen sein... richtig muss es nämlich heißen: "[...], dann das selbe für OpenGL"
:P

MaxiTB hat folgendes geschrieben:
:arrow: Wenn du manchmal nicht weiterweißt, dann komm hier her und stelle deine Frage; wir helfen alle gerne weiter ! Und glaubs mir, Rückschläge und typische 'Argh-war-ich-blöd'-Erlebnisse wirds eine Menge haben; ist normal - sowas nennt man lernen :wink: - hatte wir alle :roll: .

ich denke auch, dass sowas dazugehört und man daraus auch lernt...
dafür sind auch v.a. die kleineren Projekte vorher wichtig, um bei einem größeren Projekt die "dümmsten" Fehler nicht mehr zu machen...

MaxiTB hat folgendes geschrieben:

Ich hab damals mit 7 angefangen auf dem C64 zu programmieren, weil mich mein Vater dazu gezwungen hat (ein Stunde spielen=eine Stunde programmieren).

das ist doch mal ein cooler Vater ;) 8)

MaxiTB hat folgendes geschrieben:
Mittlerweile habe ich eine Ausbildung in diesem Bereich hinter mir und auch in einen größeren, international tätigen Spieleproduzenten gearbeitet. Selber hab ich natürlich auch ein paar Games gemacht - aber die sind jetzt wohl schon ziemlich angestaubt *lol*.

darf man fragen bei welcher Firma und welche Spiele? *sehr neugierig ist* :)
MaxiTB
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 679

Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
BeitragVerfasst: Mo 02.02.04 20:46 
Zitat:
MaxiTB hat folgendes geschrieben:
nicht anders, als eine Wirtschaftssoftware zu machen.

ich finde auch, dass man die Leute nicht genug bremsen kann, aber ich finde bei einem Spiel ist die Motivation anders, wenn man sieht, dass man was geschafft hat...

Jo - nur viele glauben, nur weil ein Spiel spielen Spaß macht, ist ein Spiel programmieren genauso spaßig :wink: .

Zitat:
MaxiTB hat folgendes geschrieben:
Nop, du hast es immer noch nicht, kleiner, viel kleiner ...

Vergiß OpenGL, vergiß DirectX, vergiß Sound, und jo, vergiß Grafik.

Brauchst du alles nicht für den Anfang.
Dein erstes Spiel sollte heißen: Zahlenraten.

war tatsächlich mein erstes Spiel :D

Fängt eigentlich jeder werdende, später professionelle Programmierer mit diesem Spiel an ? :lol:

Zitat:
MaxiTB hat folgendes geschrieben:
Wenn du das alles hast, dann das selbe für DirectX.

da muss dir wohl ein Rechtschribfehler unterlaufen sein... richtig muss es nämlich heißen: "[...], dann das selbe für OpenGL"
:P

Naja ... DirectX habe ich vor allem früher deshalb empfohlen, weils simpel ist; aber OpenGL ist genauso eine Lösung - vielleicht sogar besser.

Zitat:
MaxiTB hat folgendes geschrieben:

Ich hab damals mit 7 angefangen auf dem C64 zu programmieren, weil mich mein Vater dazu gezwungen hat (ein Stunde spielen=eine Stunde programmieren).

das ist doch mal ein cooler Vater ;) 8)

Quatsch - damit wollte er mir doch nur den Spaß verderben - und er dachte, ich werd dann keine 8 Stunden durchgehend vor dem 64er sitzen und spielen ... hatte ja auch recht, hab dann eben manchmal 10 Stunden durchgehen gecodet *g*.

Zitat:
MaxiTB hat folgendes geschrieben:
Mittlerweile habe ich eine Ausbildung in diesem Bereich hinter mir und auch in einen größeren, international tätigen Spieleproduzenten gearbeitet. Selber hab ich natürlich auch ein paar Games gemacht - aber die sind jetzt wohl schon ziemlich angestaubt *lol*.

darf man fragen bei welcher Firma und welche Spiele? *sehr neugierig ist* :)

Funworld AG - machen Spiele für ihre Touchscreen Geräte Photoplay. Dort habe ich für DOS und Windows (DX) entwickelt; z.B. auch eine isometreisches, strategisches Schneeball Ballergame; wurde aber als fast fertige auf Eis gelegt, da es laut Marketing zu anspruchsvoll für Zielpublikum war *g*. Sonst waren die Spiele grafisch gesehen anspruchslos in 2D; eben nur vorgerenderte Sachen und Psydo-Effekte :wink:

_________________
Euer Mäxchen
Wer früher stirbt, ist länger tot.
Supernova Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 108

WinXP
D7 Prof
BeitragVerfasst: Di 03.02.04 18:44 
Erstmals danke für eure Antworten, leute !!

Habe jetzt mal angefangen die Idee von MaxiTB zu Proggen. Und zwar :
*Zahlenraten*.
Ich hab gedacht ich mach es so :
Ich hab auf meiner Form ein Edit-Feld und dort kann man die Zahlen von 1 - 100 hineinschreiben. Wenn man eine richtige Zahl erwischt dann soll er anzeigen : Sie haben die richtige Zahl gewählt .

Ok, soweit ist es ja kein problem (für mich jedenfalls :-)).

Nun weiß ich aber nicht weiter :( , denn ich weiß nicht,
wie ich eine Art Zufallsgenerator erstellen kann :?:

PS. Ich hab extra kein neues Thema angefangen, weil es kann ja sein dass es anderen auch so geht :) .

_________________
Input - Output => Ganz Kaputt
*** MFG Supernova ***
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Di 03.02.04 21:39 
tjo, ohne fundierte Delphi-Kenntnisse wäre es wirklich schlecht direkt mit was größerem anzufangen...
die befehle die du brauchst sind
ausblenden Delphi-Quelltext
1:
randomize;					

zu Programmstart
und
ausblenden Delphi-Quelltext
1:
random(x);					

zum generieren der Zufallszahl...
schau dazu auch mal in die Hilfe...
Supernova Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 108

WinXP
D7 Prof
BeitragVerfasst: Mi 04.02.04 18:08 
...
ich hab mich auf spiele bis etz noch nicht konzentriert !
(Hab bloß andere Anwendungen Gemacht wie z.B. meinen XP-Commander, oder meinen HTML-Editor, und da braucht man so'n Zeug halt nicht) :D [/list]

_________________
Input - Output => Ganz Kaputt
*** MFG Supernova ***
MaxiTB
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 679

Win2000, WinXp, Workbench ;-)
D7 Ent, VS2003 Arch.
BeitragVerfasst: Mi 04.02.04 18:15 
::supi

Wirst schon sehen, wie schön anspruchsvoll Spieleprogrammierung sein kann, wenn du für dein zweites Spiel die collision detection selber ausprogrammierst und eine Gegner-AI entwickelst :wink:

Das war aber der Grund, warum ich dir geraten haben, von ganz unten anzufangen ... da kriegt man die Basics mit, die man später für komplexere Algorithmen braucht !

_________________
Euer Mäxchen
Wer früher stirbt, ist länger tot.
Supernova Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 108

WinXP
D7 Prof
BeitragVerfasst: Mo 09.02.04 19:03 
OK, funzt aber bei mir nicht ich has so geschrieben:

Edit1.OnChange
ausblenden Delphi-Quelltext
1:
randomize;					


form1.Create
ausblenden Delphi-Quelltext
1:
random(Edit1.Text);					

_________________
Input - Output => Ganz Kaputt
*** MFG Supernova ***
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Mo 09.02.04 20:10 
erstmal in die jeweils andere funktion und es muss
ausblenden Delphi-Quelltext
1:
showmessage(strtoint(edit1.text));					

heißen, jenachdem, was du willst :D
Simon Joker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 236
Erhaltene Danke: 1



BeitragVerfasst: Di 10.02.04 10:03 
Hi Fiji-Fighter

wärst du gestern müde oder hast du nebenbei gefeiert? :lol:

ShowMessage will ganz sicher einen String, also nix mit StrToInt!

@Supernova

Beispiel:
2 Buttons
1 Edit
1 Label

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
...
  public
    { Public declarations }
    Num:integer; //Die zu ratende ZAhl
    GameOver : boolean; //ist Spiel aktiv
    RatenCount : word; //wie oft wurde schon geraten
  end;
...

procedure TForm1.FormCreate(Sender: TObject);
begin
  randomize; //nur ein mal ausführen
  GameOver :=true; //spiel inaktiv
end;

procedure TForm1.BuNewGameClick(Sender: TObject);
begin
  Num := random(101);//zahlen zwischen 0-100 
  GameOver :=false;//spiel aktiv
  RatenCount := 0;//0mal geraten
  LaErgebnis.Caption := 'Zahl raten!'//aufforderung
end;

procedure TForm1.BuRatenClick(Sender: TObject);
begin
  if GAmeOver then //wenn inativ
    LaErgebnis.Caption := 'Spiel beendet!'
  else //sonst
    begin
      inc(RatenCount);//Count erhöhen um 1
      if StrToInt(EdRatenInput.Text)= Num then //wenn richtig
        begin
          LaErgebnis.Caption := IntToStr(RatenCount)+' : RICHTIG!!!';
          GameOver :=true;
        end
      else //sonst
        if StrToInt(EdRatenInput.Text)< Num then
          LaErgebnis.Caption := IntToStr(RatenCount)+' : Zu klein!!!'
        else
          LaErgebnis.Caption := IntToStr(RatenCount)+' : Zu gross!!!';
    end;
end;
Raphael O.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1596


VS 2013
BeitragVerfasst: Di 10.02.04 11:23 
Simon Joker hat folgendes geschrieben:
Hi Fiji-Fighter
wärst du gestern müde oder hast du nebenbei gefeiert? :lol:

hm...weiß auch nicht, was da los war :mrgreen: eigentlich sollte der Code so aussehen :roll:
ausblenden Delphi-Quelltext
1:
showmessage(inttostr(random(strtoint(edit1.text))));					
Supernova Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 108

WinXP
D7 Prof
BeitragVerfasst: Di 10.02.04 21:24 
Puhhh ! :hair:

Die Antwort von Simon Joker verlangt ja ganz schön viel Hirnmasse (für mich jedenfalls :wink: )!
Aber ich kann mal sagen ich hab's kapiert.
Werd's mal in nächster Zeit ausprobieren.

PS.
Die Antwort von Fiji-Fighter is aber auch nich schlecht :wink: !

** DANKE AN ALLE ! **

_________________
Input - Output => Ganz Kaputt
*** MFG Supernova ***