Version 6 vs 20
Version 6 vs 20
Edits
Edits
- Edit by 0xseantasker, Version 20
- Sep 3 2024 6:52 PM
- Edit by 0xseantasker, Version 6
- Aug 19 2015 10:34 AM
Edit Older Version 6... | Edit Current Version 20... |
Content Changes
Content Changes
{F1300}
Echo 3 systems
- Platform
-- Physical information
--- Display
---- Supports full screen
---- Supports widowed mode
---- Is touch display
--- Vibrate
--- Sensors
---- Gyro
---- Accelerometer
---- GPS
- Data storage
- Sensors
- Networking
- Time
- User input
- Localisation
- Audio
- Graphics
-- Shader driven
-- Fixed pipeline
- Execution environment
-- Minimal
-- Kernel
- Platform game services interface
-- [[https://partner.steamgames.com/|Steam]]
-- [[https://developers.google.com/games/services/|Google Play games]] also [[https://developers.google.com/games/services/ios/quickstart|works with iOS]]
-- [[https://developer.apple.com/game-center/|Apple Game Center]]
{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}
Echo 3 systems
- Platform layout=right, float, size=full, alt="Echo logo"}
-- Physical information**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:
--- Display Facilitate experimentation with consistent abstractions for a wide variety of platforms, toolchains and C++ standards, enabling write once core logic.
---- Supports full screen 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.
---- Supports widowed mode 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.
---- Is touch display- Be modular and easy to port a subset or all functionality to new platforms without too much trouble.
--- Vibrate 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==
--- SensorsFeatures:
---- Gyro- Platform abstraction
---- Accelerometer- Configuration handling
---- GPS- Abstract factory
- D- File system and data storageaccess abstractions
- Sensors- Virtual File System
- Networking including socket and web-socket support
- Time
- User input
- Localisation- Sensors
- Audio
- Graphics
-- Shader driven
-- Fixed pipeline- GUIs
- Execution environment
-- Minimal 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:
-- Kernel- Unnamed high throughput commercial computer vision system
- Platform game services interface- [[https://www.subbtitle.com/|Subbtitle]]
--- [[https://partner.steamgameswww.emblementertainment.com/|Steam.au/index.php?p=Multi-Sudoku|Multi-Sudoku]]
-- [[https://developers.google.com/games/services/|Google Play games]] also [[https://developers.google.com/games/services/ios/quickstart|works with iOS [[https://www.emblementertainment.com.au/index.php?p=Mawashi%20Madness|Mawashi Madness]]
-- [[https://developer.apple.com/game-center/|Apple Game Center]] [[https://www.emblementertainment.com.au/index.php?p=Remote%20Keyboard|Remote Keyboard]] Input method for Android. Including PC Application and Android app