Show Posts

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

Topics - Numsgil

Pages: 1 ... 20 21 [22]
Dead-End and Solved Suggestion Requests / Arrays
« on: February 20, 2005, 04:11:47 AM »
I'd like to propose splitting the 1000 memory locations into 20 arrays of 50 elements each.

Arrays 1,2 are for custom labels and bot specific memory locations
Arrays 3-11 are for eyes 1 through 9
Array 12 is for Internal Self Information
Array 13 is for External Self Information
Array 14 is for Self Commands
Array 15 is for tierefs
Array 16 is for tiecommands

That leaves 4 arrays for future developments.  Every sysvar would be put into one of these arrays.

The advantage lies in the fact that now we can look at more than just what's in front of us.

Something like:

*.eye3(.refeye) *.myeye !=

The sysvars could be arranged so that *.myeye refers to InternalInfo(.myeye), so the arrays could be transparent to the bot programmer if they like.

This is mostly a way to organize the sysvars.  Understanding which sysvars are for reading data from and which are for writing data too can be confusing some times.

Suggestions / Diploid DNA
« on: February 20, 2005, 02:56:59 AM »
The problem with any diploid DNA system in DB is that it is very difficult to decide which is dominant and which is recessive.

In real life, dominant and recessive are decided by which gene is more active.  If both genes are pumps, the dominant gene is the one that pumps 30000 gallons a minute and the recessive one pumps 100 gallons a minute.

In DB, we have to fudge.

Imagine two synchronous DB DNA strands.  For simplicity, we say that gene 1 of strand 1 and gene 1 of strand 2 form a recessive/dominant pair.  If strand 1's gene is dominant it entirely eclipses strand 2's, and vice versa.

Pretty standard.  How do we decide which is dominant and which is recessive?  Each gene is pushed through a hash function. What is a hash function, you ask.

A hash function assigns a number to any object based on that objects properties.  The idea is that the number assigned to each object is as unique as possible.

So, each gene is now assigned a number based on their properties.  Identical genes get identical numbers.  The gene with the higher number in the gene pair gets executed, the other does not.  In the event of a tie (hopefully a rare occurance) the gene in strand 1 is executed.

Arbitrary?  Yes.  But I believe it would be worth a shot.  Obviously single strand DNA's should still be executed.

Darwinbots Program Source Code / Code Archive
« on: February 20, 2005, 02:15:45 AM »
See the source code page on the wiki for links to different code versions.  The 2.4X code that the current code uses is the VB version.

Dead-End and Solved Suggestion Requests / Ideas' Programming Status
« on: February 20, 2005, 02:11:40 AM »
Prompted by MightyPenguin, I've decided to create this thread where all future ideas can be catalogued and listed.

[span style=\'font-size:11pt;line-height:100%\']DO NOT[/span] post new ideas here, post them in a thread of their own in this board.  When they're done being discussed, someone will post here giving the details for the programming team to consult.

PLEASE stay on topic on this thread, this will only work if this is a standardized, readable, proffessional collection.  

Please take the time to keep the grammer proper English, including punctuation, capitalization, and spelling.  No one will be anal about this, but if it is bad your idea may not get worked on as quickly.

If you know your English skills aren't the greatest, ask someone else to write up the post.  I would be happy to do this, as would any other veteran members.  PM them or ask them to do it in the thread where you discussed this idea.

Here's the format:

Idea name: A byline to reference the idea
Major or minor change: a subjective call, used to estimate the amount of work that's going to be needed to get this to work.
Proposed By - who started the idea
Link to thread where this was discussed
Idea Blurb - a quick synopsis of what the idea entails.
Other information - If there is a vocal critic of this idea, their name and objections should be listed here.  Any other information also goes here.
  • Under review - idea has been discussed, but no one has written the code yet.
  • in progress - a programmer is working on the code as you read.
  • abandoned - this idea has been deemed too difficult to actually get working.  It may one day appear, but don't hold your breath.
  • Suspended - the programmer working on it has given up for a while.  If they do not get back to it after quite a while (several months), it goes into the abandoned category.
  • bug testing - a version is done, but has not yet made it to the general release.
  • in current version - the latest version includes this feature.  It may contain bugs still.
  • buggy - at least 2 versions old and still buggy.
  • veteran - this feature is at least 2 versions old, and no bugs have been noticed.
Bugs - Added after a feature has been released in its first public release.  Known bugs are listed here.

Pages: 1 ... 20 21 [22]