New release planning (3.2.4)/ 3.3.0

Discuss the future of Warzone 2100 with us.
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

Re: New release planning (3.2.4)

Post by Berserk Cyborg »

I have made some progress on the change log and probably need to add even more to this already 82 line additions.
Edit: New patch in my post below viewtopic.php?f=6&p=139456#p139453.
User avatar
Prot
Trained
Trained
Posts: 242
Joined: 29 Nov 2010, 12:41

Re: New release planning (3.2.4)

Post by Prot »

Berserk Cyborg wrote:I have made some progress on the change log and probably need to add even more to this already 82 line additions.
0001-Update-Changelog.patch
Thanks.. i translate it to russian https://yadi.sk/d/KwUASV-I3R2EmR
User avatar
montetank
Regular
Regular
Posts: 642
Joined: 14 Feb 2013, 00:05
Location: Montenegro

Re: New release planning (3.2.4)

Post by montetank »

Berserk Cyborg wrote:
I think the default AI should be either SemperFi-js or Nullbot (not able to decide which one myself).
.
Hello Berserk Cyborg, let me decide for you. No Question: Nullbot.
SemperFi is to weak, always follows one and the same strategy. SemperFi isn`t a challenge IMO.
In case the WZ-game ends in a draw , the game winner will be determined by penalty shoot-out.
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: New release planning (3.2.4)

Post by NoQ »

Nexus AI has historical value. I suggest we keep it as deprecated (not default, probably marked as deprecated) for a while before we remove wzscript support. Probably (unlikely) someone would be willing to do a line-by-line translation to javascript, but wzscript API is not corresponding one-to-one to the javascript API, so it would not be trivial, nor reliable.
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

Re: New release planning (3.2.4)

Post by Berserk Cyborg »

It would take quite a lot of time to convert Nexus which is massive compared to any of the older campaign scripts (I more or less relied on observed behavior for the campaign scripts myself rather than try deciphering that arcane stuff). That is a project for another time. Anyway, Nullbot for default AI. :)

I think I have everything noteworthy of this release in this revision of the change log.
0001-Update-Changelog.patch
User avatar
Prot
Trained
Trained
Posts: 242
Joined: 29 Nov 2010, 12:41

Re: New release planning (3.2.4)

Post by Prot »

montetank wrote: SemperFi is to weak, always follows one and the same strategy. SemperFi isn`t a challenge IMO.
According wzait, last semerfi-js edition much more interesting, than old one in 3.2.3 version. Its like two different bots.
Forgon
Code contributor
Code contributor
Posts: 298
Joined: 07 Dec 2016, 22:23

Re: New release planning (3.2.4)

Post by Forgon »

Semperfi should be removed from the game because SemperFi JS has made it obsolete.
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: New release planning (3.2.4)

Post by NoQ »

Forgon wrote:Semperfi should be removed from the game because SemperFi JS has made it obsolete.
Semperfi-JS has nothing in common with the original Semperfi - neither code, nor behavior, nor purpose. The old semperfi is a tweaked Nexus that implements a few new strategies such as tower rushes. Semperfi-JS is a hello-world AI designed to be a JS API tutorial.
User avatar
JimmyJack
Trained
Trained
Posts: 118
Joined: 06 May 2017, 05:50

Re: New release planning (3.2.4)

Post by JimmyJack »

I think the more AIs the better.
How hard would this be?

Nexus ships (downloads) with the game as always. Then when you start the game and the main menu opens. You click on Options / Game options / Select Default AI.

Then you could have the default AI you want and Nexus would still be in the AI list and you could play it as you wanted to.

I don't know how good an idea changing the AI on the campaign would be. Maybe it should remain Nexus?
Transmission ends ...
Forgon
Code contributor
Code contributor
Posts: 298
Joined: 07 Dec 2016, 22:23

Re: New release planning (3.2.4)

Post by Forgon »

JimmyJack wrote:I think the more AIs the better.
How hard would this be? [...]
The main difficulty in allowing more AIs is not to break the GUI at the minimum screen resolution of 640x480 pixels.
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: New release planning (3.2.4)

Post by NoQ »

I don't know how good an idea changing the AI on the campaign would be. Maybe it should remain Nexus?
Nexus AI is not used in campaign. In campaign, every mission has its own simple hand-crafted AI script: "this factory produces this stuff in this order", "produced units attack that often", "these units stand and defend this spot", and that's pretty much it. Campaign AI doesn't need to know how to build the base from scratch, research sensible technologies, adapt to player's choices, so it's kind of easier. Though if i were to make a new campaign from scratch, it is probable that i would have just made a custom NullBot personality for every mission, like i did in my single-player challenges.
MIH-XTC
Trained
Trained
Posts: 368
Joined: 31 Jan 2014, 07:06

Re: New release planning (3.2.4)

Post by MIH-XTC »

What are your guys thoughts on how Nexus was written in one large file (Nexus.slo) with one config file (Nexus.vlo) as opposed to breaking it up into smaller files? I’ve always wondered which is considered best practice from a development perspective.

It seems in most projects people break things up into many smaller files but I prefer large, self-contained files like Nexus.slo. I like how everything is organized in a header fashion, all of the constants, triggers, functions and everything is right there at the top of a single file. IMO it’s easier to trace the flow of things. Having multiple files doesn’t make things any more modular because you can still do an import.

NoQ wrote:Nexus AI has historical value. I suggest we keep it as deprecated (not default, probably marked as deprecated) for a while before we remove wzscript support. Probably (unlikely) someone would be willing to do a line-by-line translation to javascript, but wzscript API is not corresponding one-to-one to the javascript API, so it would not be trivial, nor reliable.

This is on my TO-DO list, but it’s months into the future. I want to work on porting Contingency+EB into 3.2 first and then I’ll work on porting Nexus to JS. I’m not that familiar with JS but Warzone is the perfect project to learn. I remember you saying in some other thread that you preferred Python instead of JS, me too I know Python very well compared to JS 😊
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: New release planning (3.2.4)

Post by NoQ »

I don't care about single file vs. multi file when it comes to simply chopping up large masses of code that would not be usable separately otherwise. But it helps greatly when the same file can be used in multiple places. For instance, you won't be able to make libcampaign without putting it into a separate file, or you wouldn't be able to easily add NullBot personalities unless the common code that ties the personalities together lives in a separate file. So you definitely need a separate file for every reusable module, but the rest is completely personal-taste-driven.

Nexus is split into .slo and .vlo because that's what the language requires - to put global variable declarations in .vlo, with .vlo-specific syntax, and then write imperative code that uses them in .slo, which is a completely different language.

Warzone is not necessarily the best place to learn JavaScript because modern JavaScript is a lot more about the huge amounts of rapidly evolving web frameworks than about the language itself, which Warzone obviously doesn't teach. But as long as you're not going to dive into web development (i sincerely wish you to find something more interesting than that), this should be just fine.

We should also keep an eye on our ES6+ support, because the whole language is just so much better there.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 3780
Joined: 03 Aug 2006, 19:39

Re: New release planning (3.2.4)

Post by Per »

Berserk Cyborg wrote:I think I have everything noteworthy of this release in this revision of the change log.
0001-Update-Changelog.patch
I have some notes of my own for the changelog, but I think you should commit this first, then I can modify yours as appropriate.
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

Re: New release planning (3.2.4)

Post by Berserk Cyborg »

Per wrote: I have some notes of my own for the changelog, but I think you should commit this first, then I can modify yours as appropriate.
Ok, I pushed it in 7e9a52df8a4bd4baa7fc12252c89e32c16e3291f.
Post Reply