
How to Make a Bouncing Ball Game for Nintendo DS - catskull
http://ekid.nintendev.com/bouncy/
======
TazeTSchnitzel
I didn't realise that DS 2D graphics were so traditional and primitive. I
suppose this explains why everything used pixel art: all the sprites were true
hardware sprites.

Not that it's a bad thing. Hardware sprite rendering is very efficient, in
terms of both speed and power consumption. That's important.

I assume the DS's 3D rendering pipeline is completely different.

~~~
ANTSANTS
The DS was designed to be backwards compatible with the GBA, so rather than
leave that required hardware to waste, the GBA's CPU was employed as a sound
and IO controller, and the GBA's 2D video hardware was mildly enhanced to suit
the DS. For the same reason, both the GBA and the DS provided access to the
Game Boy's PSG audio channels, and many games (moreso for the GBA) used them
alongside their "native" audio hardware for "free" square waves and noise.

The DS's 3D hardware is kinda strange. It only supports point
sampling/nearest-neighbor filtering, like a PlayStation, and has an SIMD-like
"geometry engine" not unlike it, for calculating matrix transformations and
basic vertex lighting, but it unlike the PlayStation, it has a depth buffer,
making it significantly easier to program. It has hardware support for
cel/"toon" shading, edge/outline rendering, and anti-aliasing, yet only 2048
polygons can be drawn per frame, due to the very limited vertex RAM. It's
kinda strange that they'd implement such features on hardware clearly hampered
by more pressing issues, but then again, cel-shading with outlines really
helps for readability on the low res 256x192 screens.

It's a very interesting combination of primitive and semi-sophisticated
elements, being Nintendo's last completely original video hardware before they
switched to an off-the-shelf chip with the 3DS. Hilariously underpowered
compared to its contemporary, the PSP, that it thoroughly trounced in the
marketplace anyway.

~~~
Gurkenmaster
In some games the models are of pretty high quality but the hardware couldn't
keep up so they had to lower the displayed quality.

[https://i.imgur.com/fyFlk4V.png](https://i.imgur.com/fyFlk4V.png)

Left: real NDS

Right: Emulated

~~~
ANTSANTS
I was going to include that exact screenshot, but I didn't think the HN crowd
would be down with iM@S.

------
gcb0
i thought I'd never live to see devkitpro people (assuming the author of that
site is affiliated) promoting a closed source emulator.

