Old News
Zoom!
(Devon 20070912) New experimental feature: the main view can be zoomed in and out by typing '+' and '-'. ('0' returns to the default scale.) This means you have more flexibility in how much of the world you can see at once.
(Devon 20070930) That flexibility includes making the minimap larger and more detailed than the main view. :) But Warren improved the graphics yesterday, so it doesn't actually look bad. The main view is also smarter about scrolling when following now.
Nativity
(Devon 20061227) There's now a native OS X build, based on a patch by Daniel von Fange. Some niceties are still missing (no icon, dragging sides to the application doesn't work) but at least you don't need Classic any more.
For interoperability (particularly important when switching from Grobots Classic), Grobots now recognizes either CR or LF as a newline. This works on all platforms, so you no longer need to worry about converting line endings.
groups.yahoo.com is hungry
(Devon 20060507) The mailing list has been silently eating any messages sent to it for several days. Last time this happened, it coughed up the missing messages a few days later. If it doesn't get better, I'll set up a replacement mailing list.
Shared code
(Devon 20060315) Thanks to a patch from Tilendor, types can now share code. If there is a #code
section before the first type, its contents are available in all types. This is convenient for communications code, which has sometimes been duplicated between types.
Built-in graphs
(Devon 20060223) The Statistics window now includes a graph of biomass over time. It's as useful as it sounds. It would be even more useful if it showed average biomass for all sides at once, instead of just one at a time. [20060409: now it does.]
Windows and Linux ports
(Devon 20051111-12) I have ported Grobots to Windows. Not everything is done yet, but it's enough to be useful. Download the starter kit or just the binary.
Also, Warren ported headless mode to Linux.
Robots running around with their heads cut off
(Devon 20050828) Grobots can now be built with no user interface. This version runs from a command line and is easy to port. So easy, in fact, that I made a Windows build. This may be useful for people with slow Macs and fast Windows machines. You can't watch the rounds, but you can at least run tournaments.
Daniel von Fange implemented the first version of this in December, and used it to generate some interesting graphs. I only now got around to porting and uploading it. Someday I (or someone else) may get around to adding built-in graphs.
Yay! Only nine windows!
(Devon 20040911) I was going to make the inspector prettier, but it's not much use for anything but robots. So I removed it. Basic information about the selected object is now shown as a caption in the main view. (This looks nice with autofollow.) More detailed information about robots is in the debugger. It only shows the most interesting hardware variables, since there are too many to show them all. If there are more variables you want added, let me know.
Then I got rid of the Status window too. The profile times are now shown in the debugger when no robot is selected. The object counts and energy totals replace the type list in the Statistics (previously Scores) window when no side is selected. The frame and framerate are at the top of the roster. (They were briefly in the debugger, but were too inconvenient there.)
New sensor features
(Devon 20040815) It would be nice if sides could sometimes coexist without fighting. The simplest way to do this is to ignore cells that aren't attacking you. Missiles make this difficult, because you can't tell they're hostile until it's too late. So we added robot-bomb
, which tells how much bomb a cell is carrying.
There's also robot-reloading
, which tells whether the target's weapon has fired. (It may change to tell how fast the target is reloading.) This is so you can determine whether a cell is attacking without a shot-sensor and without waiting to be damaged.
Moved
(20040322) The main Grobots website is now at http://grobots.sourceforge.net/. Please update your links.
GPL
(20040307) No more Grobots is free software, but we haven't settled on a license yet
. Now it's under the GNU General Public License.
Sterility
(20040105,09) The scoring system now keeps track of whether a side has any cells with constructors left. If not, the side is sterile, and is marked as such on the roster. This makes it easy to distinguish the many times when Not Quite Harmless retains only a few unkillable decoys from its long-dead population. Sterility also replaces extinction as the criterion for early and late death. There are now two different survival scores: the Scores view shows how often the side had any cells left, and the Tournament view shows how often it was not sterile.
No more tool-switching!
(20040105,08) Following, inspecting, and debugging a robot used to require several tedious switches between tools. Now it's automatic: just click on the robot with the Scroll/Follow tool. The inspector and debugger always show the currently followed object.
The Refollow (backquote), Follow Random (return, tab), and Autofollow (command-A) commands are useful too.
Warren scratches a personal itch
(Warren 20030727) I made a side debugger today, which currently only displays the shared memory for a side. By a remarkable coincidence, it works well for debugging a particular side I'm writing, which keeps statistics for each 10x10 tile of the world. The debugger displays shared memory 100 at a time, displayed in a 10x10 grid. It also calculates the min and max for each pane, and color-codes the display based on this. Of course, the debugger works fine for debugging sides that do not use shared memory in this particular way - the color-coding will just be less useful.
To use, select the side debugger from the view menu. To advance to the next/previous 100 numbers, hit the 'n' key / 'p' key. To return to the first 100, hit '0'.
Broken syphons
(Devon 20030721) I renamed syphons, so that the frequently used friendly syphons now have the short name syphon
, and the rare enemy syphons are enemy-syphon
. This breaks all fourteen syphon users. I've made fixed versions of the good ones.
While I was at it, I made syphon-distance
measure from the center of the cell, not the edge. This makes syphons a little bit simpler to use. syphon-range
still measures from the edge of the cell. Maybe it shouldn't.
A bug you can drive a 100-cell colony through
(Warren 20030705) I tracked down a bug today that made Commune and Untouchable have expenditures 20 to 50 percent higher than their incomes. Friendly syphons didn't conserve energy, and probably haven't for a little over a month. This explains part of Commune and Untouchable's success. I also fixed a bunch of less serious syphon bugs. Here's how syphons work now:
- The amount syphoned is multiplied by an efficency factor equal to the product of the shield fractions of the bots involved.
- When taking energy from an enemy robot, efficiency also includes a factor equal to the target's energy divided by its max-energy. The idea behind this is that squeezing energy out of a starving enemy is hard, but giving to enemies, and giving or taking from friends, are not affected.
- syphoned is the actual amount of energy syphoned, not the fraction of syphon-rate that was used (these differ by the efficiency factor). Therefore, syphoned may not equal syphon-rate, even if the syphon is working as hard as it can. This may break sides that use unfriendly-syphons (Gnats and Sucker come to mind).
Yes, implicit conversions are bad
(Devon 20030516) I chased type ambiguities by removing an implicit type conversion operator, GBNumber::operator double
. This broke a lot of code. That conversion was being used in a lot of places where it shouldn't have, and most of these weren't obvious. Some were even minor bugs.
I also added more comparison operators. If there are any type ambiguities left, please report them - my compiler doesn't. :(
New Top Nine tournament
(Devon 20030404) I started an organized tournament series. It's in KotH format. Read about it.
Seven-year patch
(Devon 20030114) We got our first patch today, from Tilendor. It makes GBSideReader
portable, and ports GBErrors to Windows.
Oh, the original design of Grobots is seven years old this month, and the implementation three years.
Crush the giants
(20030103) We did some experiments with Intoxicated, and it seems that large cells still have an advantage in combat. They're supposed to have a large disadvantage. So we doubled the extra damage for large cells.
We're not specifically trying to weaken Intoxicated, Teledont, and World Toad. These are all interesting sides. But their size does not fit our vision of the game. Grobots is supposed to be about strategy and programming, not about who can buy the largest cells.
A semi-giant, Active Large, won the first tournament after the rule change. Not as bad as before, but still not good. Fortunately (and unlike Intoxicated), most of its success isn't due to its size.
Balance
(Devon 20021219) We removed the confusing increase in the cost of armor for large cells, and replaced it with an almost equivalent increase in damage taken. Whether it's equivalently confusing remains to be seen. This is, what, the fifth attempt to discourage large cells?
It's been nearly impossible to get much energy from manna. We didn't notice this until recently because theotrophs do unrealistically well in solitary doubletime tests. In an attempt to restore balance, we have increased the default manna rate, and the cost of solar cells.
There have been no tournaments recently because sides' performance varies so much under different rules (especially world sizes) and against different opponents. 10x10 tiles is standard, but we like the feel of the game in larger worlds. We will probably adjust constants to make the 10x10 world feel larger.
Rules
(Devon 20021124) Today's version replaces part of the cooling charge with an increase in the cost of armor for large cells. The idea is to compensate for large cells' combat advantage. Since large cells don't have an advantage in most other activities, a combat-specific penalty is better than a general one. (Ideally, we want large cells to be slightly worse at everything. The amount of cooling charge required to make them slightly worse at combat makes them much worse at other things.)
I added a Rules dialog, with which you can set various parameters, including seed size. Note that the world size settings don't work yet.
Source released
(Devon 20021121) Portability work is under way.
(Devon 20021119) We have released the source to Grobots. See the source page.
Quadratic cooling cost
(Devon 20021116) In order to get rid of the giant cells that have become too common, we made cooling cost increase as the square of hardware cost. This is cheaper for cells smaller than 2000, and very expensive for large cells: the marginal cost of hardware at 3500 is 50% higher than at 1000. Authors of large cells will probably want to shrink them.
To prevent many giants from becoming unseedable, we have raised the seed size to 6000. This is temporary; in a week or two (after sides have been updated) it'll return to 5000.
Automated tournaments
(Devon 20021116) There is now support for automating tournaments. Cumulative results are kept for all sides; type T
in the Roster window to see them. Check the Tournament option in the Simulation menu to run many rounds automatically. Only ten sides at a time will be seeded (unless you uncheck the Only Seed Ten Sides option), so you can run large tournaments.
Views are much nicer now
(Devon 20021115) The various views update on a better schedule now. Minimap and Side no longer fail to update at all, and Inspector and Roster don't flicker so much. There's also a framerate display in the Status window. You can change the Minimap display; see the user interface reference. And the Type view works now, so you can see costs in detail. I found two bugs because of this.
Did you notice the visible indications of radio use, and the different colors of sensors?
Cooling charge and other size balance
(Devon, October 24, 2002) We decided to tackle the size-balance problem directly, by charging extra for large cells. If a cell's hardware costs over 1000, it is charged an additional 10% for a cooling system (because big things tend to overheat, right?). A cell that cost 1200 now costs 1220, which is not a big deal, but for larger cells, the charge is significant. Teledont's cost increased from 4899 to 5287, making it unseedable. (It's not a good idea to have sides that are just barely seedable; rule changes tend to break them.)
We also messed with explosions. Their size now varies even less than before. This greatly weakens missiles.
I finished adding AppleEvent support. This means you can open sides by dropping them on the application. Very convenient.
Misc
(Warren, October 12, 2002) #seed
now works. See the docs for more detail. Also, the game automatically pauses when all but one side die.
(Warren, October 11, 2002) The Grobots compiler dared to insult me by rejecting the symbol nifr
. I got angry and taught it a lesson. While I was at it, I also added nifc
.
...and again
(Devon, October 3, 2002) Communications now requires hardware. This hardware is the first to use nonnumerical arguments: a full-featured radio is radio write read send receive
. The arguments correspond to the communications operations that are supported. Sides that use communications will need updating again.
Sides broken again
(Devon, 2 October 2002) I renamed the communication operators, so sides that use them will need updating. Also added some new operators.
Have you noticed the tournament results and side analysis pages yet? Read them and go write something to end the reign of the missile-using autotrophs.
Enemies feel different
(Devon, September 21, 2002) In addition to collision
, there are now friendly-collision
, enemy-collision
, food-collision
, shot-collision
, and wall-collision
. See the documentation (yes, it's a new feature that's documented!) for details.
I ran some tournaments. Teledont is still champion.
Faster, and I forget what else
(Devon, September 21, 2002) I fixed a bug that made the minimap slow to draw. Now you no longer have to close that useful window to get acceptable speed. Also:
- New operator,
mod
.
- New hardware variable,
collision
, containing the number of robots and walls this cell is currently in collision with.
- Radii of explosions and force fields now vary less.
- The Side window is broken.
- New menu item, Reseed, which seeds any extinct sides.
- Various other changes.
Now they look pregnant
(September 20, 2002) A cell's radius now varies with its mass, so pregnant cells are bigger. No more confusion over tiny cells that weigh far too much. I also fixed a random-number bug (2 1 random
now works the same as 1 2 random
), and added dist
and in-range
.
Listen to the vectors
(Devon, September 19, 2002) I added user-defined vector variables. They act like ordinary variables, but they store two values instead of one. Declare them with #vector name
or #vector name x y
.
There's also sound now. It can be annoying, so it's off by default.
Miscellaneous obscure bug fixes: brains now count toward biomass. Lines should no longer disappear from the background. About... menu item checked properly.
xor
added
(Devon, September 3, 2002) See, we respond to feature requests! Slowly. But there's now an xor
operator.
Several more changes
(Warren, June 9, 2002) More poorly tested changes:
- There is now a rudimentary inspector. It will get more colorful and more complete (especially for robots) as I work on it. The inspector might cause dangling pointer problems if I made an error, so report crashes.
robot-sensor-next
renamed next-robot
.
- Hardware variables
current-food-result
and num-food-results
(and similar for robots and shots) added.
robot-side
, food-side
, shot-side
added. Returns ID, or 0 if the item is neutral.
syphoned
hardware variable added, reporting the amount of energy passing through the syphon.
- Friendly syphon (which badly needs a better name) added. Similar to a syphon but only works against robots on the same side. This is much cheaper than a regular syphon, and will make gathering energy in one cell and spending it in another more practical.
robot-mass
(food and shots too) available from sensors.
Several changes
(Warren, May 26, 2002) Recent changes, of which none have been thoroughly tested, include:
- Seeds are kept seperated, so seeds no longer appear on top of each other. The minimum distance depends on the number of sides; for 10 sides it is about 25 units and for two sides it is about 75 units.
- Message passing has been implemented. Use:
messagelength channel send-message
- This sends a message of length length. It pops 2 + length elements from the stack.
channel receive-message -- message length
- Sensors have been upgraded to allow the sensing of friends, and the sensing of multiple targets. Use
robot-sensor-sees-friends!
,robot-sensor-sees-enemies!
, and robot-sensor-next
. See the documentation for details.
Explosions changed
(Devon, May 2, 2002) Large explosions have been weakened. More massive robots also take more damage from explosions. See the physics page for details.
Foci back
(Devon, April 18, 2002) Sensor foci are back: use the variables *-sensor-focus-distance
and *-sensor-focus-direction
. Yes, I know their names are too long. Someday in the distant Utopian future, when the language is based on trees instead of sequences, there will also be more data types. Vectors, hardware, and sensor returns will all be first-class. food-sensor-focus-distance
will become something like (norm (focus food-sensor))
. Except that foci will be replaced by something better long before then.
I broke your sides.
(Devon, April 10, 2002) I made several incompatible changes yesterday, so most sides no longer work. Isn't it fun using prerelease software?
- Sensors no longer have a reload time. This means
*-sensor-reload-time
and *-sensor-cooldown
no longer work. There is now just one parameter (range) to sensor hardware.
fire-*-sensor
no longer takes parameters. (So there is no way to set sensor focus at the moment. Focus and other results-processing options will be implemented once we figure out what they should be.)
- Force fields are now based on power, not force. This makes force fields less efficient at high speeds.
force-field-[max-]force
is now force-field-[max-]power
, and the first parameter to the hardware is power, not force.
set-force-field
has been replaced by force-field-distance
and force-field-direction
.
set-velocity
has been replaced by engine-velocity
, which is a vector variable. (No user-defined vector variables yet, though.)
There's also a new operator: seek-location
sets engine-velocity
to go to a specified place at full power. It's strictly a convenience, but we got tired of writing it over and over, so now it's built in. This will happen a lot once we figure out what routines are useful.
Recent changes
(Devon, April 8, 2002) Some of the changes in the last few weeks:
- Types with bombs are no longer seeded.
- Seeds are larger and some details are different.
- Standard mass doubled to 20.
- Drag is now quadratic in speed, not linear.
- Various cost changes.
- Corpses take a moment to stop moving.
- Shields are slow to raise, have a small overhead, and prevent firing weapons.
- New bug: sensor-shots and smoke are mysteriously reddish.
- Bugfix: Removing the first side now renumbers remaining
sides correctly.
There will be incompatible changes to sensors soon: reload times are going away, and the arguments to fire-*-sensor
will be replaced by a *-sensor-focus
variable.
Alpha version available
(Devon, March 6, 2002) The latest build of Grobots is now available. It's alpha-quality but the basics are all there, and it's fun to play. Download it (and some sides) and experiment. If you write any interesting sides, send them to us (or the mailing list). We'll post them on the site, and run tournaments.
Mailing list
(Devon, February 27, 2002) There is now a mailing list for Grobots. Send a message to grobots-subscribe@yahoogroups.com to join, and grobots@yahoogroups.com to post. See http://groups.yahoo.com/group/grobots/ for details.
All of the essential features are working. We will probably release an alpha version soon.
More new features?
(Devon, February 7, 2002) Added today: compile-time words, inter-robot communication, vector operations. Robot sensors now report the target's velocity. I also shortened some of the most unwieldy names: for example, food-sensor-angle-found
is now food-angle
.
Parser working!
(Devon, February 6, 2002) I finally finished the parser. Now arbitrary sides can be loaded from files - I've run five so far. This is a big milestone - now it's easier to play the game than to work on it.
Sensors have also been simplified and are now much easier to use. They are less informative to watch, but I can fix that.
Currently the biggest annoyances to the user seem to be:
- Conditionals are very clumsy. Compile-time words would fix this and make other things (like loops) easier too.
- There are no vector operations yet. They would make movement and shooting code simpler.
- Reloading a side requires removing it (which resets the world) and loading it again.
- Error messages about user code are not presented very well. (But this is easy to fix.)
- Seeing or changing the current tool requires using a menu. A toolbar would be convenient.
- There's still not much documentation.
Six years, no hurry
(Devon, February 4, 2002) Grobots is six years old. Changes lately:
- There is a side view, which shows a side's types and some statistics.
- You can select in the Side view the type for the Add Robot tool to add.
- New tool: Erase Big, for erasing large areas more conveniently.
- Blasters are a little prettier now.
- The less important views are now drawn less frequently.
- Added a bunch of missing sensor instructions.
More screenshots
(Devon, October 12, 2001) It seems I haven't posted any screenshots of the main view in a long time. Here are three, all showing robots engaged in somewhat useless activities.
Both the white and yellow sides in this screenshot run in circles, aimlessly fire a weapon, and do little else of interest. The yellow robots have raised shields (blue rectangles) to defend against the strafing, which is a waste of energy since those shots do practically no damage. Three of the syphons (little greenish crosses) aren't hitting anything, so they have no effect, and the fourth is starving a friendly robot.
Here, purple is throwing grenades at brown and white, but has not yet managed to kill anything. The white side's circular motion consistently throws off purple's aiming, so the grenades land in neat circles around the target. Purple did actually succeed in killing some brown robots shortly after this screenshot was taken. But as neither of the target sides is armed (white's strafing doesn't count), killing them is pretty pointless.
There's hope. This shows a nice healthy two-type plant and some nice healthy overkill. That cloud of grenades does 900 damage, enough to kill those heavily armored intruders three times over. Useless, but harmless. (Harmless to the plant, anyway.)
Status, changes, and To Do
(Devon, October 5, 2001) Work still continues, slowly. Some changes in the last few months:
- The Roster window now resizes itself properly
- Force fields behave better
- New tools: Add Seed, Add Robot, and Erase.
- Brain errors are now caught, and stop the brain without interfering with the simulation.
- Sides may be duplicated without resetting scoring information.
- Many parser bug fixes.
- About box added.
- The Status window is no longer opened at startup.
More stuff to see
(Devon, June 20, 2001) The Roster window is working now. Notice the scoring information.
Major behind-the-scenes changes were made to the interface. Oh, and by the way, brains are working now.
Lull
(Devon, April 1, 2001) Apathy and frustration with C++ have prevented me from doing any significant work on Grobots since January. However, some nice features are working:
- The last two weapons, force fields and syphons, should work now.
- Interactive tools let the user intervene in the workings of the world, dropping food, force fields, and (most important) explosions on the hapless robots. (I am User! Fear my boredom!)
- Food gradually decays, to avoid cluttering up the world.
- Programmable robot brains are essentially done, but do not work because of a library problem.
- You can scroll by clicking on the minimap. This is very convenient - no more repeated switching of tools.
I am distracted by a more interesting project (and did I mention apathy?), so I may not be working on Grobots much.
More screenshots
(Devon, January 17, 2001) Here are two scenes from a battle, with and without sensor-shots, and the minimap.
Grobots is five years old!
(Devon, January 12, 2001) The first version of Grobots was designed five years ago this month. The design has changed surprisingly little since the first year.
Screenshots
(Devon, November 21, 2000) These screenshots are days old, but the graphics haven't changed since. The first one shows a bunch of brown Rabbits seeking food - the blue circles are their sensor-shots - and a white Lunatic that has fired a magenta blast at nothing in particular. The second shows five sides: the rabbit and lunatic, a dangerous purple gunner, a buggy red would-be predator, and green algae. Note the grey wall at the bottom.
Telephone
(Devon, November 18, 2000) The Major Progress continues. There are now hard-coded sides fighting each other. This is a long-awaited milestone, as this phone conversation from yesterday illustrates:
The phone rings; Devon answers it.
Devon: Hello?
Warren, on the other end: Predator versus Algae?
Devon: Yup.
Major progress
(Devon, November 14, 2000) In the last two days, many major features have started working. The simulation now runs and displays.
Pick a language. Any language...
(Devon, date unknown) An implementation in C++ was started in January 2000. I abandoned it in favor of a Java implementation in April, but eventually got too frustrated with AWT and switched back.
See!
(March 29, 2000) I made a fake screenshot!
Old Changes
- (20120824) Tournament scores can now be saved in MediaWiki format, for convenient wiki updating.
- (20120824) Selected robot now shows engine acceleration. Radio rings are now drawn attached to cells, not as separate objects. These, and shields and halos, are drawn as separate overlay/underlay layers, so they behave well when overlapping.
- (20120819) Remove Side now deselects the side. (This was a potential crash.)
- (20120819) When saving tournament scores, don't color anything less extreme than the average score.
- (20120819) New primitives:
rotate-to/from
and *-relative-position
.
- (20120819) Debugger and brain error message now show addresses relative to last label.
- (20120819) Rename Restart/Clear Map to "Clear World", to make it more obvious what it does.
- (20120816) Cast characters to unsigned char when calling
isspace
etc. to prevent treating non-ASCII characters as negative, which triggers a debug assertion on Windows.
- (20120812) Syphon trails no longer overlap the robot.
- (20120805) The Windows build now gets its menus from the portable table, not from resources. (patch from Mike Anderson)
- (20120805) Grobots can now use
float
or double
instead of GBNumber
. This is faster and simpler, and fixes the longstanding misroundings in hardware.
- (20120805) Sides with duplicate names now add a ' suffix to distinguish them.
- (20120805) Faster brains.
- (20120804) Syphons and forcefields now draw their tails directly, instead of making sparkles.
- (20120804) Usability: When no sides are loaded, the Roster now suggests getting some from the website.
- (20120803) Improved robot graphics. Meters are now slightly larger, for readability. Cells, meters and decorations flash to show hits, repairs, eating, syphoning, and reloading. Crashed or stopped brains have a bright halo.
- (20120801) [Mac] Menus are now generated programmatically rather than from a resource file.
- (20120730) Improved Statistics view: much better graphs, and added % economy/combat.
- (20120730) Improved profiler (it now shows times as percents), and moved object counts there.
- (20120730) Improved HTML output when dumping tournament scores.
- (20120729) Window layout now automatically adapts to screen size and view sizes. Larger default minimap.
- (20120729) More portability patches.
- (20120428) Reduced dependence on
GBNumber
.
- (20120425) Improved robot type view: it now shows percent of total cost (to make hardware optimization easier) and percent economy and combat (to make understanding types easier).
- (20120422) Portability patches.
- (20100109) Much prettier blasters: they're now lines instead of crosses, and change shape to indicate power and speed, and fade out at the end of their range.
- (20100108) Bugfix: Dump Tournament Scores was missing a column in its header. Also added overall kill ratio.
- (20100108) Bugfix: robots now recalculate their size when constructing, to prevent fast-growing cells accidentally hitting themselves with blasters.
- (20100104) Prettier and less obtrusive radios.
- (20080820) Tournament view and saved tournament scores now sort sides by score.
- (20080731) Main view now shows ranges of selected cell's weapons.
- (20080731) Main view and minimap now show side names.
- (20071216) Sensors are no longer selectable.
- (20071026) Renamed
Misc
expenditures to Brains
, since that's all it is.
- (20071003) Added
and-nif
.
- (20070930) Types view now shows damage multiplier for large types, and multiplier when pregnant with the same type.
- (20070929) Main view avoids walls when following.
- (20070929) Zoom keys in minimap now affect main view.
- (20070929) Increased minimap maximum size.
- (20070929) Improved appearance when zoomed in or out.
- (20070928) [Mac] Now redraws after handling an event.
- (20070928) Fixed crash when selecting manually added shots. (Patch from Borg.)
- (20070928) [Windows] Fixed bug handling keystrokes (now converting from virtual key to char).
- (20070912) Reduced frequency of annoying seed placement warning.
- (20070912) Minor changes to build under MSVC 2005.
- (20070912) Fixed a bug (2e-32 isn't 2^-32!) in
GBRandomState::FloatInRange
, so colors of duplicated sides are properly random now.
- (20070912) The main view is now zoomable by typing '+' or '-'. ('0' restores the default scale.)
- (20070909) Tournament results window now redraws when the number of sides changes.
- (20070623) [Windows] Windows that shouldn't be resizeable no longer are. (Patch from Borg.)
- (20070623) Fixed bug loading files that are a multiple of 512 bytes long. (Patch from Borg.)
- (200701 or so) [Windows] Fixed bug loading multiple sides at once when one is a shortcut.
- (20070113) Various optimizations.
- (20061230) Fixed misformatted totals in HTML output.
- (20061229) [Mac OS X] Turned off pointless cursor changes.
- (20061229) [Mac] Now really doesn't try to step when paused, even at Unlimited speed.
- (20061229) [Mac OS X] Now opens files of any type, not just
TEXT
.
- (20061225) Now builds for Mac OS X under XCode (based on a patch from Daniel von Fange).
- (20061225) [Mac] Fixed crash when closing a side or quitting.
- (20061225) [Mac, especially OS X] No longer tries to step the simulation very very fast when paused.
- (20061215) Now recognizes any newline on any platform.
- (20061127) Types view now includes initial energy in hardware cost, and shows percent cooling cost. It's no longer possible to select no type, which was useless and annoying.
- (20061126) Improved minimap minimum contrast, so dark sides are still visible. Removed useless white-background option.
- (20061126) Robots' captions now show energy, armor, and construction. Corpses' show what type they were.
- (20061124) [Windows] Added missing stream operator so HTML output compiles under MSVC.
- (20061023) Added cooling cost percentage to Types view.
- (20061023) Added Save Tournament Scores menu command.
- (20061023) Fixed headless survival output (again).
- (20061021) Added
v=
and v<>
operators.
- (20061021) Debugger now shows last label in PC and return-stack boxes, making it much easier to see what a cell is doing.
- (20061018) Total hardware cost (in Types view) now includes initial energy.
- (20061018) [Windows] Now picks font size more reliably.
- (20060606) Increased Faster speed.
- (20060606) Restored engine-velocity to debugger (it got lost somehow).
- (20060507)
periodic-*-sensor
will now fire immediately if the sensor has never fired before.
- (20060507) The Graph All Rounds setting is now ignored for the first round.
- (20060507) No longer draws gestation progress meter of zero.
- (20060507) Debugger keys: step brain (b), pause (p), frame (f), run (r).
- (20060507) Clicking in world now prefers robots over other objects.
- (20060419) Seeding now stops at the first unseedable type rather than trying to spend as much energy as possible on robots.
- (20060415) Headless mode no longer prints useless overall kill fraction.
- (20060415) [Windows] Windows stay together in stacking order. (Patch from Tilendor)
- (20060415) Added
engine-velocity
to debugger.
- (20060410) Bugfix: biomass history for time 0 could be wrong.
- (20060410) Views no longer use side ID to detect change in selected side.
- (20060410) Tweaked tournament results coloring.
- (20060409) Reorganized
GBScoresView::Draw
to fix crash from surprising copying.
- (20060409) Graph is now bigger, and can show biomass across rounds.
- (20060409) Added Slowest and Faster speeds.
- (20060409) Reduced force of explosions on food.
- (20060409) [Mac] Command-E now shows Tournament view.
- (20060409) Side IDs now only count seeded sides.
- (20060409,15) Replaced kill rate (kills / biomass) with kill fraction (kills / total kills) in tournament results.
- (20060409) Execution now starts at the beginning of each type's code, even when there is shared code.
- (20060330) Bugfix: Pull tool crashed.
- (20060330) Force fields are now somewhat more expensive and weaker.
- (20060314) Added shared code. (Patch from Tilendor)
- (20060309) Windows version can now load multiple sides at once. (Patch from Tilendor)
- (20060304-5) Fixed two history-related crashes.
- (20060304) Added
flag
and robot-flag
variables.
- (20060304) Debugger now shows more instructions, and some hardware variables are shown only when interesting.
- (20060223) Fixed crash on exit.
- (20060221) Text and graphs now darken light colors instead of using black.
- (20060220) Added biomass graphs.
- (20060215-20) Improved portability:
GBApplication
is now mostly cross-platform.
- (20060215) Bugfix:
SimulateOneFrame
didn't end round when stepping.
- (20051124) Forcefields now have fake velocity, like syphons.
- (20051114) Increased font size on Windows.
- (20051112) Bugfix: headless mode now reports nonsterile survival, not simple survival.
- (20051112) Moved type population and biomass to Types view, and expanded Statistics view.
- (20051112) Radio no longer requires hardware or energy to use.
- (20051112) Ported headless mode to Linux. This had the side effect of fixing a rounding bug that made collisions inelastic.
- (20051112) Fixed headless crash: division by 0 in very short tournaments.
- (20051112) Added convenience operators:
restrict-position
, autoconstruct
, balance-type
, periodic-robot-sensor
, periodic-robot-sensor
, periodic-robot-sensor
, lead-blaster
, lead-grenade
, and set-force-field
.
- (20051112) Tiny bugfix: Side names ending in 's' don't get another -s in genitive.
- (20051111) Large blasts now look (but not feel) slightly bigger.
- (20051111) Scores now include estimated two-sigma sampling error, so you know whether you've run enough rounds.
- (20051110) Over medium distances (10-30), following now moves fast instead of jumping.
- (20051110) Following a robot now automatically selects its side and type.
- (20051110) Headless mode prints types and costs, round numbers, total biomass, elapsed time and framerate.
- (20051110) Headless mode now displays final scores properly.
- (20051105-11) Ported GUI to Windows.
- (20050828) Ported headless mode to Windows. This required only minor changes to deal with
for
loop scoping and numbers, and fixing a bug in GBSideReader::GetLine
.
- (20050508) Frame number now changes after each round instead of before, so stepping doesn't confuse brains.
- (20050508) Headless mode now prints more scores and has some rules options.
- (20050327) Minor (probably irrelevant) optimizations to
NamesEquivalent
and GBObject::Intersects
.
- (20050226) Various small optimizations (conditions in
GBHardwareState::Act
, faster FindTile
and GBObject::Intersects
).
- (20050226) Tinkered with minimap contrast without much success.
- (20050221) Bugfix: stack didn't display properly in debugger.
- (20050221) Removed some unused methods from
GBObject
.
- (20050221) No longer creating invisible transmission decoration for unused radios.
- (20050221) Added profiling for resort and statistics phases.
- (20041214) Applied some Unix porting patches from Daniel von Fange, and added headless mode.
- (20041211) The Carbon build now uses Navigation Services, so you can open multiple sides at once.
- (20041211) About box now shows platform (Classic or Carbon).
- (20041211) Ported to Carbon.
- (20040911) The roster now redraws when a side is loaded or removed.
- (20040911) Moved frame and framerate to the Roster window, and added indication of tournaments and pausing.
- (20040911) Removed the Status window, and moved its contents to the debugger and Statistics windows.
- (20040911) Removed the inspector, since it is now superfluous.
- (20040911) Added some hardware variables to the debugger.
- (20040911) Added caption to the selected object in the main view.
- (20040911)
0 constructor-type!
now works.
- (20040812) Added experimental white-backgound option to the minimap (press W), to make dark robots easier to see.
- (20040516) Added
robot-bomb
and robot-reloading
.
- (20040421) Fixed a potential crash when inspecting sensors.
- (20040421) Brain stepping now works again.
- (20040408,21) Forcefields and explosions now show up on shot sensors.
- (20040408) Tiny change to line spacing in hardware view.
- (20040403) Bugfix: Move tool couldn't be used twice on the same object.
- (20040403) Removed mistaken constness from
GBWorld::Followed
and GBInspectorView
.
- (20040401) More portability changes (float literals, namespacing, some Windows stuff).
- (20040401) About box shows Sourceforge website.
- (20040307) About box now shows GPL notice, and date of compilation.
- (20040307) Added GPL notices to source files.
- (20040307) Portability work: removed
#pragma unused
; renamed folders; now distributing a makefile that works!
- (20040207) Bugfix: number of mannas added was rounded (sometimes to zero). Also changed manna density unit to (energy / tile) and manna rate to (energy / tile / frame).
- (20040207) Main view now recenters when completely out of the world.
- (20040207) Moved
GBSensorResult
into GBHardwareState.{cpp,h}.
- (20040207) Repairs now make sparks.
- (20040207) Added local memory (
load
, store
, vload
, vstore
).
- (20040207) Added
shot-type
, shot-power
, and last-hit
.
- (20040207) Improved seed placement. Seeding errors are not reported if robot errors aren't.
- (20040206) Cheaper enemy-syphons.
- (20040114) Types view now shows the type if there is only one.
- (20040114) Longer period (3 seconds) on autofollow.
- (20040114) Bugfix: debugger and inspector didn't always update.
- (20040106) Now asks for confirmation before quitting during a tournament.
- (20040106) New Autofollow mode added. (The old one is now called Follow Random.)
- (20040106) Menus and shortcuts revamped.
- (20040106) Slow speed reduced to 10 frames per second.
- (20040106) Scores are now updated when tools are used.
- (20040106)
seek-moving-location
no longer turns off engine when close.
- (20040106) Bugfix: mouseups sometimes went unnoticed.
- (20040105) Total constructor and sterility are now tracked.
- (20040105) Decorations and hidden sensors are no longer followable.
- (20040105) Fixed various scoring and score display bugs.
- (20040105) Replaced solar% with kill rate (kills / biomass) in Tournament view.
- (20040105) Follow now jumps to the target instantly if far away.
- (20040105) Increased default initial manna density to 1.5.
- (20040105) Inspector and debugger now apply to the currently followed object.
- (20040105) Type view now contains a selectable list of types.
- (20040105) Removed selection from
GBListView
.
- (20040105) Merged
GBRoster
and part of GBPortal
into GBWorld
.
- (20040105)
#author
is now read.
- (20040104) Bugfix: early death scores counted rounds a side was not in.
- (20040103) Reseeded sides now have scores and shared memory reset.
- (20040103) Sides no longer seed near the center.
- (20040102-3) The Side view is now the Scores view, with many more statistics, and cleaner code too.
- (20040102)
GBRect
is now portable.
- (20040101) Follow now works while paused.
- (20040101) Radio transmissions are no longer solid circles on the minimap, and sparkles are dimmer.
- (20040101) Minimap trails are now much better.
- (20040101) Bugfix: Roster showed selection after side was removed.
- (20031231) Reorganized menus, and added Refollow, Autofollow, Autofollow Near, Start/Stop Brain, and minimap options.
- (20031231) Bugfix: autofollow in an empty world gave an error.
- (20031231) Bugfix: line numbers in brain error messages were off by one instruction.
- (20031231) Bugfix: Writing read-only variables was sometimes reported as an unimplemented instruction.
- (20031231) Removed
shot-mass
, since shots are massless.
- (20031231) Bugfix: user-defined variables couldn't shadow builtins in assignments.
- (20031231) Bugfix: some text in Side view was unreadable on selected type.
- (20031231) Clicking with Scroll tool now follows a nearby object.
- (20031231) Removed unnecessary input handlers from side debugger and Type view.
- (20031231) Added infrastructure to detect clicks and double clicks.
- (20031221) Minimap now resizes when world size is changed.
- (20031213) Cleaned up various comments and dead code.
- (20031024) Bugfix: nonexistent sensors could fire.
- (20031024) New command now starts simulation running.
- (20031005) Bugfix: blasts could immediately hit the cell that fired them.
- (20030903, 20031005) Cleaned up phases.
- (20030830) Reordered simulation phases to make stepping work.
- (20030830) Fixed updating bugs in Side and Type views.
- (20030823) Added some infrastructure for brain stepper.
- (20030823) Remove All Sides now resets scores.
- (20030823) Minor changes to Tournament view.
- (20030812) Reduced weapon overhead to 0.3.
- (20030812) Added
time-limit
.
- (20030812) Missing weapons can no longer fire.
- (20030727) Added an incomplete side debugger for viewing shared memory.
- (20030726) Added overhead to blaster and grenade shot size.
- (20030721) Force fields are now more expensive and a little weaker.
- (20030721) Added
grenades-radius
and force-field-radius
.
- (20030721)
syphon-distance
now measures from the cell's center, not its edge.
- (20030721) Renamed
syphon
to enemy-syphon
and friendly-syphon
to syphon
.
- (20030721) Corpses now remember who killed them.
- (20030717) Babies no longer appear right on top of parent.
- (20030717) Updated about box.
- (20030716) Syphon sparkles now appear in the right place.
- (20030716) Bugfix:
[friendly-]syphoned
wasn't set to zero when syphon was off.
- (20030712) Fixed two divide-by-zero bugs in
GBSyphon::CollideWith
.
- (20030708) Removed recoil (from force fields and grenades).
- (20030706) New operators
shield-fraction
and robot-shield-fraction
for determining your and enemies' shield fractions (don't shoot at decoys!). Also weakened shields again by an additional 50% (total recent decrease: factor of 5). Not Quite Harmless has responded by buying bigger shields, but is no longer almost invincible.
- (20030705) Bugfix: syphons didn't conserve energy (and other syphon bugs).
- (20030704) Reduced shield effectiveness again, by 50%. Also made shield graphics saturate less easily.
- (20030701) Added option (press C) to draw decorations on minimap.
- (20030630-0701) Syphons and forcefields now show a trail from their owner.
- (20030630) Added
reorient
, arccos
, arcsin
, and arctan
.
- (20030630) Tab key in main view or minimap now autofollows a nearby object.
- (20030630) Added Show Prints menu item, so you can use
print
and vprint
at will.
- (20030629) Shields are now 20% weaker. Also fixed a bug in the inspector's display of shield fraction.
- (20030629) Fixed window resizing bug.
- (20030629) Added labels, variables, and last print to debugger. It's wider and prettier too.
- (20030602) Bugfix: grenade recoil didn't depend on shot size.
- (20030602) Forcefields are even stronger, and work (weakly) through shields, and have recoil.
- (20030602) Autofollow is now smarter, and works from the minimap.
- (20030601-2) Bugfix: blasters and grenades could appear in the wrong place.
- (20030601) Added
parent-id
and child-id
.
- (20030601) Better error message for falling off the end of a robot's code.
- (20030531) Added autofollow (press return in the main view).
- (20030531) Inspector now shows shield, and shield damage fraction. Also adjusted shield effectiveness.
- (20030530) Shields are now slow to lower as well as raise, and interfere with births, syphons, and death explosions.
- (20030530) Syphons are now much cheaper, and less effective on starved targets.
- (20030530) Cheaper processor and radio, more expensive syphon range, cheaper friendly syphon range.
- (20030529) Brains can now be stopped and restarted from the debugger.
- (20030529) Larger line buffer, to prevent line-too-long errors.
- (20030529) Bugfixes: using
in-range
or setting a large *-sensor-focus-distance
could cause arithmetic overflow.
- (20030529) Removed unused code, moved error classes to the right files, and otherwise refactored.
- (20030529) Syphons now have velocity, so they can be chased back to their sources.
- (20030527) Bugfix: friendly syphons were regular syphons.
- (20030526) Added long-range syphons.
- (20030526) More comparison operators to fix coloring bug in tournament view.
- (20030525) Added armor to inspector.
- (20030521)
GBDeletionReporter
now supports multiple listeners.
- (20030520) Bugfix: force fields pushed in the wrong direction. This breaks all force field users; sorry.
- (20030520) Replaced Push tool with Move, and fixed Pull.
- (20030513) Added more comparison operators to
GBNumber
and removed GBNumber::operator double
. Cleaned up code that depended on this.
- (20030429-30) Cursor now changes depending on the view.
- (20030427) Bugfix: duplicate didn't handle robot decorations, sensors, and syphons properly.
- (20030419) Brains are heavier and more expensive.
- (20030419) Force fields are cheaper and 50% stronger.
- (20030404) New percent-killed statistic.
- (20030404) Bugfix: Debug menu item didn't work.
- (20030402) Bugfix: Tournament view didn't update after last round.
- (20030401) Added early percent biomass, and an unreliable territory statistic.
- (20030331) Generated symbols now have distinct names, for easier debugging.
- (20030331) Tournament view now shows kills and losses, and some overall statistics.
- (20030331) Debugger now shows stacks and disassembled instructions.
- (20030329) Minor robot decoration improvements.
- (20030329) Added
nand
and nor
operators.
- (20030327) Added
max-*-results
for sensors.
- (20030327) Force fields are now weaker near the edges, like explosions. Force fields now show side color.
- (20030206) Added extinction sound, and replaced birth and beep sounds.
- (20030206) Force fields now push in a given direction (
force-field-angle
), not radially. They are also much more effective.
- (20030204) Turned off reduced weapon effectiveness.
- (20030204) Bugfix: Tournament menu item was checked instead of Report Errors.
- (20030115) Renamed
GBTime
to GBFrames
to reduce confusion.
- (20030115) Replaced all uses of
TickCount
with a portable Milliseconds
function.
- (20030114) Bugfix: some items in Simulation menu were in wrong order and didn't work.
- (20030114) Applied a patch from Tilendor: portable GBSideReader and some other portability.
- (20030113) Added adjustable simulation speed and New Round menu item. Some other changes to menus.
- (20020110) New simpler and better shield function. Also fixed bug: fetus mass didn't affect shields.
- (20030110) Now runs faster (and skips frames) when speed limit is off.
- (20030110) Bugfix:
GBSensorShot
had dangling pointer.
- (20030110) Finished tile collision.
- (20030110)
die
now scored as a suicide, and erasure as an accident.
- (20030108) Made weapons and forcefields less effective when damaged. This is experimental.
- (20030105) Added
seek-moving-location
, robot-position-overall
, food-position-overall
, and shot-position-overall
.
- (20030103) Added status and PC to debugger.
- (20030103) Increased extra damage for large cells.
- (20030103) Added some profiling. Sped up simulation slightly.
- (20030103) Bugfix: inspector didn't update properly when target died.
- (20030103) Inspector now shows position and velocity.
- (20030103) Added
vprint
and pause
.
- (20020103) Added option to not report brain errors,
print
, etc.
- (20020102) Bugfix: Duplicate didn't copy radios.
- (20030102) More statistics in Tournament view, and statistics are gray when there isn't much data for them.
- (20030101) Added
#decoration
.
- (20030101) Added expenditure statistics in Side view, and removed efficiency. Added late death rate and average biomass to Tournament view, and removed income.
- (20030101) More coloring of statistics in Tournament view.
- (20030101) Bugfix: Sound menu item wasn't working.
- (20021231) Bugfix: reloading a side that wasn't seeded no longer resets scores.
- (20021220) Added Blasts tool, just for fun.
- (20021220) Minor fix to robot names (no
s's
).
- (20021220) Added debugger view (useless so far), and made inspector and debugger windows appear when used.
- (20021220) Added
vwrite
and vread
, and pi/2
constant.
- (20021219) Increased drag. Increased weapon range costs (and recoil) slightly. Added linear term to sensor cost.
- (20021219) Increased cost of solar cells.
- (20021219) Replaced armor surcharge with increased vulnerability for large cells.
- (20021219) Restored population to Roster view.
- (20021219) Reduced mass of grenade launchers.
- (20021219) Bugfix: would freeze or crash if all sides were eliminated.
- (20021219) Added income statistics to Tournament view.
- (20021219) Added
GBBitmap
, so offscreen graphics in views is portable.
- (20021218) Added
signum
.
- (20021218) Number display fixes in Inspector and Type views.
- (20021218) Shields now change color to indicate power.
- (20021218) More statistics (manna/corpse/robot value). Bugfix: brain cost wasn't counted in some statistics.
- (20021218) More and bigger manna. Faster food decay.
- (20021218) Bugfix: Duplicate didn't copy side seed info.
- (20021218) Radios now share some cost between
read
and receive
and between write
and send
.
- (20021218) Constant tweak: force fields now 67% more effective.
- (20021218) Minimap now starts in the bottom left corner of the screen.
- (20021218) Separated tournament scores view from roster view, and made both more compact, to handle large numbers of sides better.
- (20021218) Repair rate is now a power, not damage per frame. Also fixed bug where repair cost didn't reflect armor cost.
- (20021216) Undefined and duplicate symbol error messages now include the symbol's name.
- (20021216) Reloading a side that wasn't seeded no longer resets world.
- (20021216) Numbers with fractions now print properly.
- (20021216) Stack brains now use
std::vector
, which saves memory and removes some (undocumented) arbitrary limits.
- (20021214) Setting syphon-distance to zero no longer turns syphon off.
- (20021209) Type colors on minimap are fainter now.
- (20021209) Unresolved-symbol error message includes the symbol's name.
- (20021205) More portability work.
- (20021205) Error messages and
print
now show robot IDs.
- (20021205) Bugfix: side and type names had trailing newline.
- (20021205) Added line numbers to brain error messages.
- (20021205) Bugfix:
read
now depends on the right hardware.
- (20021203) Bugfix: force fields and explosions didn't affect food.
- (20021203)
beep
now does nothing when sound is off.
- (20021202-3) Various portability fixes.
- (20021202) All files and types now begin with
GB
to avoid collisions.
- (20021202) Large cells now show both their colors on the minimap. Not as pretty as I hoped.
- (20021202) Now using portable
GBGraphics
for most drawing.
- (20021202) Restored old nonjerky following, after a sickening experiment.
- (20021201) World resizing now works. Fixed two minimap resizing bugs this revealed.
- (20021201) Added robot speed to inspector.
- (20021201) Shields no longer drawn when not actually up.
- (20021130) Partly added portable graphics layer.
- (20021129?) Status window now redraws less often.
- (20021129) Bugfix: radio cost and mass didn't count.
- (20021129) Bugfix: closing a side used to reset the remaining sides.
- (20021129) Bugfix: After
stop
, brain used negative energy.
- (20021129) Maybe bugfix:
*-sensor-sees-friends
and *-sensor-sees-enemy
weren't working.
- (20021128) Bugfix: enormous framerate was reported after reset.
- (20021125-30) Converted from
Str255
to std::string
.
- (20021125) Improved Platform.h.
- (20021125) Removed all uses of the nonstandard
inherited::
feature.
- (20021125) Added
celse
compile-time word.
- (20021124) Fixed the not-quitting-right-away bug for the third time.
- (20021124) Trivial change: reduced cell overhead mass.
- (20021121,24) Added Rules dialog.
- (20021121?) Now linking with STL. This causes a bit of bloat; sorry.
- (20021121) Fiddled with explosions.
- (20021121) Armor is now more expensive for large cells. This more accurately penalizes large fighters, so we reduced the cooling charge.
- (20021121) Removing a side that wasn't seeded no longer resets the world.
- (20021121) Fiddled with weapon costs. Removed quadratic range terms.
- (20021121) Added linear drag coefficient and reduced friction.
- (20021120) Bugfix: 6-digit colors were read wrong.
- (20021120) Collapsed time limit into one menu item.
- (20021120) Adjustable seed limit.
- (20021120) Now doesn't inadvertently quit when load fails.
- (20021120) More statistics.
- (20021120) Line numbers reported for some compiler errors.
- (20021120) Status view bugfixes.
- (20021120) Moved name tables to their own file.
- (20021119) Speed limit now still works while dragging.
- (20021119) Various cleanup.
- (20021119) Improved Reload (and
SideReader
).
- (20021119) More info in Type view.
- (20021119) Cooling charge now starts at 0, not 1000.
- (20021119) Minimap now draws every other frame.
- (20021119) Added reload command.
- (20021119) Moved some variables from
GBApplication
to GBWorld
for portability.
- (20021118) No more black lines showing up on the main view when resized.
- (20021118) When the minimap background is off (
trails mode
), the viewing-area box no longer leaves trails, and fade-out mode preserves the grid.
- (20021118) Zoom boxes work, though only in one direction.
- (20021118) Made mimimap resizable.
- (20021118) Added limited-length tournaments.
- (20021118) Main view now autoscrolls in the right direction.
- (20021117-18) Major work on views.
- (20021116) Removed
alpha version
warning from about box, since it's not really alpha any more.
- (20021116) Now quits immediately when told to. (No, it doesn't.)
- (20021116) Processor now doesn't use energy when not running.
- (20021116) Cooling cost is now quadratic in hardware cost. Raised seed size to 6000 temporarily so giants will still be seedable.
- (20021116) Added experimental fadeout mode to minimap.
- (20021116) Minor changes to various views.
- (20021116) Added cumulative scores, autorepeat, and random limited seeding, as a primitive tournament utility.
- (20021116) Now updates statistics after seeding.
- (20021115) Seed reporting is more accurate now.
- (20021115) Roster view no longer shows statistics for unseeded sides.
- (20021115) Fixed
GBNumber::ToString
again.
- (20021115) Fixed a bug that made all radios have all features.
- (20021115) Type view works now.
- (20021115) Various changes to
GBColor
and view drawing.
- (20021115) Added proper periodic updating to Roster, Side, Status, and Type views.
- (20021115) Added framerate to Status view.
- (20021115) Added some graphics profiling gunk to minimap and
DoubleBufferedView
.
- (20021115) Added
skip-messages
.
- (20021115) Workaround for a bug that made the minimap not redraw.
- (20021115) Added robot energy to inspector.
- (20021114) Large sensor-shots now fade slower.
- (20021113) Fixed a bug that reported extinctions for sides that hadn't been seeded.
- (20021113) Fixed a bug where energy would be lost when giving with syphons.
- (20021113) Radio transmission is now visible.
- (20021113) Partly fixed
GBNumber::ToString
.
- (20021113) Color-coded sensors.
- (20021113) Hopefully fixed a bug involving dragging and errors.
- (20021113)
0 constructor-type!
now works, because Gnats 8 keeps trying to do it and the error messages were annoying.
- (20021112) Now tracking seed value, doubletime, efficiency, and extinction time.
- (20021112) Fixed main view background drawing bug.
- (20021112) Seeds stay farther from walls now.
- (20021111) Changes to main view scrolling.
- (20021111) Follow mode now looks ahead of moving targets.
- (20021110) Raised minimum minimap contrast.
- (20021030) Raised threshold for drawing things as circles on the minimap, to (maybe) speed it up a little.
- (20021030) Side window now autoresizes again.
- (20021028) Some work separating scoring from sides.
- (20021026) Fixed statistics collection so
type-population
works. Added biomass tracking for types.
- (20021026) More initial manna.
- (20021026) Added speed-limiting and reorganized menus.
- (20021026) Fixes to
GBColor::Contrast
and meter colors.
- (20021026) Added
and-if
(short-circuit and
for conditionals).
- (20021025) Various cost changes (lighter armor, cheaper forcefield range, more expensive processor, others?).
- (20021024) Bugfix: stats were not collected when single-framing.
- (20021024) Increased grenade recoil.
- (20021024) Failed bugfix: still doesn't quit immediately when told to.
- (20021024) Added dialog to change time limit.
- (20021024) Changed how some statistics are gathered, and added a few more (not displayed yet).
- (20021024) Fixed grenade range bug. Large cells will no longer overshoot.
- (20021024) Finished AppleEvent support.
- (20021024) Added a cooling charge of 10% for hardware cost over 1000.
- (20021024) Trivial changes: reduced robot size padding.
- (20021024) Changed some explosion constants to balance large explosions (and therefore missiles).
- (20021024) Sensors can now see the energy of robots and food with
robot-energy
and food-energy
.
- (20021013) Meters are now drawn using alternate colors if the defaults give poor contrast. Very dark-colored robots are drawn on the minimap lightened.
- (20021013) Maybe fixed a bug involving small foods, large explosions, and overflow.
- (20021012) Minor rounding bugs in statistics collection fixed.
- (20021012) Auto-pause upon elimination added.
- (20021012)
#seed
now works.
- (20021011) Added
nifr
and nifc
.
- (20021007) Added
robot-radius
, food-radius
, and shot-radius
.
- (20021006) Big refactoring to
GBWorld
, one of the core simulation classes. This allows some simplifications elsewhere.
- (20021003) Added keys to select tools (undocumented).
- (20021003) More smoke from large grenade launchers.
- (20021003) Fixed robot radii so big cells don't look even bigger than they are.
- (20021003) Force fields are now more effective at short range.
- (20021003) Added
radio
hardware and clear-messages
.
- (20021003) Speed of weapons now varies less with range.
- (20021002) Fixed bug:
autoKey
events were ignored.
- (20021002) Side view now redraws on clicks and keystrokes. Added beginnings of Type view.
- (20021002) Fixed bug: friendly syphons were free and massless.
- (20021002) Tinkered with the Side and Roster views. Added Growth cost statistic.
- (20021002) Added
world-width
, world-height
, mass
, stack
, stack-limit
, dropn
, and pick
.
- (20021001) Renamed
transmit
to write
, receive
to read
, send-message
to send
, and receive-message
to receive
.
- (20020930) Fixed
mod
and added rem
.
- (20020929)
#seed
is now recognized. It doesn't do anything yet, but you can start using it.
- (20020928) Items in the Apple menu now work.
Earlier changes weren't logged.
Old Screenshots
Other Old Stuff
There is an early description of Grobots. It's out of date but pretty complete. The documentation is better, though, and more up to date.
Grobots by Devon Schudy
and Warren Schudy