More actions
3DS Physics Sandbox | |
---|---|
File:3DS-Physics-Sandbox.jpeg | |
General | |
Author | pieface- |
Type | Other Games |
Version | 0.3 |
License | Mixed |
Last Updated | 2016/08/06 |
Links | |
Download | |
Website | |
Source | |
3ds Physics Sandbox
An application for messing with physics on the 3ds.
Current Features:
- Manipulate multiple different sized squares with the stylus
- Objects will bounce off of each other
- The squares are affected by gravity, with walls and friction
- Modifiable gravity, collision elasticity, and friction values
- Collisions calculation uses momentum of squares
- Take a screenshot
- Control gravity by tilting 3ds (accelerometer)
- Move camera with circle pad
- Walls that squares will bounce off of
- different squares and walls can be made using on screen ui ###Plans for the Future:
- Fix Banner Sound (Warning: sound may be irritable)
- Save and load state to and from file (coming v0.4)
- Different kinds of objects (like circles or custom shapes)
- Proper implementation of forces and vectors
- Tension and ropes
- Develop into physics library
- 3D physics
Controls:
- Tap and Drag square to move it
- X - Reset entire world
- B - bring selected square back to center of world
- DPad Left and Right - Change modifiable value
- DPad Up and Down - Increment current modifiable value
- L and R - Change increment (multiply and divide by 10)
- Circle Pad - move camera
- Y - toggle gyroscope as gravity
- Select - Save screenshot
- Start - Exit
Known Bugs:
- If squares are traveling fast enough, they can clip through walls (more apparent in smaller squares)
- Sometimes squares get "crushed" against vertical walls because of x gravity
To Do:
- Fix Banner Sound (Warning: sound may be irritable)
- More than one objectDone
- Different kinds of objects (like circles or custom shapes) - See Pipe01 Fork
- Proper implementation of forces/momentum and vectors
- Tension and ropes
- Develop into physics library
- 3D physics
Building:
This requires sf2dlib and expects the libsf2d directory to be in the same directory as 3dsphysicssandbox. Just run the makefile to build.
Changelog
v0.3
- Added support for up to 32 squares
- Added walls, immobile objects(lines) that objects bounce off of (up to 32)
- Removed square bouncing on edges of screen (by default replaced by walls in the same locations)
- Added camera, use circle pad to move view around
- Updated UI:
- Now contains two columns of information, global variables and object specific variables
- Change the mod_val scope to switch between these two
- All data of squares and walls can be modified (position, size, etc)
- Use obj_type to change between squares and walls
- Use curr_view to change which object you are looking at
- Use coord to change the objects position
- Use vel.x/y to change the square's velocity
- Use direction to change wall's direction
- Use length to change the objects size
- NOTE: the program stops searching through the array when it finds the first inactive object. Add new objects in order
- Press X to reset the entire world to default
- Press B to bring the currently selected square to the center of the world
- Started modularization of code
- Collision now takes momentum into account (more realistic collisions)
Screenshots
Credits to:
- Smealum - creator of ctrulib and the homebrew menu
- xerpi - creator of sf2dlib
License:
Copyright (c) 2016 PieFace
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.