Aperture Science DS

From GameBrew

Revision as of 07:51, 28 October 2021 by HydeWing (talk | contribs)
Aperture Science DS (portalDS)
Authorsmealum, lobo
Last Updated2013/08/21
TypePuzzle Platform
Versionr1 (Aug 2013)

Aperture Science DS​, previously known as Portal DS, is an adaptation of the Valve's puzzle platform game Portal for the Nintendo DS.

The game includes 14 levels made by smealum, loganino and tenteran. It features most of the mechanics found in the original, in addition, a full-fledged on-board level editor inspired by portal 2's own perpetual testing initiative.

The project has been released as part of the NEO Coding Compo 2013.


  • Working portals (you can place them, look through them, go through them)​.
  • Player physics (for instance, momentum is conserved when going through a portal, flinging works great)​.
  • A full fledged rigid body physics engine for turrets, cubes and stuff.
  • Mini gravity gun.​
  • An on-board and intuitive level editor​.
  • More or less working puzzle elements (e.g.buttons, dispensers, turrets, energy ball things, doors, emancipation grids)​.
  • An entirely new gameplay mechanic (not fully implemented yet)​.


This game requires nitroFS. If your flashcart's menu does not support nitroFS (some menus that do include Wood R4 and the supercard DStwo's menu), please download hbmenu and use it to run the game.

The included asds folder should be placed in the same directory as the nds file. The folder will however be created automatically if it is not found.

To add new maps to your game, place the .map files in the /asds/maps/ folder.

User guide

Navigate through a series of test chambers using the Aperture Science Handheld Portal Device, or portal gun.

Controls are fully customizable via the config.ini file found in the asds folder. Take a look at the included one for more information and an already prepared no-touch control scheme.

Level editor

The editor is inspired by portal 2 with the following options:

  • Select objects, planar block selection or 3D block selection.
  • Use contextual buttons for actions related to what you've selected, for instance, make stuff (un)portalable, fill/delete or add sludge.
  • Pull/push blocks to create level geometry.

List of shared maps

  • Unintended Mechanics by banjo2 (a set of 5 levels collection, available from the release thread).

To play the custom levels, put the .map files with your other maps in /asds/maps/.


In game:

D-Pad or A/B/X/Y - Move

Touchscreen - Aim

R/L - Shoot, Grab items, Activate timed buttons

Start - Pause


D-Pad or A/B/X/Y - Move, Look around

Start - Save

Touchscreen - Select/place/edit objects


aperturescience2.png aperturescience5.png

aperturescience3.png aperturescience4.png


Aperture Science DS : test chamber (smea)

Aperture Science DS : level editor (smea)

Known issues

Developer stated that being the first public release, the game is incomplete with glitches present but it is mostly playable.



  • The first (and only) publicly released version of the Aperture Science DS.


The code was written entirely by smealum (http://smealum.net, http://twitter.com/smealum) and the graphics were all made by Lobo (http://infectuous.com, http://twitter.com/infectuous).


  • The code for the rigid body dynamics engine is heavily based on Chris Hecker's articles.
  • The code for loading ini files was written by N. Devillard.
  • The code used for level data compression was taken from GRIT.
  • The code used for loading MD2 models and PCX files was written by David HENRY.
  • This project uses libnds and maxmod.
  • xmem.c was written by SunDEV.

External links