AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte UT2D - 2D-Shooter mit UTStyle

UT2D - 2D-Shooter mit UTStyle

Ein Thema von olee · begonnen am 16. Feb 2008 · letzter Beitrag vom 23. Sep 2008
Antwort Antwort
Seite 3 von 8     123 45     Letzte » 
Benutzerbild von olee
olee
Registriert seit: 16. Feb 2008
Hallo erst mal an alle Delphi Fans

Ich hab mich zwar heute erst angemeldet, habe aber direkt ein Projekt vorzustellen, an dem ich momentan arbeite.

Es soll ein 2D-Shooter im UnrealTournament(C) Style sein.

Bisher gibt es schon einen Editor, ein Waypoint System, Bots (und gar nicht so schlechte) und 2 Waffen (man kann aber noch nicht Waffe wechseln.

Das Spiel selbst ist (nur) mit Delphi 3 geschrieben und nutzt DelphiX zum zugriff auf DirectX.

MOMENTANER FORTSCHRITT DES PROJEKTS:
- Ich kann momentan KEINE BUGS feststellen!
- Bots funktionieren gut und stellen sich nur selten dumm
- Animationen der Spielfiguren
- Ducken und Blickrichtung der Spielfigur
- Partikel
- Kein LAGG mehr
- Spielstatistik (F1)
- Komplett neuer Spielaufbau (Nur im code bemerkbar) ermöglicht schnelle Erstellung neuer GameModes
- Optionsmenü

WAS ALS NÄCHSTES ERLEDIGT WIRD:
- HUD
- Mehr Waffen und überhaupt erst mal eine Waffenauswahl
- Neue Level

PS: Neue Versionen stelle ich immer in diesen Post!


MFG
Angehängte Dateien
Dateityp: zip ut2d_113.zip (487,7 KB, 161x aufgerufen)
Dateityp: zip komplett_485.zip (1,66 MB, 167x aufgerufen)
Codename: Performancepumpe
 
Nuclear-Ping
 
#21
  Alt 18. Feb 2008, 12:09
Was Grafiken angeht:
Vielleicht kennst du jmd. in deinem Freundeskreis, der gut zeichnen kann?
Wenn der motiviert wäre, kann der ja paar Figuren in paar Stellungen zeichnen, die scannst du ein, bearbeitest sie am Computer nach und schon haste was.
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

 
Delphi 2006 Enterprise
 
#22
  Alt 18. Feb 2008, 12:34
Hi!
Ich hab' einige Links zum Thema Spiele&Grafiken gesammelt:
> http://www.isogames.de/
> http://www.spriters-resource.com/
> http://reinerstileset.4players.de/deutsch.html
> http://www.texturenwelt.de/

Vielleicht helfen die dir auch weiter

Chris
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#23
  Alt 18. Feb 2008, 13:46
Danke für die Tipps.

Doch leider war bei den Links nich das dabei, was ich brauche.

Die Bilder die ich zur Vorlage hochgeladen habe, waren bisher besser.

Ich hab die mit einem Screenshoot aus UT GOTY genommen,
wo ich den Player duckend von der Seite sehen konnte.

Weiß jmd. vllt., wo ich einen ModelViewer für UT Models finde?
Das wäre sehr hilfreich und ich könnte innerhalb von 1-2 Tagen
Animationen im Spiel haben.

Momentan arbeite ich an Effekten (Explosionen, usw.), HUD, und mehr Waffen.
Björn Zeutzheim
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#24
  Alt 18. Feb 2008, 17:15
So mal wieder ein Update!

- Das lagging wurde NOCHMALS reduziert.
- Eine neue CTF Map wurde hinzugefügt.
- Sound der Waffen wird nun als "3D" Sound abgespielt (Distanz und Richtung zwischen Spieler und Soundquelle)
- Update zum download im ersten Post.

Also bitte mal schön testen, damit ich ein paar verbesserungsvorschläge hörne kann.
(Selbstverständliche Sachen wie "Zu wenig Waffen" und "Keine Animationen" aber bitte dann nur posten, wenns wichtig ist)

MFG an alle Delphi Fans

Björn Zeutzheim aus dem schönen Boppard XD
Björn Zeutzheim
  Mit Zitat antworten Zitat
Namenloser

 
FreePascal / Lazarus
 
#25
  Alt 18. Feb 2008, 17:28
Hallo, olee!

Lagging wurde reduziert?
Also bei mir kriecht es jetzt mit 15-20 fps dahin... vorher lief es mit 28-34. An meine Grafikkarte (8800GT) sowie meinem prozessor (Q6600, 2.4 Ghz Quad) würfte es wohl nicht liegen. Du solltest dir ernsthaft Gedanken über deine grafische Darstellung machen. Aktuelle 3d-Spiele laufen schneller...

Ich könnte mir vorstellen, das dein Problem damit zusammenhängt, dass du das ganze Level als ein großes Bitmap abspeicherst (das dann auch jedes mal komplett gezeichnet wird). Ich habe vor Jahren auf diese Weise ein Jump'n'run zu programmieren versucht und musste das ganze hinterher auch aus Performancegründen einstellen. Denk dir lieber eine alternative Methode aus, z.B. ein 2d-Array mit Kacheln drin, oder setze alles aus Rechtecken zusammen etc... davon werden dann nur die benötigten, sprich: sichtbaren, Teile gezeichnet. Damit kannst du dann z.B. auch schneller auf Kollisionen prüfen. Das ganze hätte nebenbei noch den Effekt, dass du weniger Platz für die Levels brauchst.
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#26
  Alt 18. Feb 2008, 17:33
Das hab ich auch bemerkt!

Und genau was du gesagt hast hab ich mir sogar schon überlegt!
(so ein Zufall)

Das ruckeln ist aber trotzdem schwächer, wenn du nur die kleine Map spielst, im Vergleich zu vorher.
Björn Zeutzheim
  Mit Zitat antworten Zitat
busybyte
 
#27
  Alt 18. Feb 2008, 17:40
Dafür gibts doch einen eigenen Typ in DelphiX //<-Edit
Delphi-Quellcode:
TBackground = class(TBackgroundSprite)
private
public
//Bauplan:TBauplan; //<-edit eigenes Zeugs
end;


mal ein Beispiel von mir, das aber nicht copypaste-fähig ist und uralter Kot (ca. 2Jahre) ist. (Bsp. es fehlt der try except Block und und und...)
Delphi-Quellcode:
Procedure CreateBckGrnd(Bauplan_:TBauplan);
begin
while not CheckPicName(Bauplan_) do exit;

   with TBackGround.Create(Grafikengine.DXSpriteEngine1.Engine) do
   begin
   Bauplan:=Bauplan_;
   //TestI:=BauPlan.BplImageDatas.IMIndex;
   Image :=Grafikengine.DXImageList1.Items.items[BauPlan.BplImageDatas.IMIndex];
   x:=Bauplan.Position.x;
   y:=Bauplan.Position.y;
   z:=round(Bauplan.Position.z); //<-wichtig
   visible:=true;
  Image.Transparent:=true;
 // MapWidth:=8;
 // MApHeight:=8;
// tile:=Bauplan_.Tile;
Pre_Skal8(Bauplan.BplImageDatas.IMWidth,
            Bauplan.BplImageDatas.IMHeight,
            Bauplan.BplImageDatas.IMPic);
TestI:=BauPlan.BplImageDatas.IMIndex;
Grafikengine.DXImageList1.Items.Items[BauPlan.BplImageDatas.IMIndex].Picture:=Pre_Skal_ResultPic;

SetMapSize(Bauplan.BplImageDatas.IMMapWidth,Bauplan.BplImageDatas.IMMapHeight);
Image.Restore;
   end;
end;
//edit
die Kollision kann in deinem Fall aber nicht mit TBackground gemacht werden,
sondern die Wände sollten vom Typ TImagesprite sein, da soweit ich in Erinnerung habe,
die beiden Typen nicht kollidieren.
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

 
FreePascal / Lazarus
 
#28
  Alt 18. Feb 2008, 18:10
Hallo,

schau dir (wie schon weiter oben gesagt) mal mein Spiel "CrashPoint" an. Das habe ich vor 2 Jahren auch mit DelphiX geschrieben und läut mit ca. 80 FPS. Zudem lade ich Karten von der Größe 10000x2000 Pixel - Du solltest an deinem Verfahren wirklich etwas ändern:
http://crashpoint.cvs.sourceforge.ne...as?view=markup

Außerdem habe ich in deinem Quellcode gesehen, das du oft die Canvas-Eigenschaft des TDXDraw verwendest. Du solltest versuche dies so oft wie möglich zu vermeiden, denn dieses verwendet direkt die GDI und die ist recht gemütlich in ihrer Arbeitsgeschwindigkeit. Wenn du das zur Grafikausgabe nimmst, dann brauchst du DelphiX eigentlich gar nicht.
Vielleicht könnte dich auch meine 2D Engine Andorra 2D interessieren - diese ist in gewissem Maße DelphiX nachempfunden, ist durch Verwendung der 3D-Hardeware aber um einiges schneller. Zudem kannst du damit einfach Partikeleffekte (z.B. für Blut oder Explosionen) erstellen. Allerdings läuft das nicht mit Delphi 3. Allerdings gibt es ja "Turbo Delphi Explorer" bzw. "Lazarus" zum kostenlosen Download.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von olee
olee

 
Turbo Delphi für Win32
 
#29
  Alt 18. Feb 2008, 18:55
Nun ja ich möchte aber jetzt ungern auf etwas anderes umsteigen.

Immerhin kommt noch was an Code hinzu, was das beschleunigen wird.

Das mit den Partikeln möchte ich aber ganz alleine realisieren, da ich so etwas eh schon mal gemacht habe, und das hat gut funktioniert.

Trotzdem VIELEN DANK!

MFG
Björn Zeutzheim
  Mit Zitat antworten Zitat
busybyte
 
#30
  Alt 18. Feb 2008, 19:18
Zitat:
Immerhin kommt noch was an Code hinzu, was das beschleunigen wird.
Da wäre an erster Stelle Deine Kollisionsabfrage,
Du willst unbedingt die Cpu damit belasten,
indem Du pixelweise den Bildschirm abtastest,//edit
aber ist ja nur bei jeder Bewegung. .

Delphi-Quellcode:
TObj=class(TImageSprite)
public
//Bauplan:TBauplan;
//procedure DoMove(MoveCount: Integer); override;
procedure DoCollision(Sprite: TSprite; var Done: Boolean); override; //<---
end;

procedure TObj.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
inherited DoCollision(Sprite,Done);
//.
//MeinCode
//.

end;

Bitmap: 2.25MB
Angehängte Grafiken
Dateityp: bmp skeletts1-8_885.bmp (2,26 MB, 31x aufgerufen)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf