Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Peter

Pages: 1 [2] 3 4 ... 78
16
Announcements / Re: Darwinbots 2.48.27 with installer
« on: March 31, 2016, 04:15:32 AM »
Microsoft gives "it just works support" for the lifecycle of all current supported Microsoft operating systems. So that would mean they'll still fix bugs in the VB6 runtime in 2025(for windows 10). It seems the lead developer that started VB in the late 80's is still in charge of maintaining VB, maybe they'll pull the plug when he retires.

17
Off Topic / Re: Personal news
« on: March 31, 2016, 03:59:19 AM »
Numsgil:

Quote
But again, my complete and absolute hatred of the current DB2 codebase makes this sort of moot anyway.

Why do you hate the current code so much? I hope it is not all my fault.
Although I can see why you might think my attempt at a port will fail because you hate the current code anyway.
Still, I would like to get some pointers from you on this when you have a chance.
I suspect it has to do with VB6 and the capabilities of it. It's not as flexible and powerful as modern languages. Sadly it isn't easy to recreate everything in a new language, a lot has already been build in DB2.

18
Internet Mode Commentary / Re: Who else is online?
« on: April 22, 2015, 03:52:54 PM »
Somewhere around 18 months/2 years ago.

19
Internet Mode Commentary / Re: Who else is online?
« on: April 22, 2015, 11:50:33 AM »
Ay, I am planning in investing a couple 100 in a decent firewall. The way peterIM works, all I need is port 79 open right? If not, what are the other ports used for?
Port 79 outgoing, you can also set comodo up so only PeterIM(so no other applications) can do outbound connections to 'ip-address server' on port 79.

Personally I wouldn't spend money on security software unless you've got solid ground to believe it's better than the free stuff. I would first try out comodo and other free firewalls before you're spending cash.

Im just wishing IM opens multiple ports one day :)
Won't happen. You can also give a list of ports you're able to make outbound connections, and I could look if that's a port I can make default.

I have Kaspersky, Microsoft forefront gateway (and for my developer OS AVG)
Isn't MFG only for windows server?

20
Internet Mode Commentary / Re: Who else is online?
« on: April 21, 2015, 02:00:39 PM »
I've tried comodo. Worked quite well for a while, I did like the options, then after a update it accessed my hdd continuously. A reinstall didn't fix it, not using any firewall besides the default windows firewall now. Using AVG as a virusscanner.

21
Internet Mode Commentary / Re: Who else is online?
« on: April 16, 2015, 04:09:59 PM »
Central server isn't feasible for DB2, too much to be changed.

22
Internet Mode Commentary / Re: Who else is online?
« on: April 14, 2015, 05:19:18 PM »
I get common incoming open ports on a server when I search. For a client unless you're behind a company proxy pretty much all outgoing ports are open besides port 25.

23
Darwinbots3 / Re: About Darwinbots3
« on: April 14, 2015, 05:14:11 PM »
A uncompressed stream on localhost would be as good as compression, it would only compress it send it to the browser which decompresses it.

With the league topic in mind, it would be nice to be capable to store matches on the server and play them like a video in the browser. Apart from storage space, it would be best if the whole SVG can be properly loaded as a file at once.

A lot of the current growing SVG is due to slow moving particles(slipstream TestBed). With 1000 particles it can climb up quite a bit. A way to decrease is to keep track of particles and for example state that it moved one to the left between the 9th and the 10th second instead of each frame a small update. I'll try playing with it when I can properly can reproduce the same animation as DX9 gets.

It's actually not that far from sending out a complete SVG every frame currently. :P

24
Darwinbots3 / Re: DB3 Leagues
« on: April 13, 2015, 02:41:14 PM »
Uh, there was a mistake with creating wins from the 80% win player. Half of his wins were registered as draws. :redface:

Correct stats.

RPC/random
id     ConservativeRating    Mean         StandardDeviation      win%    wins\draws\losses\matches\type
0   21.2025014802368    24.5072604715912     1.10158633045147     19.04762%   8   27   7   42   Scissor
1   21.1703789746567    24.2605458085435     1.03005561129561     22%   11   24   15   50   Scissor
2   19.3873917419835    22.8479451170323     1.15351779168295     38.77551%   19   3   27   49   Paper
3   23.2809913533546    26.6242733109851     1.11442731921019     58%   29   10   11   50   Rock
4   22.1327373676122    25.5369245974301     1.13472907660596     26.31579%   10   25   3   38   Scissor
5   20.8980341485925    24.3963410032841     1.16610228489721     23.07692%   9   21   9   39   Scissor
6   21.6943165763599    24.9387952612258     1.0814928949553     34.78261%   16   23   7   46   Scissor
7   17.9036343796341    22.1480159446247     1.41479385499687     40%   14   3   18   35   Paper
8   20.7780899350452    24.0535665005142     1.09182552182302     26.08696%   12   24   10   46   Scissor
9   22.3978387144379    25.7676782802645     1.12327985527554     49.01961%   25   10   16   51   Rock
10   26.8815568846738    31.1951332533136     1.43785878954662     76.19048%   32   0   10   42   Percent80

RPC/random after a million games

id     ConservativeRating    Mean         StandardDeviation      win%    wins\draws\losses\matches\type
0   21.8673281444733    24.1097779335181     0.747483263014924     27.83857%   45947   82858   36243   165048   Scissor
1   22.0131180929267    24.2333995808674     0.740093829313591     27.82333%   45948   82799   36395   165142   Scissor
2   17.8442112961662    20.2239537778002     0.793247493877987     27.95814%   46141   16516   102379   165036   Paper
3   24.4196078416116    26.7526319905644     0.777674716317609     68.05129%   112237   16466   36227   164930   Rock
4   21.8505862259689    24.0823444478475     0.743919407292882     28.11717%   46485   82358   36483   165326   Scissor
5   21.9716403885154    24.2016352220766     0.743331611187086     28.10022%   46489   82414   36537   165440   Scissor
6   21.7202167758399    23.9643481135206     0.748043779226886     28.10896%   46479   82355   36519   165353   Scissor
7   19.2396494056951    21.5913457018039     0.783898765369623     27.98824%   46360   16516   102765   165641   Paper
8   21.3340998118027    23.5937401326201     0.753213440272473     28.09844%   46422   82480   36310   165212   Scissor
9   24.2867711234825    26.617695694018     0.776974856845171     68.22602%   112824   16466   36078   165368   Rock
10   26.9820148326741    29.4765897709184     0.831524979414755     80.06544%   132638   0   33024   165662   Percent80

25
Darwinbots3 / Re: DB3 Leagues
« on: April 13, 2015, 12:56:58 PM »
For reference the results of player 0>1>2  with a million games.

1. The difference is quite big in comparison with RPC + random.
2. Fights with big difference in rating cause NaN errors. Games with NaN errors didn't count in the final results. You can see that in matches played, top and down players got less games registrations. NaN erros may be fixed somewhere in the settings, but at least in this implementation it doesn't like huge power differences. This can also be the reason for the flattened win rates, as a big portion of games got skipped. Might be fixed with different settings, I picked the default rating settings.
id     ConservativeRating    Mean         StandardDeviation         win%       wins\draws\losses\matches
0   157.364160859048    175.093666523749     5.90983522156717     100%      93357   0   0   93357   
1   122.187090794375    137.148117096133     4.98700876725273     68.71486%   94351   0   42957   137308   
2   89.1558840881495    103.337093844302     4.72706991871741     52.63669%   95334   0   85783   181117   
3   57.9310423376475    71.3621156175018     4.47702442661809     51.34298%   95290   0   90305   185595   
4   27.50057942478       40.4213063289044     4.30690896804144     50.3262%   94266   0   93044   187310   
5   -3.32350541905488    9.68240334301635     4.33530292069041     49.87444%   93547   0   94018   187565   
6   -34.637104314333    -21.3219560268339     4.4383827624997     48.72458%   90999   0   95763   186762   
7   -67.5653127637627    -53.3291196269003     4.74539771228745     47.14106%   85512   0   95884   181396   
8   -102.079416500229    -87.1381894801877     4.98040900668033     31.22995%   43028   0   94750   137778   
9   -142.80346240494    -125.061759330556     5.91390102479457     0%      0   0   93180   93180   

26
Darwinbots3 / Re: DB3 Leagues
« on: April 13, 2015, 12:16:44 PM »
Looks like it places them all around the same skill?  I think that's what we'd want if so.  It's hard to get a sense of the relative scales.    Can you add in a strategy that has a 80% chance to win against any of RPS?  I'd like to see if it's noticeably higher than all the others.
Added.
Well the Rocks are placed higher than Scissor, Scissor higher than Paper. But the difference isn't a lot.

id     ConservativeRating    Mean         StandardDeviation      win%    wins\draws\losses\matches\type
0   22.0095591377625    25.2836566772087     1.09136584648208     16.66667%   7   26   7   42   Scissor
1   21.7821811891753    24.8081119506593     1.00864358716132     23.07692%   12   23   11   52   Scissor
2   19.2005201463236    22.5465603332125     1.11534672896296     31.37255%   16   4   28   51   Paper
3   23.1122029152767    26.3987975437787     1.095531542834     53.84615%   28   5   13   52   Rock
4   22.1717569038829    25.5748763424698     1.13437314619566     21.95122%   9   23   4   41   Scissor
5   21.9605295488926    25.3588763504315     1.13278226717963     21.95122%   9   18   8   41   Scissor
6   21.1505654852868    24.269753597743     1.03972937081875     16.66667%   8   24   12   48   Scissor
7   18.2254824660445    21.8923336948571     1.22228374293755     22.72727%   10   4   26   44   Paper
8   21.4013812078553    24.7129946001344     1.1038711307597     20.93023%   9   20   9   43   Scissor
9   22.9477399984015    26.4990987016865     1.18378623442832     51.11111%   23   5   13   45   Rock
10   23.6013905336762    26.8589475968437     1.08585235438918     73.33334%   33   0   12   45   Percent80

After a million random matches the upper 2 sigma of Scissor is still higher than the lower 2 sigma of Rock.
id     ConservativeRating    Mean         StandardDeviation      win%    wins\draws\losses\matches\type
0   22.4396128116937    24.6603104463431     0.740232544883134     20.1069%   33217   82356   33136   165202   Scissor
1   22.3980369678499    24.6155831330575     0.739182055069193     19.99733%   32991   82504   32976   164977   Scissor
2   18.6285481147599    21.0068128521428     0.792754912460967     19.95815%   33000   16463   99321   165346   Paper
3   24.7068243962618    27.0176793425063     0.770284982081475     59.98304%   99038   16415   33058   165110   Rock
4   22.8829721831836    25.1137388028982     0.743588873238181     20.0285%   33030   82475   32812   164915   Scissor
5   23.0007569918914    25.2302209591881     0.743154655765566     19.97823%   33042   82536   33128   165390   Scissor
6   22.8817029092318    25.1019168680217     0.740071319596633     20.11042%   33330   82598   33106   165735   Scissor
7   20.4789112234694    22.7848573440528     0.768648706861115     19.92037%   32920   16463   99293   165258   Paper
8   23.2252037617677    25.4660024444581     0.746932894230129     19.98256%   33004   82413   33157   165164   Scissor
9   25.138645723613    27.4710506811453     0.777468319177446     60.21605%   99277   16415   32862   164868   Rock
10   24.5903878471413    26.8158904155278     0.741834189462153     79.99807%   132500   0   33129   165629   Percent80

Edit: it's wrong

27
Internet Mode Commentary / Re: Who else is online?
« on: April 13, 2015, 04:50:35 AM »
The reverting of code won't be the issue, but the added stuff. Not that I see why it should be reverted, tbh, but ok weren't huge changes anyway.
I won't plan to be switching the port to the minecraft port. Host blocks it for some reason.

28
Darwinbots3 / Re: About Darwinbots3
« on: April 13, 2015, 04:42:09 AM »
Updating existing things seems necessary. I'm animating the slipstream testbed a few seconds and I'm up to a few MB. :wacko:
Normally it doesn't do any updates between cycles, does it?

It resends everything every time the viewport gets invalidated.  I don't remember if there's a timer that forces it to draw at 60 FPS but certainly everytime you drag the display or zoom in/out it redraws.
It would send the same basic drawings then? Just to be certain. There isn't something that calculates what's between 2 frames and draws that. It just draws the situation of a frame. If 60FPS is on, it may draw exactly the same multiple times.

I'm asking because SVG does intermediates itself. I don't think intermediate calculating happens currently, I just want to make sure.

Also, svg doesn't seem to want to take affine matrix into animations. Is there a method to calculate the angle/scaling I'm overlooking?

Isn't there an <animatetransform> tag?

If you have to you can extract the scale, rotation, skew and translation from an affine transformation, you'll need to SVD decompose the first two columns like I was mentioning before.  The translation is just the last column, though, so that part's easy :)
<animatetransform> doesn't want a affine matrix, but scale, rotation, translation and skew. :(

I'll take a good look at the .fx files you linked. I already had the translation, that was the one where I was quite confident I was going to implement it correct.

29
Darwinbots3 / Re: DB3 progress
« on: April 12, 2015, 03:55:51 PM »
DB3 will be multithreaded, but what that gives I'm going to suck up with an even more aggressive simulation.  You could run it on some $10k "supercomputer" and a simulation might only run twice as fast as a dinky $500 machine.  If we want the sorts of bot-cycles that make a good ALife sim we're going to need to think wide (clusters) instead of tall (servers).
Kinda open question, but what amount of parallelization can be achieved in DB3? What's the maximum amount of processors it could fully use extra. 4, 12, 30, no clue yet? Is there a module that can hardly be parallelized?

30
Darwinbots3 / Re: DB3 Leagues
« on: April 12, 2015, 01:10:18 PM »
Each of these systems are designed so that matches are picked at random, aren't they? You basically want to take a small sample that represents the global population.
They're not. Otherwise a chess grandmaster has to play a low ranked player often. They're designed to calculate the right strength of players. Including on how to deal with matches not being a random sample.

