Today I present to you: NoGo.Introduction:
NoGo is, like NoAI, a framework on which you can build script, called GameScripts. Where NoAI is specific build for AIs, NoGo is build to control the general flow of the game.
Although this framework is still very much a WIP, a small indication of what you can do:
- Control town growth
- Set custom texts in the Town GUI to indicate when growth should happen
- Custom news message
- Control the viewport of the player (singleplayer only)
- Change game settings
- Communicate freely with the AdminPort (bi-directional)
- Create your own subsidies
- Build stuff on behalf of a company. For example, you can build (or remove!) pieces of rail for a company. The money it costs (or is gained) is subtracted from the companies wallet.
- All (!) the functions an AI can do too. Most of them more powerful (see all companies, ...)
As you might understand, GameScripts are very powerful. Their main aim is to make Multiplayer servers fun, by setting conditions, goals, achievements and quests. Reward your best player with a subsidy, or make your own disaster by regular stopping random trains because the drivers are on strike. The sky is the limit, and you are in control!
Today I officially announce the project. It started out as a proof-of-concept, and it has proven itself. So it is time for you guys to give it a spin, and return with feedback.How to get it:
Several locations that might be of importance to you:Current Version: 1.5
HG prepatched: http://hg.openttd.org/developers/truebrain/nogo.hg/
(multiple heads, take the latest)
HG patchqueue: http://devs.openttd.org/~truebrain/nogo/
Documentation: http://devs.openttd.org/~truebrain/nogo ... tated.htmlHow to play:
Xaroth is kindly hosting several NoGo servers for you to try it out. They are advertised, and you can join them after downloading the latest binary. It might happen he has not updated to latest version yet, but this is mostly done within 12h.
If you want to play it in singleplayer, navigate to your OpenTTD directory. Next to the 'ai' directory there should be 'game' (or create it). In there, make a directory 'test', and put there these two files:http://devs.openttd.org/~truebrain/nogo/main.nut.txt
(save under the name 'main.nut')http://devs.openttd.org/~truebrain/nogo/info.nut.txt
(save under the name 'info.nut')
Start the game. Go to AI Configuration, double click the top entry and select TestTest. Start a new game. And there you go.How to write my own script:
NoGo works very much like NoAI. In many many many many many ways. The only real difference, is that the AI prefix is changed for a GS prefix in the NoGo framework. So instead of AITown, you use GSTown. The NoGo framework shares many functions with the NoAI framework, and I am sure we will enable many others in the future. Their parameters and return values are often identical. This hopefully makes it very easy to write in either one.
You place your scripts in the 'game' directory, instead of the 'ai' directory. The rest is, including the format of info.nut, identical.
To understand what is currently possible, it is best to just learn by example. Open up the above mentioned main.nut.txt, and flip through it. Installation of your GameScript is identical to that described above. Don't forget to select one before starting a new game!What is next?
My personal list of things planned is rather large. It is of course unsure if any of them will be implemented, but to give you an idea where I want this framework to go, things that will be possible in the future:
- Allow 'storage' for town cargo, so you don't have to use tricks to supply the town sufficiently every month
- Per-company GUI with goals, quests, challenges, achievements, ...
- Global GUI with goals, quests, challenges, achievements, ...
I am sure I am forgetting many many things, but you get the idea.
At the moment I am very busy stabilizing the framework, finishing the GUI, and cleaning up the code. Many bugs have already been fixed in the last few days (when developers test, bugs get solved so much faster
), so the current binary should be rather stable.
I would like to thank all the people on this forum (and beyond) for their great ideas (Korenn, you are full of great ideas!), patches, servers (luukland.net for example. You guys put the fun in multiplayer) and more. Together you gave me the idea for this implementation, and I hope it will be a platform for you all to continue working your awesomeness on!
Xaroth, tnx for all the feedback, testing, hosting, etc etc
Developers, thank you very much for your patches, suggestions, proof-reading and what-not. It went so much faster with your feedback
To the rest: any feedback, suggestions, comments, questions, ideas, praise, ... please do post them here.