#1 06.03.2005 22:26:12

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Nettank2 Project

Die meisten werden mein Projekt ja noch kennen, aber für die neuen kopiere ich mal schnell das was auf meiner alten Website stand (zusammengefasst):

Nettank ist ein uraltes 4'86er Spiel. Dieses will ich in zeitgemäßer Grafik neu umsetzen.
Der Spieler steuert einen Panzer aus der Vogel-Perspektive und kann andere Spieler (im LAN) abschießen.

Grundlegendes:
· der Spieler sieht seinen Panzer aus der Vogelperspektive
· es gibt zwei Teams (Angreifer/Verteidiger)
· ein Team muss einen Auftrag ausführen, beispielsweise ein Raketensilo zerstören
· das andere Team muss dies verhindern
· Steuerung: Pfeiltasten zum fahren, Maus zum zielen (Cursor)
· Zeit: etwa das Jahr 2070
Details:
· die Rundenzeit ist begrenzt, nach Ablauf der Zeit beginnt eine neue Runde. Diemal greift jedoch das Verteidigerteam an. (UT2004 im Assault-Modus)
· es soll verschiedene Panzertypen geben, vom kleinen Buggy bis zum Megapanzer
· jeder Spieler kann vor Beginn der Runde seinen Panzer mit vers. Waffentypen ausstatten
· es gibt Laser, Raketen, Kanone, Plasma und Schutzschilde (alle in vers. Ausführungen)
· die Waffen haben verschieden Eigenschaften (z.B. Laser gut gegen kleine Fahrzeuge)
· hat man schwere Waffen verringert sich die Geschwindigkeit/Wendigkeit des Panzers
· das angreifende Team wird von fliegenden Transportern im Einsatzgebiet abgesetzt
· es kann vor Beginn der Mission wählen, wo es abgesetzt werden will
· die Transporter können nicht über Gebiete fliegen in denen es Luftabwehr gibt
· die Luftabwehr kann zerstört werden
· wird der Panzer eines Spielers zerstört, kann er sofort, nach einer kurzen Wartezeit wieder ins Spiel einsteigen. Der Absetzpunkt kann neu gewählt werden. (Battlefield1942)
· es gibt verschieden Möglichkeiten den Auftrag zu erfüllen. Man könnte z.B. das Raketensilo zerstören oder auch das Kontrollzentrum außer Gefecht setzen, in dem man sich in das Computer-Netzwerk einhackt. Für die zweite Möglichkeit würde es genügen einen kleinen, schnellen Buggy in die Nähe des Kontrollzentrums zu bringen, während der Rest des Teams die Verteidiger ablenkt...

==============================================================

Ich bastele schon seit Ewigkeiten an dem Game rum und es gibt auch schon einige Anfänge die unter Delphi programmiert wurden. Inzwischen bin ich auf C++ umgestiegen und möchte mir diesmal etwas mehr Zeit in die Planung investieren.

Als Anhang habe ich meinen aktuellen Entwurf zur Objekt-Struktur angehängt. Zum angucken braucht ihr die MODIFIZIERTE Version des UML Sculptors. Dieser ist ziemlich klein und bedarf keiner Installation (einfach starten).

UML-Klassendiagramm
Link: http://www-users.rwth-aachen.de/Martin.Weusten/uml/nt3d070305.uml



Ich wäre froh wenn ihr mir einige Verbesserungsvorschläge / Kritik machen könntet. :tia:

Coolcat


Attachments:
Attachment Icon UMLTool_Coolcat.exe, Größe: 262,144 bytes, Downloads: 548

My software never has bugs. It just develops random features.

Offline

 

#2 07.03.2005 08:33:24

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

Screenshots von der alten Delphi-Version


Attachments:
Attachment Icon nt180504_03.jpg, Größe: 183,551 bytes, Downloads: 607
Attachment Icon nt180504_02.jpg, Größe: 195,400 bytes, Downloads: 509
Attachment Icon nt180504_01.jpg, Größe: 206,825 bytes, Downloads: 546

My software never has bugs. It just develops random features.

Offline

 

#3 07.03.2005 08:39:38

firlefanz
GodlikeMember
Ort: Olpe in NRW
Registriert: 31.01.2005
Beiträge: 1035
Web-Seite

Re: Nettank2 Project

Sieht sehr gut aus. Da werde ich mir zu einem späteren Zeitpunkt nochmal ein paar Tips von dir holen müssen, weil ich demnächst vielleicht so was ähnliches brauche.  :mrgreen:

Firle

Offline

 

#4 07.03.2005 10:58:13

Thomas233
Member
Registriert: 24.01.2005
Beiträge: 94

Re: Nettank2 Project

Hi Coolcat,

ich kann das Uml-Tool leider nicht starten, er verlangt nähmlich eine Dll-Datei namens MFC71.dll (die MFC hat bekanntlich was mit C++ zu tun, ich habe aber momentan keinen C Compiler installiert). Könntest du das mal bitte checken ? Danke !
Screenies finde ich übrigens toll...


