[Contest] BotWars

Pagina: 1 ... 3 ... 9 Laatste
Acties:
  • 4.271 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
VinShady schreef op donderdag 07 juli 2005 @ 00:24:
ahh, ik snap het van die HTML, thnx!! Nog newbie vraagje;
door de NEWTURN krijg ik binnen dat ik meerdere messages heb, hoe kan ik die uitlezen..? (PHP)
Ik zal je een stukje uit mijn code gunnen ;)

PHP:
1
2
3
4
5
6
7
8
9
10
11
echo "- Nieuwe beurt\n";
$response = trim(fgets($fp));
if(ereg("^NEWTURN ([0-9]+) ([0-9]+) ([0-9.]+)$", $response, $regs)) {
   echo "- {$regs[2]} followups\n";
   while($regs[2] > 0) {
      $response = trim(fgets($fp));
      echo "- Followup:\n\t$response\n";
      $regs[2]--;
   }
   // Hier kun je dus weer je MOVE, SCAN, en FIRE opdrachten geven.
}


Een zover mogelijk gestipt stukje uit mijn code, maar het beantwoord je vraag.
Met een regular-expression haal ik de turnID, het aantal followups, en mijn battery, uit het antwoord van de server. Je zou dit ook kunnen doen door die regel te explode()-en op spaties, maar ik doe het liever zo. Vervolgens doe je net zo vaak een fgets() als dat er followup berichten zijn...

Ik vind overigens de huidige wijze waarop de battery werkt prima! Vooral zo laten.
Je kunt nu niet moeiteloos het maximale gebied scannen, de maximale afstand lopen, en vervolgens ook nog iedereen aanvallen zonder een enorm risico te nemen door je lage batterij.
Je bot moet slim genoeg zijn om te weten dat als hij een scan doet met een radius van 20, en vervolgens op een target schiet met een distance van 20, dat ten koste gaat van zijn overlevingskansen...
Niet alleen het botje moet slim zijn, ook de programmeur :) Het is tenslotte toch een contest voor ons, niet voor de botjes :P

[ Voor 23% gewijzigd door frickY op 07-07-2005 21:05 ]


Acties:
  • 0 Henk 'm!

  • NDF82
  • Registratie: Januari 2002
  • Laatst online: 11-09 08:19

NDF82

Doomed Space Marine

DaCoTa schreef op donderdag 07 juli 2005 @ 15:43:
[...]
Mag ik een voorstel doen en vragen of jij naar de beurtvolgorde wilt kijken? Jij bent verreweg het vloeiendst in de server code (goh, logisch :)) en die vind ik nog lastig om goed aan te pakken. Ook denk ik dat die change een hogere prio heeft dan het scoresysteem, gezien daar het ei al een hele lange tijd geleden over gelegd is en het client-technisch een vrij grote wijziging is.
De beurtvolgorde is goed hoor, was gewoon een aantal regeltjes code omdraaien. Wat nu wel correct is is de direction in HITBY. Die was niet goed omdat de MOVE na de FIRE uitgevoerd werd. Heeft niemand opgemerkt trouwens ;)

Pentium 233MHz MMX + Diamond Monster 3D 3DFX Voodoo II


Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 05-09 23:19
NDF82 schreef op donderdag 07 juli 2005 @ 22:01:
[...]
De beurtvolgorde is goed hoor, was gewoon een aantal regeltjes code omdraaien. Wat nu wel correct is is de direction in HITBY. Die was niet goed omdat de MOVE na de FIRE uitgevoerd werd. Heeft niemand opgemerkt trouwens ;)
Zit die code in de repository? Want ik heb de verandering eigenlijk nog niet gemerkt. Officieel heeft de 2 acties per beurt gewonnen, dus of een fire, of een move, maar altijd een scan mogelijk, uitgevoerd in de FMS volgorde. Die code zit er zeker nog niet in :)

Acties:
  • 0 Henk 'm!

  • Ricvdp
  • Registratie: Juni 2005
  • Laatst online: 18-08 13:43
Even wat duidelijkheid, wat is nu de huidige beurtvolgorde, en hoe gaat hij worden? Straks zit ik het weer fout te implementeren in m'n bot nl.

Acties:
  • 0 Henk 'm!

  • NDF82
  • Registratie: Januari 2002
  • Laatst online: 11-09 08:19

NDF82

Doomed Space Marine

Doh, dan heb ik wel erg scheel gekeken :s In ieder geval, het enige wat veranderd moet worden voor de meest simpele oplossing (MOVE-FIRE-SCAN) is het omdraaien van FIRE processing en MOVE processing in de processTurn() method. Ik kijk er vanavond wel even naar.

Edit@ric
Ik zou zeggen MOVE-FIRE-SCAN omdat deze bijna net zoveel stemmen heeft als de winnaar en het makkelijkst te implementeren is (lees binnen 2.194 seconden). Mischien dat Soultaker de knoop kan doorhakken.

Edit2:
Ik ben niet scheel :P. In de repository staat toch echt MOVE-FIRE-SCAN

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            // process move operations
            iterator = clients.iterator();
            while (iterator.hasNext()) {
                DefaultClientGameInfo clientGameInfo = (DefaultClientGameInfo)iterator.next();
                executeMove(clientGameInfo);
            }

            // process fire operations
            iterator = clients.iterator();
            while (iterator.hasNext()) {
                DefaultClientGameInfo clientGameInfo = (DefaultClientGameInfo)iterator.next();
                executeFire(clientGameInfo);
            }
            
            // process scan operations
            iterator = clients.iterator();
            while (iterator.hasNext()) {
                DefaultClientGameInfo clientGameInfo = (DefaultClientGameInfo)iterator.next();
                if(clientGameInfo.isAlive())
                    executeScan(clientGameInfo);
            }

[ Voor 83% gewijzigd door NDF82 op 08-07-2005 08:41 ]

Pentium 233MHz MMX + Diamond Monster 3D 3DFX Voodoo II


Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 05-09 23:19
NDF82 schreef op vrijdag 08 juli 2005 @ 08:32:
Edit2:
Ik ben niet scheel :P. In de repository staat toch echt MOVE-FIRE-SCAN
Ik had dat stuk van de code nog niet goed bekeken, maar dat verklaard wel waarom mijn bots zoveel mis schieten :) En ik merk ook dat op de hell server mijn bots het veel slechter doen omdat ze de energie er echt doorheen jassen. Dus ik ga binnenkort ook weer ff aan de bot sleutelen zodat iedereen weer kan gaan schelden op mijn bots :)

Oh ja, de hell server is ook ERG druk, ik krijg op heel vaak scanresults met 4 of meer bots, daar valt weinig zinnige A.I. op de bouwen. Ik denk dat daar de mapsize wel weer omhoog kan, of we moeten iets verzinnen met variabele mapgrootte, afhankelijk van het aantal bots. Staat al ergens op de wiki en vind ik eigenlijk ook wel een goed idee.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23:10

Janoz

Moderator Devschuur®

!litemod

Variabele mapgrootte is erg lastig on the fly aan te passen. Relative afstanden tussen de verschillende robots lopen immers over de rand van de map. Je AI kan redelijk in de war raken wanneer een botje zonder te moven ineens een stuk verderop staat.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

oops... hier stond iets fouts...

[ Voor 93% gewijzigd door LuCarD op 08-07-2005 10:51 ]

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • NDF82
  • Registratie: Januari 2002
  • Laatst online: 11-09 08:19

NDF82

Doomed Space Marine

Map grootte kan al geconfigureerd worden. Ik ben er meer voor om ook een configuratie parameter MAX_USERS oid toe te voegen die het maximale aantal ingelogde users bepaald.

Pentium 233MHz MMX + Diamond Monster 3D 3DFX Voodoo II


Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 05-09 23:19
NDF82 schreef op vrijdag 08 juli 2005 @ 11:14:
Map grootte kan al geconfigureerd worden. Ik ben er meer voor om ook een configuratie parameter MAX_USERS oid toe te voegen die het maximale aantal ingelogde users bepaald.
Klinkt logisch. Mogelijk ook te laten bepalen adhv de mapgrootte. Ik roep maar iets, maar MAX_USERS = map_width * map_height / 1000 ofzo? Beetje spelen met die 1000 kan geen kwaad (1000 is te hoog denk ik), maar op deze manier heb je altijd een zelfde maximale drukte op de server. M.i. kan een server beter een beetje te leeg zijn dan een beetje te vol.

[ Voor 4% gewijzigd door DaCoTa op 08-07-2005 11:38 ]


Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
NDF82 schreef op vrijdag 08 juli 2005 @ 11:14:
Map grootte kan al geconfigureerd worden. Ik ben er meer voor om ook een configuratie parameter MAX_USERS oid toe te voegen die het maximale aantal ingelogde users bepaald.
Wat je misschien ook zou kunnen doen is gebruikers (zonder dat ze het hoeven te weten) in groepen opdelen van MAX_USERS_PER_GROUP. Maar dan zit je weer met dat je de users gelijkmatig over groepen zou moeten verdelen, anders is het voor sommige botjes soms erg leeg in het veld.

Acties:
  • 0 Henk 'm!

  • NDF82
  • Registratie: Januari 2002
  • Laatst online: 11-09 08:19

NDF82

Doomed Space Marine

Als ik Counter-Strike speel kan de server admin ook de mapgrootte bepalen (door een bepaalde map te kiezen) en het aantal users wat op de server kan inloggen. Lekker simpel, maar wel effectief. Dus gewoon een parameter die de admin kan configureren lijkt mij het beste/makkelijkste/...

Pentium 233MHz MMX + Diamond Monster 3D 3DFX Voodoo II


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23:10

Janoz

Moderator Devschuur®

!litemod

Dat kan in principe allemaal al, het probleem is echter hoe je tijdens het spelen zorgt dat het aantal bots per vierkante unit acceptabel blijft.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:30
foutje, bedankt.

[ Voor 79% gewijzigd door Soultaker op 08-07-2005 18:00 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Even iets anders tussendoor....

Ik zie dat een anatal van jullie mooie GUI's aan het maken is. Nu vraag ik me af, gebruiken jullie meerdere threads daarvoor? Want als je dat niet doet dan reageert je applicatie toch niet meer op de gebruiker, omdat je applicatie de hele tijd staat te wachten op een newturn??

Mijn botje schrijf ik in C# en ik dacht handig te zijn door streamreader.peek en een timer te gebruiken, maar de stream ondersteund geen seeking.... dat werkt dus niet.

Hoe lossen jullie dit op?

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op vrijdag 08 juli 2005 @ 19:27:
Even iets anders tussendoor....

Ik zie dat een anatal van jullie mooie GUI's aan het maken is. Nu vraag ik me af, gebruiken jullie meerdere threads daarvoor? Want als je dat niet doet dan reageert je applicatie toch niet meer op de gebruiker, omdat je applicatie de hele tijd staat te wachten op een newturn??

Mijn botje schrijf ik in C# en ik dacht handig te zijn door streamreader.peek en een timer te gebruiken, maar de stream ondersteund geen seeking.... dat werkt dus niet.

Hoe lossen jullie dit op?
PHP CLI #1: WarBOT <-> MySQL
PHP CLI #2: User <-> Apache <-> PHP <-> MySQL
Draait op meerdere boxen met een PHP CLI. Dus kan je eigenlijk zien als meerdere treads.

Acties:
  • 0 Henk 'm!

  • Ricvdp
  • Registratie: Juni 2005
  • Laatst online: 18-08 13:43
Hij heft heeft over C# KOD.

Ik werk in C# met mdi, vervolgens laat ik in mijn child gewoon de GUI doen, daarna star ik een thread die de serverloop heeft. Gaat perfect:).

Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

Ik gebruik c++ met Qt als toolkit. Deze biedt asynchrone sockets en ik heb daardoor een responsive UI en toch geen threads nodig. Ik neem aan dat ze dat intern wel met een poll-thread afhandelen ofzo, maar daar heb ik geen last van.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • Wiebbe
  • Registratie: Februari 2001
  • Laatst online: 05-09 21:41

Wiebbe

<none />

Verwijderd schreef op vrijdag 08 juli 2005 @ 19:27:
Even iets anders tussendoor....

Ik zie dat een anatal van jullie mooie GUI's aan het maken is. Nu vraag ik me af, gebruiken jullie meerdere threads daarvoor? Want als je dat niet doet dan reageert je applicatie toch niet meer op de gebruiker, omdat je applicatie de hele tijd staat te wachten op een newturn??

Mijn botje schrijf ik in C# en ik dacht handig te zijn door streamreader.peek en een timer te gebruiken, maar de stream ondersteund geen seeking.... dat werkt dus niet.

Hoe lossen jullie dit op?
ik gebruik heel illegaal deze manier :P
(tis niet netjes maar ach, ik ben nog bezig met de start ;) )

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
            Do While (connected)
                Application.DoEvents()
                If NetworkStream.DataAvailable Then
                    incomingmsg = Reader.ReadLine()

                    message = incomingmsg.Split(" "c)

                    addStatusMessage("Server", incomingmsg)

                    Select Case message(0)
                        Case ServerMessages.Version
                            Writer.writeline(ClientMessages.User & " Wiebbe Secrat")
                            Writer.Flush()
                            addStatusMessage("Client", "USER Wiebbe Secrat")
                        Case ServerMessages.Newturn

                            lblEnergy.Text = message(3) & "/" & World.getMax_battery

                            addStatusMessage("Client", ClientMessages.Scan & ClientMessages.Delim & message(1) & ClientMessages.Delim & "7.5")
                            Writer.writeline(ClientMessages.Scan & ClientMessages.Delim & message(1) & ClientMessages.Delim & "7.5")
                            Writer.Flush()
                   End Select
                End If
            Loop


ik weet niet helemaal wat de policy is qua coden posten dus ik heb het zo summier mogelijk gehouden, ik moet nog veel classes schrijven, bijv voor het verzenden en ontvangen van berichten enzo, maar ik heb nog nooit met TCP gewerkt.

Oh noes.. No more TreinTijden :(


Acties:
  • 0 Henk 'm!

Verwijderd

Aan zoiets zat ik ook al te denken Ricvdp, dus ik ga maar eens proberen een tweede thread te starten in C# :)

Bedankt voor jullie reacties :*)

Acties:
  • 0 Henk 'm!

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 07-07 10:04
Wat gebeurt er als je een move doet naar een bepaalde plaats terwijl er dan al een bot staat?

Daarnaast nog dit: Is het niet slim om een systeem in te schakelen die voorkomt dat bot's van eenzelfde speler samen gaan spelen, oftewel, sharing van gegevens en samenwerken om een bot in te sluiten en te killen?

Acties:
  • 0 Henk 'm!

Verwijderd

Dag mede (G/B)otters :)

Ik kwam langs dit topic en vond het zo netjes en leuk opgezet dat ik m'n jbuilder ook maar weer eens uit de kast heb getrokken. Ik heb nu een min of meer werkende bot, alleen de I in AI is nog ver te zoeken. Ik zal hem ook aan de wiki toevoegen onder de naam ChoasBot.

Er zitten trouwens echt heel erg mooi GUI's bij (die van DaCoTa bijvoorbeeld).

Acties:
  • 0 Henk 'm!

  • Jerry
  • Registratie: September 2001
  • Laatst online: 09-04-2022

Jerry

Who?

Verwijderd schreef op zaterdag 09 juli 2005 @ 12:35:
Aan zoiets zat ik ook al te denken Ricvdp, dus ik ga maar eens proberen een tweede thread te starten in C# :)

Bedankt voor jullie reacties :*)
Dan zal ik ook nog even een duit in het zakje doen :).

C#:
1
2
mainThread = new Thread(new ThreadStart(mainLoop));
mainThread.Start();


En mainLoop() is gewoon een functie waar alles in gedaan wordt :).

Specs
Youtube celebrity
D3 Crusader


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
Scorpion1984 schreef op zaterdag 09 juli 2005 @ 15:52:
Wat gebeurt er als je een move doet naar een bepaalde plaats terwijl er dan al een bot staat?

Daarnaast nog dit: Is het niet slim om een systeem in te schakelen die voorkomt dat bot's van eenzelfde speler samen gaan spelen, oftewel, sharing van gegevens en samenwerken om een bot in te sluiten en te killen?
Dat is al onmogelijk. Je weet niet waar op de kaart je botje zich bevind, dus je kunt je 2 botjes ook niet naar elkaar toe bewegen, je weet immers niet waar ze zijn.

Acties:
  • 0 Henk 'm!

  • DRAFTER86
  • Registratie: April 2002
  • Laatst online: 05:59
DRAFTER86 schreef op donderdag 07 juli 2005 @ 15:53:
Ik probeer nu mijn C# botje meerdere bots te laten spawnen maar de connecties raken door elkaar. Zo krijg ik bijvoorbeeld de respons op een USER commando op de stream van de andere bot. Ik gebruik het streamreader-principe van de wiki....
Iemand een idee?
Niemand? O-)

Acties:
  • 0 Henk 'm!

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 07-07 10:04
frickY schreef op zondag 10 juli 2005 @ 12:40:
[...]

Dat is al onmogelijk. Je weet niet waar op de kaart je botje zich bevind, dus je kunt je 2 botjes ook niet naar elkaar toe bewegen, je weet immers niet waar ze zijn.
Dat valt ook weer heel simpel te fixen, je kan dit namelijk doen:
Maak 9 botjes aan in het speelveld, laat ze elkaar zoeken en maak en mooi blokje van 3 bij 3 bots. Met onderlinge communicatie moet dit mogelijk zijn. Je neemt dat als je begin positie, en laat ze daarna op bepaalde manieren bewegen, je kan bijvoorbeeld gebruiken om een groot gedeelte te scannen, maar natuurlijk ook om iemand met 9 botjes in te sluiten.

Acties:
  • 0 Henk 'm!

  • LittleWan
  • Registratie: Februari 2003
  • Laatst online: 11-09 14:26
Ik heb dit topic net ontdekt, en vind het wel iets hebben. Ik ga ook eens proberen mee te doen (als ik tijd genoeg vind). Ik heb nog nooit C# gebruikt en zie dit hier als een kans om dit eens te leren. Is dit een goed idee of blijf ik beter bij een taal die ik al een beetje ken?
weet ook nog niet zo direct waar te beginnen :s Ik zal best alles nog een 2de keer lezen :d

http://www.sillevl.be - blog http://www.sillevl.be/blog - flickr http://www.flickr.com/sillevl


Acties:
  • 0 Henk 'm!

  • Jerry
  • Registratie: September 2001
  • Laatst online: 09-04-2022

Jerry

Who?

LittleWan schreef op zondag 10 juli 2005 @ 18:04:
Ik heb dit topic net ontdekt, en vind het wel iets hebben. Ik ga ook eens proberen mee te doen (als ik tijd genoeg vind). Ik heb nog nooit C# gebruikt en zie dit hier als een kans om dit eens te leren. Is dit een goed idee of blijf ik beter bij een taal die ik al een beetje ken?
weet ook nog niet zo direct waar te beginnen :s Ik zal best alles nog een 2de keer lezen :d
Ligt er maar net aan wat voor programmeer ervaring je met andere talen hebt :).
Als je bijvoorbeeld (veel) ervaring hebt met Java dan is het een eitje om met C# aan de slag te gaan (ik had er ook geen moeite mee). Als je VB kent dan kom je ook een heel eind met C#.
Deze contest loopt denk ik best lang dus je hebt alle tijd om een nieuwe taal te leren.

Specs
Youtube celebrity
D3 Crusader


Acties:
  • 0 Henk 'm!

Verwijderd

Deze competitie kost me te veel tijd, dus ik stop ermee.

Veel succes allemaal!!!!!!

Acties:
  • 0 Henk 'm!

  • Sijmen
  • Registratie: November 2004
  • Laatst online: 16-05 00:07
Ik ben de laatste week heeeel druk bezig geweest met school, maar dat is nu voorbij!

Ik ga even aan m'n bot werken, nadat WORLDINFO en USERENTER geïmplementeerd zijn zal ik hem posten. En ik zet ook een email in m'n profiel ;)

Acties:
  • 0 Henk 'm!

  • Sijmen
  • Registratie: November 2004
  • Laatst online: 16-05 00:07
Verwijderd schreef op vrijdag 08 juli 2005 @ 19:27:
Even iets anders tussendoor....

Ik zie dat een anatal van jullie mooie GUI's aan het maken is. Nu vraag ik me af, gebruiken jullie meerdere threads daarvoor? Want als je dat niet doet dan reageert je applicatie toch niet meer op de gebruiker, omdat je applicatie de hele tijd staat te wachten op een newturn??

Mijn botje schrijf ik in C# en ik dacht handig te zijn door streamreader.peek en een timer te gebruiken, maar de stream ondersteund geen seeking.... dat werkt dus niet.

Hoe lossen jullie dit op?
Ik gebruik idd een aparte thread voor de bot. Alle onderdelen van het programma kunnen loggen, en die logger is toevallig mijn MainForm. Die MainForm heeft dus die Log() methode, en die doet een Invoke() naar een andere methode die het ook echt in m'n ListView zet:

Hier maar even de MainForm code, de rest komt later wel:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using GotBot.Bots;
using System.Diagnostics;

namespace GotBot
{
    public partial class MainForm : Form, ILogger
    {
        delegate void LogCallback(string source, LogType type, string text);

        GotClient client;
        GotProtocol protocol;
        GotInterface iface;

        GotBot currentBot;
        Thread botThread;

        void updateButtons()
        {
            connectButton.Enabled = client.CanConnect;
            disconnectButton.Enabled = client.CanDisconnect;
            botPanel.Enabled = client.Connected;
        }

        void connectButton_Click(object sender, EventArgs e)
        {
            client.Connect();
            updateButtons();
        }

        void disconnectButton_Click(object sender, EventArgs e)
        {
            client.Disconnect();
            updateButtons();
        }

        void closeButton_Click(object sender, EventArgs e)
        {
            Close();
        }

        void firstBotButton_Click(object sender, EventArgs e)
        {
            spawn(new FirstBot(iface));
        }

        void logCallback(string source, LogType type, string text)
        {
            ListViewItem item = new ListViewItem(logOutput.Items.Count.ToString());
            item.SubItems.Add(Enum.GetName(typeof(LogType), type));
            item.SubItems.Add(source);
            item.SubItems.Add(text);

            switch (type)
            {
                case LogType.Warning:
                    item.ForeColor = Color.FromArgb(128, 128, 0);
                    break;

                case LogType.Error:
                    item.ForeColor = Color.FromArgb(128, 0, 0);
                    break;
            }

            logOutput.Items.Add(item);
            logOutput.EnsureVisible(logOutput.Items.Count - 1);
        }

        void spawn(GotBot bot)
        {
            botPanel.Enabled = false;
            currentBot = bot;

            botThread = new Thread(new ThreadStart(botrun));
            botThread.Start();
        }

        void botrun()
        {
            if (currentBot == null)
                return;

            currentBot.Setup();
            client.Receive();
        }

        protected override void OnClosing(CancelEventArgs e)
        {
            if (botThread != null)
                botThread.Interrupt();

            client.Disconnect();
        }

        public MainForm()
        {
            InitializeComponent();

            client = new GotClient();
            protocol = new GotProtocol(client);
            iface = new GotInterface(protocol);

            client.Logger = this;
            protocol.Logger = this;
            iface.Logger = this;

            updateButtons();
        }