Edit: I was playing around with TrueSkill. And the library I took even has issues with high vs. low ranked players. Calculating skill as NaN in some cases...

edit2:
Code: [Select]
using System;
using System.Collections.Generic;
using Moserware.Skills;
using System.Diagnostics;

namespace TrueSkillTest
{
    class Program
    {
        static void Main(string[] args)
        {
            GameInfo defaultInfo = GameInfo.DefaultGameInfo;
            List<BotPlayer> botPlayers = new List<BotPlayer>();
           
            for (int i = 0; i < 10; i++)
            {
                var newb = new BotPlayer(i);
                newb.rating = defaultInfo.DefaultRating;
                botPlayers.Add(newb);

            }
            var random = new Random(1234);
            for (int i = 0; i < 250; i++)
            {
                int id1 = random.Next(10);
                int id2 = random.Next(10);
                if (id1 == id2)
                    continue;
           if (id1>id2)
           {
               int switchId = id1;
               id1=id2;
               id2=switchId;
           }

           var team1 = new Team(botPlayers[id1], botPlayers[id1].rating);
           var team2 = new Team(botPlayers[id2], botPlayers[id2].rating);
            var teams = Teams.Concat(team1, team2);
           
            var results = TrueSkillCalculator.CalculateNewRatings(defaultInfo, teams,1,2);
            if (results[botPlayers[id2]].ConservativeRating.Equals(double.NaN) || results[botPlayers[id1]].ConservativeRating.Equals(double.NaN))
            {
                Debug.WriteLine("NaN happened  "+id1   +" "+id2);
                continue;
            }
            botPlayers[id2].rating = results[botPlayers[id2]];
            botPlayers[id1].rating = results[botPlayers[id1]];
            botPlayers[id1].wins++;
            botPlayers[id2].losses++;
            botPlayers[id1].games++;
            botPlayers[id2].games++;
            }

            Debug.WriteLine( "id \t ConservativeRating  \t  Mean \t\t  StandardDeviation  \t win% ");

            for (int i = 0; i < 10; i++)
            {
                var rat = botPlayers[i].rating;
                Debug.WriteLine(i + "\t" + rat.ConservativeRating + "\t" + rat.Mean + "\t" + rat.StandardDeviation + "\t" + ((float)botPlayers[i].wins / (float) botPlayers[i].games)*100 +"% ");
            }

        }
    }

    public class BotPlayer : Player
    {
        public Rating rating;
        public int games, wins, losses;

        public BotPlayer(int i)
            :base(i)
        {
        }

    }

}

TrueSkill ratings and win% after 250 random matches.

Player with id 0>1>2>3 etc.

id     ConservativeRating       Mean         StandardDeviation      win%
0   36.6018093613847   44.3298552173074   2.57601528530759   100%
1   32.3380042534196   39.2166471449276   2.29288096383602   91.42857%
2   32.2120554191209   38.422586286346   2.07017695574173   89.58334%
3   24.4339328188783   29.6447006659815   1.73692261570105   50.9434%
4   23.2533477507645   29.1590048994883   1.96855238290791   68.18182%
5   18.3016520660433   23.4776208283092   1.72532292075527   44.64286%
6   13.2212442413914   19.1699259868905   1.98289391516637   26.82927%
7   10.0415863402407   15.7679791596343   1.90879760646453   25%
8   4.18826635383718   10.6105575553436   2.14076373383547   10.41667%
9   -2.27059972504378   4.86224661720219   2.37761544741532   0%

edit: RPC, TrueSkill same amount of matches
Major strategy is Scissor. Paper and Rock as minor strategies. As you can see the minor strategy beating the major tactic does take place.

Rock Paper Scissor
id     ConservativeRating    Mean            StandardDeviation      win%      games
0   22.2911857672074   25.635469626594   1.11476128646221     29.54545%    44  Scissor
1   21.7841748039772   25.0038555837073   1.07322692657669     17.77778%    45  Scissor
2   19.0423325347074   22.3747330556796   1.11080017365737     26.92308%    52  Paper
3   24.8168168325261   28.5840867091271   1.25575662553368     68.88889%    45  Rock
4   22.2261144113132   25.2695586097977   1.01448139949485     23.07692%    52  Scissor
5   21.3862248458399   24.6455366523104   1.08643726882351     15.55556%    45  Scissor
6   20.652998113402   24.0505831870944   1.13252835789746     11.62791%    43 Scissor
7   17.4614961926684   21.3511453077313   1.29654970502095     20%    40  Paper
8   22.4296910660544   25.6949142849584   1.08840773963469     34%    50  Scissor
9   24.2526401114872   28.2686183545096   1.3386594143408     71.42857%    42  Rock

Pages: 1 [2] 3 4 ... 78