User:Fim

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
m
 
(6 intermediate revisions by one user not shown)
Line 1: Line 1:
I am a Virtual World Developer living in Frankfurt/Main,<br />
+
I am a Virtual World Enthusiast - developing an [http://www.manupool.de/en/the-geo 'Education Currency / Education Economy'] project.<br />
playing with OpenSimulator on a [http://www.s-config.com/opensimraspberry-pi-rasbian-hard-float-works/ Raspberry Pi2]<br />
+
and do some [http://campus.auge.de DIY Hardware] stuff.<br />
+
  
=== My Current Projects Related to OpenSimulator ===
+
=== OpenSimulator ===
<blockquote><div style="text-align:justify;">'''The Platform of Choice: OpenSimulator'''<br />
+
<blockquote><div style="text-align:justify;">'''The Platform of Choice'''<br />
 
OpenSimulator is a framework to create, host and distribute Virtual 3D Environments of all sizes. The 3D Simulator can run on local machines as well as being hosted on server infrastructure to provide broader access to the environment. It comes with an extendable module concept, to provide a large variety of applicability. [https://en.wikipedia.org/wiki/Serious_game Serious Games], Architecture, Landscaping, City Planning and various educational use cases are utilizing the platform - especially for visualization and simulation, fostering creativity and providing educational experiences. It provides a large set of group management tools. Text chat, voice chat, topic votings are some useful features for instance. The finegrained ownership and permission control for Data, 3D Areas and Virtual Objects is unique at the time. An outstanding feature is the so called [[Hypergrid|Hypergrid]]. Distributed simulations can be connected and become a continuous virtual 3D Environment or Simulation. Many Universities and other educational institutions do link their simulations to facilitate a seamless experience for their students. Designing in 3D and scripting interactive experiences demand a variety of skills, spatial visualization ability, mathematical and programming wise - which can be achieved within the learning environment by 'Trial and error', 'Learning by doing', structured lessons or interactive classes. OpenSimulator is therefore an extraordinary versatile environment to develop and provide [https://en.wikipedia.org/wiki/STEM_fields STEM] learning experiences - preferably self-paced and self-driven, to all types of students/learner.</div></blockquote>
 
OpenSimulator is a framework to create, host and distribute Virtual 3D Environments of all sizes. The 3D Simulator can run on local machines as well as being hosted on server infrastructure to provide broader access to the environment. It comes with an extendable module concept, to provide a large variety of applicability. [https://en.wikipedia.org/wiki/Serious_game Serious Games], Architecture, Landscaping, City Planning and various educational use cases are utilizing the platform - especially for visualization and simulation, fostering creativity and providing educational experiences. It provides a large set of group management tools. Text chat, voice chat, topic votings are some useful features for instance. The finegrained ownership and permission control for Data, 3D Areas and Virtual Objects is unique at the time. An outstanding feature is the so called [[Hypergrid|Hypergrid]]. Distributed simulations can be connected and become a continuous virtual 3D Environment or Simulation. Many Universities and other educational institutions do link their simulations to facilitate a seamless experience for their students. Designing in 3D and scripting interactive experiences demand a variety of skills, spatial visualization ability, mathematical and programming wise - which can be achieved within the learning environment by 'Trial and error', 'Learning by doing', structured lessons or interactive classes. OpenSimulator is therefore an extraordinary versatile environment to develop and provide [https://en.wikipedia.org/wiki/STEM_fields STEM] learning experiences - preferably self-paced and self-driven, to all types of students/learner.</div></blockquote>
  
Line 13: Line 11:
 
There is a variety of clients available for any platform - providing access for all imaginable use cases. VR headsets, gamepads, 3D navigators, mouses, joysticks and keyboards do support a wide range of interaction possibilities - even devices using electro-encephalogram (EEG) data can be utilized.</div></blockquote>
 
There is a variety of clients available for any platform - providing access for all imaginable use cases. VR headsets, gamepads, 3D navigators, mouses, joysticks and keyboards do support a wide range of interaction possibilities - even devices using electro-encephalogram (EEG) data can be utilized.</div></blockquote>
  
<blockquote><div style="text-align:justify;">'''The Benefit of a Web-based Viewer'''<br />
 
Content creators need users, users do not need content creation tools. While most of the existing clients for OpenSimulator are focused on content creation for a good reason, content developer and users lack a viewer - to just access, view or interact with the 3D Environment. In the recent past, OpenSimulator(-ish) Environments did provide a diverse toolchain to be or to become creative in multiple ways. The easiness to do so, using the frameworks clients, fostered the forming of an independend cluster comprised of artists, designers, coder, engineers, educators and scientists - collaborating interdisciplinary on tasks and projects of all sizes and kind. Those creators are often surprisingly imaginative, coming up with unexpected application of ideas, concepts and design - for their sheer pleasure but also for educational and scientific reasons. Many of those collaborators managed to advance their capabilities of creativity - often through 'learning by doing', that they achieved to become experts in their field of content creation, programming, visualization and prototyping using the 3D environment. To provide broader access to those developments, an easy way to do so is needed - and there already is a solution emerging.</div></blockquote>
 
 
<blockquote><div style="text-align:justify;">'''Web browsers''' became the standard software on mostly any platform and all consumer devices. They are an universal tool to access information, to communicate, watch television, play games, learn and even work. Utilising such clients is a necessity to reach a broader audience - and a prerequisite for any application whose success is measured in quantitative terms (user figures). The advancement of Web browser functionality via HTML5, Canvas or [http://mozvr.github.io/webvr-spec/webvr.html WebVR] - and the ongoing progress of Moore's law has enhanced the capacity of electronic consumer devices, so that CPU/GPU-intensive applications can nowadays be run on small size gadgets and within regular Web browsers. It is technically possible to access OpenSimulator Environments via browser – to which extent depends on the capabilities of the consumers device. Following is a basic concept for the development of such an application.</div></blockquote>
 
 
===="A walkable 3D map"====
 
The idea for this approach, to develop some kind of OpenSimulator Web-based viewer, emerged by a conversation on the OpenSimulator [http://list.opensim-edu.org/listinfo.cgi/education-opensim-edu.org Educator's Mailinglist]
 
 
<blockquote><div style="text-align:justify;">'''Development Philosophy'''<br />
 
Information Technology is one of the fastest evolving areas in 'tech'. In the past decade, peer to peer (P2P), 'Blockchain' technology was changing the approach to many B2C solutions, towards a more decentralized system - which 'the internet' once was. [https://en.wikipedia.org/wiki/Diaspora_%28software%29 Diaspora], [https://en.wikipedia.org/wiki/YaCy YaCy], [https://en.wikipedia.org/wiki/Freifunk Freifunk] - to name some - are representing the 'reconquest' of user data ownership, privacy control and actually - power. While it is efficent to re-use existing code (snippets) and building upon existing developments - it gives constraints. On the other hand it can be inspiring and timesaving. The development philosophy for "A walkable 3D map" worded in one sentence: ''"Empower individuals while using 'free resources efficiently' and utilize decentralized approaches."''</div></blockquote>
 
 
=====Step One=====
 
Wording a Functional Specifications Document ([http://en.wikipedia.org/wiki/Functional_specification FSD)] - Utilizing a "3D Snapshot" of an OpenSimulator Region ([[OpenSim_Archives|.oar archive]] file)
 
<blockquote><div style="text-align:justify;">
 
*Walk through via web browser -> [http://en.wikipedia.org/wiki/WebGL WebGL] / [http://threejs.org/ three.js]
 
* Ability to display 3D content (static, No [[LSL_Status| LSL]])
 
* Movement control and camera control panels.
 
* HUD functionality using JavaScript
 
* No inventory access
 
* No login required
 
* Ability to load different teleport locations into a fixed teleport HUD
 
* Region map with teleport capability
 
* Runs from local install/USB key
 
* Settings menu / autodetection draw distance
 
* Chat (Text) functionality
 
* Open Source licence
 
* Please participate!</div></blockquote>
 
<blockquote><div style="text-align:justify;">'''This is how the web-based viewer will work'''<br />
 
''Visiting the regions web-based viewer page'' is showing a window into the '3D Snapshot' region, the size of the window is determined by the performance of the users client. The window is overlayed by a translucent layer showing an opaque button labelled "Start Now!". By clicking the button, a 'captcha' field appears. Passing the [https://en.wikipedia.org/wiki/Turing_test 'Turing test'], the translucent layer disappears and the back of an avatar inside the 3D Snapshot is shown. Simultaneously - a [[NPC|'NPC']] avatar 'spawned' inside the dependend simulator - at the regions Landing Point. The user can now operate the avatar. The location of in-simulator avatars can be transmitted into the '3D Snapshot', they are represented by a prim or by a textured mesh. The location of a 3D Snapshot avatar can be represented inside the simulator via NPC. Also shown is a 2D Region map utilizing JavaScript to 'teleport' to another spot. Movement control, camera control panels, the Region map and a settings menu icon are overlaying the scene - but can be folded up. The draw distance can be set manually too. Every 24 hours a snapshot ([[OpenSim_Archives|.oar]]) of the current region state is created, which is then converted to a format WebGL can render. The data of avatar locations can be provided via [[Communication_Protocols|xml-rpc or UDP]]. A possibility for text chat on the webpage is given - which can be relayed to the corresponding simulator region, in-world chat can be forwarded to the chat client on the website too.</div></blockquote>
 
<blockquote><div style="text-align:justify;">
 
'''Collision detection (3D Collision Map)'''<br />
 
If (since) the user is operating the in-simulator avatar, the position would be transmitted 'to the 3D Snapshot'. This approach would require that newly rezzed in-simulator objects 'become physical' by the creation of the 3D Snapshot and in-simulator objects are not changing their position. 
 
*3D Snapshot
 
#[https://stemkoski.github.io/Three.js/Collision-Detection.html three.js Collision detection]
 
</div></blockquote>
 
=====Communication=====
 
<blockquote><div style="text-align:justify;">User
 
#IRC Front end » [https://github.com/francisbrito/webchat A minimalist Web IRC client]
 
#IRC Back end » [[IRCBridgeModule|IRCBridgeModule]]
 
#[http://www.webrtc.org/ WebRTC]
 
</div></blockquote>
 
=====Step Two will be=====
 
<blockquote><div style="text-align:justify;">Writing a parser/converter for '.oar' files using [https://www.python.org/ python] to extract data - which then is used utilizing three.js.
 
#[https://github.com/mrdoob/three.js/tree/master/utils/converters Existing converters]
 
</div></blockquote>
 
=====The Glossary=====
 
<blockquote><div style="text-align:justify;"><span style="color:#000000; background:#66FF33">||||| |||| |||||</span></div></blockquote>
 
=====Resources=====
 
<blockquote><div style="text-align:justify;">
 
[https://docs.google.com/document/d/1O1oDf8tlM0987exT-OaYSBuN4TzHcW59kHClsgi4Sb4/edit?usp=sharing Blake's 'Viewer Functional Requirement Document' based on AjaxLife]<br />
 
[[Developer_Documentation|OpenSimulator Developer Documentation]]<br />
 
[http://mozvr.github.io/webvr-spec/webvr.html WebVR - Editor’s Draft] (via CJ)<br />
 
[http://g.co/webrtc WebRTC and Web Audio resources]<br />
 
[http://en.wikipedia.org/wiki/WebGL WebGL]<br />
 
[http://threejs.org/ three.js]<br />
 
*[http://chandlerprall.github.io/Physijs/ Physijs - Physics plugin for three.js]
 
*[https://github.com/kripken/ammo.js ammo.js - Port of the Bullet physics engine using Emscripten] (via Peter)
 
*[http://learningthreejs.com/blog/2012/06/05/3d-physics-with-three-js-and-physijs/ Learning three.js - Physics with three.js and Physijs]
 
*[http://www.threejsgames.com/extensions/ THREEx - Games Extensions for three.js]
 
</div></blockquote>
 
[[User_talk:Fim| - feed back here! -]]<br />
 
 
<hr>
 
<hr>
[[Special:Categories|Categories]] [[:Category:Development|Development]] [[:Category:Proposal|Proposal]] [[:Category:Users|Users]]
+
[mailto:support@threedservices.com Contact me.]<br />

Latest revision as of 01:03, 1 June 2020

I am a Virtual World Enthusiast - developing an 'Education Currency / Education Economy' project.

[edit] OpenSimulator

The Platform of Choice
OpenSimulator is a framework to create, host and distribute Virtual 3D Environments of all sizes. The 3D Simulator can run on local machines as well as being hosted on server infrastructure to provide broader access to the environment. It comes with an extendable module concept, to provide a large variety of applicability. Serious Games, Architecture, Landscaping, City Planning and various educational use cases are utilizing the platform - especially for visualization and simulation, fostering creativity and providing educational experiences. It provides a large set of group management tools. Text chat, voice chat, topic votings are some useful features for instance. The finegrained ownership and permission control for Data, 3D Areas and Virtual Objects is unique at the time. An outstanding feature is the so called Hypergrid. Distributed simulations can be connected and become a continuous virtual 3D Environment or Simulation. Many Universities and other educational institutions do link their simulations to facilitate a seamless experience for their students. Designing in 3D and scripting interactive experiences demand a variety of skills, spatial visualization ability, mathematical and programming wise - which can be achieved within the learning environment by 'Trial and error', 'Learning by doing', structured lessons or interactive classes. OpenSimulator is therefore an extraordinary versatile environment to develop and provide STEM learning experiences - preferably self-paced and self-driven, to all types of students/learner.
OpenSimulator is available for free -
under consideration of mentioning the original copyright holder and the copyright notice is retained. The utilized licence (BSD) allows OpenSimulator to be integrated into proprietary products and developments. This type of licence empowers students to build upon the existing functionalety of the framework, to integrate it into their own developments, come up with individual solutions or jump start their own business venture. It is the largest OpenSource project of its kind - written in C# - which is activly developed and maintained. Volunteers, independent developers, Universities, non profit institutions and corporations are contributing to the projects source code regularly.
Accessing OpenSimulator: 3D Environment Clients
There is a variety of clients available for any platform - providing access for all imaginable use cases. VR headsets, gamepads, 3D navigators, mouses, joysticks and keyboards do support a wide range of interaction possibilities - even devices using electro-encephalogram (EEG) data can be utilized.

Contact me.

Personal tools
General
About This Wiki