Comments (4)
Sounds like something straight for one of our "idea" files (gameplay? interface?). The current design for networking includes a dedicated server (optionally run when clicking the 'Host' button), so both the client and server could provide such an interface. Hacking around in attempts to parse recorded game files/network streams is unnecessary though, since you can build your interface, and even the web server (or maybe an OpenGL rendering window?) directly into the game.
from openage.
This would be awesome to have. You could definitely have a web service as a proxy to the game server. It would connect to the game server and proxy the needed data to a web socket, for example. Considering Battlefield achieves this with dedicated servers, it's slightly more challenging when you have a peer-to-peer network.
One could have a python server (as a plugin/module) send the needed data to a web socket. Polling would be another alternative, or comex but a web socket would be vastly more efficient. Then you can load up the "battle" screen in a browser on another device or monitor.
from openage.
Just an updated set of thoughts. I assume this could be done as a enlarged and enhanced version of minimap #344. Where it could represent group of units by their icon...like a group of knights by the icon shown a stables to build them. I have a lot more ideas like trying to show map control heatmaps, battles, and alerts, but it really boils down to a large minimap at the most basic level.
I confirmed that game record files are written as the game progresses (quite frequently) and there are a number of projects that document the spec and provide basic parsing ability. Assuming one wrote a parser and used something like inotify to detect updates and parse added bytes it could be conceivable to issue those commands in openage to provide a synced game state if slightly delayed. Similar to an observer, but without the network/sync/lag strain nor having people agree to that. It would be an alternative to set it up as network connected if openage ever supported interoperability with original age of empires games. The main benefit of building this in openage as opposed to a separate project being that openage will have all the features built in and it can share the openage game simulation code rather than having to build that on top of parser.
I understand the comment about not need to read recorded game file if built into openage, but the reason for that was to be able to also use this with the original game since I expect to have to keep using it for quite sometime.
Anyway, once the game state is synced the battle screen provided by openage could be used in conjunction with the original age of empires client as a supplemental display. Ideally the games would be interoperable, but I feel like someone stated that would be unlikely.
At this point I am not sure if there is a point to implementing it as an HTML based solution if the rest of the UI is going to be implemented in python. Might as well stick with that. I presume battlefield used html solution since it allowed one to seamlessly switch between battlescreen that communicated with local game client and the rest of their services that communicated to their central server via the website itself which is usable without the game client running. Since neither openage nor original game has such a central service this seems unnecessary to rebuild all the rendering capabilities that will already be built in openage.
from openage.
I would be interested in the web/display aspect of this if someone can handle getting the data out of the game.
from openage.
Related Issues (20)
- CLI parameter for engine start mode
- "error: βDictβ is not a member of βnyanβ" during build HOT 7
- Can't build with clang, error: "jthread is supported now, remove custom definition" HOT 4
- Asset conversion issue, AttributeError: 'NoneType' object has no attribute 'readable' HOT 6
- Adding PR/ISSUE Templates for this repo HOT 7
- Asset path type is incorrectly used HOT 5
- error: Couldn't find qml root folder HOT 15
- Test fail when building with GCC 13.2.1 HOT 10
- Error launching game, uncaught exception(s) HOT 25
- openage game: error: the following arguments are required: --modpacks HOT 4
- Running Error on Mac osx 13.4(Macbook M1 Pro ARM architecture) HOT 1
- FATAL: terminate has been called uncaught exception std::exception of type std::__1::system_error: thread::join failed: Invalid argument HOT 2
- Multiple cmake issues when trying to build HOT 4
- Submission to Steam HOT 2
- OpenGL error when launching on Wayland HOT 11
- CMake can't find toml11 on Linux Mint 21.2 HOT 4
- Errors after the new PR merged HOT 3
- Link on website https://openage.sft.mx/ to windows packages is a broken link HOT 2
- Windows Build: Python Command Requiring --modpacks Argument HOT 3
- Asset conversion stalls on media conversion HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openage.