A simple Periscope Simulator
Creator: Ricardo S. Bastos
- Instructions:
These instructions can be accessed directly from the simulator at any time pressing "1" (controls),
or "3" (tutorial).
- Sources (URLs) for models and textures and code examples used in the project:
Array and textureless GLSL 2D/3D/4D simplex noise functions used on sea surface written by Ian McEwan, Ashima Arts.
Distributed under the MIT License (https://github.com/ashima/webgl-noise).
Example put together with skybox and sea texture by Michael Guerrero - MOVES Institute
Nautical Chart: http://salvador-nautico.blogspot.com/2010/10/carta-nautica.html
Play Button: http://www.severithalat.com/slide.php
First page music is a soundtrack composed by Klaus Doldinger for the german movie "Das Boot", the best submarine's movie ever.
The music played during the game is "Five Armies", downloaded from www.soundbible.com.
Warships made by modifying models originally made by Brazilian Navy Simulations Department. I needed to export from 3DS Max as objMTL format,
, simplify it in Blender reducing complexity to work better on browser, and manually remap textures.
Online examples that helped me to figure out come from:
http://threejs.org/
Mainly about the method to modify dinamically the height of the vertices on a plan, to make the
effect of waves, and about how to use the render-to-texture feature.
- A list of modeling/texturing work that you did yourself (so I can give appropriate credit)
Most of the textures were made or modified using Gimp. Buttons and tutorials made using MS Powerpoint.
- Brief description of the process of making this project. Was any aspect unexpectedly hard?
Basically it was a process of listing what are the basic features avaiable in a periscope, and figuring
out how to reproduce it in a similar manner using three.js.
- Cutting room floor.
Issues in which I put a lot of work, but are not showing:
- Google Map: A google map app was included in previous versions, but it would not be useful for this demo.
- Particle system simulating the water splash at the bow of the ships: Working, but needs several adjustments.
- Water splash on the periscope lens: Needs adjustments to look more realistic.
- Files access via javascript: The objective is to allow the user to use his own nautical chart. Not useful for this final project.
- Known technical issues and future work:
- The stadimeter needs to be better calibrated to be more consistent with reality
- As a "game" it is too easy to cheat
- Sometimes the "rocking" of the boats goes crazy
- Event listeners are not working with mozzila Firefox