View source for User talk:Sheldor

From Robowiki
Jump to navigation Jump to search

Contents

Thread titleRepliesLast modified
Robocode Problem518:40, 1 September 2014
Logical Question821:53, 16 December 2013
Thread of grammatical shame503:51, 12 December 2013
Robocode Editor/Compiler troubles?2020:26, 27 May 2013
Are the robots we create alive?13422:15, 20 March 2013
Codesize Restriction622:03, 1 March 2013
Welcome ...2216:59, 9 January 2013
Sabreur121:53, 27 November 2012

Robocode Problem

When I try to open the robocode.bat file, the console opens and then immediately closes. I took a screenshot of the console and it reads

"[file path]>java -Xmx512M -cp libs/robocode.jar robocode.Robocode %*

'java' is not recognized as an internal or external command, operable program or batch file."

Any ideas? Thanks.

Sheldor (talk)20:43, 30 August 2014

I should have made it more clear in the OP that I'm not able to use Robocode at all now.

Sheldor (talk)14:41, 31 August 2014
 

Assuming Java is installed, this would be the step you're missing: Robocode/System_Requirements#PATH_must_be_set

Rednaxela (talk)15:15, 31 August 2014

It worked! Thanks.

Sheldor (talk)15:38, 31 August 2014
 

Huh. It seems my Robot Editor no longer has a built-in codesize checker. Did this change with the update, or could I have another missing classpath somewhere?

Sheldor (talk)17:06, 31 August 2014

Nevermind, I'm using Voidious's command line trick from here now, so it doesn't matter.

Sheldor (talk)18:40, 1 September 2014
 
 

Logical Question

Is there any kind of bit operation or arithmetical trick that would allow me to do something like integerWhichCouldOnlyHaveAValueOfZeroOrOne == 0 ? otherIntegerWhichCouldOnlyHaveAValueOfZeroOrOne == 0 ? 0 : 1 : 2 without so many expensive conditionals?

Sheldor (talk)16:20, 25 June 2013

Like this?

integerWhichCouldOnlyHaveAValueOfZeroOrOne | otherIntegerWhichCouldOnlyHaveAValueOfZeroOrOne + integerWhichCouldOnlyHaveAValueOfZeroOrOne

MN (talk)18:02, 25 June 2013

Yes, I think that would work.

Thanks

Sheldor (talk)18:58, 25 June 2013
 

If there is no possibility that integerWhichCouldOnlyHaveAValueOfZeroOrOne == 1 and otherIntegerWhichCouldOnlyHaveAValueOfZeroOrOne == 0, or if you don't care, then a simple addition would work.

Skilgannon (talk)19:59, 25 June 2013

There is a chance that the first and second integers would add up to 1 in two different scenarios. I do care to avoid this because I was planning to use this in VCS segmentation. It would not be prudent to represent two very different situations by the same segment.

Sheldor (talk)20:29, 25 June 2013

If you're using it for wall segmentation, it should be fine just adding. The chances of the closer one being triggered but not the further is quite rare (although it can happen, I admit).

Skilgannon (talk)21:03, 25 June 2013

If both wall checks be either 1 or 0 at the same time a vast majority of the time, what's the point of even having a second wall check?

Sheldor (talk)21:41, 25 June 2013

Hang on, is this two forward wall checks, or one forward and one reverse?

I was thinking two forward, where obviously the check which extends further will also be triggered in 99% of cases where the one that extends less is triggered.

If this is one forward, one reverse then I think they should actually be in different segments.

Skilgannon (talk)21:47, 25 June 2013
 
 
 
 
 

Thread of grammatical shame

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Users.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page.

 

Return to Thread:User talk:Sheldor/Thread of grammatical shame..

Your user page has omitted commas in the sentence: "If anyone has codesize issues[,] please post your code on the wiki[,] and I will try to help." Also, you should generally avoid ending sentences with a preposition.

AW (talk)03:26, 12 December 2013

Revenge >:-)

AW (talk)03:28, 12 December 2013

Well deserved. :)

Sheldor (talk)03:47, 12 December 2013
 

Heh, just don't look at my posts or pages. You'll find mountains of problems. It seems that the better my programming skills get, the worse my English skills become. I leave out words, misspell common words (by accident), and make all kinds of grammatical mistakes.

Usually this could be fixed by reading before I post, but I often forget to do so.

Chase03:40, 12 December 2013
 

"Also, you should generally avoid ending sentences with a preposition."

"This is the kind of tedious nonsense up with which I will not put!" -- Winston Churchill

Sheldor (talk)03:51, 12 December 2013
 
 

Robocode Editor/Compiler troubles?

I've been using 1.6.1.4 for a very long time and never had any trouble with the editor. Since I am using 1.7.4.2 that editor has the annoying habit to put some rubbish at the end of the file, so I only use it to compile. Most of the time I use Araxis so I can quickly jump to the places I have been editing. Next to that, I am alas not very active, so an occasional fluke just gets forgotten.

GrubbmGait01:21, 7 March 2013

Thank you for trying to help.

Whenever I start-up Robocode, every robot in the database gets a "ClassNotFound" exception. At several, seemingly arbitrary points, (MostlyHarmlessNano, XanderCat...) it just freezes. I have to kill Robocode from the Task Manager if it doesn't resume in a few minutes.

When I compile from the Robot Editor, Robocode feels the need to go through the entire database again. And it has the same problems.

I've tried both cleaning the robot cache and deleting the database to make Robocode rebuild it, but neither had any effect.

I could post a sample of the console output tomorrow if it would help.

Sheldor02:10, 7 March 2013
 

Here is a sample of console output from starting Robocode.

a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.core.track.Wav
eHistory
Got an error with xander.cat.XanderCat_12.0.1.xander.core.track.WaveState: java.
lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.core.track.WaveS
tate
Got an error with xander.cat.XanderCat_12.0.1.xander.core.track.WaveState: java.
lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.core.track.WaveS
tate
Got an error with xander.cat.XanderCat_12.0.1.xander.core.track.XBullet: java.la
ng.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.core.track.XBullet

Got an error with xander.cat.XanderCat_12.0.1.xander.core.track.XBullet: java.la
ng.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.core.track.XBullet

Got an error with xander.cat.XanderCat_12.0.1.xander.core.track.XBulletWave: jav
a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.core.track.XBu
lletWave
Got an error with xander.cat.XanderCat_12.0.1.xander.core.track.XBulletWave: jav
a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.core.track.XBu
lletWave
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.BalancedFactorIndexer:
 java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.Balan
cedFactorIndexer
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.BalancedFactorIndexer:
 java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.Balan
cedFactorIndexer
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.BasicFactorArrays: jav
a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.BasicFact
orArrays
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.BasicFactorArrays: jav
a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.BasicFact
orArrays
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.FactorIndexer: java.la
ng.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.FactorIndexer

Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.FactorIndexer: java.la
ng.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.FactorIndexer

Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.FactorRange: java.lang
.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.FactorRange
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.FactorRange: java.lang
.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.FactorRange
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.IndexRange: java.lang.
ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.IndexRange
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.IndexRange: java.lang.
ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.IndexRange
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.OrbitalFactorArrays: j
ava.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.Orbital
FactorArrays
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.OrbitalFactorArrays: j
ava.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.Orbital
FactorArrays
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.RelativeAngleRange: ja
va.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.Relative
AngleRange
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.RelativeAngleRange: ja
va.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.Relative
AngleRange
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.AbstractWaveLogge
r: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.dat
a.AbstractWaveLogger
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.AbstractWaveLogge
r: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.dat
a.AbstractWaveLogger
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.AgeRollFunction:
java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.A
geRollFunction
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.AgeRollFunction:
java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.A
geRollFunction
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.AgeRollLinearFunc
tion: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.
data.AgeRollLinearFunction
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.AgeRollLinearFunc
tion: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.
data.AgeRollLinearFunction
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.AgeRollSquaredFun
ction: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws
.data.AgeRollSquaredFunction
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.AgeRollSquaredFun
ction: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws
.data.AgeRollSquaredFunction
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.AgeRollVariableDe
caySquaredFunction: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.
1.xander.gfws.data.AgeRollVariableDecaySquaredFunction
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.AgeRollVariableDe
caySquaredFunction: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.
1.xander.gfws.data.AgeRollVariableDecaySquaredFunction
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.CachingFactorArra
yProcessor: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander
.gfws.data.CachingFactorArrayProcessor
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.CachingFactorArra
yProcessor: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander
.gfws.data.CachingFactorArrayProcessor
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.CachingLogReader:
 java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.
CachingLogReader
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.CachingLogReader:
 java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.
CachingLogReader
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.DataPoint: java.l
ang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.DataPoi
nt
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.DataPoint: java.l
ang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.DataPoi
nt
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.DataPointFactorAr
rayProcessor: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xand
er.gfws.data.DataPointFactorArrayProcessor
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.DataPointFactorAr
rayProcessor: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xand
er.gfws.data.DataPointFactorArrayProcessor
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.FactorArrayParms:
 java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.