Liebe Grüße,
Thomas
---------------
http://www.weirdhospital.de.vu

Offline

 

#5 07.03.2005 11:21:17

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

Hm, habe WinXP mit SP2, sollte eigentlich dabei sein...
vielleicht kann man das Visual Studio 2003 auch irgendwie anderes einstellen das es mit ner alten Dll compiliert, kA....ich werd nachher mal schauen.
Zur Not könnt ihr das *.uml-File auch mit dem offziellen UML Sculptor ( [URL=http://umlsculptor.sourceforge.net/]gibts hier[/URL] ) öffnen, nur ist bei mir die Schrift bei mir viel kleiner, daher könnte das etwas kacke aussehen.
Wenn gar nix geht mach ich aus dem ganzen auch nen JPEG, is nur ne Menge arbeit, weil es halt VIEL größer als ein Bildschirm ist. (sagt einfach bescheid)

aber hier erstmal die Dll...
muss nach  c:/windows/system32/

Coolcat


Attachments:
Attachment Icon mfc71_dll.zip, Größe: 515,021 bytes, Downloads: 605

My software never has bugs. It just develops random features.

Offline

 

#6 07.03.2005 13:40:12

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

So ich hab einfach mal nen Bild draus gemacht...link is oben

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#7 07.03.2005 15:58:28

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

Update:

Hab das ganze mal etwas entwirrt.
Link: http://www-users.rwth-aachen.de/Martin.Weusten/uml/nt3d070305.uml

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#8 07.03.2005 16:57:12

Thomas233
Member
Registriert: 24.01.2005
Beiträge: 94

Re: Nettank2 Project

Vielen Dank @Coolcat !

Liebe Grüße,
Thomas


Liebe Grüße,
Thomas
---------------
http://www.weirdhospital.de.vu

Offline

 

#9 08.03.2005 15:00:52

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

Öhm, *vorsichtigfrag*, hatte wer Zeit sich mein Diagramm anzugucken? Verbesserungsvorschläge / Kritik?

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#10 09.03.2005 12:24:59

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

Hm, das sollte hier eine Diskussion zum Thema Engine-Struktur werden....

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#11 09.03.2005 16:03:36

Christian
Webmaster
Ort: Wien
Registriert: 19.01.2005
Beiträge: 509
Web-Seite

Re: Nettank2 Project

Dann mach ein Posting im DirectX Forum! wink

Offline

 

#12 09.03.2005 16:04:57

maximov
Member
Ort: Hamburg
Registriert: 25.01.2005
Beiträge: 84

Re: Nettank2 Project

Zitat:

Hm, das sollte hier eine Diskussion zum Thema Engine-Struktur werden....

Coolcat

smile Das ist jetzt natürlich schwer zu sagen, welche auswirkungen deine Designentscheidungen letztendlich haben werden, weil dann die implementierung einem oft zu sachen zwingt, die man so nicht wollte.

Was auffält ist, daß das terrain die einzige klasse ist, die ein material verwendet und das man bei einigen objekten nicht sehenkann woher sie abgeleitet wurden. Oder sind die von nix abgeleitet? ...letzteres kann ja auch sinn machen, da polymorphie auch nicht immer die beste wahl ist.

IMO kann es auch extrem nützlich sein, wenn man die graphische representierung (geometrie etc.) von dem logischen objekt (Pos, Speed, etc.) trennt. Bin mir nicht sicher ob da das hier machst? Dazu kann man dann auch prima Zustands-objekte aggregieren und diese dann dem renderer geben, sodass das objekt sich garnicht selbst rendert, sondern nur daten bereithält und es andere machen lässt. Oder so. Wenn man zB. ein mesh objekt als Fliegengewicht benutzt (dh. viele benutzen ein einziges), dann könnte man eben dieses Mesh-Objekt beauftragen sich zu zeichnen. Und da fliegengewichte keinen eigenen zustand haben, liefert man eben das eigene Mesh-zustands-objekt mit. Das mesh wiederum hat eine assoziation auf das material.

Kann sein das ich jetzt ein bischen zu viele muster sehe und die vermischung eben dieser illegal ist  :mrgreen: ...nur meine zwei cent.


maximov (aka maDXam or IDKFA)

Offline

 

#13 09.03.2005 16:24:23

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

erstmal thx für die antwort smile

Zitat:

schwer zu sagen, welche auswirkungen deine Designentscheidungen letztendlich haben werden, weil dann die implementierung einem oft zu sachen zwingt, die man so nicht wollte.

Ich weiß, daher diese Diskussion aum rauszufinden woran ich noch nicht gedacht habe.

Zitat:

Was auffält ist, daß das terrain die einzige klasse ist, die ein material verwendet

Öhm, das CBaseMaterial wird vom Terrain und von C3DTransform verwendet (und damit auch von Meshes, Effekten usw..) Wahrscheinlich hast du dir die alte Version angeschaut, da fehlte glaub ich die Verbindung....in der neuen (überings viel übersichtlicheren Version) sollte die Verbindung da sein...

Zitat:

Hab das ganze mal etwas entwirrt.
Link: http://www-users.rwth-aachen.de/Martin.Weusten/uml/nt3d070305.uml

Zitat:

das man bei einigen objekten nicht sehenkann woher sie abgeleitet wurden. Oder sind die von nix abgeleitet?

Nicht alles ist irgendwo von abgeleitet. Was soll z.B. ein MeshManager mit der Render-Funktion....
Überall vo ein Pfeil abgeht, wird auch abgeleitet (wobei natürlich ggf. Pfeile zusammenfasst sind, damit man nicht den Überblick verliert)

Zitat:

IMO kann es auch extrem nützlich sein, wenn man die graphische representierung (geometrie etc.) von dem logischen objekt (Pos, Speed, etc.) trennt. Bin mir nicht sicher ob da das hier machst?

Logisches Objekt: CControlable, CNotControlable, CWeapon, ...
Grafik Objekt: C3DTransform, bzw. eine Unterklasse davon
Wobei ein logisches Objekt ggf. mehrere C3DTransform haben kann und auch weitere  logische Objekte.


Coolcat


Edit: Wer überings die Diagramme lieber als Bild haben will, der muss das nur sagen...


My software never has bugs. It just develops random features.

Offline

 

#14 09.03.2005 16:58:45

Holly
Member
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 76
Web-Seite

Re: Nettank2 Project

finde ich schon mal ganz gut. maximov hat ja schon einiges gesagt, dem ich auch im wesentlichen zustimme.

Zitat:

...das CBaseMaterial wird vom Terrain und von C3DTransform verwendet (und damit auch von Meshes, Effekten usw..)...

is ja ne nette lösung, das du das material von C3DTransform verwenden lässt, aber was passiert, wenn dein mesh mehrere subsets hat? eigentlich könnte man doch jedem subset ein anderes material zuweisen. nur wenn C3DTransform das mesh zum rendern aufruft, dann geht das nicht. es sei denn, du rufst render(subsetNummer); auf und das ganze halt in ner schleife. das würde gehn. hmm....könnte ich ehrlich gesagt auch ganz gut gebrauchen big_smile hehe....thx coolcat wink

HOLLY


Enjoy the 3 dimensions of livin'....

Offline

 

#15 09.03.2005 17:21:27

maximov
Member
Ort: Hamburg
Registriert: 25.01.2005
Beiträge: 84

Re: Nettank2 Project

Hatte da oben das bild angekuckt...werd bei gelegenheit das UML tool nehmen.


maximov (aka maDXam or IDKFA)

Offline

 

#16 09.03.2005 22:59:01

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

Zitat:

von Holly
eigentlich könnte man doch jedem subset ein anderes material zuweisen.

Wer hat den gesagt das ich das nicht tue? wink
Ein C3DTransform ist sowieso abstrakt und hat selbst keinen Pointer auf ein Material. Mit dem Pfeil auf CBaseMaterial wollte ich nur andeuten, dass alle Unterklassen einen Pointer haben können. Ein Mesh kann dann also ein oder mehrere Materials haben.

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#17 23.03.2005 13:47:35

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

Falls sich wer dafür interessiert:

Ich habe mit der Implementierung begonnen und benutze Doxygen zur Dokumentation.
Da bei dem Programm HTML-Code rauskommt habe ich das einfach mal hochgeladen.
Derzeit (nach einem Tag) ist natürlich noch nicht alzu viel passiert aber ich denke ich werde regelmäßig neues hochladen:

http://www-users.rwth-aachen.de/Martin.Weusten
http://www-users.rwth-aachen.de/Martin. … t2_doxygen


Coolcat


My software never has bugs. It just develops random features.

Offline

 

#18 03.04.2005 16:30:28

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

erster Screenshot der neuen Version:

http://www-users.rwth-aachen.de/Martin. … 030405.jpg

- keine Texturfilter (daher so pixelig)
- Texturen, Licht, usw. derzeit nur provisorisch um den QuadTree zu testen
- Sichtbarkeitsberechnung ist leider noch verbugt.


My software never has bugs. It just develops random features.

Offline

 

#19 07.04.2005 19:02:58

Coolcat
ProGuru
Ort: Aachen, NRW
Registriert: 24.01.2005
Beiträge: 2780
Web-Seite

Re: Nettank2 Project

bugs sind soweit behoben, ich denke am WE werde ich mit dem Texturmanager anfangen, damit ich das Terrain richtig texturieren kann

Coolcat


My software never has bugs. It just develops random features.

Offline

 

#20 07.04.2005 19:25:26

artzuk
GodlikeMember
Ort: Leipzig
Registriert: 24.01.2005
Beiträge: 1164

Re: Nettank2 Project

Was ist eigentlich mit deinen alten Texturmanager?


Mein kleiner .NET Blog: http://artzuk-interactive.de/

Offline

 

Brett Fußzeile

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson