Foren Aktuelles Erstellen Mitglieder Anmelden

3DS Nintendo 2DS/3DS

Benutzer, welche sich diesen Thread anschauen:

satzberger schrieb:
Wiedermal ein Gerücht und wenn das stimmt dann wow: der 3DS soll technisch (fast) am level von Xbox 360 und ps3 sein

Quelle: http://www.games-news.de/go/geruecht_3ds_befindet_sich_technisch_fast_auf_einem_level_mit_ps3_und_xbox360/1027807/geruecht_3ds_befindet_sich_technisch_fast_auf_einem_level_mit_ps3_und_xbox360.html?url=%2Fnl%2Fgeruecht_3ds_befindet_sich_technisch_fast_auf_einem_level_mit_ps3_und_xbox360%2F1027807%2Fgeruecht_3ds_befindet_sich_technisch_fast_auf_einem_level_mit_ps3_und_xbox360.html%3Furl%3D%252F

Dann würde das Handheld ja die Wii stehen lassen. :ugly:
 
Wahrscheinlich irgendwelche Minispiele in 3D, die nicht besonders hübsch sind. Alles nur Vermutungen natürlich, vielleicht haut es einen ja auch weg
 
Für "irgendwelche" Minispiele in 3D entwickelt man doch keine ganz neue Technologie. Es wird alles was ganz eigenes und nicht nur ein DS mit Minispielen in 3D - genauso wie offiziell angekündigt ;)
 
Manche reden eben ohne sich zu informieren. Das der Nintendo 3DS der offizielle Nchfolger des Nintendo DS wird, eben sowas wie der GameBoy Advance zum GameBoy, und nicht bloß eine neue Version wie bspw. der Nintendo DS Lite zum Nintendo DS, das haben sie nicht mitbekommen [obwohl es u.a. auf der ersten Seite dieses unglaublich langen Threads steht]. Ist ja Nintendo, also erstmal kritisieren, stört ja keinen, besonders hier nicht. ;)
 
Der 3DS wird mit Abstand der größte "Star" auf der E3. Da können MS und Sony mit Ihren Bewegungssteuerungen (welche übrigens viel zu spät kommen) wenig entgegen setzen. :grins:
 
America`s Most Wanted schrieb:
Manche reden eben ohne sich zu informieren. Das der Nintendo 3DS der offizielle Nchfolger des Nintendo DS wird, eben sowas wie der GameBoy Advance zum GameBoy, und nicht bloß eine neue Version wie bspw. der Nintendo DS Lite zum Nintendo DS, das haben sie nicht mitbekommen [obwohl es u.a. auf der ersten Seite dieses unglaublich langen Threads steht]. Ist ja Nintendo, also erstmal kritisieren, stört ja keinen, besonders hier nicht. ;)

Die können soviel ankündigen wie sie wollen, noch hat man sich davon nicht selbst überzeugen können. Das hat sich Nintendo halt selbst zuzuschreiben
 
Wo sind die bewegten Bilder? Wo sind unabhängige Tests?

edit: Bevor mir jetzt jemand sagt, die gibts natürlich noch nicht, nehm ichs vorweg: Auf die warte ich lieber, bevor ich Nintendo glaube, dass sie mal etwas technisch fortschrittliches entwickeln :D
 
Hä? Verstehe ich nicht. Wenn ein Hersteller einen Nachfolger (kein Modellupgrade ala DS-XXL o.ä.) für eine Hardware rausbringt muss man doch mit einem technischen Fortschritt rechnen. Nur für Minispiele (die es ohne Frage geben wird) auf aktuellem DS-Grafik Niveau wird Nintendo wohl kaum seine Männer Monate/Jahre lang ins Labor schicken. :skep:
 
Django schrieb:
Hä? Verstehe ich nicht. Wenn ein Hersteller einen Nachfolger (kein Modellupgrade ala DS-XXL o.ä.) für eine Hardware rausbringt muss man doch mit einem technischen Fortschritt rechnen.

Beim Gamecube zur Wii war der Schritt zumindest nicht da. In der Peripherie schon, aber nicht Grafik und Co.
 
AryloN schrieb:
edit: Bevor mir jetzt jemand sagt, die gibts natürlich noch nicht, nehm ichs vorweg: Auf die warte ich lieber, bevor ich Nintendo glaube, dass sie mal etwas technisch fortschrittliches entwickeln :D

Der DS ist imo das innovativste bzw. fortschrittlichste was es je von Nintendo gegeben hat. Aber wahrscheinlich meinst du eher die Grafik. :kaffee:

flexx schrieb:
Django schrieb:
Hä? Verstehe ich nicht. Wenn ein Hersteller einen Nachfolger (kein Modellupgrade ala DS-XXL o.ä.) für eine Hardware rausbringt muss man doch mit einem technischen Fortschritt rechnen.

Beim Gamecube zur Wii war der Schritt zumindest nicht da. In der Peripherie schon, aber nicht Grafik und Co.

Wenn hier nur die Grafik als technischer Fortschritt herhalten muss stimme ich dir zu. Ich dachte aber dass das Thema Fortschritt da etwas weiter reicht.
 
flexx schrieb:
Django schrieb:
Hä? Verstehe ich nicht. Wenn ein Hersteller einen Nachfolger (kein Modellupgrade ala DS-XXL o.ä.) für eine Hardware rausbringt muss man doch mit einem technischen Fortschritt rechnen.

Beim Gamecube zur Wii war der Schritt zumindest nicht da. In der Peripherie schon, aber nicht Grafik und Co.

vielleicht haben sie aber auch einfach nur "verstanden" was die Masse wollte/will und dass es einfach noch nicht rentiert ebenfalls auf high end performance zu setzen.

Der Erfolgt gibt ihnen ja irgendwo auch recht.

Ich denke auch dass der 3DS kräftig einschlagen wird :dhoch:
 
Natürlich ist das nicht einfach nur ein Nintendo DS mit 3D Funktion.. Die Grafik wird wohl irgendwo zwischen Wii und XBOX 360 liegen. Freu mich jedenfalls scho darauf :)
 
Das was man letztendlich auf dem Bildschirm des Nintendo 3DS sehen wird wird imo auf PSP-Niveau oder etwas darüber liegen, denn diese Technik ist inzwischen so "alt" das Nintendo einen ordentlichen und nicht zu teuren Launchpreis anbieten kann und gleichzeitig noch Gewinn macht, so wie sie es seit nunmehr über 25 Jahren halten. ;)

flexx schrieb:
Beim Gamecube zur Wii war der Schritt zumindest nicht da.

Natürlich ist da ein Schritt da. Super Mario Galaxy [2] wäre bspw. auf dem GameCube und der Xbox grafisch nicht möglich. :kaffee:

AryloN schrieb:
Die können soviel ankündigen wie sie wollen, noch hat man sich davon nicht selbst überzeugen können. Das hat sich Nintendo halt selbst zuzuschreiben

AryloN schrieb:
Wo sind die bewegten Bilder? Wo sind unabhängige Tests?
edit: Bevor mir jetzt jemand sagt, die gibts natürlich noch nicht, nehm ichs vorweg: Auf die warte ich lieber, bevor ich Nintendo glaube, dass sie mal etwas technisch fortschrittliches entwickeln :D

:fp:
 
America`s Most Wanted schrieb:
Das was man letztendlich auf dem Bildschirm des Nintendo 3DS sehen wird wird imo auf PSP-Niveau oder etwas darüber liegen, denn diese Technik ist inzwischen so "alt" das Nintendo einen ordentlichen und nicht zu teuren Launchpreis anbieten kann und gleichzeitig noch Gewinn macht, so wie sie es seit nunmehr über 25 Jahren halten. ;)

flexx schrieb:
Beim Gamecube zur Wii war der Schritt zumindest nicht da.

Natürlich ist da ein Schritt da. Super Mario Galaxy [2] wäre bspw. auf dem GameCube und der Xbox grafisch nicht möglich. :kaffee:


Wie kommst du bitte auf DIESEN schluss?

SMG (2) hat grandioses Art-Design aber technisch ist das jetzt wirklich nichts aufregendes. Die Texturen mögen bei der Wii gegebenfalls einen hauch besser realisierbar sein als die bei der Xbox (etwas mehr Ram), aber Leistungsmäßig, vorallem im Grafikbereich, ist die Wii der originalen Xbox kaum gewchsen; zumal meinem Wissen nach die Grafikhardware nocht nicht mal programmierbare Shadereinheiten besitzt.

Zum Thema 3DS heissts wohl abwarten und Tee trinken. Grafisch sollte er meines Erachtens schon deutlich mehr als die PSP können, alles andere wäre für mich enttäuschend. In etwa gehobenes Gamecube oder Xbox 1-Niveau wäre *imo* durchaus ausreichend :)

Aber du solltest dich wirklich nicht auf die Leute stürtzen, die sowas erstmal anzweifeln; wenn man Nintendos gängige Firmenpolitik in betracht zieht, sind die "Sorgen" durchaus begründet.. Im Grunde ist es ja auch der richtige Weg, für die Menge, aber vielen Zockern geht dieser Stillstand in Sachen Hardware-leistung zugunsten von innovativer (muss auch nicht jeder mögen!) Peripherie halt gegen den strich.
 
Dixxhead schrieb:
Wie kommst du bitte auf DIESEN schluss? [...] aber technisch ist das jetzt wirklich nichts aufregendes [...]

In dem ich mich mit Leuten unterhalte die die technischen Daten etwas besser deuten können als so ziehmlich alle hier. Oh, und in dem ich sowohl eine Xbox als auch Wii besitze und vergleichen kann, im Gegensatz zu vielen vielen Wii-Kritikern. Btw. können wir Laien die "Technik" eines Spieles gar nicht einschätzen [falls du kein Laie bist müsstest du ja die technischen Infos von EAD Tokyo über Mario Galaxy 2 haben], denn die sieht so aus:

/*
===========================================================================
Copyright (C) 1997-2006 Id Software, Inc.

This file is part of Quake 2 Tools source code.

Quake 2 Tools source code is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.

Quake 2 Tools source code is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Quake 2 Tools source code; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
===========================================================================
*/

#include "cmdlib.h"
#include "mathlib.h"
#include "polylib.h"


extern int numthreads;

// counters are only bumped when running single threaded,
// because they are an awefull coherence problem
int c_active_windings;
int c_peak_windings;
int c_winding_allocs;
int c_winding_points;

#define BOGUS_RANGE 8192

void pw(winding_t *w)
{
int i;
for (i=0 ; i<w->numpoints ; i++)
printf ("(%5.1f, %5.1f, %5.1f)\n",w->p[0], w->p[1],w->p[2]);
}


/*
=============
AllocWinding
=============
*/
winding_t *AllocWinding (int points)
{
winding_t *w;
int s;

if (numthreads == 1)
{
c_winding_allocs++;
c_winding_points += points;
c_active_windings++;
if (c_active_windings > c_peak_windings)
c_peak_windings = c_active_windings;
}
s = sizeof(vec_t)*3*points + sizeof(int);
w = malloc (s);
memset (w, 0, s);
return w;
}

void FreeWinding (winding_t *w)
{
if (*(unsigned *)w == 0xdeaddead)
Error ("FreeWinding: freed a freed winding");
*(unsigned *)w = 0xdeaddead;

if (numthreads == 1)
c_active_windings--;
free (w);
}

/*
============
RemoveColinearPoints
============
*/
int c_removed;

void RemoveColinearPoints (winding_t *w)
{
int i, j, k;
vec3_t v1, v2;
int nump;
vec3_t p[MAX_POINTS_ON_WINDING];

nump = 0;
for (i=0 ; i<w->numpoints ; i++)
{
j = (i+1)%w->numpoints;
k = (i+w->numpoints-1)%w->numpoints;
VectorSubtract (w->p[j], w->p, v1);
VectorSubtract (w->p, w->p[k], v2);
VectorNormalize(v1,v1);
VectorNormalize(v2,v2);
if (DotProduct(v1, v2) < 0.999)
{
VectorCopy (w->p, p[nump]);
nump++;
}
}

if (nump == w->numpoints)
return;

if (numthreads == 1)
c_removed += w->numpoints - nump;
w->numpoints = nump;
memcpy (w->p, p, nump*sizeof(p[0]));
}

/*
============
WindingPlane
============
*/
void WindingPlane (winding_t *w, vec3_t normal, vec_t *dist)
{
vec3_t v1, v2;

VectorSubtract (w->p[1], w->p[0], v1);
VectorSubtract (w->p[2], w->p[0], v2);
CrossProduct (v2, v1, normal);
VectorNormalize (normal, normal);
*dist = DotProduct (w->p[0], normal);

}

/*
=============
WindingArea
=============
*/
vec_t WindingArea (winding_t *w)
{
int i;
vec3_t d1, d2, cross;
vec_t total;

total = 0;
for (i=2 ; i<w->numpoints ; i++)
{
VectorSubtract (w->p[i-1], w->p[0], d1);
VectorSubtract (w->p, w->p[0], d2);
CrossProduct (d1, d2, cross);
total += 0.5 * VectorLength ( cross );
}
return total;
}

void WindingBounds (winding_t *w, vec3_t mins, vec3_t maxs)
{
vec_t v;
int i,j;

mins[0] = mins[1] = mins[2] = 99999;
maxs[0] = maxs[1] = maxs[2] = -99999;

for (i=0 ; i<w->numpoints ; i++)
{
for (j=0 ; j<3 ; j++)
{
v = w->p[j];
if (v < mins[j])
mins[j] = v;
if (v > maxs[j])
maxs[j] = v;
}
}
}

/*
=============
WindingCenter
=============
*/
void WindingCenter (winding_t *w, vec3_t center)
{
int i;
float scale;

VectorCopy (vec3_origin, center);
for (i=0 ; i<w->numpoints ; i++)
VectorAdd (w->p, center, center);

scale = 1.0/w->numpoints;
VectorScale (center, scale, center);
}

/*
=================
BaseWindingForPlane
=================
*/
winding_t *BaseWindingForPlane (vec3_t normal, vec_t dist)
{
int i, x;
vec_t max, v;
vec3_t org, vright, vup;
winding_t *w;

// find the major axis

max = -BOGUS_RANGE;
x = -1;
for (i=0 ; i<3; i++)
{
v = fabs(normal);
if (v > max)
{
x = i;
max = v;
}
}
if (x==-1)
Error ("BaseWindingForPlane: no axis found");

VectorCopy (vec3_origin, vup);
switch (x)
{
case 0:
case 1:
vup[2] = 1;
break;
case 2:
vup[0] = 1;
break;
}

v = DotProduct (vup, normal);
VectorMA (vup, -v, normal, vup);
VectorNormalize (vup, vup);

VectorScale (normal, dist, org);

CrossProduct (vup, normal, vright);

VectorScale (vup, 8192, vup);
VectorScale (vright, 8192, vright);

// project a really big axis aligned box onto the plane
w = AllocWinding (4);

VectorSubtract (org, vright, w->p[0]);
VectorAdd (w->p[0], vup, w->p[0]);

VectorAdd (org, vright, w->p[1]);
VectorAdd (w->p[1], vup, w->p[1]);

VectorAdd (org, vright, w->p[2]);
VectorSubtract (w->p[2], vup, w->p[2]);

VectorSubtract (org, vright, w->p[3]);
VectorSubtract (w->p[3], vup, w->p[3]);

w->numpoints = 4;

return w;
}

/*
==================
CopyWinding
==================
*/
winding_t *CopyWinding (winding_t *w)
{
int size;
winding_t *c;

c = AllocWinding (w->numpoints);
size = (int)((winding_t *)0)->p[w->numpoints];
memcpy (c, w, size);
return c;
}

/*
==================
ReverseWinding
==================
*/
winding_t *ReverseWinding (winding_t *w)
{
int i;
winding_t *c;

c = AllocWinding (w->numpoints);
for (i=0 ; i<w->numpoints ; i++)
{
VectorCopy (w->p[w->numpoints-1-i], c->p);
}
c->numpoints = w->numpoints;
return c;
}


/*
=============
ClipWindingEpsilon
=============
*/
void ClipWindingEpsilon (winding_t *in, vec3_t normal, vec_t dist,
vec_t epsilon, winding_t **front, winding_t **back)
{
vec_t dists[MAX_POINTS_ON_WINDING+4];
int sides[MAX_POINTS_ON_WINDING+4];
int counts[3];
static vec_t dot; // VC 4.2 optimizer bug if not static
int i, j;
vec_t *p1, *p2;
vec3_t mid;
winding_t *f, *b;
int maxpts;

counts[0] = counts[1] = counts[2] = 0;

// determine sides for each point
for (i=0 ; i<in->numpoints ; i++)
{
dot = DotProduct (in->p, normal);
dot -= dist;
dists = dot;
if (dot > epsilon)
sides = SIDE_FRONT;
else if (dot < -epsilon)
sides = SIDE_BACK;
else
{
sides = SIDE_ON;
}
counts[sides]++;
}
sides = sides[0];
dists = dists[0];

*front = *back = NULL;

if (!counts[0])
{
*back = CopyWinding (in);
return;
}
if (!counts[1])
{
*front = CopyWinding (in);
return;
}

maxpts = in->numpoints+4; // cant use counts[0]+2 because
// of fp grouping errors

*front = f = AllocWinding (maxpts);
*back = b = AllocWinding (maxpts);

for (i=0 ; i<in->numpoints ; i++)
{
p1 = in->p;

if (sides == SIDE_ON)
{
VectorCopy (p1, f->p[f->numpoints]);
f->numpoints++;
VectorCopy (p1, b->p[b->numpoints]);
b->numpoints++;
continue;
}

if (sides == SIDE_FRONT)
{
VectorCopy (p1, f->p[f->numpoints]);
f->numpoints++;
}
if (sides == SIDE_BACK)
{
VectorCopy (p1, b->p[b->numpoints]);
b->numpoints++;
}

if (sides[i+1] == SIDE_ON || sides[i+1] == sides)
continue;

// generate a split point
p2 = in->p[(i+1)%in->numpoints];

dot = dists / (dists-dists[i+1]);
for (j=0 ; j<3 ; j++)
{ // avoid round off error when possible
if (normal[j] == 1)
mid[j] = dist;
else if (normal[j] == -1)
mid[j] = -dist;
else
mid[j] = p1[j] + dot*(p2[j]-p1[j]);
}

VectorCopy (mid, f->p[f->numpoints]);
f->numpoints++;
VectorCopy (mid, b->p[b->numpoints]);
b->numpoints++;
}

if (f->numpoints > maxpts || b->numpoints > maxpts)
Error ("ClipWinding: points exceeded estimate");
if (f->numpoints > MAX_POINTS_ON_WINDING || b->numpoints > MAX_POINTS_ON_WINDING)
Error ("ClipWinding: MAX_POINTS_ON_WINDING");
}


/*
=============
ChopWindingInPlace
=============
*/
void ChopWindingInPlace (winding_t **inout, vec3_t normal, vec_t dist, vec_t epsilon)
{
winding_t *in;
vec_t dists[MAX_POINTS_ON_WINDING+4];
int sides[MAX_POINTS_ON_WINDING+4];
int counts[3];
static vec_t dot; // VC 4.2 optimizer bug if not static
int i, j;
vec_t *p1, *p2;
vec3_t mid;
winding_t *f;
int maxpts;

in = *inout;
counts[0] = counts[1] = counts[2] = 0;

// determine sides for each point
for (i=0 ; i<in->numpoints ; i++)
{
dot = DotProduct (in->p, normal);
dot -= dist;
dists = dot;
if (dot > epsilon)
sides = SIDE_FRONT;
else if (dot < -epsilon)
sides = SIDE_BACK;
else
{
sides = SIDE_ON;
}
counts[sides]++;
}
sides = sides[0];
dists = dists[0];

if (!counts[0])
{
FreeWinding (in);
*inout = NULL;
return;
}
if (!counts[1])
return; // inout stays the same

maxpts = in->numpoints+4; // cant use counts[0]+2 because
// of fp grouping errors

f = AllocWinding (maxpts);

for (i=0 ; i<in->numpoints ; i++)
{
p1 = in->p;

if (sides == SIDE_ON)
{
VectorCopy (p1, f->p[f->numpoints]);
f->numpoints++;
continue;
}

if (sides == SIDE_FRONT)
{
VectorCopy (p1, f->p[f->numpoints]);
f->numpoints++;
}

if (sides[i+1] == SIDE_ON || sides[i+1] == sides)
continue;

// generate a split point
p2 = in->p[(i+1)%in->numpoints];

dot = dists / (dists-dists[i+1]);
for (j=0 ; j<3 ; j++)
{ // avoid round off error when possible
if (normal[j] == 1)
mid[j] = dist;
else if (normal[j] == -1)
mid[j] = -dist;
else
mid[j] = p1[j] + dot*(p2[j]-p1[j]);
}

VectorCopy (mid, f->p[f->numpoints]);
f->numpoints++;
}

if (f->numpoints > maxpts)
Error ("ClipWinding: points exceeded estimate");
if (f->numpoints > MAX_POINTS_ON_WINDING)
Error ("ClipWinding: MAX_POINTS_ON_WINDING");

FreeWinding (in);
*inout = f;
}


/*
=================
ChopWinding

Returns the fragment of in that is on the front side
of the cliping plane. The original is freed.
=================
*/
winding_t *ChopWinding (winding_t *in, vec3_t normal, vec_t dist)
{
winding_t *f, *b;

ClipWindingEpsilon (in, normal, dist, ON_EPSILON, &f, &b);
FreeWinding (in);
if (b)
FreeWinding (b);
return f;
}


/*
=================
CheckWinding

=================
*/
void CheckWinding (winding_t *w)
{
int i, j;
vec_t *p1, *p2;
vec_t d, edgedist;
vec3_t dir, edgenormal, facenormal;
vec_t area;
vec_t facedist;

if (w->numpoints < 3)
Error ("CheckWinding: %i points",w->numpoints);

area = WindingArea(w);
if (area < 1)
Error ("CheckWinding: %f area", area);

WindingPlane (w, facenormal, &facedist);

for (i=0 ; i<w->numpoints ; i++)
{
p1 = w->p;

for (j=0 ; j<3 ; j++)
if (p1[j] > BOGUS_RANGE || p1[j] < -BOGUS_RANGE)
Error ("CheckFace: BUGUS_RANGE: %f",p1[j]);

j = i+1 == w->numpoints ? 0 : i+1;

// check the point is on the face plane
d = DotProduct (p1, facenormal) - facedist;
if (d < -ON_EPSILON || d > ON_EPSILON)
Error ("CheckWinding: point off plane");

// check the edge isnt degenerate
p2 = w->p[j];
VectorSubtract (p2, p1, dir);

if (VectorLength (dir) < ON_EPSILON)
Error ("CheckWinding: degenerate edge");

CrossProduct (facenormal, dir, edgenormal);
VectorNormalize (edgenormal, edgenormal);
edgedist = DotProduct (p1, edgenormal);
edgedist += ON_EPSILON;

// all other points must be on front side
for (j=0 ; j<w->numpoints ; j++)
{
if (j == i)
continue;
d = DotProduct (w->p[j], edgenormal);
if (d > edgedist)
Error ("CheckWinding: non-convex");
}
}
}


/*
============
WindingOnPlaneSide
============
*/
int WindingOnPlaneSide (winding_t *w, vec3_t normal, vec_t dist)
{
qboolean front, back;
int i;
vec_t d;

front = false;
back = false;
for (i=0 ; i<w->numpoints ; i++)
{
d = DotProduct (w->p, normal) - dist;
if (d < -ON_EPSILON)
{
if (front)
return SIDE_CROSS;
back = true;
continue;
}
if (d > ON_EPSILON)
{
if (back)
return SIDE_CROSS;
front = true;
continue;
}
}

if (back)
return SIDE_BACK;
if (front)
return SIDE_FRONT;
return SIDE_ON;
}



DAS ist die Technik eines Spieles, und nicht etwa das was wir auf dem Fernseher sehen, denn das was wir sehen ist nur das was wir sehen sollen.

Aussage eines Spieleentwicklers:

Spiele entwickeln ist Hütchenspiel. Was Du zu sehen glaubst ist selten das, was wirklich passiert. Was Du für AA hältst ist oft nur ein billiger selektiver Weichzeichner. Was Du für hohen Polycount hältst ist oft clevere Textur- oder Shader-Trickserei. Oder einfach nur ein Potemkinsches Dorf mit 'ner intelligent gewählte Kameraperspektive. Weit entfernt scheinende Objekte sind oft gar keine. Du siehst keine Wireframes. Du siehst kein Culling. Oder Instancing, oder Cloning, oder Framebuffer-Tricksereien. Wenn Du eine Reflexion siehst, weißt Du auch normalerweise nicht, ob die nun echt ist, oder 'ne simple Environment Map. Das lässt sich endlos und für praktisch jedes grafische Element eines Spiels fortsetzen.

Grundsätzlich kann man einfach mal sagen, dass jedes Spiel so viele Polys zu pushen versucht, wie die Hardware eben hergibt. Oder so viele Texturen pinselt bis der Speicher knarrt. Das sind aber limitierende Faktoren der Hardware. Es gibt sicherlich 'ne ganze Reihe von Spielen auf der PS3, die mit Uncharted 2 vergleichbare Polycounts haben. Uncharted 2 sieht also nicht besser aus, weil die Polycounts höher sind. Und auch Naughty Dog kann sich keinen VRAM aus den Rippen schneiden, nutzt folglich nicht mehr als andere Spiele. Warum sehen dann manche Spiele besser aus als andere? In erster Linie deshalb, weil gute Entwickler die Ressourcen intelligenter verteilen. Das hat interessanterweise viel mehr mit Psychologie, Pacing und nicht zuletzt Kameraführung zu tun denn mit der tatsächlichen Technik. Und das Budget spielt natürlich auch 'ne Rolle, denn auch Fleißarbeit ist oft wichtiger als Technik.


Und DAS sieht man dann als Entwickler:

Profiler-0.jpg


;)

Aber hier mal ein wunderschöner [etwas älterer] Text zur Power von Wii von jemanden der selbst Spieleentwickler ist und weit mehr Infos bekommt bzw. hat als wir jemals werden, u.a. deswegen weil er im Besitz eines Wii-Devkits ist/war:

Also im Web habe ich wenig gefunden bezüglich Wii Hardware.
Bis auf Aufbau der Hardware, findet man kaum eine "eindeutige" Beschreibung.
http://popsci.typepad.com/popsci/2006/11/wii_broke_it.html

Es gibt nur Hinweise und Andeutungen im Netz.
Die richtigen Hardwaredaten wären im DevKit für den Final.
Ich selbst hab leider nur das DevKit des erweiterten Cubes (Nov. Revolution Kit), aber nicht die Final Hardware.

Das heißt man darf sich eigentlich alle Infos im Netz zusammensuchen und puzzeln. =)

Aber fangen wir mal mit CPU und GPU an.

Die CPU "Broadway" z.B basiert auf einem PowerPC und der 750CL Serie.
Bei IBM hat man nun die Mögichkeit, die Datasheets anzusehen.
http://www-306.ibm.com/chips/techlib/techlib.nsf/products/PowerPC_750CL_Microprocessor

Was jetzt auffällt ist, dass der 750CL einen 256KB-Level 2-Cache, und auf den Einsatz im Bereich Netzwerke, Speicher, Bildverarbeitung, Konsumerelektronik und andere Embedded-Anwendungsbereiche zielt und auf einem G5 basiert.
Die Taktfrequenz kann variable sein, je nachdem mit wieviel man die CPU versorgt. Sprich sie kann von 400 - 1000 MHz getaktet werden (ich glaube sogar, dass die unterschiedliche Taktrate die Emulation der anderen Konsolen fördert).
Also eine relativ aktuelle CPU die erst im November auf dem Markt gekommen ist und der kleine Bruder vom 970GX ist (dem aktuellsten Power PC G5, der auch erst Ende letztes Jahr erschienen ist).

Der Wii hat einen sehr modifizierten 750CL, der anscheinend sogar noch mehr kann, als die bei IBM gelistete CPU (im Datasheet).
Auch daran zu erkennen, dass der 750CL eigentlich eine Größe von 3,99 x 3,99 mm und die Wii CPU eine größe von 4,2 × 4,5 mm hat.

Man muss jetzt für einen Vergleich bedenken, dass die Xbox360 zur Emulation bzw für die Entwicklung ungefähr 3 G5 Rechner von 2005 braucht ( siehe E3 2005
http://www.computerbase.de/news/consumer_electronics/konsolen/microsoft/2005/mai/xbox_360/).

Man kann zwar einen 750CL nicht mit einem G5 Rechner vergleichen, aber an die Leistung kommt der Wii ungefähr hin. Vor allem muss man noch sagen, dass der Wii aufgrund von fehlenden HD sich 20% an Leistung spart.
[...]
Die GPU "Hollywood" ist realtiv schwierig einzuordnen.
Sie basiert auf dem Flipper und dem TEV (Texture Environment) Prinzip.
Einen Vergleich mit Desktop GPUs kann man daher nicht wirklich aufstellen. Man liest vieles in Bezug auf Hardwarevergleiche angefangen von R520 bis hin zu X1600. Aber 100% aussagekräftig ist es nicht, und zum Teil stimmt es auch nicht weil die Desktop GPUs alle auf Shader ausgerichtet sind.

Aber ansich war bereits der Flipper, der von ArtX (die ab 2001 in ATI integriert worden sind) entwickelt worden war, von der Leistung her relativ weit fortgeschritten.
Der Wii wird wahrscheinlich die Funktionen um einiges erweitert haben und mit Shader 2.0 und eventuell sogar Shader 3.0 mithalten können.
ATI selbst ist recht beeindruckt von seinem Chip, was drauf schließen lässt, dass er doch recht leistungsstark sein dürfte. (siehe Antwort von ATI nach E3 2006)
Aber die Handhabung für Entwickler dürfte das Problem machen (TEV, fehlende Middleware usw).

Ich habe nur die erweiterten Datenblätter vom Flipper hier (aus dem Revolution Dev Kit) und schon damit konnte man tolle Spielereien machen. Vorrausgesetzt man hatte die Zeit und den Nerv dafür sich durchzuarbeiten.

Auf jeden Fall übertrifft Hollywood die Xbox GPU um weiten, da sie wie gesagt um viele Eigenschaften erweitert wurde und bereits der Flipper an die Xbox GPU ranreichte.
Man spricht sogar davon, dass eine 2te TEV Einheit in der GPU wäre, was die Leistung nochmals deutlich nach oben pushen würden.
Man kann von daher schon sagen, dass der Wii eine GPU der aktuellen Generation hat, die aber bisher noch nichtmal ansatzweise ausgenutzt worden ist.

Fazit: Ja der Wii steckt im Grunde die Xbox + Gamecube locker in die Tasche.
Das man dies im Augenblick nicht erkennt, ist eine andere Frage.
Die Mehrleistung ist auf jeden Fall da.
Im Internet wirst du einiges über die CPU finden, aber die GPU ist fast unaufspürbar. Die Erklärung für TEV hab ich bereits im Hardwarethread geschildert (wo man auch erkennt, dass TEV relativ mächtig sind).
[...]
Sicherlich, mehr Physik benötigt mehr Power. Aber hier gibt's zwei signifikante Probleme: CELL (ausgenommen PowerXCell 8i) und Xenon sind auf Single-Precision Gleitkomma ausgelegt, und das ist viel zu ungenau, um Gameplay-relevante Physik zu realisieren. Entsprechend ist die Physik der HD-Spiele idR rein kosmetischer Natur, sie ins Gameplay zu integrieren wäre frustrierend, da sie sich unvorhersehbar verhält. Ein zweites Problem der PS360-CPUs ist die fehlende Branch-Prediction, die bei Physikberechnung extreme Vorteile bringen würde.

Broadway hat sicherlich nicht im Ansatz die Leistung der HD-CPUs, verfügt aber sowohl über eine sehr gute Branch-Prediction, als auch über die Möglichkeit, die zwei Single-Precision SIMD-Einheiten zu einer Double-Precision Einheit zusammenzuschalten. Die Gleitkommaleistung der CELL beispielsweise fällt bei Double-Precision Berechnungen auf einen Bruchteil (ein Siebtel, glaube ich) des angegebenen theoretischen Wertes. Zudem profitiert die Wii natürlich von der Tatsache, dass sie als einzige aktuelle Spielkonsole über einen dedizierten DSP für Audioberechnungen verfügt (kostet auf PS3 und Xbox360 rund 20% der CPU-Leistung), sowie über einen ARM9 als Koprozessor, der ebenfalls die CPU entlastet, indem er Funktionen wie die Steuerung des gesamten Netzwerk-Subsystems, der Eingabegeräte und so weiter übernimmt. Sicherlich wiegen diese Vorteile den Leistungsunterschied nicht vollständig auf, aber sie verringern den scheinbaren Unterschied.

Dazu kommt, dass man Physik erstaunlich gut "backen" kann. So funktionieren beispielsweise die Physik in Crysis oder die Cinematic Physics in Half-Life 2. Und diese Lösungen funktionieren auf der Wii so gut wie auf PS3 und 360, da die eigentliche Berechnungen ja gar nicht von den Konsolen selbst erledigt werden müssen.


Technisch ist Wii der Xbox ohne Probleme überlegen, nur benötigt es Zeit, Geld und das technische Wissen dies zu nutzen, und gerade in letzterem ist Nintendo gegenüber den 3rd`s was Devkits anbelangt immer etwas problematisch, weswegen die grafisch besten Spiele auf einer Nintendokonsole entweder von Nintendo selber oder von Entwicklern kommen die Nintendo nahe stehen.

Dixxhead schrieb:
Aber du solltest dich wirklich nicht auf die Leute stürtzen, die sowas erstmal anzweifeln;

Die meisten zweifeln es aber nicht an sondern labern einfach nur Müll. In Sachen Grafik wird der Nintendo 3DS den Nintendo DS weit hinter sich lassen [wofür schon PSP-Grafik ausreicht], das braucht man weder anzweifeln noch erwarten. :)
 
Spiele entwickeln ist Hütchenspiel. Was Du zu sehen glaubst ist selten das, was wirklich passiert. Was Du für AA hältst ist oft nur ein billiger selektiver Weichzeichner. Was Du für hohen Polycount hältst ist oft clevere Textur- oder Shader-Trickserei. Oder einfach nur ein Potemkinsches Dorf mit 'ner intelligent gewählte Kameraperspektive. Weit entfernt scheinende Objekte sind oft gar keine. Du siehst keine Wireframes. Du siehst kein Culling. Oder Instancing, oder Cloning, oder Framebuffer-Tricksereien. Wenn Du eine Reflexion siehst, weißt Du auch normalerweise nicht, ob die nun echt ist, oder 'ne simple Environment Map. Das lässt sich endlos und für praktisch jedes grafische Element eines Spiels fortsetzen.

Grundsätzlich kann man einfach mal sagen, dass jedes Spiel so viele Polys zu pushen versucht, wie die Hardware eben hergibt. Oder so viele Texturen pinselt bis der Speicher knarrt. Das sind aber limitierende Faktoren der Hardware. Es gibt sicherlich 'ne ganze Reihe von Spielen auf der PS3, die mit Uncharted 2 vergleichbare Polycounts haben. Uncharted 2 sieht also nicht besser aus, weil die Polycounts höher sind. Und auch Naughty Dog kann sich keinen VRAM aus den Rippen schneiden, nutzt folglich nicht mehr als andere Spiele. Warum sehen dann manche Spiele besser aus als andere? In erster Linie deshalb, weil gute Entwickler die Ressourcen intelligenter verteilen. Das hat interessanterweise viel mehr mit Psychologie, Pacing und nicht zuletzt Kameraführung zu tun denn mit der tatsächlichen Technik. Und das Budget spielt natürlich auch 'ne Rolle, denn auch Fleißarbeit ist oft wichtiger als Technik.

Zumindest das dürfte in diesem Forum aber als Allgemeinwissen gelten.
Ist ja nicht so dass sich hier niemand etwas für die Technik hinter den Spielen interessiert.

Und dann bleibt noch die Frage weshalb es bisher kein Wii Spiel gibt in dem nur ansatzweise wo viele Shader zum Einsatz kommen wie bei Splinter Cell Chaos Theory auf der Xbox. Dieses Spiel musst grafisch erst mal geschlagen werden...bis ich glaube, dass die Wii überhaupt auf einer Ebene mit der Xbox liegt.

Abgesehen davon hat Dixxhead wenn ich mich jetzt nicht komplett irre hier im Forum schon mehrmals sehr technische Texte verfasst die auf ein überdurchschnittliches Wissen was dies angeht hinweisen.

Und letztendlich bleiben ja allen Leuten noch immer die Vision Balls...auch als Augen bekannt...womit wir wieder bei Splinter Cell 3 wären.
 
Zurück
Oben