Version 13 vs 20
Version 13 vs 20
Edits
Edits
- Edit by 0xseantasker, Version 20
- Sep 3 2024 6:52 PM
- Edit by Timotheos, Version 13
- Feb 28 2022 4:47 PM
- ·Added a note about Echo being free and open source, based on the `LICENSE` text found in the Echo repository.
Edit Older Version 13... | Edit Current Version 20... |
Content Changes
Content Changes
{F1300 layout=right, float, size=full, alt="Echo logo"}
**Echo** is a cross-platform C++ framework and game engine for mobile, desktop and consoles. It is free and open source, under the permissive [[https://en.wikipedia.org/wiki/MIT_License|MIT licence]].
Development for Echo is usually done on a [[https://en.wikipedia.org/wiki/Linux|Linux]] PC, with deployment options for other major platforms, so that is the recommended development setup. [[http://ubuntu.com/|Ubuntu]]-based distributions are recommended.
See [[projects/echo_3/getting_started/|Getting Started]] with Echo3.
==Echo 3==
- Platform abstraction
- Data storage
- Sensors
- Networking
- Time
- User input
- Localisation
- Audio
- Graphics
- GUIs
- Execution environment
- Physics
- Maths
- Animation
- UTF8 support
{F1300 layout=right, float, size=full, alt="Echo logo"}
**Echo** is a cross-platform C++ framework and game engine for mobile, desktop and consoles. It is free and open source, under the permissive [[https://en.wikipedia.org/wiki/MIT_License|MIT licence]].
The primary goals of Echo are:
- Facilitate experimentation with consistent abstractions for a wide variety of platforms, toolchains and C++ standards, enabling write once core logic.
- Performance is important so abstractions are designed to give target implementations the flexibility to deal with details as needed. In some situations it is possible to pre-process and prepare code and data to optimise for the target.
- Enable a minimum level of graphics support that "echoes" past capabilities. This doesn't mean modern features won't be available (e.g PBR) but those won't necessarily backwards compatible.
- Be modular and easy to port a subset or all functionality to new platforms without too much trouble.
- Provide base functionality to enable software to run on older or unusual hardware. This often sacrifices some C++ standard features in place of platform abstractions to ensure target hardware is capable of running code. If this is not important to your then you can ignore the corresponding Echo implementations of features in place of C++ standards.
Development for Echo is primarily done on a [[https://en.wikipedia.org/wiki/Linux|Linux]] PC, with deployment options for other major platforms, so that is the recommended development setup. [[http://ubuntu.com/|Ubuntu]]-based distributions are recommended. Some users have had success on other distributions though.
Development on Windows can be made easier using [[https://github.com/SeanTasker/edepbuild|edepbuild]] for which there is a PowerShell version available.
See [[projects/echo_3/getting_started/|Getting Started]] with Echo3.
Echo is the origin of [[https://github.com/SeanTasker/edepbuild|edepbuild build script]].
==Echo 3==
Features:
- Platform abstraction
- Configuration handling
- Abstract factory
- File system and data access abstractions
- Virtual File System
- Networking including socket and web-socket support
- Time
- User input
- Sensors
- Audio
- Graphics
- GUIs
- Execution environment
- Physics
- Maths
- Tile maps
- Animation
- Localisation
- UTF8 support
- [[https://github.com/SeanTasker/edepbuild`|A framework for managing dependencies]]
- For each platform officially supported there are numerous tools provided
==Projects==
Echo is the framework that supports the following projects:
- Unnamed high throughput commercial computer vision system
- [[https://www.subbtitle.com/|Subbtitle]]
- [[https://www.emblementertainment.com.au/index.php?p=Multi-Sudoku|Multi-Sudoku]]
- [[https://www.emblementertainment.com.au/index.php?p=Mawashi%20Madness|Mawashi Madness]]
- [[https://www.emblementertainment.com.au/index.php?p=Remote%20Keyboard|Remote Keyboard]] Input method for Android. Including PC Application and Android app
{F1300 layout=right, float, size=full, alt="Echo logo"}
**Echo** is a cross-platform C++ framework and game engine for mobile, desktop and consoles. It is free and open source, under the permissive [[https://en.wikipedia.org/wiki/MIT_License|MIT licence]].
Development for Echo is usually
The primary goals of Echo are:
- Facilitate experimentation with consistent abstractions for a wide variety of platforms, toolchains and C++ standards, enabling write once core logic.
- Performance is important so abstractions are designed to give target implementations the flexibility to deal with details as needed. In some situations it is possible to pre-process and prepare code and data to optimise for the target.
- Enable a minimum level of graphics support that "echoes" past capabilities. This doesn't mean modern features won't be available (e.g PBR) but those won't necessarily backwards compatible.
- Be modular and easy to port a subset or all functionality to new platforms without too much trouble.
- Provide base functionality to enable software to run on older or unusual hardware. This often sacrifices some C++ standard features in place of platform abstractions to ensure target hardware is capable of running code. If this is not important to your then you can ignore the corresponding Echo implementations of features in place of C++ standards.
Development for Echo is primarily done on a [[https://en.wikipedia.org/wiki/Linux|Linux]] PC, with deployment options for other major platforms, so that is the recommended development setup. [[http://ubuntu.com/|Ubuntu]]-based distributions are recommended. Some users have had success on other distributions though.
Development on Windows can be made easier using [[https://github.com/SeanTasker/edepbuild|edepbuild]] for which there is a PowerShell version available.
See [[projects/echo_3/getting_started/|Getting Started]] with Echo3.
==Echo 3==Echo is the origin of [[https://github.com/SeanTasker/edepbuild|edepbuild build script]].
==Echo 3==
Features:
- Platform abstraction
- Data storage- Configuration handling
- Sensors- Abstract factory
- File system and data access abstractions
- Virtual File System
- Networking including socket and web-socket support
- Time
- User input
- Localisation- Sensors
- Audio
- Graphics
- GUIs
- Execution environment
- Physics
- Maths
- Tile maps
- Animation
- Localisation
- UTF8 support
- [[https://github.com/SeanTasker/edepbuild`|A framework for managing dependencies]]
- For each platform officially supported there are numerous tools provided
==Projects==
Echo is the framework that supports the following projects:
- Unnamed high throughput commercial computer vision system
- [[https://www.subbtitle.com/|Subbtitle]]
- [[https://www.emblementertainment.com.au/index.php?p=Multi-Sudoku|Multi-Sudoku]]
- [[https://www.emblementertainment.com.au/index.php?p=Mawashi%20Madness|Mawashi Madness]]
- [[https://www.emblementertainment.com.au/index.php?p=Remote%20Keyboard|Remote Keyboard]] Input method for Android. Including PC Application and Android app