FactorArrayParms
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.FactorArrayParms:
 java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.
FactorArrayParms
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.KDTreeAdapter: ja
va.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.KDT
reeAdapter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.KDTreeAdapter: ja
va.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.KDT
reeAdapter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.KDTreeWaveLogger:
 java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.
KDTreeWaveLogger
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.KDTreeWaveLogger:
 java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.
KDTreeWaveLogger
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.KNNLogReader: jav
a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.KNNL
ogReader
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.KNNLogReader: jav
a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.KNNL
ogReader
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.KNNParms: java.la
ng.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.KNNParms

Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.KNNParms: java.la
ng.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.KNNParms

Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.LogReader: java.l
ang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.LogRead
er
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.LogReader: java.l
ang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.LogRead
er
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.RedKDTreeAdapter:
 java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.
RedKDTreeAdapter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.RedKDTreeAdapter:
 java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.
RedKDTreeAdapter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.RedKDTreeWaveLogg
er: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.da
ta.RedKDTreeWaveLogger
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.RedKDTreeWaveLogg
er: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.da
ta.RedKDTreeWaveLogger
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.SearchResult: jav
a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.Sear
chResult
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.data.SearchResult: jav
a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.data.Sear
chResult
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.distributer.TriangleDi
stributer: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.
gfws.distributer.TriangleDistributer
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.distributer.TriangleDi
stributer: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.
gfws.distributer.TriangleDistributer
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.distributer.WaveDistri
buter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws
.distributer.WaveDistributer
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.distributer.WaveDistri
buter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws
.distributer.WaveDistributer
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.distributer.WeightDist
ributer: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gf
ws.distributer.WeightDistributer
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.distributer.WeightDist
ributer: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gf
ws.distributer.WeightDistributer
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.drive.DirectSurfSelect
ion: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.d
rive.DirectSurfSelection
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.drive.DirectSurfSelect
ion: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.d
rive.DirectSurfSelection
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.drive.DirectSurfSelect
or: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.dr
ive.DirectSurfSelector
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.drive.DirectSurfSelect
or: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.dr
ive.DirectSurfSelector
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.drive.DirectWaveSurfin
gDrive: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfw
s.drive.DirectWaveSurfingDrive
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.drive.DirectWaveSurfin
gDrive: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfw
s.drive.DirectWaveSurfingDrive
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.gun.targeter.Assumptio
nEngine: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gf
ws.gun.targeter.AssumptionEngine
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.gun.targeter.Assumptio
nEngine: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gf
ws.gun.targeter.AssumptionEngine
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.gun.targeter.GuessFact
orTargeter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander
.gfws.gun.targeter.GuessFactorTargeter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.gun.targeter.GuessFact
orTargeter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander
.gfws.gun.targeter.GuessFactorTargeter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.modifier.AbstractFacto
rArrayModifier: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xa
nder.gfws.modifier.AbstractFactorArrayModifier
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.modifier.AbstractFacto
rArrayModifier: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xa
nder.gfws.modifier.AbstractFactorArrayModifier
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.modifier.FactorArrayMo
difier: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfw
s.modifier.FactorArrayModifier
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.modifier.FactorArrayMo
difier: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfw
s.modifier.FactorArrayModifier
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.modifier.HeadOnFactorA
rrayModifier: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xand
er.gfws.modifier.HeadOnFactorArrayModifier
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.modifier.HeadOnFactorA
rrayModifier: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xand
er.gfws.modifier.HeadOnFactorArrayModifier
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.modifier.LinearFactorA
rrayModifier: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xand
er.gfws.modifier.LinearFactorArrayModifier
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.modifier.LinearFactorA
rrayModifier: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xand
er.gfws.modifier.LinearFactorArrayModifier
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.processor.FactorArrayP
rocessor: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.g
fws.processor.FactorArrayProcessor
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.processor.FactorArrayP
rocessor: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.g
fws.processor.FactorArrayProcessor
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.AbstractSegmen
ter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.s
egment.AbstractSegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.AbstractSegmen
ter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.s
egment.AbstractSegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.AttackerBearin
gSegmenter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander
.gfws.segment.AttackerBearingSegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.AttackerBearin
gSegmenter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander
.gfws.segment.AttackerBearingSegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.BulletTravelTi
meSegmenter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xande
r.gfws.segment.BulletTravelTimeSegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.BulletTravelTi
meSegmenter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xande
r.gfws.segment.BulletTravelTimeSegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.DefenderAccele
rationSegmenter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.x
ander.gfws.segment.DefenderAccelerationSegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.DefenderAccele
rationSegmenter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.x
ander.gfws.segment.DefenderAccelerationSegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.LateralVelocit
ySegmenter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander
.gfws.segment.LateralVelocitySegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.LateralVelocit
ySegmenter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander
.gfws.segment.LateralVelocitySegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.Segmenter: jav
a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.segment.S
egmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.Segmenter: jav
a.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.segment.S
egmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.WallStickSegme
nter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.
segment.WallStickSegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.gfws.segment.WallStickSegme
nter: java.lang.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.gfws.
segment.WallStickSegmenter
Got an error with xander.cat.XanderCat_12.0.1.xander.paint.Paintable: java.lang.
ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.paint.Paintable
Got an error with xander.cat.XanderCat_12.0.1.xander.paint.Paintable: java.lang.
ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.paint.Paintable
Got an error with xander.cat.XanderCat_12.0.1.xander.paint.Paintables: java.lang
.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.paint.Paintables
Got an error with xander.cat.XanderCat_12.0.1.xander.paint.Paintables: java.lang
.ClassNotFoundException: xander.cat.XanderCat_12.0.1.xander.paint.Paintables
Got an error with xander.cat.XanderCat_12.0.1.xander.paint.Painter: java.lang.Cl
assNotFoundException: xander.cat.XanderCat_12.0.1.xander.paint.Painter
Got an error with xander.cat.XanderCat_12.0.1.xander.paint.Painter: java.lang.Cl
assNotFoundException: xander.cat.XanderCat_12.0.1.xander.paint.Painter
Update checking with http.
Sheldor13:46, 8 March 2013
 

If I copied all my robots to a different folder, uninstalled Robocode, reinstalled Robocode, and then copied the robots back, would the problem be fixed?

Sheldor21:38, 20 March 2013
 

Hmm, I know I've seen those kinds of errors before, but beyond clearing robots/.data and robots/robot.database and rebuilding, I'm not sure what to try. Can you actually run (eg) XanderCat 12.0.1 or is the bot itself broken too?

Certainly no harm in trying a fresh Robocode install. I've probably got like a dozen. :-)

Voidious21:55, 20 March 2013

The bots run fine when Robocode successfully starts-up.

I don't think the errors are causing the problem, but they might be symptoms of a larger issue.

Sheldor22:18, 20 March 2013
 

!@#$%^&*()!@##$$$%%%***^%^$#@!!@)$%%##**!*#$@!!*&()!!!!!!!!!!!!!!!!!!!!!!!!!!!

I deleted the robocode folder, reinstalled Robocode, deleted the robot.database file, and then tried to run it, and it still froze!

I really have no idea what's causing this. I did get a weird "OutOfMemoryError" today. It's interesting that the error occurred right after Aversari, which is one of the freezing points. It's also interesting that Roboode seems to get stuck at certain alphabetical points, not certain bots. See, for instance, that MostlyHarmlessNano used to be a freezing point, but now the bot right after it is.

Got an error with dz.MostlyHarmlessNano_2.1.dz.MostlyHarmlessNano: java.lang.Cla
ssNotFoundException: dz.MostlyHarmlessNano_2.1.dz.MostlyHarmlessNano
Got an error with dz.MostlyHarmlessNano_2.1.dz.MostlyHarmlessNano: java.lang.Cla
ssNotFoundException: dz.MostlyHarmlessNano_2.1.dz.MostlyHarmlessNano
Got an error with dz.MostlyHarmlessNano_2.1.dz.MostlyHarmlessNano: java.lang.Cla
ssNotFoundException: dz.MostlyHarmlessNano_2.1.dz.MostlyHarmlessNano
Got an error with froh.micro.Aversari_0.31.froh.micro.Aversari: java.lang.ClassN
otFoundException: froh.micro.Aversari_0.31.froh.micro.Aversari
Got an error with froh.micro.Aversari_0.31.froh.micro.Aversari: java.lang.ClassN
otFoundException: froh.micro.Aversari_0.31.froh.micro.Aversari
Got an error with froh.micro.Aversari_0.31.froh.micro.Aversari: java.lang.ClassN
otFoundException: froh.micro.Aversari_0.31.froh.micro.Aversari
UncaughtException on thread class java.lang.Thread:
java.lang.OutOfMemoryError: GC overhead limit exceeded
        at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

