[Spielentwicklung] Ich stelle was vor

FSA

Erfahrenes Mitglied
Hallo. Da nun meine Engine so weit ist, dass sie gut und einfach verwendet werden kann, habe ich ein kleines Beispiel geschrieben welches eine Skybox, einen Boden, 2 Physikobjekte und einen FP Player hat. Realistische Physik ist integriert. Nun habe ich die letzte Woche damit verbracht eine gute und etwas unterhaltsame Beschreibung zu schreiben, um zu sehen ob Anfänger und Fortgeschrittene mit der Engine gut zurechtkommen würden. Ich würde gerne wissen ob jemand sich Zeit nimmt und diese "Doku" mal ließt :) Sind nur 10 Seiten also nichts was ewig dauert. Ich würde gerne Kritik empfangen. Schreibfehler lassen sich leider nicht vermeiden :rolleyes: Nehmt es mir nicht so übel ;) Also wenn Interesse besteht lade ich die EXE, Quellcode und die Beschreibung mal hoch, ihr müsst nur hier rein schreiben wenn. Ich träume davon die Engine weiterzugeben. OpenSource oder nicht weiß ich nicht ^^ Also erwartet von dieser Demo nichts großes. Es ist als der erste Anfang gedacht, für die die diese Engine benutzen. Logischerweise kann die Engine richtig Power bringen. Ist für RealTime ausgelegt. Aber leider noch ein paar Fehlerchen drinnen weswegen ich die Engine noch nicht unbedingt öffentlich machen wollte. Also wenn Interrese besteht einfach reinschreiben. Was mich glücklich machen würde,wäre wenn ihr mir zum Aufbau eine Note 1-6 und zur Schwierigkeit ein Note geben könntet 1-6 :) 1 Leicht 6 Schwierig.
MfG
 
Hey MSVCplusplus,

ich hätte Interesse mir das ganze mal anzugucken und durchzulesen, auch wenn meine Hauptsprache eigentlich C# ist.

Benutzen werde ich das ganze zwar wahrscheinlich nicht, aber dennoch finde ich das ganze recht interessant.

Kannst mit auch gerne per PN nen Link schicken, wo ich mir die Sachen ziehen kann, wenn du das hier nicht posten willst. Sobald ich fertig damit bin, werde ich dir natürlich ein ehrliches Feedback dazu geben.

Viele Grüße,
Hale
 
Hallo

wenn.

:)
Wäre gut, wenn du das hochladen könntest. Wie sollen wir sonst den Code anschauen? ;-)
OpenSource ist ja eigentlich genau dafür da, Fehler auszumerzen und ein Programm gratis weiterzubringen. Ich kann dafür SourceForge.net empfehlen, es gibt aber noch andere Gratishoster.


Gruss
cwriter
 
Hi,

kennst Du die Folge von "Eine schrecklich nette Familie", in der Al Bundy nen magischen Hammer bekommt und eine Stimme ihm immer sagt..."Wenn Du es baust, wird er kommen!"?

Nun...wenn Du es hochlädst, wird's getestet :)

Ciao,
OneOf6
 
EDIT: Anhang gelöscht
Ok es ist hoch geladen :) Um die Exe-Datei auszuführen sollten folgende Packete installiert sein:
VCRedist_x86
DirectX Update June 2010 EndUser runtime
Daher das die Dateien etwas groß sind poste ich die Links:
Download Microsoft Visual C++ 2010 Redistributable Package (x86) from Official Microsoft Download Center
Download DirectX End-User Runtimes (June 2010) from Official Microsoft Download Center
Falls dann doch ein Fehler auftritt bitte Bescheid geben :)
PS: Die verwendeten Grafiken sind nicht von mir. Ich übernehme auch keine Haftung für Schäden, die durch diese Software verursacht worden sind. Zur Sicherheit empfehle ich ein Virenscann, obwohl ich sicher bin das ich keine Viren habe ;)
 
Zuletzt bearbeitet:
Hallo

Ist ja ganz nett, aber da fehlt einiges an Source...
Nur mit der main.cpp kann man nichts bauen :)

cwriter
 
Ja ich weiß :) Das ist auch nur damit man ein Einblick in die Funktionalität der Engine bekommt. Die Engine wollte ich noch nicht mitliefern, da sie jetzt gerade einem Update unterzogen wird, damit Maps schneller editiert werden können. Sprich, sie lässt sich nicht kompilieren :D Über das Wochenende werde ich das hoffentlich fertig bekommen.
Wenn du auch die Doku gelesen hast, wäre ich erfreut über eine Note für den Aufbau/Handhabung der Engine und Schwierigkeit für so eine Szene.
Danke.
 
Hallo

Habe die Dokumentation gerade durchgelesen. Bevor ich zur (subjektiven, dafür aber ehrlichen :) ) Wertung komme eine kleine Kritik. Rechtschreibefehler gehen bis zu einem gewissen Grad, aber das
anstatt "Reihenfolge" zu nehmen ist dann doch sehr arg. Wie auch immer: Ich beachte die Rechtschreibung nicht mehr in der Bewertung. Ich erlaube mir dafür, noch einen anderen Punkt zu bewerten.


Bewertung:

Aufbau: 6
Absolut nichts zu bemängeln. Einleitung und Schluss sowie eine logische Reihenfolge sind vorhanden. Einzig ein Inhaltsverzeichnis würde ich mir wünschen, geht bei 12 Seiten aber gerade noch ohne. Auch Seitenzahlen wären nett gewesen, ist so aber in einer Doku in Digitalform OK.

Schwierigkeit: 5
Eigentlich wird alles recht gut erklärt, aber: Ohne den kompletten Code ist es mühsam zu verstehen. Der wird wahrscheinlich noch kommen, dennoch 1 Punkt Abzug.

Schönheit des Textes sowie Layout: 5
Die etwas abgehackten Sätze sind unbequem zu lesen (vor allem in längeren Fliesstexten, z.B. der Einleitung, sodass man schon am Anfang müde wird) und der Code wird manchmal (z.B. S.5) mittendrin auf eine zweite Zeile gesetzt (ohne Formatierung). Nicht schlimm, aber auch nicht schön.

Das ist eine 5 1/3 (=5.3333) und damit sehr gut.

Gruss
cwriter
 
Danke für die Kritik! Ja wie gesagt an der Rechtschreibung wird noch gefeilt :) Aber wie genau meinst du das mit ganzem Code? Also die Engine hat ungefähr 220 Dateien ^^ Ich hatte mir das so gedacht, dass ich die Engine als Lib und DLL kompiliere, die Header und Sourcecodes mitliefre, und Tutorials sowie ein Doku zu schreiben :) Oder wie meinst du das jetzt? Also bis die komplette Engine kommt dauert es noch etwas. Sie wird ja auch ständig weiterentwickelt ;) Es ging mir ja auch darum, ob man alles versteht und ob doch noch zu komplizierte Sachen dabei sind. Physik ist ja wirklich das schwerste. Also ich kann mal eine Funktion von der Physik posten. Dann kannst du ja sagen ob du das meinst:
C++:
NewtonBody* RigidBodyHandler::CreateLevelCollision( NewtonWorld* nWorld , Model* CollisionModel, Matrix matLevel )
{
	HRESULT hr=S_OK;
	NewtonCollision*	collision;
	D3DXVECTOR3    		vArray[3];
	NewtonBody* 		m_levelBody;

	D3DXVECTOR3* vVertexArray = (D3DXVECTOR3*)CollisionModel->GetVerts();
	int vertcount = CollisionModel->GetNumVertices();
	DWORD* vIndexArray = CollisionModel->GetIndicies();
	int indexcount = CollisionModel->GetNumIndices();

	collision = NewtonCreateTreeCollision( nWorld, 0);

	NewtonTreeCollisionBeginBuild( collision );

	for( int i = 0; i < indexcount; i+=3)
	{
		WORD d1 = (WORD)vIndexArray[i];
		WORD d2 = (WORD)vIndexArray[i+1];
		WORD d3 = (WORD)vIndexArray[i+2];
		
		vArray[0] = vVertexArray[d1];
		vArray[1] = vVertexArray[d2];
		vArray[2] = vVertexArray[d3];
		
		D3DXVECTOR3 e0 = vArray[1] - vArray[0];
		D3DXVECTOR3 e1 = vArray[2] - vArray[0];	
		
		NewtonTreeCollisionAddFace( collision, 3, (float*)vArray[0], sizeof(D3DXVECTOR3), i+1);
	}

	NewtonTreeCollisionEndBuild( collision, 1);
	m_levelBody = NewtonCreateBody( nWorld, collision, matLevel);
	
	NewtonReleaseCollision ( nWorld, collision);

	return m_levelBody;
}
Das wäre zB für die Levelcollision.
 
Zuletzt bearbeitet von einem Moderator:
Das Problem ist halt einfach, dass in der Doku viele Funktionen stehen, aber von fast keinen der Source einsehbar ist. Normalerweise ist das auch kein Problem, wenn man einfach nur ein Spiel auf einer Engine baut, aber wenn man einige Dinge (z.B. Shader oder was weiss ich) ändern möchte, ist es einfacher, wenn man den Source kennt.
Kommt halt auch darauf an, wie weit man in der Kern gehen will, aber nur die main.cpp in den Source-Ordner zu legen, ist dann doch ein bisschen scheinheilig (sorry für den Ausdruck), denn das nützt dem Benutzer ja schlussendlich nix.

Bin übrigens gespannt auf eine "grössere" Version der Engine. Hätte da auch schon ein paar Ideen für Games ;-)

Gruss
cwriter
 
Zurück