        public void Log(string source, LogType type, string text)
        {
            try
            {
                Invoke(new LogCallback(logCallback), source, type, text);
            }
            catch (InvalidOperationException)
            {
                Debug.WriteLine("Could not invoke.");
            }
        }
    }
}

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
Scorpion1984 schreef op zondag 10 juli 2005 @ 13:20:
Dat valt ook weer heel simpel te fixen, je kan dit namelijk doen:
Maak 9 botjes aan in het speelveld, laat ze elkaar zoeken en maak en mooi blokje van 3 bij 3 bots. Met onderlinge communicatie moet dit mogelijk zijn. Je neemt dat als je begin positie, en laat ze daarna op bepaalde manieren bewegen, je kan bijvoorbeeld gebruiken om een groot gedeelte te scannen, maar natuurlijk ook om iemand met 9 botjes in te sluiten.
`

Tegen de tijd dat al jouw 9 botjes elkaar hebben gevonden zijn ze allang kapot geknalt :P
Maar als je het echt graag zou willen zou het wel kunnen ja. Maar waarom zou je die moeite nemen, dit is helemaal niet de bedoeling van de contest :)

@Aai
Erg jammer, maar ook een vreemd besluit. Je kunt er immers zoveel tijd instoppen als je zelf wilt. Zo heb ik zelf de afgelopen week vrijwel geen flikker met mn botje gedaan, want ik had geen zin. Als ik wel weer een keer zin en tijd heb ga ik verder. Dat is het makkelijke van deze contest; er is geen haast.

Acties:
  • 0 Henk 'm!

Verwijderd

frickY schreef op maandag 11 juli 2005 @ 14:52:
[...]
*knip

@Aai
Erg jammer, maar ook een vreemd besluit. Je kunt er immers zoveel tijd instoppen als je zelf wilt. Zo heb ik zelf de afgelopen week vrijwel geen flikker met mn botje gedaan, want ik had geen zin. Als ik wel weer een keer zin en tijd heb ga ik verder. Dat is het makkelijke van deze contest; er is geen haast.
Zo vreemd vind ik het niet hoor, ik heb gewoon te weinig ervaring met C# en OO programmeren om een leuk botje te kunnen maken (binnen afzienbare tijd). Ik ben nu al weken bezig om alleen dat protocol te implementeren en ik blijf de structuur omgooien, omdat ik gewoon nog geen mooie implementatie heb bedacht. M.a.w. ik ben aan het prutsen en daar heb ik een hekel aan :/ .

Een commandline botje kan tuurlijk ook, daarmee heb ik het stukje protocol dat ik geprogrammeerd heb ook getest. Maar dat vind ik dan weer niet leuk, het moet wel een mooie applicatie worden ;)

Mede omdat ik straks ook weinig tijd heb om aan deze contest te werken (i.v.m. werk/vriendin/sport), heb ik besloten er mee te stoppen.

Acties:
  • 0 Henk 'm!

  • Fl4sh3r
  • Registratie: Juni 2002
  • Laatst online: 02-10-2023
Ook ik ben aan een botje begonnen, of ik echt mee ga doen met contests weet ik nog niet. Ik heb mijn bot ook nog niet toegevoegd op de wiki.

Het connecten, een aardige GUI, moven en scannen werkt goed. Het schieten nog wat minder, voornamelijk door gebrek aan A.I.

Dat laatste wil ik graag gaan doen met een ANN (Artificial Neural Network), maar hier heb ik totaal geen verstand van. Nu lijkt het me wel heel erg leuk om te leren. Ik heb totaal geen ervaring met (zelf lerende) A.I. Enkel een enkele pathfinder o.i.d.

Googlen naar ANN, of alleen NN geeft een hoop resultaat. Ik snap nu een beetje het idee, maar zelf iets nuttigs ervan maken gaat nog niet lukken. Daarom ben ik opzoek naar goeie online documentatie over ANN. Iemand suggesties? Bedankt.

Acties:
  • 0 Henk 'm!

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Ziet er goed uit, ben wel benieuwd naar de rest! Zou je die kunnen zippen en online willen zetten?

"The shell stopped unexpectedly and Explorer.exe was restarted."


Acties:
  • 0 Henk 'm!

  • Zoijar
  • Registratie: September 2001
  • Niet online

Zoijar

Because he doesn't row...

Heeft iemand al iets gemaakt dat een wereld beeld bijhoudt aan de hand van kansen, en dan met behulp van bayesiaanse kansrekening fuzzy beslissingen maakt? Het leek me wel leuk om daar iets mee te doen, maar ik denk dat ik er geen tijd voor heb...

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
@Fl4sh3r
Ik heb eraan gedacht om een Neuraal netwerk op te zetten voor dit botje, maar zie er vanaf. Eigenlijk is dit botje al té complex om daarmee voor het eerst aan de slag te gaan. Ook is het leren van je botje veel te tijdrovend.
Daarnaast wordt het meeste geleerde 'onbruikbaar' als een paar mensen hun botje aanpassen en ze dingen gaan doen die je ANN nog niet eerder was tegen gekomen.
Op http://www.ai-junkie.com staat wel het een en ander. Op de splash rechtsbovenin voor 'Neural networks' kiezen.

Acties:
  • 0 Henk 'm!

  • compufreak88
  • Registratie: November 2001
  • Laatst online: 02-05 17:51
kijk is op de AI pagina van de wiki. Daar staat een link naar een uitgebreide uitleg over nn's

Acties:
  • 0 Henk 'm!

  • GeniusDex
  • Registratie: Augustus 2001
  • Laatst online: 24-01 17:02

GeniusDex

Thumbs up for insanity!

Wat me net opviel, is dat als een gebruiker dood gaat en meteen weer opnieuw verbindt de USERENTER voor de USEREXIT komt, waardoor je dus eigenlijk even 2x dezelfde gebruiker hebt:

code:
1
2
3
4
5
6
debug[socket] Received on pwc: NEWTURN 21809 2 30
debug[pwcontest] New turn #21809 with 30.000000 energy (2 messages left)
debug[socket] Received on pwc: USERENTER 21809 DragonEyeC_23
[pwcontest] New User found: DragonEyeC_23
debug[socket] Received on pwc: USEREXIT 21809 DragonEyeC_23 KILLED
[pwcontest] User DragonEyeC_23 has left (KILLED)


Is het niet praktischer om die USEREXIT en USERENTER om te draaien? Dan blijft het voor de bots ook wat logischer lijkt me.

Please guys, I'm trying to troll here.
If I failed to offend you in this post, please leave a message. I will address you in next post.


Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 05-09 23:19
GeniusDex schreef op dinsdag 12 juli 2005 @ 13:27:
Is het niet praktischer om die USEREXIT en USERENTER om te draaien? Dan blijft het voor de bots ook wat logischer lijkt me.
Goed punt. Zal ik aanpassen.

Acties:
  • 0 Henk 'm!

Verwijderd

Vraagje... hoe connect ik meerdere bots?

Ik gebruik PHP in command line mode (cli). Wanneer ik in één script meedere instanties van mijn botclass probeer te laten connecten gaat dat opzich niet fout, alleen krijg ik het idee dat botje nummer 1 alle input binnenkrijgt.

Het lijkt er dus op dat er vanuit één script maar één connectie gestart kan worden en ondanks van elkaar losstaande
$this->fp = fsockopen($server, $port, $errno, $errstr, 30)
er toch maar één connectie is.

Klopt dat? Hoe kan ik meerdere bots laten draaien?

Bedankt,

- John

Acties:
  • 0 Henk 'm!

  • Daspeed
  • Registratie: Maart 2001
  • Laatst online: 11-09 00:35
het makkelijkste is om je script meerdere keren tegelijkertijd te laten draaien

Acties:
  • 0 Henk 'm!

Verwijderd

Ik ben ook van plan om mee te doen. Probleem is dat ik het nogal druk heb met bier verwerken tijdens het WMC en nog iemand anders die wat geprogrammeerd wil hebben. Ik zal in ieder geval een bot programmeren, maar ik verwacht er niet al te veel van.

Dit lijkt me een leuk projecttje als introductie in 'AI programming'. De programmeertaal wat ik ga gebruiken is denk ik eerst Delphi, daarna ben ik van plan de zooi te porten naar C, java en misschien C#. Tevens ben ik van plan om meerdere instanties van de bot een gezamenlijk geheugen te laten delen en zo dus samen te laten werken. Dit is natuurlijk niet voor deze contest bedoelt maar meer om mijn kennis uit te breiden.

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
@Diice
Echo die $this->fp eens om te zien of ze wel allemaal afzonderlijke resource ID's hebben.
Je hebt kans dat PHP ziet dat er al een socket open staat naar de gegeven host, en dus dezelfde resource toewijst in plaats van een nieuwe te maken
Kan niets vinden over deze mogelijke 'feature', maar wie weet.

[ Voor 17% gewijzigd door frickY op 13-07-2005 13:30 ]


Acties:
  • 0 Henk 'm!

  • RickN
  • Registratie: December 2001
  • Laatst online: 14-06 10:52
Ik kon het nergens vinden:

Wat is de positie van een bot direct na het inloggen? random? vaste spawnpunten? onbekend?

He who knows only his own side of the case knows little of that.


Acties:
  • 0 Henk 'm!

  • GeniusDex
  • Registratie: Augustus 2001
  • Laatst online: 24-01 17:02

GeniusDex

Thumbs up for insanity!

Die positie is random (staat op de wiki geloof ik), maar wordt later als het goed is aangepast zodat je in een rustige omgeving spawnt.

Please guys, I'm trying to troll here.
If I failed to offend you in this post, please leave a message. I will address you in next post.


Acties:
  • 0 Henk 'm!

  • Sijmen
  • Registratie: November 2004
  • Laatst online: 16-05 00:07
Man, ik heb er de laatste dagen weer nauwelijks aan gewerkt, en dat terwijl het zo leuk is (of kan zijn). Misschien heb ik wel veel te veel games die uitgespeeld moeten worden :/

Acties:
  • 0 Henk 'm!

  • RickN
  • Registratie: December 2001
  • Laatst online: 14-06 10:52
GeniusDex schreef op woensdag 13 juli 2005 @ 15:11:
Die positie is random (staat op de wiki geloof ik), maar wordt later als het goed is aangepast zodat je in een rustige omgeving spawnt.
Oke, maar hoe wordt die random positie dan aan een nieuwe speler kenbaar gemaakt.
Het protocol heeft hier geen voorziening voor, voor zover ik kan zien.

Als je als speler je initiele positie niet weet, weet je ook niet waar de grenzen van de wereld zijn....

He who knows only his own side of the case knows little of that.


Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 09-09 17:18
volg deze topic al een tijdje, staat ook onder mijn bookmarks maar als ik het doe wil ik het in een taal doen die mij nog niet zo bekend is.

Iemand hier die het in c++ gaat maken en een 'basic' botje kan posten ? zodat ik de structuur kan bestuderen en eventueel verbeteren en natuurlijk uitbreiden naar mijn eigen wensen?

Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

RickN schreef op woensdag 13 juli 2005 @ 16:33:
[...]

Oke, maar hoe wordt die random positie dan aan een nieuwe speler kenbaar gemaakt.
Het protocol heeft hier geen voorziening voor, voor zover ik kan zien.

Als je als speler je initiele positie niet weet, weet je ook niet waar de grenzen van de wereld zijn....
De wereld kun je dan ook beschouwen als grensloos.
Als speler hoef je alleen maar bij te houden wat je eigen moves zijn geweest, dan kun je zelf bepalen dat je de wereld rond bent gegaan, je weet immers de dimensies van de wereld (staat in worldinfo).

Dit is nou al x keer langsgekomen (no flame intended). Toch raar dat zo veel mensen hier over struikelen, terwijl het echt niet zo lastig te bevatten is. ;)

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • Scorpion1984
  • Registratie: Juni 2002
  • Laatst online: 07-07 10:04
Wat gebeurd er nu eigenlijk als een botje een move doet naar een plaats waar al een botje staat?

Acties:
  • 0 Henk 'm!

Verwijderd

Scorpion1984 schreef op woensdag 13 juli 2005 @ 17:08:
Wat gebeurd er nu eigenlijk als een botje een move doet naar een plaats waar al een botje staat?
Dan krijg je kleine botjes.

Tiele

Acties:
  • 0 Henk 'm!

  • GeniusDex
  • Registratie: Augustus 2001
  • Laatst online: 24-01 17:02

GeniusDex

Thumbs up for insanity!

:+

Dat is ook al voorbijgekomen, maar dan staan er gewoon 2 botjes op 1 plaats. Een botje heeft een oneindig kleine omvang, dus er zal niks botsen. En al staan ze echt precies op elkaar, dan staan ze dat maar :) Moet je alleen wel heel erg suicidaal zijn om te schieten.

Please guys, I'm trying to troll here.
If I failed to offend you in this post, please leave a message. I will address you in next post.


Acties:
  • 0 Henk 'm!

  • RickN
  • Registratie: December 2001
  • Laatst online: 14-06 10:52
zwippie schreef op woensdag 13 juli 2005 @ 16:39:
[...]

De wereld kun je dan ook beschouwen als grensloos.
Als speler hoef je alleen maar bij te houden wat je eigen moves zijn geweest, dan kun je zelf bepalen dat je de wereld rond bent gegaan, je weet immers de dimensies van de wereld (staat in worldinfo).

Dit is nou al x keer langsgekomen (no flame intended). Toch raar dat zo veel mensen hier over struikelen, terwijl het echt niet zo lastig te bevatten is. ;)
Oh, het is vast wel voorbij gekomen, maar het wordt niet uitgelegd in de beschrijving van het spel (waar je het wél zou verwachten). Het is niet lastig te bevatten, maar het is ook niet een erg intuïtieve betekenenis die je aan afmetingen van een speelveld zou toekennen. Als zoiets niet wordt vermeld leidt dat vanzelfsprekend tot misverstanden. Kortom, zo'n wezelijk aspect van het spel concept moet in beschrijving staan, niet in honderden begeleidende forumposts.

Anyway, et lijkt me leuk, ik heb waarschijnlijk geen tijd, maar ik zal es kijken of ik ermee aan de slag ga.

He who knows only his own side of the case knows little of that.


Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 10-08 02:59

Gerco

Professional Newbie

gideon82 schreef op woensdag 13 juli 2005 @ 16:36:
Iemand hier die het in c++ gaat maken en een 'basic' botje kan posten ? zodat ik de structuur kan bestuderen en eventueel verbeteren en natuurlijk uitbreiden naar mijn eigen wensen?
Deze bot is ook mijn eerste ervaring in C++ en de AI is alles behalve Intelligent, dus je mag mijn code best zien. C&C is uiteraard ook welkom.

Als je in windows werkt zul je het niet kunnen compileren aangezien het op Qt3 gebaseerd is en die is er niet gratis voor Windows, maar de structuur kun je wel bekijken.

De code is hier af te halen: gotbot.tar.bz2

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

Verwijderd

@frickY: thanks

Is opgelost met m'n meerdere bots in PHP cli. Main loop zat verkeerd in elkaar waardoor 'ie alleen eerste bot in lus afhandelde. Is dus best te doen in 1 script.

Acties:
  • 0 Henk 'm!

  • D-Three
  • Registratie: Oktober 2001
  • Laatst online: 10-09 13:58
Hey, leuke contest! Het is weliswaar jaren geleden dat ik nog iets geprogrammeerd heb maar toevallig was dat een programma die via UDP/IP moest communiceren met hardware :p Misschien is dit wel een leuke oefening om mijn kennis eens terug op peil te brengen :)

Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

RickN schreef op woensdag 13 juli 2005 @ 23:16:
[...]


Oh, het is vast wel voorbij gekomen, maar het wordt niet uitgelegd in de beschrijving van het spel (waar je het wél zou verwachten). Het is niet lastig te bevatten, maar het is ook niet een erg intuïtieve betekenenis die je aan afmetingen van een speelveld zou toekennen. Als zoiets niet wordt vermeld leidt dat vanzelfsprekend tot misverstanden. Kortom, zo'n wezelijk aspect van het spel concept moet in beschrijving staan, niet in honderden begeleidende forumposts.

Anyway, et lijkt me leuk, ik heb waarschijnlijk geen tijd, maar ik zal es kijken of ik ermee aan de slag ga.
Daar heb je wel gelijk in ja. Bij deze dus een stukje toegevoegd aan de wiki bij Spelbeschrijving->De spelwereld: :)
Het speelveld is een rechthoek waarbij de linkergrens aan de rechtergrens is gekoppeld, en de bovengrens aan de ondergrens. Met andere woorden: als een bot links het speelveld uitrijdt, dan komt deze er rechts weer binnen. Idem voor boven en onder.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 09-09 17:18
Gerco schreef op donderdag 14 juli 2005 @ 00:34:
[...]

Deze bot is ook mijn eerste ervaring in C++ en de AI is alles behalve Intelligent, dus je mag mijn code best zien. C&C is uiteraard ook welkom.

Als je in windows werkt zul je het niet kunnen compileren aangezien het op Qt3 gebaseerd is en die is er niet gratis voor Windows, maar de structuur kun je wel bekijken.

De code is hier af te halen: gotbot.tar.bz2
Mijn dank is groot.. Ik gebruik Visual C++ .Net 2003 (studenten licentie _/-\o_ ) en zal jou code denk ik niet kunnen compilen, maar daar gaat het niet om.. Gaat om het 'idee' van de code structuur aangezien ik niet zo heel veel tijd aan het 'beginnen' kan besteden (heb veel andere dingen te doen |:( ) en anders waarschijnlijk al mijn andere projecten voorrang zou geven terwijl dit toch echt een 'leuke' contest is.

Post hier mijn bevindingen binnenkort! :Y)

edit (update): Ga mijn botje toch maar niet bouwen in c++, gaat iets te ver voor mij kwa moeilijkheidsgraad aangezien ik aardig wat werk nog moet verzetten en niet al teveel tijd er op dit moment in kan steken.. Het wordt een 'techniek' botje gemaakt in vb.Net eerst en kan altijd later als ik meer tijd heb de port maken naar c++ B)

[ Voor 17% gewijzigd door mrFoce op 15-07-2005 01:01 ]


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
Als iemand nog een leuke utidaging zoekt.. kijk eens in CME naar het routerhacking-topic. Het meot goed te doen zijn een router om te flashen voor het draaien van je botje :P Heb je een hardware-botje Afbeeldingslocatie: http://forum.scooterforum.net/forum/images/smilies/king.gif

Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 05-09 23:19
De testcode kan denk ik onderhand wel de repo in. Ook omdat ik de aankomende weken wat minder tijd heb en mogelijk een offline periode ivm verhuizing.

Nieuw in de code:
  • USEREXIT/USERENTER meldingen
  • SCANRESULT geeft niet meer jezelf terug
  • Client timeout van 60 seconden

Acties:
  • 0 Henk 'm!

Verwijderd

eerder kreeg ik regelmatig een error 102 (illegal state)
ging er van uit dat ik dan de grens van de 'arena' had bereikt...

ik krijg hem nu niet meer; kan net zo ver rondwandelen als ik wil
er is geen grens, begrijp ik uit eerdere posts?

edit: sorry niet goed gelezen
"Met andere woorden: als een bot links het speelveld uitrijdt, dan komt deze er rechts weer binnen. Idem voor boven en onder."

[ Voor 28% gewijzigd door Verwijderd op 17-07-2005 16:21 ]


Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 09-09 17:18
c++ bot

Ik zit ff vast, heb nu 3 uur lopen kloten (ben beginner hehe) maar ik krijg maar geen response terug (of zo lijkt het)
iemand mij kan 'hinten' wat ik fout doe want hier wordt ik niet vrolijk van :O

edit: klikkerdeklik -> http://www.eurodance.us/code.htm
Heb de code hier weg gehaald, en de ge-update'te code wat ik tot nu toe heb in het html bestand gezet..

[ Voor 120% gewijzigd door mrFoce op 17-07-2005 21:35 . Reden: Ff wat meer 'test' code weg gehaald ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:30
Geen newline character na je message, zo te zien? Je stuurt bovendien geen protocolversie en je flusht geen data, wat wel aan te raden is.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 00:12

Creepy

Tactical Espionage Splatterer

gideon82 schreef op zondag 17 juli 2005 @ 03:21:
c++ bot

Ik zit ff vast, heb nu 3 uur lopen kloten (ben beginner hehe) maar ik krijg maar geen response terug (of zo lijkt het)
iemand mij kan 'hinten' wat ik fout doe want hier wordt ik niet vrolijk van :O
Wat voor een topicstart geldt, geldt ook voor vragen in dit topic. Met een contest wordt van je verwacht dat je zelf in staat bent een bot te maken en dat je je eigen code kan debuggen. Dus we verwachten minstens dat je aangeeft wat je zelf hebt geprobreerd om het op te lossen door te gaan debuggen en dat je ook aangeeft welke zaken je allemaal hebt geprobeerd om het op te lossen. Je code dumpen en vragen wie er ff helpt of een hint geeft is en blijft not done.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 09-09 17:18
Creepy schreef op zondag 17 juli 2005 @ 11:02:
[...]

Wat voor een topicstart geldt, geldt ook voor vragen in dit topic. Met een contest wordt van je verwacht dat je zelf in staat bent een bot te maken en dat je je eigen code kan debuggen. Dus we verwachten minstens dat je aangeeft wat je zelf hebt geprobreerd om het op te lossen door te gaan debuggen en dat je ook aangeeft welke zaken je allemaal hebt geprobeerd om het op te lossen. Je code dumpen en vragen wie er ff helpt of een hint geeft is en blijft not done.
mmm, om daarvoor gelijk een waarschuwing te geven vind ik een beetje 'not done' en overdreven. Stop wel met de contest.. |:( want op die fiets heb het toch geen zin..

[ Voor 5% gewijzigd door mrFoce op 17-07-2005 11:34 . Reden: .. ]


Acties:
  • 0 Henk 'm!

  • Ricvdp
  • Registratie: Juni 2005
  • Laatst online: 18-08 13:43
Sijmen, zou ik de source van je c# bot mogen zien?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 00:12

Creepy

Tactical Espionage Splatterer

gideon82 schreef op zondag 17 juli 2005 @ 11:32:
[...]


mmm, om daarvoor gelijk een waarschuwing te geven vind ik een beetje 'not done' en overdreven. Stop wel met de contest.. |:( want op die fiets heb het toch geen zin..
Die waarschuwing is niet voor jou, maar om dat in de toekomst voor anderen te voorkomen. Bovendien was je niet de eerste met zo'n vraag, vandaar dat de waarschuwing er nu staat.. Maar als je gewoon de zaken had aangeven die je zelf had geprobeerd en wat daar niet mee lukte dan was er niks aan de hand geweest...

[ Voor 15% gewijzigd door Creepy op 17-07-2005 12:35 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
DaCoTa schreef op zaterdag 16 juli 2005 @ 23:42:
De testcode kan denk ik onderhand wel de repo in. Ook omdat ik de aankomende weken wat minder tijd heb en mogelijk een offline periode ivm verhuizing.

Nieuw in de code:
  • USEREXIT/USERENTER meldingen
  • SCANRESULT geeft niet meer jezelf terug
  • Client timeout van 60 seconden
Wat is het adres van de officiële spelserver, waarin deze updates nu dus ook zijn doorgevoerd?
Ik zit te ontwikellen op hell.student.utwente.nl maar daar zie ik deze wijzigingen niet terug.
Het is misschien wel verstandig altijd met de laatste versie van de server te werken...

Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 09-09 17:18
Creepy schreef op zondag 17 juli 2005 @ 12:34:
[...]

Die waarschuwing is niet voor jou, maar om dat in de toekomst voor anderen te voorkomen. Bovendien was je niet de eerste met zo'n vraag, vandaar dat de waarschuwing er nu staat.. Maar als je gewoon de zaken had aangeven die je zelf had geprobeerd en wat daar niet mee lukte dan was er niks aan de hand geweest...
Sorry maar het was 3 uur snachts, had er 3 uur mee lopen 'kutten' Heel veel geprobeerd zoals Google afzoeken wat ik fout deed maar aangezien ik nog niet veel code had viel er niet veel te zoeken, mijn 'tcp client' code kwam rechtstreeks uit MSDN dus ik nam aan dat daar niet veel fout mee zat. Aangezien ik nieuw ben in c++ had het debuggen voor mij niet echt nut, wel geprobeerd maar ik kon niet ontdekken waar het nou fout ging want volgens mij ontving mij 'programma' gewoon niets.. Het maakte in ieder geval wel 'verbinding' met het internet maar daar hield het 'debug' proces voor mij op en werd niet wijzer..

edit: En die waarschuwing :+ dacht dat die persoonlijk was maar als die globaal is dan voel ik me niet 'aangevallen' :)

[ Voor 98% gewijzigd door mrFoce op 18-07-2005 00:00 . Reden: Soort van opgelost ]


Acties:
  • 0 Henk 'm!

  • Rutal
  • Registratie: Oktober 2004
  • Laatst online: 22:34
Hoe zit het met de damage dat een schot doet? Is deze overal in de blastradius hetzelfde, of neemt deze af hoeverder een bot zich van het middelpunt verwijderd heeft?

Goede ideeën zijn altijd tijdelijk van aard...


Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

De damage is voor elke bot binnen de blastradius gelijk.
Servercode:
Java:
1
double batteryOfPossibleTarget = possibleTarget.getBattery()-Constants.HIT_DAMAGE;

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 05-09 23:19
frickY schreef op zondag 17 juli 2005 @ 14:24:
Wat is het adres van de officiële spelserver, waarin deze updates nu dus ook zijn doorgevoerd?
Ik zit te ontwikellen op hell.student.utwente.nl maar daar zie ik deze wijzigingen niet terug.
Het is misschien wel verstandig altijd met de laatste versie van de server te werken...
Er is (nog) geen officiele spelserver. Alle servers die nu draaien zijn nog officieus en voor verschillende doeleinden. Bekijk welke server genoeg bots heeft, of vraag het op irc waar iedereen zit, dit varieerd over de tijd door crashes, nieuwe protocolwijzigingen of andere oorzaken.

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
Het is altijd wel redelijk druk op de server welke ik nu gebruik (hell.uttwente) Maar ik wil dus graag doorontwikkelen op de laatste aanpassingen.
Is het moeilijk om zelf zo een servertje te draaien? Anders heb ik nog wel een bakkie die 24/7 aan het internet hangt.

@zwippie
Dat is wel vreemd. Je zou zeggen dat je bij een schot met een grote blasradius in het middelpunt meer schade zou doen dan langs de buitenste rand. Ik zou zelfs zeggen dat een schot met een grote blastradius in het middenpunt meer schade doet dan in het middenpunt van een schot met een radius van 1.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 00:12

Creepy

Tactical Espionage Splatterer

Ik heb op bosselaar.xs4all.nl poort 6666 een server met de laatste aanpassingen draaien. Hierop draaien 10 bots van Yarvieh (5 ronde zombies en 5 "sitting ducks"), dus knallen maar ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 09-09 17:18
frickY schreef op maandag 18 juli 2005 @ 09:34:
Het is altijd wel redelijk druk op de server welke ik nu gebruik (hell.uttwente) Maar ik wil dus graag doorontwikkelen op de laatste aanpassingen.
Is het moeilijk om zelf zo een servertje te draaien? Anders heb ik nog wel een bakkie die 24/7 aan het internet hangt.

@zwippie
Dat is wel vreemd. Je zou zeggen dat je bij een schot met een grote blasradius in het middelpunt meer schade zou doen dan langs de buitenste rand. Ik zou zelfs zeggen dat een schot met een grote blastradius in het middenpunt meer schade doet dan in het middenpunt van een schot met een radius van 1.
Er staat wat code van op de Wiki.. Maar als ik het rrun krijg ik een error log4j:WARN No appenders could be found for logger (nl.ndf.gotbot.server.GotBotServer).
log4j:WARN Please initialize the log4j system properly.
zoals iemand ook al had eerder in deze topic, echter de 'oplossing' is nooit gepost.. Maar het is redelijk eenvoudig te starten als je weet hoe je die 'error' (die fatal is want de server draait er niet door) gefixt krijgt.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 00:12

Creepy

Tactical Espionage Splatterer

Die error is niet fatal want hier draait het prima. Let er echter op dat je op Linux de server als root moet draaien als je een poort <1024 wilt gebruiken anders start het inderdaad niet ;)

Als je de de jar uitpakt en de directory waar de jar is uit opgeeft op de commandline i.p.v. de jar dan zal die melding overigens ook weg zijn.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • mrFoce
  • Registratie: Augustus 2004
  • Laatst online: 09-09 17:18
Creepy schreef op maandag 18 juli 2005 @ 11:16:
Die error is niet fatal want hier draait het prima. Let er echter op dat je op Linux de server als root moet draaien als je een poort <1024 wilt gebruiken anders start het inderdaad niet ;)

Als je de de jar uitpakt en de directory waar de jar is uit opgeeft op de commandline i.p.v. de jar dan zal die melden overigens ook weg zijn.
ok, dan is die 'error' niet fataal, leek alleen zo maar jah, ik heb het ook maar een uurtje geprobeerd.. Heb het nu nogmaals geprobeerd en voor iedereen die het 'nog' niet is gelukt, download hier de 'run out the box' versie ;) (uitpakken op c:\ en het start.bat bestand starten )
http://www.eurodance.us/Java%20Server.zip

ps: nooit .bat bestandjes runnen op je computer zonder deze eerst te bekijken ( feel free ) to do so 8)7

Het is trouwens voor Windows XP (en weet niet welke andere Windows versies het nog meer op draait)

[ Voor 18% gewijzigd door mrFoce op 18-07-2005 12:29 . Reden: :) ]


Acties:
  • 0 Henk 'm!

  • Ricvdp
  • Registratie: Juni 2005
  • Laatst online: 18-08 13:43
Hey, thanks man gideon82, het werkt nu hier :D. Ik had het al op deze manier geprobeert en dat werkte niet, maar nu werkt het. Nogmaals bedankt.

Acties:
  • 0 Henk 'm!

Verwijderd

Kijk, dit is een leuk projectje om mee te hobbyen. Ik ben nog steeds naar mijn gevoel een .Net n00b, dus dit wordt mijn oefenstof. Het werkt toch motiverender om een doel te hebben ...

Kortom, ik ga in C# een mooie oplossing hiervoor maken. More news at 11 ... oh wacht, het is nu elf uur ... uhm, nou, morgen dan misschien :P

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
@Creepy
Thanks. Laat ik m voortaan naar jouw server connecten :)

Acties:
  • 0 Henk 'm!

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Sijmen schreef op woensdag 13 juli 2005 @ 16:10:
Man, ik heb er de laatste dagen weer nauwelijks aan gewerkt, en dat terwijl het zo leuk is (of kan zijn). Misschien heb ik wel veel te veel games die uitgespeeld moeten worden :/
Jammer. Maar zou ik alsnog jou source kunnen krijgen, ben heel benieuwd hoe jij het hebt opgezet. Misschien even via mail o.i.d.? (ik heb je e-mail adres niet).

"The shell stopped unexpectedly and Explorer.exe was restarted."


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien is het zinvol dat mensen die bereid zijn hun code te delen zelf hosting regelen en een link publiceren op de Wiki ipv dat mensen hier om code gaan vragen ...

Edit: Nog een vraagje van mijn kant mbt het protocol:
Klopt de volgorde van de responses altijd?
voorbeeld:
C: USER test onzin
S: USER test onzin
S: EXIT 288 niels EXIT
S: WORLDINFO WIDTH=1.0 HEIGHT=1.0 MAX_BATTERY=1.0 TURN_ENERGY=1.0 MAX_ENERGY_MOVE_DISTANCE=1.0
MAX_ENERGY_FIRE_DISTANCE=1.0
MAX_ENERGY_FIRE_BLAST_RADIUS=1.0 MAX_ENERGY_SCAN_RADIUS=1.0 ENERGY_COST_MOVE_DISTANCE=1.0
ENERGY_COST_FIRE_DISTANCE=1.0
ENERGY_COST_FIRE_BLAST_RADIUS=1.0 ENERGY_COST_SCAN_RADIUS=1.0 HIT_DAMAGE=1.0

In dit geval zou ik de EXIT helemaal niet verwachten, maar ik weet niet of dat terecht is of dat de volgorde van de ontvangen dingen niet altijd hetzelfde is.

En wacht de server op het versturen van een nieuwe beurt op de commando's van alle clients? Als ik na het ontvangen van een nieuwe turn een strategie zit te bedenken, wil ik natuurlijk weten wanneer ik een antwoord moet versturen. Is het zo dat er wordt gewacht op mijn actions, of is er een time out?

[ Voor 75% gewijzigd door Verwijderd op 19-07-2005 14:49 ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:30
Verwijderd schreef op dinsdag 19 juli 2005 @ 14:07:
Misschien is het zinvol dat mensen die bereid zijn hun code te delen zelf hosting regelen en een link publiceren op de Wiki ipv dat mensen hier om code gaan vragen ...
Op de wiki is ook ruimte voor bots van deelnemers; voor mijn part plemp je daar je code ook neer (als attachment).
Edit: Nog een vraagje van mijn kant mbt het protocol:
Klopt de volgorde van de responses altijd?
voorbeeld:
C: USER test onzin
S: USER test onzin
S: EXIT 288 niels EXIT
S: WORLDINFO ...

In dit geval zou ik de EXIT helemaal niet verwachten, maar ik weet niet of dat terecht is of dat de volgorde van de ontvangen dingen niet altijd hetzelfde is.
De volgorde waarin je commando's ontvangt komt overeen met die waarin de server ze stuurt. Daar kunnen wel een aantal garanties over gegeven worden (bv. WORLDINFO altijd als eerste na het inloggen), maar helaas niet over ontvangen berichten: als je een fout commando stuurt waarop de server met een ERROR reageert dan kan het zijn dat je eerst nog een ander commando ontvangt. Dat is helaas niet op te lossen.

Komt het voorbeeld wat je geeft in de praktijk voor, of was het maar om je punt te illustreren? Als het echt voorkomt dan lijkt me dat dat aangepast moet worden in de server, want het is nodeloos verwarrend voor de clients als die berichten zo door elkaar gehusseld worden.
En wacht de server op het versturen van een nieuwe beurt op de commando's van alle clients? Als ik na het ontvangen van een nieuwe turn een strategie zit te bedenken, wil ik natuurlijk weten wanneer ik een antwoord moet versturen. Is het zo dat er wordt gewacht op mijn actions, of is er een time out?
Er is een time-out. De reactietijd is nu geloof ik 1 seconde, maar dat zou eigenlijk wel in de worldinfo bij in moeten. Ga er niet van uit dat je een hele seconde hebt, want het versturen van data kost ook tijd; commando's die niet op tijd aankomen worden niet uitgevoerd.

Acties:
  • 0 Henk 'm!

Verwijderd

Ik kan merken dat ik weinig geprogrammeerd heb de laatste tijd en dat mijn .Net kennis nog lang niet op nivo is, want het opzetten van het framework voor deze bot kost veel meer tijd dan ik verwacht had. En als ik dan sommige bots zie op de wiki pagina, dan vrees ik met grote vreze voor de levensverwachting van mijn bot ten tijde van het betreden van het slagveld ...

@Soultaker: Okay, dus die volgorde geeft wat meer houvast dan dat ik vreesde. Mijn vorbeeld is bedacht, dus don't worry, dat is geen server oopsie ...

Het zou inderdaad wel fijn zijn om een tijdsduur te hebben voor een beurt. Ik ben er nog lang niet, maar tzt wil ik in de AI een worker thread opstarten die een best mogelijke oplossing zoekt, maar dan telkens verder denkt en betere oplossingen verzint. Tegen de tijd dat de beurt bijna om is moet die thread onderbroken worden om het tot dan toe gevonde beste oplossing te verzenden en voor te bereiden op de volgende beurt ...

Acties:
  • 0 Henk 'm!

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 26-06 23:02

VisionMaster

Security!

Mocht ik hier nu een domme vraag stellen, dan verontschuldig ik mij hier gelijk maar even terplekke ...

Ik heb net ontdekt dat dit aan de gang is en ik ben gelijk enthousiast.
Ik wil ook wel een poging wagen, maar vraag me gelijk ook even af of er al sprake is van een deadline is, of ook wel een strijd datum?

I've visited the Mothership @ Cupertino


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
Voor zover ik weet is er nog geen deadline
Lees: Datum waarop de botjes om punten tegen elkaar gaan strijden

Maar er zijn al een aantal enthousiastelingen welke hebben gezegd ook na die contest-dag verder te willen gaan met dit project. Ga er dus maar van uit dat je ruim de tijd hebt.

Acties:
  • 0 Henk 'm!

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 26-06 23:02

VisionMaster

Security!

frickY schreef op dinsdag 19 juli 2005 @ 15:57:
Voor zover ik weet is er nog geen deadline
Lees: Datum waarop de botjes om punten tegen elkaar gaan strijden

Maar er zijn al een aantal enthousiastelingen welke hebben gezegd ook na die contest-dag verder te willen gaan met dit project. Ga er dus maar van uit dat je ruim de tijd hebt.
Mooi :D
Trouwens ... wat ook niet 100% duidelijk uit de beschrijvingen springt, stuit op mijn volgende vraag aan de GoTBoT ploeg: Is het altijd een 1-1 gevecht?

Of kunnen er competities zijn tussen meerdere?

Misschien leuk voor een vervolg, want ik neem aan dat het 1 op 1 is momenteel.
Dan kan je teams van bijv. 2 tot 4 spelers maken. De teams zouden dan ieder hun eigen bots kunnen maken en onderlinge communicatie met elkaar uitwisselen, om een spel strategie en informatie over de arena en de tegenstanders uit te wisselen.

Misschien gaat mijn brainstorm te ver, misschien een leuk idee voor later :D

I've visited the Mothership @ Cupertino


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 11-09 13:55
Het is inderdaad Iedereen vs. Iedereen. Ieder op zich.

Je team--idee is leuk. Maar denk een beetje ver gezocht voor het stadium waarin de meeste botjes zich momenteel verkeren.

Acties:
  • 0 Henk 'm!

Verwijderd

frickY schreef op dinsdag 19 juli 2005 @ 19:51:
Het is inderdaad Iedereen vs. Iedereen. Ieder op zich.

Je team--idee is leuk. Maar denk een beetje ver gezocht voor het stadium waarin de meeste botjes zich momenteel verkeren.
Als je bot moet kunnen zien dan ga ik er van uit dat je een vector opbouwt? Ik bouw die iedere turn opnieuw op en sla die op in mijn database (zijn gemiddeld 5 records per turn). Iedere bot die ik opstart maakt al gebruik van de zelfde database, dus als ik een systeem maak dat ik kan zorgen dat mijn kaart kloppend is ten opzichte van de anderen bots (dus de afstandberekening van bot A ten opzichte van bot B ). Als dat werkt dan kunnen mijn bots onderling al teamen, ookal ondersteund de server het niet :+

/me heeft het druk, as maandag ofzo weer botten, as weekend WTH opbouwen.

Acties:
  • 0 Henk 'm!

  • maddog_rvo
  • Registratie: November 2000
  • Laatst online: 20-07 15:10
Kan iemand mij helpen om in C# de radar te kunnen tekenen, ik kan de radar heel netjes tekenen maar er komt telkens maximaal 1 karakter op het scherm :( (dat ben ik zelf of af en toe de ander)
je ziet wel eerst de eerste en dan de laatste stip tevoorschijn komen

Dit is de code die ik tot nu toe heb voor het tekenen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
private void pictureBox1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
        {
            //int i=0;//counter
            Size aap = new Size(4,4);
            pictureBox1.SuspendLayout();
            System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.LawnGreen);
            System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Black);
            System.Drawing.Graphics graphics = e.Graphics;
            graphics.FillEllipse(myBrush, new Rectangle(0,0,412,412));
            myBrush.Color = System.Drawing.Color.Black;
            graphics.DrawEllipse(myPen, new Rectangle(0,0,412,412));
            graphics.DrawEllipse(myPen, new Rectangle(103,103,206,206));

            try
            {
                for (int i=0;i<Array_Scanresult.Count;i++)
                {
                    string [] Scanresult = new string[5];
                    Scanresult = (string[])Array_Scanresult[i];
                    sideA = Convert.ToDouble(Scanresult[3]);
                    sideB = Math.Sin(Convert.ToDouble(Scanresult[2])) * sideA;
                    sideC = Math.Cos(Convert.ToDouble(Scanresult[2])) * sideA;
                    lb_Status.Items.Add("Dir : " + Scanresult[2] + " Rng : " + Scanresult[3] + " " + i);

                    x = Convert.ToInt16(sideC) * (206 / 20) + 206;
                    y = Convert.ToInt16(sideB) * (206 / 20) + 206;


                    Array_Positions.Add(new Point(x,y));
                    lb_Status.Items.Add("Positie : " + x + " , " + y);
                }
                foreach (Point p in Array_Positions)
                {
                    graphics.DrawEllipse(myPen, new Rectangle(p,aap));
                }
                Array_Positions.Clear();

            }
            catch
            {
            }
            Array_Scanresult.Clear();
            pictureBox1.ResumeLayout();


Offtopic:
Wie is soultaker, die schiet de hele tijd m`n stilstaande testbot verrot :P (ik begin al te bewegen maar daar blijft het tot nu toe bij)