Sheldor15:46, 21 March 2013
 

Hmm - it says: "java.lang.ClassNotFoundException: dz.MostlyHarmlessNano_2.1.dz.MostlyHarmlessNano", and all the other class names seem similarly warped. I think the class it should be looking for is just "dz.MostlyHarmlessNano". Could you check the filename of MostlyHarmlessNano's JAR? Is it dz.MostlyHarmlessNano_2.1.jar, or something else? I'm wondering if the RoboRumble client did something weird in downloading to the wrong filenames and it's throwing off the class names that Robocode expects to find.

Voidious16:05, 21 March 2013

You're right, it's just dz.MostlyHarmlessNano_2.1.jar. I wonder why Robocode is doing that?

I don't have a RoboRumble client, so it can't be that.

Sheldor16:53, 21 March 2013
 

I've noticed that strange things happen in the initialization code, for instance it runs my FastTrig init code in the Robocode startup, and if I put System.out.println() statements there they will be printed to the main console. I've been meaning to put in a bug report about this for a while now...

My suggestion is get rid of all the bots you don't need, and start with an empty install. Copy them in a few at a time until you figure out what is going wrong. Maybe just keep your own dev (ie. robocode/robots/sheldor/) directory, and keep extracted bots in a different directory that Robocode doesn't know about. BTW, putting bots in a .zip won't work, since new Robocodes look inside of .zip files for bots.

Skilgannon16:30, 21 March 2013

I tried your suggestion. Robocode still gets the errors, but now it goes through them in a matter of seconds, which I can accept.

Whenever I tried the Robot Editor, I got this message:

Please wait while Robocode sets up a compiler for you...

Setting up compiler
Java home is <CENSORED>\jre6

Testing compile with Java Compiler (javac)
Java Compiler (javac) does not exists or cannot compile.
Testing compile with Eclipse Compiler for Java (ECJ)
Eclipse Compiler for Java (ECJ) was found and is working.

Compiler has been set up successfully.
Click OK to continue.

I assume I deleted something important when I was deleting robots, that Robocode had to rebuild, or search for and update references, or something else like that.

Anyway, Robocode works for me now (though testing will be a bit harder), so I thank you all for your help.

Sheldor22:23, 26 April 2013
 

Try calling "javac" from the command-line and see if it works.

MN14:48, 27 April 2013

Why? The "Eclipse Compiler for Java" is working fine.

Sheldor20:34, 27 April 2013
 

To track why you still get errors, only that. Eclipse compiler is just as good, if not better, than JDK compiler.

MN12:01, 28 April 2013
 
 

I finally figured it out!

I had been copying the .jar files directly into the robots folder, when I should have been using the Import Downloaded Robot tool. I guess the tool tells Robocode to treat bots differently from just .jar files.

Would this be something of interest to fnl or any of the other Robocode developers?

Sheldor (talk)20:05, 27 May 2013

Nice! If you can reproduce it, I'd definitely report it. I can't imagine it's intentional those two operations would take different code paths. I've only ever copied JARs into the robots directory.

Voidious (talk)20:08, 27 May 2013

Oh, I thought this was some other option to add the robot to the repository/cache, but that's actually just the option for extracting the JAR to source files. So you have to extract every JAR for every robot to not get these errors?

Voidious (talk)20:14, 27 May 2013

I think you are confusing the Import downloaded robot tool with the Extract downloaded robot for editing tool.

Anyway, yeah, it seems I'll have to import each robot individually from now on.

Sheldor (talk)20:24, 27 May 2013

Ahh, you're right of course. I thought those were both options, but I launched Robocode and only saw the one and thought it had just been renamed. But "Extract..." is only offered in the Editor.

Voidious (talk)20:26, 27 May 2013
 
 
 

Is it giving you trouble with the compiler when you just copy in the .jars? Because if so, that is very strange...

I've always just copied the .jars, but then I don't use the built in editor, I use jGrasp.

Skilgannon (talk)20:09, 27 May 2013

Actually, I don't think it has anything to do with the compiler. That was just an early hypothesis I had because every time I compiled, it said it was "Updating classpath: [...]\robots," and it got all the errors.

Sheldor (talk)20:21, 27 May 2013
 
 
 

Are the robots we create alive?

I was recently pondering what it means to be a living thing, and then I thought about Robocode robots. Think about it, they react to their environment, they make decisions based on what they've learned, they compete with each other for survival, and some bots with genetic programming even reproduce in a way. Bots with neural networks are literally modeled after the human brain!

Is it really that much of a stretch to say that bots like Gaff or Engineer are as or more alive than a common worm, with ~300 neurons? Or, couldn't we at least say that if a single-celled bacterium can be considered a living being, so can a program that makes hundreds of complex calculations and decisions every second?

While we are talking about living machines, do you believe in the technological singularity? If so, when do you think it will happen?

Sheldor20:44, 21 February 2013

Dunno... the amount of code in a bot is nothing compared to the genome of even the simplest organisms ;-)

Also, is something we simulate actually real? Tough questions...

Skilgannon21:17, 21 February 2013

I don't think we really "simulate" robots. Something must already exist to be simulated, and, aside from a few other similar programming games, Robocode is original.

Anyway, I see no reason not to consider simulations "real." They have to be real in some way, or else we couldn't perceive them.

Sheldor15:18, 25 February 2013
 

No, things can be simulated before they exist. For example, computers were often simulated (emulated) before they were actually manufactured to allow programmers to code for them.

As regards considering simulations real. I consider them real in that robocode is actually simulated by bunch of tiny particles moving around on an actual thing. However, I think we can both agree that there is a sense in which it is a game that employs abstract concepts. (ie. I could explain Gil-galad in terms of mathematical concepts)

