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

feature request: add a programatically api for external programs #135

Open
sanslash332 opened this issue Nov 12, 2021 · 2 comments
Open

Comments

@sanslash332
Copy link

I don't know if this is possible currently or not, but considering that soundrts currently is more a engine than a game, will be awesome that the engine itself has a public library to allow programers create games but using the soundrts engine.

A library that allow to you create a match, set the players, the map, the units, can read in real time the game in progress (to allow external events that the engine itself doesn't support or dettect triggers, etc) and something other things that will be interesting to try exploit all of the awesome features that soundrts currently has.

@soundmud
Copy link
Owner

Actually, SoundRTS is more a mod-friendly game prototype than an engine you can rely upon.

If the goal is to have debugging/monitoring tools, then please examine test_desync.py
https://github.com/soundmud/soundrts/blob/master/test_desync.py
It creates a multiplayer network game (launching automatically a server and several clients). And it "injects" different behaviors to the existing classes without cluttering the main code.

If the goal is to to create a different game, maybe the previous approach would be interesting, or maybe just edit the existing code. Some parts of the main code base are messy anyway, so maybe the two code bases will diverge inevitably sooner or later. I don't know.

@sanslash332
Copy link
Author

not really, the point isn't create a different game.

The point is create a software using the soundrts as engine, and that program can modify aspect on the fly during a game.
To give to them more powerful tools than the AI, or current map options :)

Currently you do that on that file?

this will be awesome for some things, like create multyplayer map with extrange and custom rules (check all the things that the playerbase do on the warcraft III custom maps or starcraft II) or powered much more the campaigns without touching much the current codebase :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants