Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[content] Cleanup of the User, Overview, Contribute and Community sections #39

Merged
merged 1 commit into from
Dec 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 24 additions & 16 deletions docs/00_overview/00_startHere.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,22 @@ id: overview.intro
title: Overview
slug: /
---

# Ethereal Engine

Ethereal Engine is a free, open, full-stack MMO engine that anyone can run for
any reason - to host events, make games, showcase art, or just to provide a space for your community. There are plenty of platforms on which you can spend a bit to have a world, but you can't be in complete control of the experience or customise it from the ground up.
Ethereal Engine is a free, open, full-stack MMO engine that anyone can run for any reason - to host events, make games, showcase art, or just to provide a space for your community. There are plenty of platforms on which you can spend a bit to have a world, but you can't be in complete control of the experience or customise it from the ground up.

When the Ethereal Engine stack is deployed, that stack is sovereign, open and cross
platform by default. Users can create any kind of game or experience with no limits.
With the tech that's being built now, users will be able to seamlessly travel
through portals from any worlds to any other world, on different servers, and have all
their data and identity travel with them.
When the Ethereal Engine stack is deployed, that stack is sovereign, open and cross platform by default.
Users can create any kind of game or experience with no limits.
With the tech that's being built now, users will be able to seamlessly travel through portals from any worlds to any other world, on different servers,
and have all their data and identity travel with them.

This technology is for everyone, but especially people who want to build or
belong to a community.
This technology is for everyone, but especially people who want to build or belong to a community.

![](./images/ethereal-engine.jpg)

## WebXR Engine
The core engine is the heart of Ethereal Engine. Based around the WebXR spec, brought to life with libraries such as [threejs](https://threejs.org/), [bitecs](https://github.com/NateTheGreatt/bitECS), [rapier.js](https://github.com/dimforge/rapier.js), [Mediasoup WebRTC](https://github.com/versatica/mediasoup), [reactjs](https://reactjs.org/) & [hookstatejs](https://hookstate.js.org/). With the latest understanding of Data-Oriented Design, ECS and Event-Sourcing paradigms, we have put together a robust MMO XR framework that rivals AAA capabilities, quality and speed.
The core engine is the heart of Ethereal Engine. Based around the WebXR spec, brought to life with libraries such as [threejs](https://threejs.org/), [bitecs](https://github.com/NateTheGreatt/bitECS), [rapier.js](https://github.com/dimforge/rapier.js), [Mediasoup WebRTC](https://github.com/versatica/mediasoup), [reactjs](https://reactjs.org/) & [hookstatejs](https://hookstate.js.org/).
With the latest understanding of Data-Oriented Design, ECS and Event-Sourcing paradigms, we have put together a robust MMO XR framework that rivals AAA capabilities, quality and speed.

![](./images/treehouse.jpeg)

Expand All @@ -36,16 +33,27 @@ Running on the backend is a state of the art fullstack framework, template & dep
![](./images/backend-k8s.jpg)

## Ethereal Studio
The Studio sits on top of the engine, as a heavily modified version of [Mozilla Hubs' Spoke editor](https://hubs.mozilla.com/spoke). It has been transformed with the engine and the web app to provide a fast and comprehensive Content Management System, file browser, cloud edge caching, content pipeline tools and other creator tools.
The Studio is fully integrated with the engine. It is a heavily modified version of [Mozilla Hubs' Spoke editor](https://hubs.mozilla.com/spoke), that has been deeply transformed to provide a fast and comprehensive Content Management System, File Browser, Cloud Edge Caching, Content Pipeline Tools and other creator tools for Ethereal Engine.

![](./images/puttclub-editor.jpg)

## Project API
The Project API is the core of what makes Ethereal Engine shine - the ability to load your own scenes, assets & code with a click of a button. Using github, we allow users to have fully version controlled access to extend the base functionality. You can see examples of the Project API in action [here](https://etherealengine.com/explore) and [here](https://github.com/EtherealEngine/ee-development-test-suite)


![](./images/project-api.jpg)
```ts
import type { ProjectConfigInterface } from '@etherealengine/projects/ProjectConfigInterface'

const config: ProjectConfigInterface = {
onEvent: './projectEventHooks.ts',
thumbnail: '/static/etherealengine_thumbnail.jpg',
routes: {
'/examples': {
component: () => import('./examplesRoute')
}
}
}

export default config
```

## Stack Overview

![](./images/stack.png)
9 changes: 8 additions & 1 deletion docs/01_gettingStarted/00_intro.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
# Introduction
_This page will contain an Introduction to the Getting Started section._
<!--
NOTE: This section is a fork in the road.
In this page, readers will decide on which path to take next.
They should be presented with a choice to become creator,developer,host,user.
This page should send them directly to the relevant `Become a ...` tutorial/guide.
-->
_This page will contain an Introduction to the Getting Started section._
_In the meantime, please refer to the [Manual](/docs/category/manual) section for more information._
8 changes: 7 additions & 1 deletion docs/01_gettingStarted/01_guest.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
# Using the Engine
_This page will contain a guide on how to get started using Ethereal Engine as a Guest._
<!--
NOTE: This page should contain:
- Hero Project: Showcases all features of Ethereal Engine's user interface, tools and controls.
- Guide: Teaches a new user how to use and be comfortable with the Hero Project.
-->
_This page will contain a guide on how to get started using Ethereal Engine as a Guest._
_In the meantime, please refer to the [Manual/User](/docs/manual/guest/intro) section for more information._
8 changes: 7 additions & 1 deletion docs/01_gettingStarted/02_creator.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
# Become a Creator
_This page will contain a guide on how to get started creating content in Ethereal Engine._
<!--
NOTE: This page should contain:
- Hero Project: Showcase for Ethereal Engine's content creation tools and workflows.
- Guide: Teaches a new user how to create and be comfortable with the Hero Project.
-->
_This page will contain a guide on how to get started creating content in Ethereal Engine._
_In the meantime, please refer to the [Manual/Creator](/docs/manual/creator/intro) section for more information._
14 changes: 12 additions & 2 deletions docs/01_gettingStarted/03_developer.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
# Become a Developer
<!--
NOTE: This page should contain:
- Hero Project: Showcase for Ethereal Engine's development tools and workflows.
- Guide: Teaches a new user how to program the Hero Project and be comfortable with EE project development.
- Nocode-vs-Typescript:
No-Code: Segue into the Behave Graph Section of the Developer Manual
Typescript: Segue into the Developer Manual
-->
_This page will contain a guide on how to get started programming with Ethereal Engine._
_No-Code: Segway into the Behave Graph Section of the Developer Manual_
_Typescript: Segway into the Developer Manual_

_In the meantime, please refer to the [Manual/Developer](/docs/manual/developer/intro) section for more information._
_Ethereal Engine also has a NoCode alternative to programming, called [Behave Graph](/docs/manual/developer/behaveGraph)._

7 changes: 7 additions & 0 deletions docs/01_gettingStarted/04_host.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
# Become a Host
<!--
NOTE: This page should contain:
- Hero Project: Showcase for Ethereal Engine's hosting tools and technologies.
- Guide: Teaches a new user how to host their own Hero Project and be comfortable with EE's hosting tools.
-->
_This page will contain a guide on how to get started hosting Ethereal Engine worlds/locations._
_In the meantime, please refer to the [Manual/Hosting](/docs/manual/host/intro) section for more information._

3 changes: 2 additions & 1 deletion docs/03_manual/01_guest/00_intro.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# User Manual
Whether you're a gamer, a shopper or just here to explore, Ethereal Engine has something for you.
_This section will explain everything that there is to know about using Ethereal Engine._

In this section you will learn everything that there is to know about using Ethereal Engine.
19 changes: 16 additions & 3 deletions docs/03_manual/01_guest/99_faq.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,27 @@
# Frequently Asked Questions

## Is it free to use?
Ethereal Engine is itself an engine, used to create a variety of platforms. The engine itself is open source under a CPAL license so anyone can use the engine on their own device. Each creator has control over the access to individual experiences, which may be paid experiences (such as games).
Ethereal is a general purpose engine and platform that can be used by creators to provide access to fully customizable experiences.

The engine itself is open source, under a `CPAL` license. Anyone can host Ethereal Engine for free in their own device.

It is up to each creator to decide if the services they provide should be paid or free, and who has access to the experiences and services they provide.
Examples:
- Free access to virtual online shop, but buying items in its stores would be paid
- A VR book club community with weekly meetings that is completely free for everyone
- A videogame that is provided as a "pay once" experience
- A free-to-play videogame that anyone can play on their phone.

## Do I need a powerful computer?
Not at all! With graceful degredation, the environment will automatically adapt to ensure a balance between performance and quality.
Performance on each individual device will depend on its hardware and how each individual experience was created. Some experiences will require more resources than others.
But in all cases, Ethereal Engine will automatically adapt to your device to ensure a good balance between quality and performance.

## What devices do I need to use?
Ethereal Engine is built to be compatible across all devices including desktop, mobile, tablet, VR, and AR devices.
Performance on individual devices depends on hardware performance and how you create each experience.


<!-- TODO: Make a `TroubleShooting` section, -->
<!-- and change this answer so that it sends the user there -->
## The world is not loading, what do I do?
Try turning off ad blocker, and make sure your browser is up to date.

8 changes: 7 additions & 1 deletion docs/03_manual/05_license.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
# License
_This page will contain Ethereal Engine's License and usage guidelines._
Ethereal Engine is [open-source](https://github.com/EtherealEngine/etherealengine), under the terms and conditions of the [CPAL](https://github.com/EtherealEngine/etherealengine/blob/dev/LICENSE) license.
Attribution is required if you wish to use Ethereal Engine under [CPAL](https://github.com/EtherealEngine/etherealengine/blob/dev/LICENSE).
Please see the attribution guidelines in Ethereal Engine's [LICENSE](https://github.com/EtherealEngine/etherealengine/blob/dev/LICENSE) file.

Other licensing options are available, please contact us for more information.

[CPAL](https://github.com/EtherealEngine/etherealengine/blob/dev/LICENSE) - Copyright (c) 2021-2023 Ethereal Engine, formerly known as XREngine by XR Foundation
46 changes: 45 additions & 1 deletion docs/98_contributing/00_intro.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,46 @@
# Get Involved
_This page will contain Contributing Guidelines and resources._
<!--
List of things to contribute: (This page should explain all of them)
- TODO:extend: Participate in the community
- TODO:extend: Create projects and host your own worlds
- TODO:extend: Get involved with the engine's development
- Contribute code
- Testing and reporting issues
- extend: Contribute to the documentation
- TODO: Contribute translations
- TODO: Donate
-->

## Participate in the community
The easiest way to get involved is to participate in Ethereal Engine's community.
Join us on your favorite [community channel](../99_community/00_intro.md) and become a part of the conversation.
Ask any questions that you may have and/or help other users with their questions.

## Create and Host your own worlds
Ethereal Engine is a platform aimed at helping you achieve your goals.
And nothing showcases a great tool better than some great projects made with it!

Complete the [Getting Started](../01_gettingStarted/00_intro.md) tutorials, learn to use the engine with the [Ethereal Engine Manuals](/docs/category/manual), create a cool project that you love and then share it with the world.
<!-- TODO: Revise the copywriting of this paragraph after the `Promote Ethereal Engine` copy has been revised, so that it segues better into the next section. -->

## Promote Ethereal Engine
Talk about the engine with people you know. Let them know about those cool projects that you have created, or those locations that you like the most. Being a user and overall advocate of Ethereal Engine is a great way to help growing the community.
<!-- TODO: Improve the copywriting quality of this paragraph with better marketing information, based on Ethereal's marketing strategy. -->

## Contribute to Ethereal Engine's development
Ethereal Engine is an open-source project, based on the [CPAL](https://github.com/EtherealEngine/etherealengine/blob/dev/LICENSE) license.
You can find the source code of the engine on Ethereal Engine's [GitHub](https://github.com/EtherealEngine/etherealengine) repository, and some guidelines on how to contribute to its codebase in the [Contributing](https://github.com/EtherealEngine/etherealengine#contributing) section of the repository's readme.

## Testing and reporting issues
Our team is constantly on the lookout for potential issues during development, and we have a really high standard for Code Reviewing and QA _(Quality Assurance)_. But sometimes bugs can go unnoticed and sneak into release versions of the codebase.
Because of this, another great way to contribute is by reporting errors, problems or issues that may show up in different versions of Ethereal Engine.

Search for the issue in our [Issues List](https://github.com/EtherealEngine/etherealengine/issues), and open a new one if you think that what you found has not been reported yet.

## Contribute to Ethereal Engine's documentation
Documentation tasks are a great way to get started if you are new to the engine and/or development in general.

If you are comfortable with code, the engine also uses `JSDoc` and `TypeDoc` for generating its [API documentation](https://etherealengine.github.io/etherealengine-docs/typedoc), which is generated form the source code of the main Ethereal Engine's [source code repository](https://github.com/EtherealEngine/etherealengine).

For an easier task, the documentation website you are reading right now is maintained from its own [GitHub repository](https://github.com/EtherealEngine/etherealengine-docs). Find something that you think could be improved in this website, and either open an issue or send a PR with your proposed changes.

42 changes: 39 additions & 3 deletions docs/99_community/00_intro.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,41 @@
# Community
_This page will contain Ethereal Engine's Community Resources and Information._
<!--
TODO: Divide the page into sections when they become relevant in the futures
## Community Channels
## Community Tutorials
## Community Assets
-->

_current : Community channels._
_future : Community content and assets_
You can join Ethereal Engine's community on:
- [Twitter](https://twitter.com/xr_engine)
- [Facebook](https://www.facebook.com/xrengine/)
- [Discord](https://discord.gg/xrf)

Feel free to ask any questions that may come up.
We are here to help!


<!------------------------------------------->
<!-- current : Community channels -->
<!------------------------------------------->
<!--
## Community channels
- [Twitter](https://twitter.com/xr_engine)
- [Facebook](https://www.facebook.com/xrengine/)
- [Discord](https://discord.gg/xrf)
-->


<!------------------------------------------->
<!-- future : Community content and assets -->
<!------------------------------------------->

<!--
## Community Tutorials
This section will contain a list of third-party tutorials and resources created by the community.
-->

<!--
## Community Assets
This section will contain a list of third-party assets created by the community.
-->