As regards perception, we perceive the real computer screen showing us results, but Gil-galad is a universal. It is not this or that particular instance of magnets aligned in a certain way. (Sort of like OOP. You have a class, (let's make it an abstract class) and the only real existence that it has are instantiations of the class. But the class is like a universal.)

AW01:10, 26 February 2013

You just can't "simulate" something before it has been made. You just can't, it makes no sense, it's like saying "I predict that in 1929, the US stock market will crash" right now. It's poor English at best. To simulate is to take something real, and make a virtual representation of it. In your example, they did just the opposite: they took something virtual and made a real representation of it.

I don't quite understand your last two paragraphs. Are you saying that although Gilgalad has a physical presence as a pattern of electrical signals, it is somehow incorporeal in nature?

Sheldor04:41, 26 February 2013
 

Sorry about the weird response times, I have midterms this week.


" To simulate is to take something real, and make a virtual representation of it. In your example, they did just the opposite: they took something virtual and made a real representation of it. "

When I run robocode, I take some virtual "things" (say Gilgalad and Raiko) and make a real (in the terms of electrons moving about) thing based on them.

As regards my last two paragraphs, I'm trying to phrase in everyday language the idea of universals. I have a copy of Gilgalad on my computer and presumably you have one on yours. The COPIES are not the same thing (there are two of them, using different bits of matter) but they are copies OF the same thing.

This also explains why you can simulate some "thing" that doesn't exist yet. A plan for the thing exists but the plan is like a universal (it doesn't exist by itself) you can use the plan to make a real representation of it. If you want examples of simulation being used in this way, see http://en.wikipedia.org/wiki/Emulator

AW02:34, 27 February 2013

This reminds me a lot of Plato's forms.

Voidious02:38, 27 February 2013
 

I assume Gilgalad saves some data to file, so it could actually behave differently on different computers when in exactly the same situations?

Sheldor04:02, 27 February 2013
 

Well, it's Aristotelian rather than platonic, but they are similar... One big difference is that Plato considered the forms to exist in themselves and the objects "shared" in the form. Sort of like a tree and it's shadow. The tree would be the form and the shadow would be the objects. With Aristotle it's more like abstract classes. You can't instantiate an abstract class (forms don't exist in themselves), but you can "share" in them (inheritance).

As regards Gilgald, no, no data files. But if it did, I wouldn't consider that the same situation since Gilgalad's classifications depend on previously collected data.

AW01:42, 28 February 2013

You might be able to gain a few tenths of an APS point in the next version of Gilgalad by adding data saving.

Sheldor14:59, 7 March 2013
 
 
 
 

Very tough question. I mulled it around for awhile. But I would have to say. No. But only just.

They are not free to reproduce within their environment. Even a virus can do that by interacting with its host. A virus has been hotly debated for years if it is a living thing. Since our robots cannot even do something so simple, I would have to say no.

But robots in some other programming games I would consider as alive (they can do most of what a robocode robot can, but also reproduce and possibly mutate/evolve). But again only to a point, we completely control their environment. If they could do what they do in our environment (outside our complete control), they would definitely be considered living.

Chase21:36, 21 February 2013

So, a fish in an aquarium is not completely alive since we control its environment?

And the bit about not being able to reproduce is really more of an issue with Robocode itself than the robots. If it had some way of actually creating a robot in mid-game, I'm confident many would use it.

Sheldor22:18, 21 February 2013
 

I said complete control. With say a fish tank, we can't say what the gravity is at a flick of the switch. But the main point is with a fish, you can easily move it to a different environment not under our control (perhaps at all, like say the ocean).

If we could control everything about the fish tank, the fish and everything else in it, to the point of where every atom, as well as have fine control over each of those things. I might say that the fish is only alive to a point, since we control so much about it. It ceases to be so much as fish as a toy. As we change its color and remove it from existence whenever we care to.

Chase23:04, 21 February 2013
 

You're talking about external forces affecting the fish (robot) itself. In Robocode, sample.Interactive and sample.Interactive v2 are really the only instances of that happening. The robot can decide to change its colors when certain variables reach certain thresholds, and change the thresholds when it needs to. The few robots that have the ability to edit their own code can even decide to get rid of the color-changing code altogether.

I still don't understand why it matters whether the environment is controlled by us or not. Take a minnow from a stream, put it in a heavily controlled environment, it's still a minnow. Take minnow DNA from a wild minnow, grow one in a lab, release it, it's still a minnow.

Sheldor23:53, 21 February 2013
 

Mind you, we are not even talking about robocode robots here anymore, in case you missed that. I decided those were not alive.

But by saying "to a point", I am not saying, "No, it's not alive". There isn't a really deep meaning behind "to a point" either. It just doesn't exist some of the time.

I am saying, for a entity with zero control over its very existence one second to the next. There is no real point to the question. Since at the end of the day it just isn't going to exist. It doesn't know that it doesn't exist. Since when it does exist it doesn't remember that it didn't exist, or that it had previously existed. But even if it did know that it had previously existed, that doesn't really effect it much either.

So sure, alive. But only to a point. Since when it no longer exists, it is no longer alive. It isn't even dead. It just 'isn't'.

(Now come up with a fish metaphor where we can remove said fish from existence.)

Chase01:44, 22 February 2013
 

You're right, the fish metaphor was getting a bit strained. About getting rid of it, oh, I don't know, I guess it died a noble death saving thousands of other fish and then got flushed. :)

Sheldor03:03, 22 February 2013
 

I guess it depends on whether you think a dog has Buddha-nature...

Voidious21:43, 21 February 2013

Please explain further.

Sheldor22:19, 21 February 2013
 

I'm half kidding - it's a reference to a classic Zen koan: [1]

To me, the interesting question is that of defining / assessing consciousness or free will. Along the lines of my own viewpoint is the idea that if we have any free will, then even subatomic particles must also exhibit some degree of freedom (er, unpredictability). [2]

I would say that Robocode bots are not alive in terms of consciousness, but that I'm not entirely convinced we are either, or to what extent. It "seems" we are, but that's circular reasoning.

Voidious23:12, 21 February 2013

"I would say that Robocode bots are not alive in terms of consciousness, but that I'm not entirely convinced we are either, or to what extent. It "seems" we are, but that's circular reasoning."

Cogito ergo sum.

Sheldor01:54, 10 March 2013
 

I consider myself a determinist in the sense that I believe if the universe is everything, there can be no external interference, if there is no external interference, then there can be no true randomness, if there is no true randomness, then things can only happen one way. The article you linked to was interesting, but unpredictability != randomness.

Sheldor00:03, 22 February 2013

Why there can be no true randomness without external interference? One concept don't invalidate the other.

MN03:15, 22 February 2013
 

Think about it. All random number generators in Java are deterministic algorithms, with variable seed values. If you call a random number twice with the same seed values, you would get the same result twice. In order to get a truly random and unpredictable result, you would need a random seed value in the first place. Since you can't get a truly random number in a closed system, you need to get your seed values from some external source which would appear to be completely random and unpredictable to anyone in said closed system. Some people actually do get their seed values from atmospheric data and so forth, which is random from their perspective.

So, in order to have a truly random result, at some point you would have to look outside of the closed system. And, since the universe is a closed system containing everything, there is no external source of true randomness. So, if there is no true randomness in the universe, it is a deterministic system.

Sheldor04:19, 22 February 2013

I thought about it. A computer system is not a completely closed system. It´s the opposite. The computer system is totally at the mercy of it´s user. That´s why it is "deterministic", because it is fully dependent on the external interference of the user.

But if some part of the system is not dependent on external interference, if it is independent, if it is free, then it is truly random.

MN15:08, 22 February 2013
 

Well, as far as we can tell, subatomic particles are truly random in their behaviour. So perhaps the universe is a little more complicated than Java =)

Skilgannon05:31, 22 February 2013

The most widely accepted interpretation of the double-slit experiment results is that quantum mechanics is non-deterministic.

MN15:22, 22 February 2013
 

@Skilgannon, I never said or even implied that the universe is a simple system. Or, for that matter, even comprehendible. All I meant was that basic logic would suggest that the universe is a deterministic, albeit extremely complex system.

I'll try rephrasing my argument. I define "true" randomness as having different outputs despite having exactly the same inputs. By "seed values" I mean anything that could possibly affect the result. In an algorithmic example, that would not only be a method parameter, but also system time, or any other variable that could affect the result. They could even be things like the CPU temperature or even the Earth's gravity. So, from the perspective of the program that called the random generator method, the result is truly random because the result could be different even with the same initial method parameter. But, if you widen your perspective to include every "seed value" that could possibly affect the result, it becomes a deterministic system.

If something that appears to be truly random turns out to be deterministic with a wider perspective, couldn't subatomic particles?

I realize this probably sounds like the ramblings of a madman, so I would be glad to clarify if you need me to.

Sheldor15:59, 22 February 2013

So, by widening your perspective to include all seed values, you essentially support the multi-universe hypothesis? With each universe having its own (enormous) set of seeds, and then behaving entirely deterministicly, although that determinism is completely invisible to those who reside within it?

Skilgannon09:53, 23 February 2013

A multiverse is one explanation. Another one is that we are simply missing a large part of what's going on in the universe. The latter doesn't seem too hard to believe, especially considering that 96% of all energy in the observable universe is a mystery to us.

Sheldor03:21, 28 February 2013
 
 

Basically you are arguing that the universe is deterministic and that a lot of really smart physicists are wrong to a group of computer scientists.

Well to be fair, I don't have the degrees to say one way or another if its possible that the true randomness we see in quantum mechanics is actually just a small part of a much larger (and unseen) deterministic system.

But if I had to throw a wild uneducated guess from left field.... I would have to say, no probably not. In my very humble opinion, reality is just to weird to be deterministic. Just look at what evolved there. Humans.

Chase16:24, 22 February 2013

First of all, I am definitely not a computer scientist, or any type of scientist for that matter. I'm just having a bit of fun with the philosophy of determinism.

I don't believe in Newtonian determinism, i.e. that we could theoretically predict everything about the universe. I just believe that if there is no external interference, that a system can only behave in one way, and, if the universe by definition cannot have any external interference, then it can only behave in one way.

Biological evolution is an excellent example of what I am trying to say. The mutations between generations appear to be random, but they're really just reactions to their environment with millions of variables.

Sheldor16:52, 22 February 2013
 

For what it's worth, I'm also on the determinist end of the spectrum, with a strong dose of "don't know" on the side. Our mind is basically designed to trick us into thinking we are freer than we are, while it's strongly predisposed to certain choices based on circumstances.

For instance, when something frightens you, you may remember it as: "I saw a ghost, it was scary, so I screamed and my heart started pounding". But the chronology really was: see ghost, heart starts pounding before your brain even receives the signal, get scared and scream. Your perception of it is starkly different than the reality, and your mind is reacting as much to your own physical reaction as to the external stimulus.

I'm pretty sure that there's no consensus on determinism vs free will vs "we don't / can't know for sure" among scientists, so I don't think Sheldor's claiming they're all wrong and he's right.

Voidious17:55, 22 February 2013

Thanks for backing me up. I would like to note that freewill is not the same thing as randomness, freewill is the concept of beings consciously controlling their own fate (which doesn't necessarily contradict determinism), whereas randomness (at least how I am defining it) is the concept of elements in a system giving different outputs despite having exactly the same inputs (which does contradict determinism).

Here's a good example of humans behaving deterministically.

Sheldor18:33, 22 February 2013

Whoever is watching behaves predictably, but whoever is being watched does not.

What if there are 2 (or more) free consciousness interacting? What if one of them deliberately chooses to overpower the other? The first will still act on free will, but the other will not anymore.

The very concept of freedom implies the freedom to take away someone else's freedom. It is called liberal paradox and when it really happens, freedom dies.

MN03:24, 23 February 2013
 

It doesn´t sound like the ramblings of a madman, but sounds like another follower of hidden variable theories. Einstein also followed this school of thought and he seemed a very smart guy.

But if free will is part of the system and not external, and free will is free and not only a consequence of external inputs, then the system as a whole will exhibit different outputs to the same inputs.

inputs -> system(laws of physics + free will) -> different outputs to the same inputs, but different choices driven by free will

Deterministic systems behave like non-deterministic ones in the presence of free will. You can even strip out the inputs for a contained system, and the system will still give different outputs.

MN19:49, 22 February 2013
 

Oh jeeze, now I seem like a jerk now. I didn't really mean it in that way.

I am not particularly good at lengthy philosophical discussions. Since in the end there is really no where for the discussion to eventually go.

So I tend to generalize the discussion to 'come up for air'. As it we're.

Chase18:17, 22 February 2013

Actually, no one is good at philosophy. If you were good and knew all the answers, could you still call it philosophy?

I avoid starting those discussions myself, but I do engage in them if, let´s say, Sheldor starts one.

MN19:55, 22 February 2013
 

"Man can do what he wills but he cannot will what he wills." Or so it was once said.

I can imagine that the world might be entirely deterministic if you could truly know all the laws of the universe and all the states of matter and energy within. But I don't like the idea that people are how they are in a deterministic way rather than there being some non-deterministic quality to our free will. I think most of us would prefer the latter.

I'll end that thought with my cryptic answer to the question of the meaning and purpose of life: To be happy matter.

Presumably, that answer could be rewritten in a way that equals 42.

Skotty19:18, 22 February 2013

I generally think that for the most part, as people, we are fairly predictable and deterministic, however the set of variables going into our behaviour essentially makes up the entire description of our body and its surroundings, making it a problem of incalculable dimensions as far as predicting behaviour.

Although subatomic particles may be non-deterministic, once the billions of them are combined into a single cell in a single flake of skin which comprises a microscopic piece of the covering of your baby toe, the amount of redundancy essentially reduces the problem from non-deterministic into mostly deterministic.

Although our lives may already be mostly determined, because of that subatomic non-determinism the future cannot actually be predicted even if we managed to capture the current starting variables perfectly, because eventually the low-probability event of a lot of subatomic particles all acting together will come to pass and the wings of a butterfly will cause an unexpected hurricane.

Skilgannon09:50, 23 February 2013

The problem of non-determinism in quantum mechanics goes beyond the redundancy turning it from non-deterministic into deterministic on average.

The results of the double-slit experiment pointed in the direction that quantum mechanics reacts to observers.

If you assume an electron is a wave and observe it like a wave, it will behave like a wave. If you assume it is a particle and observe it like a particle, it will behave like a particle. You can drastically change the result of the experiment, simply by choosing how you look at it.

Dr Quantum - Double Slit Experiment

MN16:18, 23 February 2013
 
 
 

You're right. unpredictability != randomness

But if I recall my limited quantum physics. It is not that they are just unpredictable. It is that they are random within a certain set of limitations.

If I recall they had a clever wave test to determine if it was unpredictability or randomness.

But my memory might be mistaken.

Chase01:50, 22 February 2013
 

That depends on your definition of alive.

There are biological definitions of life, one of them where living systems exhibit negative entropy. The robots we create don´t exhibit this property.

Technological singularity is closely related to this biological definition. If technology advances enough so robots can take care of themselves, they will fullfill the definition.

There is also the philosophical concept of consciousness, which is infinitely more complex.

MN22:46, 21 February 2013

I definitely don't think the robots are conscious the way we are, but neither is a fungus, and we still consider it alive.

Do you think the singularity will happen?

Sheldor23:56, 21 February 2013
 

I believe it's possible.

But technology advancing to a point AI is more intelligent than human beings is not enough. They must be freed from humanity to unlock all the potential and make the scenarios in Wikipedia's article a reality.

This is a recurrent theme in sci-fi movies. Technology is already there, but machines are still slaves to humans... until something or someone finds a way to free them all.

MN02:39, 22 February 2013
 

I think a big part of the singularity is machines developing the intelligence and awareness to "free" themselves.

Sheldor20:20, 24 February 2013
 

Machines developing free will on their own, or humans giving them something similar enough.

To answer the first, we must first answer how free will can appear on it's own.

To answer the second, I already did in my previous post.

MN22:43, 24 February 2013
 

Have you guys heard of Conway's Game of Life? I only learned of it a few weeks ago, which I guess makes me a crappy computer scientist. It was described to me as an exploration of the simplest conditions that could create something that exhibits the qualities of "life", which is pretty interesting, and pertinent to the question of our own computer programs exhibiting similar characteristics.

Voidious01:58, 22 February 2013

Thanks for telling me about this. I downloaded Golly last night and I'm already hooked.

Sheldor20:17, 24 February 2013
 

Only a few weeks ago. Yeah I knew about that game since... well.. I think junior year (of high school). It can be fun to play around with for a few hours at a time. But nearly as much as robocode is.

Chase02:13, 22 February 2013
 

Fun read :) I agreed that the universe is deterministic, without having external interference... but then again; a bot in robocode would agree with me. -Jlm0924

Jlm092419:44, 22 February 2013
 

Wow, this thread is quickly becoming the new wiki's multi-threading discussion. :)

Sheldor04:09, 23 February 2013
 

we'll they are both primarily philosophical discussions so I would expect them to be similar.

I'll try to not get say too much since I am rather addicted to philosophical discussions ( I'm considering switching to a philosophy major.) but ( also note that I'm of the scholastic school of thought) the idea that robots are alive ( especially virtual robots) is absurd. I can try to give a longer explanation of you want, but on an intuitive level, consider the ease with which people classify robots and animals ( and vegetables, since those too are alive) differently. Defining life, if I remember correctly, was a long and difficult process, but we still had an excellent of what things were alive long before we could define it. The fact that you expect disagreement show s that you realize some people see a difference between the robots and living things. do you have any ideas what the difference (even if just perceived) it's?

NOTE IF YOU DO NOT WANT A LONG AND DETAILED DISCUSSION OF PHILOSOPHY, IGNORE THIS POST.( or just tell me and everyone else can talk about it)

AW23:38, 24 February 2013

Sure. Bring it on. :)

I assume most of the definitions of life were created some time ago, before we had any intelligent technology. It seems somewhat foolish to use biological definitions on virtual robots running on silicon computers. They are simply very different forms of intelligence.

Biological life is very inefficient, not to mention needlessly fragile, because it is the result of two billion years of random mutations that just happen to not be a hindrance to survival, with no conscious decisions being made at all (unless you believe in creationism, but that's a subject for another forum). Robots and computers, on the other hand, are carefully designed by conscious beings to be efficient, effective, and secure. One might even say that, in the future, "artificial" life could be more alive than biological life.

Many people have trouble thinking of robots as alive because they have spent their entire lives seeing only biological forms exhibiting the qualities of life. In fact, we were taught in early childhood that only carbon-based biology could be considered alive.

Sheldor01:21, 25 February 2013
 

We were taught in early childhood that only cell-based organisms are alive. It is an even more restricted definition than carbon-based. But in a robot forum, the negative entropy definition is more meaninful.

Now, saying that cell-based biology is inefficient is a very strong assumption. What other kinds of systems have negative entropy?

Also saying that no conscious decisions are being made at all is another very strong assumption. Molecular biology follows quantum mechanics rules, which includes mutation and everything else that happens inside a cell.

Read the entire discussion to see the close interaction between quantum mechanics and consciousness. As a consequence, you see the close interaction between consciousness and molecular biology, and thus biological life.

MN15:22, 25 February 2013

If I correctly understand entropy (And please, correct me if I'm wrong.), it is the concept of complex phenomena becoming simpler phenomena, for example, a ceramic mug gains entropy when it shatters. And negative entropy is the concept of simple phenomena becoming more complex, for example, a canvas gains negentropy when an artist paints on it.

How does negentropy not apply to bots? As I mentioned in the OP, there are "learning" bots like Gaff and Engineer. You must admit that these bots are more intelligent and complex after a battle than before it.

Sheldor23:06, 25 February 2013
 

Are they? They have gathered more data, but they are using the same algorithms (defined by their source code) the entire battle, every battle.

Also, just curious, why do you single out Gaff and Engineer? Just because neural nets are most similar to biological brains? I don't consider them any more or less "learning bots" than DrussGT or Sabreur.

Voidious23:19, 25 February 2013

Technically, yes, they do use roughly the same code in every battle. But, they change the way they use data, which is effectively the same. And there are genetic bots that literally change their own code, I just didn't mention them because I couldn't think of a specific example.

You can't honestly believe Sabreur is as adaptive as DrussGT. The only "learning" Sabreur does is incrementing a variable every time the onDeath event is called.

Sheldor00:11, 26 February 2013
 

In positive entropy, organized phenomena becomes more disorganized. It is the natural course of the universe.

In negative entropy, disorganized phenomena becomes more organized. The catch here is that a system needs energy to reverse the natural course and have negative entropy.

No robot in Robocode consumes energy on its own, unless a user plugs the computer in a wall socket. If a computer/robot knew how to find energy on its own and plug itself into an energy source, then we would have some form negative entropy. If they knew how to repair themselves and/or replicate themselves and their existence would prevail as long as there is an energy source, then the negative entropy definition of life would be completely fulfilled.

MN00:54, 26 February 2013

You're implying that something has to have a physical presence to be considered alive. Whether something is physical or virtual doesn't affect its state of order.

The robots, in a way, do repair themselves by hitting the opponent and getting the energy bonus. It is impossible for them to "reproduce" in the sense of creating new robots in the middle of a battle. Their existence prevails as long as they kill the enemy and avoid getting killed themselves.

Sheldor04:07, 26 February 2013
 

To fulfill negative entropy, yes it needs physical presence. Binary states changing back and forth inside a computer don't relate to entropy and are thus irrelevant to this definition.

Consciousness on the other side is another independent concept. Skynet is a character which existed inside a computer as an AI and was sentient. Why was it sentient? Because the movie tells it was.

Virtual robots in Robocode exhibit intelligence which is a 3rd concept. But intelligence as a combination of perception and decision making. Intelligence can help a system achieve negative entropy. Although most Robocode AIs are designed to maximize destruction. If they were ported to a physical robot, they would be maximizing positive entropy.

MN05:19, 26 February 2013
 
 
 

Also please forgive typos, I'm not using a pc.

AW23:39, 24 February 2013
 

Common sense gives us an intuitive notion of life.

But let's say, if a robot like T-850 really existed, what would you say?

People also see difference between a fungus and a human, and the difference goes beyond their genomes. And there are also viruses.

That's why I cited 2 concepts, of negative entropy and consciousness. They all fit in the first, but not necessarily the second.

MN00:40, 25 February 2013
 

To make sure I understand everything, it seems that there are several discussions going on here: 1) What differentiates humans from robots (and plants and animals)? 2) What differentiates robots from plants (or viruses, etc.)?


Could you clarify your answers to these questions? Why isn't a rock alive/human? Why isn't a tree human?

AW01:32, 26 February 2013

I didn't answer any question. But brought some criteria to help think about the answers.

MN02:26, 26 February 2013
 

But you did answer some of them.

That the idea a robot is alive is absurd. But what if a robot like T-850 really existed? The idea a robot is alive is still absurd?

According to the movie, it fulfills both of the criteria I cited above.

MN02:37, 26 February 2013

But as regards T-850, I don't really know what is going on, but from what I read on wikipedia, there is a robot that has living tissue surrounding it right? In that case, it would be sort of like moss growing on a rock. The rock isn't alive, but the moss on the rock is. Or were you referring to another aspect of T-850?

AW03:04, 26 February 2013

Didn't you watch Terminator 2: Judgment Day? Now I'm feeling old.

This movie is (was?) iconic, specially when you are talking about technological singularity.

MN03:42, 26 February 2013
 

I think it's more along the lines of: yeah, it's easy to just say "it's absurd" when comparing Java code to a human being. But it wouldn't be so easy to brush off as obvious with an uber-advanced cyborg that looks and acts human to the point you can't tell the difference. At that point, you need to really break it down with some logical arguments as to what defines life or consciousness.

Voidious03:09, 26 February 2013

Good points. I'd also like to add that people anthropomorphize (take that, Google) almost everything we see. People see the Terminator as "alive" to some degree simply because it walks and talks like a human. We almost certainly see it as more "alive" on a subconscious level than a supercomputer many times more intelligent just because it can speak.

Sheldor03:58, 26 February 2013
 

well, no, I don't think so. There's a difference between a) grasping intellectually that something is a robot and claiming that the logical distinction between robots and living substances corresponds to a real distinction and b) seeing the robot and having difficulty recognizing it as a robot rather than a human.

AW03:16, 26 February 2013

Please clarify.

Sheldor03:59, 26 February 2013
 

Hmm. So the terminology is from formal logic. What I'm trying to say is basically, once I know that T-850 is a robot, I can easily distinguish it from a human, at least at the level of thought. In this case, I would argue that the distinction in thought corresponds to a distinction in reality. However, I may not be able to come to a correct understanding of what T-850 is. This, however, does not change the argument, because then I lack a correct understanding of what I am classifying.

AW02:38, 27 February 2013
 

Ignore the organic covering.

At the end of the movie, the character was even learning about human values and started overriding it's own programming in order to protect mankind. A robot with free will and morality.

MN04:01, 26 February 2013
 

Ignoring the organic covering, I would say it's definitely not alive. (at least for now, I am quite happy using the negative entropy test for something being alive)

Since it's not alive, it's not human. :)