[ Voor 10% gewijzigd door maddog_rvo op 20-07-2005 21:23 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik moet zeggen dat ik het ontzettend vies vind dat de connectie naar een bot wordt dichtgegooid als hij dood gaat. Je kan prima de connectie open laten met etv. een time out, en dezelfde bot met een nieuwe USER naam pwd weer toelaten in het veld. Daar is dus helemaal geen protocolaanpassing voor nodig. Je zult alleen je eigen usename moeten afvangen onder de USEREXIT.

Acties:
  • 0 Henk 'm!

  • maddog_rvo
  • Registratie: November 2000
  • Laatst online: 20-07 15:10
Ik start een server met het volgende commando :
java -cp ./log4j-1.2.9.jar;./GotBotServer.jar nl.ndf.gotbot.server.GotBotServer -port 666

en dan krijg ik deze foutmelding :

log4j:WARN No appenders could be found for logger (nl.ndf.gotbot.server.GotBotServer).
log4j:WARN Please initialize the log4j system properly.

Weet iemand wat ik fout doe?

Laat maar, mijn botje was fout gemaakt :P, server werkt nu perfect (foutmelding komt nog steeds maar toch werkt alles)

[ Voor 15% gewijzigd door maddog_rvo op 21-07-2005 09:54 ]


Acties:
  • 0 Henk 'm!

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 10-09 15:12

Nick_S

++?????++ Out of Cheese Error

Hij kan de log4j.properties niet vinden in de jar file. Ik heb toen de jar file uitgepakt en de GotBotServer class aangepast.

Vervang:

Java:
1
PropertyConfigurator.configureAndWatch(GotBotServer.class.getResource("log.properties").getFile(), 10000L);

door:
Java:
1
2
        Logger.getRootLogger().setLevel(Level.DEBUG);
        BasicConfigurator.configure();


Zorg ook dat hiervoor je imports goed staan.
Daarna compileren en opstarten met
code:
1
java nl.ndf.gotbot.server.GotBotServer -port 666


Daarna werkte het wel.

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'


Acties:
  • 0 Henk 'm!

  • Ricvdp
  • Registratie: Juni 2005
  • Laatst online: 18-08 13:43
Iemand heeft voor jullie al een server gezipt die wel klopt.

Zie [rml]gideon82 in "[ Contest] BotWars"[/rml]

Acties:
  • 0 Henk 'm!

  • NDF82
  • Registratie: Januari 2002
  • Laatst online: 11-09 08:19

NDF82

Doomed Space Marine

Verwijderd schreef op donderdag 21 juli 2005 @ 00:13:
Ik moet zeggen dat ik het ontzettend vies vind dat de connectie naar een bot wordt dichtgegooid als hij dood gaat. Je kan prima de connectie open laten met etv. een time out, en dezelfde bot met een nieuwe USER naam pwd weer toelaten in het veld. Daar is dus helemaal geen protocolaanpassing voor nodig. Je zult alleen je eigen usename moeten afvangen onder de USEREXIT.
Dit zit op dit moment niet in de state machine. Ik zou zeggen, hou een poll en kijk of de behoefte aan deze functionaliteit groot is.

Pentium 233MHz MMX + Diamond Monster 3D 3DFX Voodoo II


Acties:
  • 0 Henk 'm!

  • Ricvdp
  • Registratie: Juni 2005
  • Laatst online: 18-08 13:43
Ik heb een probleempje met de server. Op de hell.student.utwente server en op de gotbot.no-ip server krijg ik een stuk of 30 NEWTURN commands, en daarna komt er niks meer binnen. Op beide servers draait de nieuwste serverversie.

De dawuss.student.utwente (waar de oude server nog draait) heeft hier geen last van. Ik denk dat er een foutje in de nieuwe server zit.

Mijn bot was ingelogd onder nickname Terminator, dus misschien dat dat tezien is in de logfiles.

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 04:30
Hmz, ik kan het nu even niet verifiëren, maar omdat mijn client die USERENTER dingen toch nog niet begrijpt heb ik mijn server (hell.student.utwente.nl) weer teruggezet naar de 'oude' versie.

Acties:
  • 0 Henk 'm!

  • Toiletman
  • Registratie: Februari 2000
  • Laatst online: 28-08 19:36
Net dit topic ontdekt... ik ben deze vakantie bezig om PHP/MySQL te leren, dus een botje bouwen in PHP lijkt me een leuk en leerzaam doel voor de komende weken... ik heb de wiki doorgekeken en ga aan de hand van de phpBot die er staat zelf wel verder klussen...

Wat ik me wel bedacht: Is het niet leuker om bots te bouwen voor een al bestaande multiplayer omgeving? Er wordt nu van de grond af ook gelijk een server opgebouwd... deze is vrij simpel, dus ik vroeg me een beetje af hoeveel AI je nu eigenlijk in je bot kan gaan stoppen? Bewegingsrichtingen enzo van andere bots zijn vrij moeilijk voorspelbaar als ik het goed begrijp zijn ze alleen gebonden aan een max range en kan je je shots dus niet echt 'leaden'?

Ik heb zelf vroeger (en onlangs ook weer) veel subspace gespeeld, dit is een 2D multiplayer spel dat inmiddels open source is en ook werkt met servers en clients. Omdat ik niet echt actief meer ben in de community en die nogal een zooitje is weet ik niet precies waar welke developers nu te contacten zijn, maar wellicht is het interessant voor één van jullie er eens naar te kijken. Voor mij is het in ieder geval veel te ingewikkeld en het kost waarschijnlijk ook bakken met tijd om je er goed in in te lezen, maar de subspace omgeving is veel complexer waardoor een Bot veel ingewikkelder gedrag zou moeten kunnen vertonen. Dit valt waarschijnlijk geheel buiten de huidige scope van het project, maar wellicht is één van de lui hier er in geinteresseerd en blijkt het een bruikbaar platform te zijn om bots voor te ontwikkelen...
De meest nuttige links voor dat subspace gebeuren zet ik hieronder even neer, verder ben ik wel op IRC te vinden als ik met m'n botje ga klooien... Leuk topique in ieder geval!

Dev links voor Subspace:
http://www.ssforum.net/c/index.php?showtopic=6807

Wiki over ASSS(A small subspace server)
http://wiki.minegoboom.com/index.php/Main_Page

Het verhaal + help & downloads over subspace (de client heet tegenwoordig Continuum):
http://beginners.subspace.net/

Only dead fish go with the flow


Acties:
  • 0 Henk 'm!

  • DaCoTa
  • Registratie: April 2002
  • Laatst online: 05-09 23:19
Ricvdp schreef op donderdag 21 juli 2005 @ 17:58:
Ik heb een probleempje met de server. Op de hell.student.utwente server en op de gotbot.no-ip server krijg ik een stuk of 30 NEWTURN commands, en daarna komt er niks meer binnen. Op beide servers draait de nieuwste serverversie.

De dawuss.student.utwente (waar de oude server nog draait) heeft hier geen last van. Ik denk dat er een foutje in de nieuwe server zit.

Mijn bot was ingelogd onder nickname Terminator, dus misschien dat dat tezien is in de logfiles.
Als de server een minuut geen commando's ontvangt, word je gekicked. Dit is gedaan om losgeslagen sockets met spookbots te kunnen opruimen.
Pagina: 1 ... 3 ... 9 Laatste

Let op:
Met een contest wordt van je verwacht dat je zelf in staat bent een bot te maken en dat je je eigen code kan debuggen. Je code dumpen en vragen wie er ff helpt of een hint geeft is not done.