Comments (6)
Hi Scott,
I really like the idea of the configurable main file. There is currently an attempt at this coded by Nicolas Barriga (basically this is what he was using for running his experiments) in test/RunConfigurableExperiments.java. But I haven't used it myself, so I don't know how flexible is it. But this is something that I'd definitively want to do. Your proposal sounds pretty good, so, if that ends up being enough, it should replace the current test/RunConfigurableExperiments.java. Since that would not break anything, if you want to do a pull request with that part, please go ahead, since I think that's be a great addition!!!! (thanks one more time for your contributions!!)
About the project restructuring, I am a bit hesitant about it... on the one hand I have always wanted to add unit tests, but never had the bandwidth to create them. But on the other hand, I don't like the idea to adhere to a given building pipeline (e.g., gradle) (I've had bad experiences in the past committing to certain building pipelines or third-party dependencies, that I never thought would disappear and they did). So, I understand the advantages, but this is something I will need to think about a bit more before deciding one way or the other! I'll keep it in mind though!
from microrts.
Hi Santiago,
Understandable about the project restructure, thought it was a bit of a stretch myself.
In regards to the configurable main file, i'll send the PR asap. Though at the moment it's only suitable for one remote agent playing against a local bot, is this fine?.
The future plan was to allow the configuration to support N number of remote agents along side M number of bots.
from microrts.
I think it's a good starting point anyway. Perhaps instead of "server = true/false", we could have a "mode = server/client/standalone", and in the third mode, the game would would just run on its own, locally.
The only thing that would have to be added is to specify the opponents to use.
Once this is set up, extensions can be easily added to specify whether we want to save a replay to a file or not, launch a window to see the game progress graphically or not, etc. But those can be added later. And of course, once functionality is complete, I'd like to then remove the test/RunConfigurableExperiments.java class, for not having replicated functionality.
from microrts.
#20 Have sent a pull request containing the main class.
from microrts.
got it! I'm going to leave this issue open, to remind myself of extending the new main class to support the whole range of configuration options of the game
from microrts.
I just extended your class a bit to allow for Stand alone games. I also changed the "TOURNAMENT" constant to "GUI", since there are more things the GUI can do, and also made some parameters optional (for example, if you are not running CLIEN/SERVER, you can leave out the IP, port, etc. of the config file, and it'll work fine).
But thanks for creating those classes, it was actually a very flexible way to configure the game, and I feel it can be extended very easily now! So, I am going to close this issue, but if there is any additional feature you would like in the MicroRTS.java main file, by all means feel free to reopen! :)
from microrts.
Related Issues (20)
- GUI saves zipped traces but loads them unzipped HOT 1
- SocketAI (JSON) not sending "getAction" request. HOT 4
- Equals method for Unit HOT 3
- Duplicated ID in map HOT 3
- Corrupted Traces in Tournament Mode HOT 3
- About the Bayesian method HOT 6
- Stuck when running tournaments in mac X OS 10.14.3 HOT 5
- 2017 Competition Replays Lost HOT 2
- The equivalents method in PhysicalGameState does not compare terrains HOT 6
- Few issues in getPlayerActionsSingleUnit HOT 3
- Implement socket communication via protocol buffers HOT 7
- PhysicalGameStateTest.java depends on junit, which is not included in lib HOT 2
- Compress terrain String representation for socket message HOT 5
- Introduce features from new Java versions into the code base HOT 2
- Apply some kind of code formatting in the master branch HOT 1
- Instructions on creating JAR file HOT 1
- Problem with SocketAI HOT 4
- Importing Multiple UTTs HOT 4
- Jaxen library needed for loading bot jar file HOT 6
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 microrts.