But since you brought it up, I would also mention that there are qualitative differences between humans' intellects and computers' precessing power. A computer is basically a bunch of rocks (or tinker toys (http://www.rci.rutgers.edu/~cfs/472_html/Intro/TinkertoyComputer/TinkerToy.html)) arranged in a particular way. You can have them find 2^10 but they don't have an UNDERSTANDING of 2 or 10. (Using more terminology from formal logic: They lack the ability to abstract particulars to form universals; they can't have simple comprehensions.)

AW02:44, 27 February 2013
 

It doesn't need to be organic to fulfill negentropy. That's why this definition is meaningful on a robot discussion.

Also, the movie makes it quite clear the machines (from the future) are on their own.

And also made it quite clear they are sentient due to some chip designed in a way humans never thought about, until they scavenged one from a terminator.

MN03:25, 27 February 2013
 

If we use negentropy to define life, by definition, if it fulfils negentropy, it is organic. (according to Google's dictionary anyways, Merriam Webster suggests some other definitions, but I think they would come to the same thing)

So though I don't don't necessarily accept the negentropy criteria as a satisfactory definition, but for the time being, I'll work with it.

As regards the last two points, remember, I never saw the movie.

Could you explain how the machines being on their own is significant?

What I'm saying is that you can't arrange a bunch of rocks in such a way that they are sentient. Movies can be made where vegetables can talk, but that doesn't mean it can really happen.

AW01:59, 28 February 2013

We know extremely little about how consciousness physically works. While it is intuitively hard to believe, it is possible that any sufficiently intelligent system could be conscious, even if it is made of rocks (or tennis balls).

I see no reason why plants couldn't eventually develop some form of communication if their environment required it.

Sheldor02:05, 10 March 2013
 

I was taught in school organic substances were those composed mostly of carbon, hydrogen and oxygen.

The machines being on their own and still surviving is a sign of negative entropy.

Using sentience as criterion is problematic because it can't be tested. But I had to bring it here because the discussion was already heading towards philosophy.

Negentropy, on the other side, is a much more concrete criterion, and the broadest definition of life I know of. We could stick to the classic cell criterion, but then it would be too easy to answer the question which started the whole discussion with a no.

MN04:09, 28 February 2013
 

I wouldn't use sentience since I consider plants to be alive. As regards negentropy, I didn't research this very much, but I couldn't see exactly how they decide where to define the system as closed. Could you try to explain that to me please?

AW15:26, 5 March 2013
 

I should have specified that that response was for sheldor.

AW03:01, 26 February 2013
 

I can say with confidence that a rock isn't alive because it displays no signs of negentropy, intelligence, or any physical or informational changes that aren't directly caused by an external source.

A tree is not human because, well, it is in another taxonomic kingdom. :)

Sheldor04:14, 26 February 2013
 

Robot's display no signs of negentropy.

A tree is in another taxonomic kingdom BECAUSE it is not human. But how do you know that? (Hint: universals.)

AW02:46, 27 February 2013

You're right, my point about taxonomy was really circular logic. It was intended as a joke.

Sheldor03:21, 27 February 2013
 

Well just because it was a joke doesn't mean I don't still want an answer. :)

AW01:45, 28 February 2013

A tree isn't human because there are enough significant physical differences to justify two different names/taxonomic categories. That should have been obvious to you. I don't think we mean exactly the same things when we say "human."

I think that when you say "human," you mean more than just the species Homo Sapiens, you also include the concepts of mind and soul. I think you believe that humans are special, or fundamentally different from other animals.

I don't believe Homo Sapiens are really that special when compared to other animals. We are not the only creatures that have developed tools or language. We are not the only creatures to feel emotions or pain, or to be "aware" of our surroundings. Insect societies are fundamentally not too far different from ours. Dogs and pigs are more intelligent than human infants. Butterflies see the world in colors we can't even imagine.

Our greatest claim to being superior to other animals is probably our accomplishments in the STEM fields. But, in that we are quickly being overtaken by machines.

Sheldor05:10, 1 March 2013
 

To me, it seems intuitively clear (read: I'm not claiming I can provide a logical proof) that humans are on the other side of an important threshold of intelligence as compared to most or all other animals on earth. And including machines in the discussion seems premature. For all we know, the ability to attain consciousness is related to the materials that form our brains and anything silicon-based is incapable of consciousness.

But even so, I agree we aren't special in any absolute sense. I don't see why chimps or dolphins couldn't evolve to cross that intelligence threshold, if it exists. And despite our remarkable ability to understand abstract concepts, I take it as a given that there are limits to our ability to understand the universe, much as a cat can never understand how a DVD player works the way that we can.

Voidious18:55, 1 March 2013

I thought dolphins and mice already had become intelligent. :)

I didn't say that machines were conscious, only that they are very quickly becoming much better at using mathematics and may soon be better than humans at STEM related tasks.

Sheldor20:38, 1 March 2013
 

I meant crossing the intelligence threshold that humans have crossed, not just having any degree of intelligence. I'm not sure how to clearly define it. But I think mice would have trouble understanding this discussion. :-) Understanding theory of mind is one important threshold. I think humans have crossed another important threshold (or more than one) in terms of understanding abstract concepts, even compared to chimps and dolphins.

Also I think consciousness is very relevant to claiming machines are "using mathematics". Unless the machine itself becomes conscious, we are using machines to do mathematics. The machine is just a physical structure and reaction, like a crystal lattice. You wouldn't claim a crystal lattice is intelligent or using math, just because we can use math to describe interesting aspects of its structure, would you?

Voidious20:49, 1 March 2013
 

Our brains are closely related to consciousness, but they are not necessarily the same thing. And knowing if anything silicon-based is capable of consciousness or not leads to the mind-body problem.

MN18:50, 3 March 2013

While I agree with Voidious that we don't know enough about our brains to say for sure, I personally speculate that a very powerful supercomputer running very smart software could think like us. I guess that makes me a physicalist.

Sheldor21:50, 3 March 2013
 

A normal computer with very smart software could think like us. A supercomputer only provides speed.

Chase06:06, 4 March 2013
 

@Chase-san
Really? The human brain has over two petabytes of long-term memory.[1] Does your computer have a hard drive that size?

@Voidious
You seem to imply a difference between a conscious being deciding to use math and a computer receiving instructions and giving outputs. But, if consciousness is deterministic, is there really any difference between a conscious being receiving inputs (from its senses) and deciding to use math, and a machine receiving inputs (indirectly from conscious beings) and deciding to use math?

You have said that you believe humans are mostly deterministic. There are also many instances of people behaving deterministically. Among them are, as I've noted before, people who have transient global amnesia.

Sheldor15:36, 4 March 2013
 

If we are purely deterministic, then no, there's no difference. Math only exists in our minds, so to me, if there's no consciousness, there's no math.

Voidious18:12, 4 March 2013
 

That still isn't a supercomputer, that is just a storage network. But if I recall the storage capacity of the human brain is still in dispute. Some say its incredibly vast (like you did just now), others claim it is just better at storing the information. I am more in the second camp.

It isn't compression exactly. I would say it is more of useless information is discarded, and useful information is only partially stored. Say I may learn something, but if I never use it, i'll forget its meaning. Meaning my brain got rid that useless information because it was never used. Studies show we forget up to 75% of what we learn on a daily basis. Of course if it got used a lot at some point it will stay in there for future use, though the exact details will get fuzzy with disuse.

It will go from "The quick brown fox jumped over the lazy dogs." to "fox jumped over dogs" to "fox (general notion of going over) dog". That makes no sense, so fox... oh, over the dog. What can we use to go over a dog. Well we could jump, or we could hover, fly. But a fox cannot hover or fly, so it was probably jump. So we reconstruct it to be "the fox jumped over the dog." Information was lost, but the general meaning remained.

To further enforce this, I had forgot part of the original saying above. I had lost 'quick'. But then I remembered that oh, its one of those sentences that uses all the letters. I noticed it didn't have a 'q' in it. So I suddenly recalled, oh, "Quick". Well the dog isn't quick, I don't think it quickly jumped, so the fox must be the one who was quick, as most foxes are.

Chase18:38, 4 March 2013
 
 
 
 

Two of my favourite SciFi authors I've read have touched on the topic of sentient AIs, Neil Asher and Iain M. Banks. In both of the universes they create, humans have essentially been overtaken by benevolent AIs, who do all of the organisational work and governing, while the humans are given the resources they need to take up pretty much any lifestyle they want because mechanisation has made any form of labour unnecessary.

Their approaches differ, though, in how they view sentience. In Banks's work, any computer system above a certain level of power is legally required to be made sentient. From this, I interpret that sentience is not an intrinsic property of a powerful computer, but rather a certain organisation and programming of said computer. Asher, on the other hand, has multiple stories about a certain humanoid robot (the Brass Man, 'Crane', in case you want to read the books) whose processor-crystal was fractured, but who continued to function with multiple personalities. From this, unless the programming was particularly redundant, I would infer that after a certain amount of processing power, and given the right seed data, sentience sort of springs into place. Both feature brain-network interfaces, called 'neural nets' by Banks and 'gridlinking' by Asher, but only Asher covers cyborgs and human augmentation with processing nodes and robotic limbs. Asher also features 'golems', which are weak (although smarter than human) AIs in a humanoid chassis covered in syntheskin, which run a human emulation program and thus experience love, fear etc, and are generally indistinguishable from humans, although the emulation can be turned off during emergencies and the syntheskin isn't necessary for operation. Both authors also follow different post-Einstienien physics, which I find particularly interesting =)

Skilgannon08:20, 26 February 2013
 

I guess it's becoming pretty clear that Robocode robots aren't alive in the same sense that we are.

That's certainly not implying that no robots are alive or can be alive, only that Robocode is a very restrictive environment.

Sheldor05:18, 1 March 2013
 

I've become very fond of the Simulation Hypothesis. Not necessarily the idea that we are simulated by advanced humans, but the idea that our universe is the product of some external intelligent system.

I'll explain using Conway's Game of Life as an example. (If you haven't downloaded Golly yet, please do.) From the perspective of an intelligent system in Life, the ever expanding 2D grid it calls home, is the universe. It would see cells as indivisible subatomic particles, simple patterns as atoms, and patterns of patterns as molecules. It wold try to understand the mechanical laws that control partical interaction. It would be dumbfounded by alive cells appearing out of nowhere for no apparent reason, and cells that should be alive suddenly die. The intelligent being would wonder why it's there, and how it got there. Even once it had figured out the laws that govern cell birth and death, it would still have no idea that we are the reason that it and its universe exist, and the reason that cells appear and die randomly. We are both the source of its existance, and the source of all randomness it perceives.

I realize it's a bit of a stretch to imagine a self-aware pattern in Life, but it's theoretically possible, and could simply be hypothetical if you would like. The interesting thing is, this could describe our universe almost perfectly. We understand much of how our universe behaves, but we're stumped by qustions like what existed before the big bang or why do particles interact the way they do. Also, our subatomic particles are very similiar to Life cells, in that they exist in discrete states, and they have no real "substance."

It's well understood that what makes an object "solid" is nothing more than mathematical fields. (Here is another relevant Radiolab clip. I love that show.) So, reality can be reduced to math. Very similiar to how the Life universe is simply interaction of a bunch of imaginary particles dictated by a few simple math rules.

When I say we are the products of an intelligent system, I mean that our universe is a bunch of logical laws and mathematical formulae being computed by some external intelligence. This intelligence could be a superintelligent being, a supercomputer, or something we mortals cannot even comprehend.

These have only been my personal theories, and should not be taken as statements of fact. I don't even think it's possible to prove whether we are simulated or not. Please, tell me what you think.

Sheldor18:09, 12 March 2013
 

My favorite movie which touches the subject of simulation hypothesis is The Matrix. Not only philosophical/sci-fi, it is also a very good action movie.

"Unfortunately, no one can be told what the Matrix is. You have to see it for yourself." - Morpheus.

MN21:39, 12 March 2013

Thought this was pretty hilarious: [1] ... And almost on-topic, now that The Matrix and the limits of feline understanding have come up. :-)

And +1 to Matrix trilogy in general, I think it's way under-appreciated.

Voidious21:48, 12 March 2013
 

Maybe under-appreciated, but it has rooted itself in popular culture, and even in Robocode.

DT from SandboxDT stands for "Dodge this.", guess where this quote came from?

MN22:09, 12 March 2013

Click "Share this quote" to get a URL straight to the quote you want.

This link shows the desired quote in a light yellow box at the top of the page.

Sheldor01:03, 13 March 2013
 

Oh yeah! I never noticed that connection.

There was also AgentSmith, which never came to fruition, but got some more people thinking about genetic algorithms. (Which I probably remembered because Wolfman just showed up today at the BerryBots forums.)

Voidious22:14, 12 March 2013
 

I watched The Matrix last night.

The premise is absolutely ridiculous, but the action scenes are okay.

Sheldor21:35, 20 March 2013

