New release planning (3.2.4)/ 3.3.0

Discuss the future of Warzone 2100 with us.

Re: New release planning (3.2.4)

Postby Berserk Cyborg » 27 Dec 2017, 08:41

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 http://forums.wz2100.net/viewtopic.php?f=6&p=139456#p139453.
User avatar
Berserk Cyborg
Code contributor
Code contributor
 
Posts: 495
Joined: 26 Sep 2016, 19:56

Re: New release planning (3.2.4)

Postby Prot » 27 Dec 2017, 14:17

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
Prot
Trained
Trained
 
Posts: 137
Joined: 29 Nov 2010, 12:41

Re: New release planning (3.2.4)

Postby montetank » 27 Dec 2017, 17:29

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
montetank
Regular
Regular
 
Posts: 629
Joined: 14 Feb 2013, 00:05
Location: Montenegro

Re: New release planning (3.2.4)

Postby NoQ » 27 Dec 2017, 18:37

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
NoQ
Special
Special
 
Posts: 6134
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: New release planning (3.2.4)

Postby Berserk Cyborg » 27 Dec 2017, 19:11

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
3.2.4 or 3.3.0 changes
(19.94 KiB) Downloaded 17 times
User avatar
Berserk Cyborg
Code contributor
Code contributor
 
Posts: 495
Joined: 26 Sep 2016, 19:56

Re: New release planning (3.2.4)

Postby Prot » 27 Dec 2017, 19:14

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.
User avatar
Prot
Trained
Trained
 
Posts: 137
Joined: 29 Nov 2010, 12:41

Re: New release planning (3.2.4)

Postby Forgon » 27 Dec 2017, 21:45

Semperfi should be removed from the game because SemperFi JS has made it obsolete.
Forgon
Code contributor
Code contributor
 
Posts: 98
Joined: 07 Dec 2016, 22:23

Re: New release planning (3.2.4)

Postby NoQ » 28 Dec 2017, 04:45

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
NoQ
Special
Special
 
Posts: 6134
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: New release planning (3.2.4)

Postby JimmyJack » 28 Dec 2017, 23:56

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 ...
User avatar
JimmyJack
Trained
Trained
 
Posts: 59
Joined: 06 May 2017, 05:50

Re: New release planning (3.2.4)

Postby Forgon » 29 Dec 2017, 00:22

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.
Forgon
Code contributor
Code contributor
 
Posts: 98
Joined: 07 Dec 2016, 22:23

Re: New release planning (3.2.4)

Postby NoQ » 29 Dec 2017, 06:30

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.
User avatar
NoQ
Special
Special
 
Posts: 6134
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: New release planning (3.2.4)

Postby MIH-XTC » 29 Dec 2017, 18:43

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 😊
MIH-XTC
Trained
Trained
 
Posts: 239
Joined: 31 Jan 2014, 07:06

Re: New release planning (3.2.4)

Postby NoQ » 29 Dec 2017, 21:30

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.
User avatar
NoQ
Special
Special
 
Posts: 6134
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: New release planning (3.2.4)

Postby Per » 29 Dec 2017, 21:54

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.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
 
Posts: 3730
Joined: 03 Aug 2006, 19:39

Re: New release planning (3.2.4)

Postby Berserk Cyborg » 29 Dec 2017, 23:26

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.
User avatar
Berserk Cyborg
Code contributor
Code contributor
 
Posts: 495
Joined: 26 Sep 2016, 19:56

PreviousNext

Return to Development