Version 4 vs 5
Version 4 vs 5
Edits
Edits
- Edit by 0xseantasker, Version 5
- Aug 12 2015 12:45 AM
- Edit by 0xseantasker, Version 4
- Aug 11 2014 8:18 PM
« Previous Change | Next Change » |
Edit Older Version 4... | Edit Older Version 5... |
Content Changes
Content Changes
Echo 3 is in early development. It is not ready for projects.
=Differences to Echo 2=
Echo 3 is Echo 2 significantly refactored. Most of the base concepts remain the same but:
- Things are now better scoped, we get rid of the E prefix everywhere and use namespaces instead,
- Classes and methods are more well defined,
- There is more consideration to menu management
- Better thread safety, including generic asynchronous work posting to other threads.
- Kernel improvements
- No more singletons
- Reduced complexity
=Additional benefits improvements=
- Automated tests
- Porting test suite, to test that your port adheres to the interface contracts.
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]]
=Graphics=
dot {{{
digraph A {
fontname = "Bitstream Vera Sans"
fontsize = 8
node [
fontname = "Bitstream Vera Sans"
fontsize = 8
shape = "record"
]
edge [
fontname = "Bitstream Vera Sans"
fontsize = 8
]
RenderTarget [ label = "{RenderTarget||}"]
Scene [ label = "{Scene||}"]
edge [
arrowhead = "none"
arrowtail = "empty"
dir = "back"
headlabel = ""
taillabel = ""
]
edge [
arrowhead = "none"
arrowtail = "empty"
dir = ""
headlabel = ""
taillabel = "1..*"
]
Scene -> RenderTarget
}
}}}
Echo 3 is in early development.
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]]
Echo 3 is in early development. It is not ready for projects.
=Differences to Echo 2=
Echo 3 is Echo 2 significantly refactored. Most of the base concepts remain the same but:
- Things are now better scoped, we get rid of the E prefix everywhere and use namespaces instead,
- Classes and methods are more well defined,
- There is more consideration to menu management
- Better thread safety, including generic asynchronous work posting to other threads.
- Kernel improvements
- No more singletons
- Reduced complexity
=Additional benefits improvements=
- Automated tests
- Porting test suite, to test that your port adheres to the interface contracts.
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]]
=Graphics=
dot {{{
digraph A {
fontname = "Bitstream Vera Sans"
fontsize = 8
node [
fontname = "Bitstream Vera Sans"
fontsize = 8
shape = "record"
]
edge [
fontname = "Bitstream Vera Sans"
fontsize = 8
]
RenderTarget [ label = "{RenderTarget||}"]
Scene [ label = "{Scene||}"]
edge [
arrowhead = "none"
arrowtail = "empty"
dir = "back"
headlabel = ""
taillabel = ""
]
edge [
arrowhead = "none"
arrowtail = "empty"
dir = ""
headlabel = ""
taillabel = "1..*"
]
Scene -> RenderTarget
}
}}}