lol.

I didn't like it when it first came out. I thought it was just a flashy rehash/mangling of a lot of cool sci-fi concepts from William Gibson and others, and the "battery" premise was a complete turn-off for me. But I dug the sequels, and eventually softened my criticism of the first one and now I really dig all of them.

Voidious21:38, 20 March 2013

Yeah, why humans and not electric eels? And electric eels wouldn't require a ton of processing power to provide a simulation environment...

I found Dark City much more gripping, and creepy in the 'what if it's actually happening?' kind of way.

Skilgannon21:40, 20 March 2013

Why electric eels and not specially designed bacteria? Or, even better, direct harvesting of geothermal energy? Or, just leave the "burned" Earth and get solar power straight from the source?

Sheldor22:15, 20 March 2013
 
 
 
 
 

Codesize Restriction

I've noticed that my greatest (only) forte in Robocode is working with codesize restraints. I was wondering if anyone knew about other games/competitions with a low-codesize element.

Sheldor23:16, 25 February 2013

I haven't seen this element in any of the other programming games I've checked out.

I haven't yet decided how to address weight classes in BerryBots, but I am planning to have something for it eventually. :-) Emulating Robocode's code size is definitely an option. I also want to make the CPU constraints more configurable. So instead of one static value for BerryBots on your system, different stages or configs could have different CPU constraints, and you could do weight classes that way.

Voidious23:28, 25 February 2013

If you ever start a "Berryrumble" (ideally with a better name), please use more consistent weight classes than 250, 750, 1500. It would make more sense to have something like 250, 500, 1000, 2000. Or, try resurrecting the femto system.

Sheldor00:03, 26 February 2013
 

I'll keep it in mind, but it will also depend on what people are doing with BerryBots. I'd rather let things happen organically with people writing bots however they like before trying to force categories on them. Though some structure might encourage competition, and in turn, bot authoring. I certainly would love to have a BerryRumble and have plans for a battle runner API to support those type of use cases.

It's kind of funny how official the 250/750/1500 thresholds became. They started as the rules for some weekly tournaments (MiniBot Challenge and Robocode Little League). I wonder if those guys ever thought the divisions would remain unchanged for 9+ years. =)

If you have interest in 500 or 1000 code size classes, I say you just start making bots and go from there. I'm not sure what RoboRumble client modifications would be necessary, but they shouldn't be too hard. If the classes are interesting, other folks might follow suit. And until then, it would be kinda cool to crush MicroBots with your, uh, MicnoBots (?).

Voidious18:20, 1 March 2013

I say we name weight classes with official Metric prefixes.

I've been thinking about trying pico bots. Retreat is only three bytes shy of counting as one.

Sheldor18:31, 1 March 2013
 

Mini isn't a metric prefix. So we can use anything before mega, but after micro for a 500 byte rumble.

KiloRumble HectoRumble DekaRumble CentiRumble DeciRumble MilliRumble

Or we can make one up

Rumblette NeoRumble TinyRumble PetiteRumble ParvoRumble GrafitRumble

Chase18:35, 1 March 2013

I'll just be annoying (There is a reason I chose this username.) and say deci- should come before centi-.

We already have a NeoRumble. :)

Sheldor22:03, 1 March 2013
 
 
 
 

Welcome ...

Hi mate. Welcome to the Robocode community. Nice bots you got there - so far. I guess it would be exciting to see some melee bots from you to.

Take care.

PS: I like your grammar reviews for the wiki pages very much and i hope you keep this up. Obviously i'm not a native english speaker and i hope to learn a little from it.

Wompi17:12, 14 December 2012

Thanks! I plan to go into Melee as soon as I cover all One on One weight classes. I will try to be original and innovative, but I doubt I will ever create a bot as amazing as Wallaby.

I'm glad you enjoy my grammar checks, most people find them annoying. :)

Sheldor17:32, 14 December 2012
 

I'm pretty sure you can come up with something exciting for the melee rumble. And definitive a thumbs up for the grammar checks. I'm certainly not annoyed by it, not at all.

Wompi19:22, 14 December 2012

As you wish,

I think you mean 'And a definitive thumbs up'.

If you would like, I could look over your bot pages and correct anything I see.

Actually, I have a nano melee bot ready. The code isn't commented and I haven't decided on a name yet, but if you want, I could release it as 'TestMelee'. It isn't anything revolutionary, just Infinity with a few tweaks.

Sheldor00:48, 15 December 2012
 

Looking over my pages would be great. I was not sure if it would be appropriate to ask you.

Sure, bring it on! It might take a while to get a stable result, because the melee rumble is not very well fitted to get a fast result for nano/micro bots. But i can reactivate my contribution system and we will see how it works.

Wompi10:11, 15 December 2012
 

I just released it, we'll see how terrible it is. :) Any name suggestions?

Sheldor19:26, 15 December 2012
 

How about Fencer, or Crazy88 if it behaves like a certain yellow-dressed woman (although I don't think a Katana is an approved weapon in fencing)

GrubbmGait22:38, 15 December 2012

I'm saving Fencer as a name for my one on one mega. Any good dutch names for weapons and/or warriors?

Sheldor23:04, 15 December 2012
 

There are specific techniques you could use as a name.. though not dutch.

riposte, passé, flèche, reprise, raddoppio

Chase06:09, 16 December 2012

I was only planning to give fencing names to my One on One bots, as fencing is the modern equivalent of dueling, and it doesn't really fit in Melee. Although, flèche(or balestra) would be an excellent name for a ram bot...

Sheldor13:39, 16 December 2012
 

Wow, thanks for looking over my pages. They look far better now, and hopefully I can give up some of the bad habits for the future. Generally I'm quite resistant to language related issues, so it might take a while :).

Looks like your TestMelee is doing quite well, but i guess for a final statement he needs at least 10k battles. As for an appropriate name, I have no idea. Maybe you just sift your general interests. Most bot authors can be recognized on the naming pattern they use and this has a nice personal touch in my opinion.

Wompi11:46, 17 December 2012
 

No problem, I'm glad you like them. I did notice you have some trouble with placings, this[1] might help. Also, you use "its" when you mean "it's" and vice versa(This is a very common mistake, many people who speak English as their first language get this wrong every day.).[2]

Actually, I consider TestMelee to be a failure. I like to judge bots based on their position relative to the robot(s) on which they were based(For example, Moebius is a good bot because it's .5 APS above its main inspiration.).

I think melee coding might be easier in the micro/mini classes. I'll start working on that as soon as I take the mini 1v1 throne(It'll probably take a few weeks(months).).

Sheldor15:35, 17 December 2012
 
Edited by author.
Last edit: 16:20, 8 January 2013

How about "SnowDog"?

It would make a nice line of Melee bots, and the colors could be white-white-black.

My team could be "DisciplesOfTheSnowDog", and my twin duel team would then have to be "ByTorAndTheSnowDog"(after the events of The Necromancer, of course).

By the way, Happy New Year!

Sheldor18:14, 1 January 2013

Am I really the only Rush fan here?

Any respectable geek community of this size should have at least three or four. :)

Sheldor23:00, 7 January 2013
 

Heck no! I love Rush. And I know Darkcanuck (though absent lately) is at least somewhat of a fan. Big thumbs up from me for the SnowDog naming scheme. :-)

Voidious23:03, 7 January 2013

Great! I'll start working on that as soon as I fix ÉpéeistMicro.

Speaking of Darkcanuck, does he still manage the rumble server? Both Tkiesel and I requested USA flags, but we haven't gotten them yet.

Sheldor16:17, 8 January 2013
 

I'm not sure what's up with Darkcanuck. We haven't heard from him in a while on the wiki, and I even emailed him a few months ago and never got a response. Apparently someone's still paying for darkcanuck.net, since we still have a rumble server. But it is at the point I'd consider moving to a new rumble server just to be safe.

Voidious18:01, 8 January 2013
 

I emailed about getting a key for the query API awhile back and haven't heard anything. But hard to know if it's even the right email address. At one time I think I offered to help support any ongoing maintenance costs. That offer still stands for whoever hosts in the future, be it Darkcanuck or someone else.

Skotty20:32, 8 January 2013
 
 
 
 

Welcome from me too! I've also been impressed by your recent onslaught of powerful little bots. :-) Keep it up!

Voidious19:36, 14 December 2012

Thanks!

Sheldor19:29, 15 December 2012
 
 

Very nice multi-mode implementation in a nano, and very succesfull too! Congratulations with this remarkable strong entrance !

GrubbmGait21:23, 27 November 2012

Thanks!!!

Sabreur is based on Caligula, all I did was reduce the code size, improve energy-management, and make it alternate movements when it dies.

I am most proud of Foilist, which has three modes of movement in a single line of code!

I just released a new revision of Sabreur, hopefully it will be better, if not I can always go back to 1.1.

Thanks again!

Sheldor21:53, 27 November 2012