Giter Site home page Giter Site logo

evolutionchamber's People

Contributors

cyrik avatar mulander avatar nafets-st avatar nyurik avatar

Watchers

 avatar  avatar

evolutionchamber's Issues

GUI simplification proposal (includes a mockup)

Here is an idea I've been having about a possible user interface for the 
evolution chamber.

Currently the UI consists of many widgets that are not used in a typical use 
case scenario. Most users define two or three targets (upgrades, unit mixes and 
buildings) rendering the rest of the widgets not used and obfuscating the 
layout (people have to search for specific fields).

I propose splitting the entry into two data tables. One for way points and the 
second for steps defined in each waypoint. Data in the entry grids would be 
editable inline (upon double click the label changes into a drop-down/text 
entry field).

The Start / Stop button is merged and the Restart button is completely dropped 
(as a quick double press on the Start/Stop button results in a Restart action. 
Am I correct?).

Two additional widgets are provided for exporting the generated data (a 
drop-down selection of the format and the export button).

This is of course just a proposal on my part and I'm open to any questions :)

Original issue reported on code.google.com by [email protected] on 20 Oct 2010 at 5:47

Attachments:

FileNotFoundException: c:\seeds.evo (Access denied)

What steps will reproduce the problem?
1. Open a cmd line window (cmd.exe)
2. Run java -jar evolutionchamber-version-0002.jar
3. Enter any target and press start

What is the expected output? What do you see instead?
I expect the app to run and no exceptions to be raised in the cmd line window.

Instead the an exception is raised constantly in short intervals of time:
292828278732172998a42622226779222b302b7002222822026225bb643bbbb6b222529709187778
82374333java.io.FileNotFoundException: c:\seeds.evo (Odmowa dostŕpu)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at java.io.FileOutputStream.<init>(Unknown Source)
        at com.fray.evo.EvolutionChamber.saveSeeds(EvolutionChamber.java:261)
        at com.fray.evo.EvolutionChamber$1.geneticEventFired(EvolutionChamber.ja
va:149)
        at org.jgap.event.EventManager.fireGeneticEvent(EventManager.java:98)
        at org.jgap.impl.GABreeder.evolve(GABreeder.java:166)
        at org.jgap.Genotype.evolve(Genotype.java:225)
        at org.jgap.Genotype.run(Genotype.java:594)
        at java.lang.Thread.run(Unknown Source)



What version of the product are you using? On what operating system?

version 0002 on MS Windows Vista Home Premium SP2

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)


Please provide any additional information below.
Since MS Windows Vista the C:\ drive defaults to read only for user 
applications. Since the C:\\seeds.evo and C:\\seeds2.evo paths are hard-coded 
as SEED_EVO and SEED_EVO2 on liens 35 and 36 of EvolutionChamber.java they will 
never get created and used on MS Windows Vista and MS Windows 7 (probably also 
on the newer versions of the OS).

This issue will probably also affect other operating system users (Linux, OS X) 
as the hard drives there are not denoted by letters and use a different 
directory separator.

I believe this issue may have a negative impact on performance (constantly 
raising exceptions and handling them is not cheap).

I suggest that the files are created either in the current working directory or 
a specified app directory dependent on the host operating system. For windows 
that would be %APPDATA% and the $HOME folder for Linux and OS X (not sure about 
the later one). Also any path separators should be handled differently on each 
operating system.

If my understanding of the code is correct, there is a lot of open/close 
operations on those files. I believe they should be opened once when the app 
starts and flushed periodically to the drive instead of constantly asking the 
OS for the file handle. This may increase the overall performance.

Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 6:43

Entering 99 as the number of processors on a 2 CPU machine leads to dramatic performance loss

What steps will reproduce the problem?
1. Run the app on a 2 CPU machine
2. Enter 99 in the processors field
3. Press start

What is the expected output? What do you see instead?
I expect the app to inform me that I only have 2 CPU at my disposal and that it 
will continue using only two worker threads.
Instead the app tries to run 99 threads and kills performance eating up 300 MB 
of ram. The app windows turned black and I had to kill it.

What version of the product are you using? On what operating system?

version 0002 on MS Windows Vista Home Premium SP2

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 7:24

Fields in editable state after starting the calculation

What steps will reproduce the problem?
1. Open the app
2. Enter the desired target state
3. Press start

What is the expected output? What do you see instead?
If a field is left enabled, I expect that any changes made to that field are 
reflected in the running process. If changing the value of a field after 
pressing Start doesn't affect the application that field should be grayed out 
until I press Stop.

What version of the product are you using? On what operating system?

version 0002 on MS Windows Vista Home Premium SP2

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)

Please provide any additional information below.
Leaving the fields enabled can lead to confusion when a user changes the target 
state after running the application making him believe that the app will go 
towards the new goal. This would lead to dedicating computing time on an 
unintended goal.
The second problem I see here is the number of processors setup. It can be 
important for some users to change if they need processor power - finding out 
that the setting has no effect after starting the app is unpleasant.

Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 6:51

Implement auto update

Currently the application doesn't have an auto update mechanism.
Slower adoption rate of newer versions is bad both for users and the 
developers. Some people may never update to a newer version simply because the 
task is not their top priority.

What is the expected output? What do you see instead?
I expect:
* The application to update itself to the newest released version.
* The user decides when to update
* Previous version is not removed
* The application is restarted into the newer version after the update

Please use labels and text to provide additional information.

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 11:47

Impossible to reach goals due to supply/out of resources.

What steps will reproduce the problem?
1. Start the application
2. Enter 200 zerglings as the target goal (impossible goal to achieve)
3. Start the process and let it run

What is the expected output? What do you see instead?
I expect the application to tell me that achieving that supply of zerglings is 
impossible (would require killing initial drones).
Instead the app tries to satisfy my goals and in one of the orders it builds 
the spawning pool twice. Here is the BO:

@0:59 M:303 G:0 L:3 S:6.0/10 -- BuildHatchery
@1:12 M:51 G:0 L:3 S:5.0/10 -- BuildDrone
@1:27 Larva+1
@1:29 Drone+1
@1:38 M:102 G:0 L:3 S:6.0/10 -- BuildOverlord
@1:50 M:54 G:0 L:2 S:6.0/10 -- BuildDrone
@1:53 Larva+1
@2:3 Overlord+1
@2:7 Drone+1
@2:8 Larva+1
@2:32 M:201 G:0 L:3 S:7.0/18 -- BuildSpawningPool
@2:39 Hatchery+1
@2:55 M:103 G:0 L:3 S:6.0/20 -- BuildOverlord
@3:10 Larva+1
@3:20 Overlord+1
@3:25 Larva+1
@3:37 Spawning Pool+1
@3:39 M:201 G:0 L:6 S:6.0/28 -- BuildSpawningPool
@3:52 M:50 G:0 L:6 S:5.0/28 -- BuildDrone
@4:6 M:53 G:0 L:5 S:6.0/28 -- BuildZergling
@4:7 Larva+1
@4:9 Drone+1
@4:17 M:51 G:0 L:6 S:7.0/28 -- BuildDrone
@4:28 M:50 G:0 L:5 S:8.0/28 -- BuildZergling
@4:30 Zergling+2
@4:32 Larva+1
@4:34 Drone+1
@4:39 M:54 G:0 L:6 S:9.0/28 -- BuildZergling
@4:44 Spawning Pool+1
@4:48 M:51 G:0 L:5 S:10.0/28 -- BuildZergling
@4:52 Zergling+2
@4:54 Larva+1
@4:58 M:54 G:0 L:6 S:11.0/28 -- BuildZergling
@5:3 Zergling+2
@5:7 M:51 G:0 L:5 S:12.0/28 -- BuildZergling
@5:12 Zergling+2
@5:13 Larva+1
@5:17 M:54 G:0 L:6 S:13.0/28 -- BuildZergling
@5:22 Zergling+2
@5:26 M:51 G:0 L:5 S:14.0/28 -- BuildZergling
@5:31 Zergling+2
@5:32 Larva+1
@5:36 M:53 G:0 L:6 S:15.0/28 -- BuildZergling
@5:41 Zergling+2
@5:45 M:51 G:0 L:5 S:16.0/28 -- BuildZergling
@5:50 Zergling+2
@5:51 Larva+1
@6:0 Zergling+2
@6:4 M:100 G:0 L:6 S:17.0/28 -- BuildOverlord
@6:9 Zergling+2
@6:19 Larva+1
@6:23 M:100 G:0 L:6 S:17.0/28 -- BuildOverlord
@6:29 Overlord+1
@6:33 M:53 G:0 L:5 S:17.0/36 -- BuildZergling
@6:38 Larva+1
@6:42 M:50 G:0 L:6 S:18.0/36 -- BuildDrone
@6:48 Overlord+1
@6:52 M:52 G:0 L:5 S:19.0/44 -- BuildZergling
@6:57 Zergling+2
@6:57 Larva+1
@6:59 Drone+1
@7:1 M:52 G:0 L:6 S:20.0/44 -- BuildZergling
@7:9 M:50 G:0 L:5 S:21.0/44 -- BuildZergling
@7:16 Zergling+2
@7:16 Larva+1
@7:18 M:54 G:0 L:6 S:22.0/44 -- BuildZergling
@7:25 Zergling+2
@7:26 M:52 G:0 L:5 S:23.0/44 -- BuildZergling
@7:33 Zergling+2
@7:33 Larva+1
@7:34 M:50 G:0 L:6 S:24.0/44 -- BuildZergling
@7:42 Zergling+2
@7:43 M:54 G:0 L:5 S:25.0/44 -- BuildZergling
@7:49 Larva+1
@7:50 Zergling+2
@7:51 M:52 G:0 L:6 S:26.0/44 -- BuildZergling
@7:58 Zergling+2
@7:59 M:50 G:0 L:5 S:27.0/44 -- BuildZergling
@8:6 Larva+1
@8:7 Zergling+2
@8:15 Zergling+2
@8:16 M:102 G:0 L:6 S:28.0/44 -- BuildOverlord
@8:23 Zergling+2
@8:24 M:50 G:0 L:5 S:28.0/44 -- BuildZergling
@8:31 Larva+1
@8:33 M:54 G:0 L:6 S:29.0/44 -- BuildZergling
@8:41 Overlord+1
@8:41 M:52 G:0 L:5 S:30.0/52 -- BuildZergling
@8:48 Zergling+2
@8:48 Larva+1
@8:49 M:50 G:0 L:6 S:31.0/52 -- BuildZergling
@8:57 Zergling+2
@8:58 M:54 G:0 L:5 S:32.0/52 -- BuildZergling
@9:4 Larva+1
@9:5 Zergling+2
@9:6 M:52 G:0 L:6 S:33.0/52 -- BuildZergling
@9:13 Zergling+2
@9:14 M:50 G:0 L:5 S:34.0/52 -- BuildZergling
@9:21 Larva+1
@9:22 Zergling+2
@9:23 M:54 G:0 L:6 S:35.0/52 -- BuildZergling
@9:30 Zergling+2
@9:31 M:52 G:0 L:5 S:36.0/52 -- BuildZergling
@9:38 Zergling+2
@9:38 Larva+1
@9:39 M:50 G:0 L:6 S:37.0/52 -- BuildZergling
@9:47 Zergling+2
@9:48 M:54 G:0 L:5 S:38.0/52 -- BuildZergling
@9:54 Larva+1
@9:55 Zergling+2
@9:56 M:52 G:0 L:6 S:39.0/52 -- BuildZergling
@10:3 Zergling+2
@10:4 M:50 G:0 L:5 S:40.0/52 -- BuildZergling
@10:11 Larva+1
@10:12 Zergling+2
@10:13 M:54 G:0 L:6 S:41.0/52 -- BuildZergling
@10:20 Zergling+2
@10:21 M:52 G:0 L:5 S:42.0/52 -- BuildZergling
@10:28 Zergling+2
@10:28 Larva+1
@10:29 M:50 G:0 L:6 S:43.0/52 -- BuildZergling
@10:37 Zergling+2
@10:38 M:54 G:0 L:5 S:44.0/52 -- BuildZergling
@10:44 Larva+1
@10:45 Zergling+2
@10:46 M:52 G:0 L:6 S:45.0/52 -- BuildZergling
@10:53 Zergling+2
@10:54 M:50 G:0 L:5 S:46.0/52 -- BuildZergling
@11:1 Larva+1
@11:2 Zergling+2
@11:10 Zergling+2
@11:11 M:102 G:0 L:6 S:47.0/52 -- BuildOverlord
@11:18 Zergling+2
@11:19 M:50 G:0 L:5 S:47.0/52 -- BuildZergling
@11:26 Larva+1
@11:36 Overlord+1
@11:36 M:102 G:0 L:6 S:48.0/60 -- BuildOverlord
@11:43 Zergling+2
@11:44 M:50 G:0 L:5 S:48.0/60 -- BuildZergling
@11:51 Larva+1
@11:53 M:54 G:0 L:6 S:49.0/60 -- BuildZergling
@12:1 Overlord+1
@12:1 M:52 G:0 L:5 S:50.0/68 -- BuildZergling
@12:8 Zergling+2
@12:8 Larva+1
@12:9 M:50 G:0 L:6 S:51.0/68 -- BuildZergling
@12:17 Zergling+2
@12:18 M:54 G:0 L:5 S:52.0/68 -- BuildZergling
@12:24 Larva+1
@12:25 Zergling+2
@12:33 Zergling+2
@12:34 M:100 G:0 L:6 S:53.0/68 -- BuildOverlord
@12:42 Zergling+2
@12:43 M:54 G:0 L:5 S:53.0/68 -- BuildZergling
@12:49 Larva+1
@12:59 Overlord+1
@12:59 M:100 G:0 L:6 S:54.0/76 -- BuildOverlord
@13:7 Zergling+2
@13:8 M:54 G:0 L:5 S:54.0/76 -- BuildZergling
@13:14 Larva+1
@13:16 M:52 G:0 L:6 S:55.0/76 -- BuildZergling
@13:24 Overlord+1
@13:24 M:50 G:0 L:5 S:56.0/84 -- BuildZergling
@13:31 Larva+1
@13:32 Zergling+2
@13:33 M:54 G:0 L:6 S:57.0/84 -- BuildZergling
@13:40 Zergling+2
@13:41 M:52 G:0 L:5 S:58.0/84 -- BuildZergling
@13:48 Zergling+2
@13:48 Larva+1
@13:49 M:50 G:0 L:6 S:59.0/84 -- BuildZergling
@13:57 Zergling+2
@13:58 M:54 G:0 L:5 S:60.0/84 -- BuildZergling
@14:4 Larva+1
@14:5 Zergling+2
@14:6 M:52 G:0 L:6 S:61.0/84 -- BuildZergling
@14:13 Zergling+2
@14:14 M:50 G:0 L:5 S:62.0/84 -- BuildZergling
@14:21 Larva+1
@14:22 Zergling+2
@14:23 M:54 G:0 L:6 S:63.0/84 -- BuildZergling
@14:30 Zergling+2
@14:31 M:52 G:0 L:5 S:64.0/84 -- BuildZergling
@14:38 Zergling+2
@14:38 Larva+1
@14:39 M:50 G:0 L:6 S:65.0/84 -- BuildZergling
@14:47 Zergling+2
@14:48 M:54 G:0 L:5 S:66.0/84 -- BuildZergling
@14:54 Larva+1
@14:55 Zergling+2
@14:56 M:52 G:0 L:6 S:67.0/84 -- BuildZergling
@15:3 Zergling+2
@15:4 M:50 G:0 L:5 S:68.0/84 -- BuildZergling
@15:11 Larva+1
@15:12 Zergling+2
@15:13 M:54 G:0 L:6 S:69.0/84 -- BuildZergling
@15:20 Zergling+2
@15:21 M:52 G:0 L:5 S:70.0/84 -- BuildZergling
@15:28 Zergling+2
@15:28 Larva+1
@15:29 M:50 G:0 L:6 S:71.0/84 -- BuildZergling
@15:37 Zergling+2
@15:38 M:54 G:0 L:5 S:72.0/84 -- BuildZergling
@15:44 Larva+1
@15:45 Zergling+2
@15:46 M:52 G:0 L:6 S:73.0/84 -- BuildZergling
@15:53 Zergling+2
@15:54 M:50 G:0 L:5 S:74.0/84 -- BuildZergling
@16:1 Larva+1
@16:2 Zergling+2
@16:3 M:54 G:0 L:6 S:75.0/84 -- BuildZergling
@16:10 Zergling+2
@16:11 M:52 G:0 L:5 S:76.0/84 -- BuildZergling
@16:18 Zergling+2
@16:18 Larva+1
@16:19 M:50 G:0 L:6 S:77.0/84 -- BuildZergling
@16:24 M:30 G:0 L:5 S:78.0/84 -- BuildExtractor
@16:27 Zergling+2
@16:28 M:26 G:0 L:5 S:77.0/84 -- BuildExtractor
@16:34 Larva+1
@16:35 Zergling+2
@16:39 M:50 G:0 L:6 S:76.0/84 -- BuildZergling
@16:43 Zergling+2
@16:50 M:50 G:0 L:5 S:77.0/84 -- BuildZergling
@16:54 Extractor+1
@16:54 Larva+1
@16:58 Extractor+1
@17:3 Zergling+2
@17:14 Zergling+2
Expired on BuildSpawningPool
Tue Oct 19 13:53:33 CEST 2010: 3927.026

As seen in the above build order the spawning pool is build twice:
@2:32 M:201 G:0 L:3 S:7.0/18 -- BuildSpawningPool
@3:37 Spawning Pool+1
@3:39 M:201 G:0 L:6 S:6.0/28 -- BuildSpawningPool
@4:44 Spawning Pool+1

Running version 0003 on Windows XP SP3
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 19 Oct 2010 at 12:00

java.io.InvalidClassException raised on first press of [Start]

What steps will reproduce the problem?
1. Run the application
2. Enter 1 ultralisk as the target state - don't change other values
3. Press [start]

What is the expected output? What do you see instead?
I expect the application to run without raising exceptions in the background.
Instead the following stack trace was printed after pressing [Start] (the 
calculation followed correctly)

EcActionBuildQueen
EcActionBuildSpawningPool
EcActionBuildDrone
EcActionExtractorTrick
EcActionBuildHatchery
EcActionBuildOverlord
EcActionWait
EcActionBuildUltralisk
EcActionBuildUltraliskCavern
EcActionBuildHive
EcActionBuildInfestationPit
EcActionBuildLair
EcActionBuildExtractor
java.io.InvalidClassException: com.fray.evo.action.build.EcActionBuildSpawningPo
ol; local class incompatible: stream classdesc serialVersionUID = -4903876851297
953652, local class serialVersionUID = -8791385094769414081
        at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
        at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
        at java.io.ObjectInputStream.readClassDesc(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at java.util.ArrayList.readObject(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at java.util.ArrayList.readObject(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
        at java.io.ObjectInputStream.readSerialData(Unknown Source)
        at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
        at java.io.ObjectInputStream.readObject0(Unknown Source)
        at java.io.ObjectInputStream.readObject(Unknown Source)
        at com.fray.evo.EvolutionChamber.loadSeeds(EvolutionChamber.java:252)
        at com.fray.evo.EvolutionChamber.loadOldBuildOrders(EvolutionChamber.jav
a:216)
        at com.fray.evo.EvolutionChamber.spawnEvolutionaryChamber(EvolutionChamb
er.java:144)
        at com.fray.evo.EvolutionChamber.go(EvolutionChamber.java:88)
        at com.fray.evo.ui.swingx.EcSwingX.restartChamber(EcSwingX.java:800)
        at com.fray.evo.ui.swingx.EcSwingX.access$8(EcSwingX.java:789)
        at com.fray.evo.ui.swingx.EcSwingX$61.actionPerformed(EcSwingX.java:735)

        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

Tested on v0008 Windows XP SP3 java:
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

Please use labels and text to provide additional information.
I had a etc directory in the application cwd with data from previous builds. 
Maybe that was the cause as a second attempt to reproduce the problem failed.

Original issue reported on code.google.com by [email protected] on 20 Oct 2010 at 8:02

Entering a negative number in the processor field makes the app run without doing any work

What steps will reproduce the problem?
1. Run the application
2. Enter -1 as the number of processors
3. Press start

What is the expected output? What do you see instead?
I expect to be informed that this value is invalid. Optimally I should not be 
allowed to enter it in the first place as it makes no sense.
I'm still presented with the greetings message. The Start button changed to 
Restart and the Running for timer is running. Next to it the last update timer 
says 'Not Running'.


What version of the product are you using? On what operating system?

version 0002 on MS Windows Vista Home Premium SP2

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 7:28

Take drones off gas again

What steps will reproduce the problem?
1. Run the application
2. Select Metabolic Boost and 100 Zerglings
3. Press Start and wait

What is the expected output? What do you see instead?
I expect the build order to end with 0 gas. There is no need to harvest extra 
gas.
Instead the Build order ends with 188 gas. I suspect this is the amount of gas 
that is harvested during the research time.

What version of the product are you using? On what operating system?
v00014, Windows 7, 64 bit

Please provide any additional information below.
The program should be able to remove drones from gas again, so speed up miniral 
income. If i only need 100 gas for a research, there is no need to keep 
harvesting gas.

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 10:27

  • Merged into: #24

Spine crawlers can be built without a spawning pool

What steps will reproduce the problem?
1. Let it build a spine crawler.

What is the expected output? What do you see instead?

Spawning pool then spine crawler is expected. Instead I get only spine crawler.

What version of the product are you using? On what operating system?

alpha v2

Please provide any additional information below.

Should be pretty straightforward. Perhaps spore crawlers should be checked too 
(they require evo chamber).


Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 7:36

Excessive inject larva events

What steps will reproduce the problem?
1. Have more queens than hatcheries 

What is the expected output? What do you see instead?
In the case of 2 hatcheries and 3 queens, there should only be 2 inject larva 
events.  However, in this case, there are 3 inject larva events.

What version of the product are you using? On what operating system?
Version 0008

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 20 Oct 2010 at 5:49

Multiple Extractor Trick

What steps will reproduce the problem?
1. Set drone count to 12
2. Run


What is the expected output? What do you see instead?
It does not try to use a double extractor to produce 12 drones which should be 
the fastest time. As single Extractor Trick is used for 11 drones.

What version of the product are you using? On what operating system?
version:v0015  OS:XP

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 6:50

overlord count way off

hi, so i was trying some stuff out

and i got this
Ran out of things to do.
At time: 19:01
Minerals: 6846  Gas:      246   Supply:   128/680
Drones: 73
Overlords: 84
Queens: 2
Zerglings: 20
Roaches: 13
Hydralisks: 6
Hatcheries: 3
Lairs: 1
Gas Extractors: 1
Spawning Pools: 1
Roach Warrens: 1
Hydralisk Den: 2
+the set upgrades

--> the Overlord count is kinda strange, also 2 hydra dens ?

here are my settings: 
wp1
deadline 6:0
overlord 3,queen 1,lings 10,roaches 2
hatch 1
pool 1
roach warren 1

final:
deadline 20:00
drones 72
overlord 18
queen 2,ling 20,roach 20, hydra 20
hatch 1
lair 1
gas 4
pool, warren, hydra den all 1
overlord speed, ling speed, roach speed, hydra range

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 2:11

A Queen can be built from a new hatchery before it finishes building

What steps will reproduce the problem?

1. Ask the program to make 2 or 3 queens.

What is the expected output? What do you see instead?

You'd expect it to build 2 queens from one hatchery and wait for the first one 
to finish, or to wait for the hatchery to finish before building another queen. 
Instead, it starts building a hatchery and immediately starts building a queen 
from it.

What version of the product are you using? On what operating system?

alpha v2

Please provide any additional information below.

Simple solution. The program should know it can't build queens from a hatchery 
before it finishes building. This may have caused related bugs which I am 
unable to check (does mining start from a new hatchery before it finishes?).


Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 7:51

Support exporting the final BO in YABOT format

YABOT is a custom map that helps in training build orders. Having this feature 
would be a significant help because it would reduce the amount of effort 
required to quickly test a BO generated by the evolutionchamber.
The tool is quite popular and many people know and like to use it.

Yet Another Build Order Tester (YABOT) http://www.sc2mapster.com/maps/yabot/

Original issue reported on code.google.com by [email protected] on 20 Oct 2010 at 9:39

The application allows impossible target states (should consider the amount of gas/minerals in a patch/extractor)

What steps will reproduce the problem?
1. Run the application
2. Enter the target goal: 1 extractor 100 ultralisks
3. Press start

What is the expected output? What do you see instead?
I expect the app to inform that this state is not possible (1 extractor 
provides only 2500 gas).
Instead the app tries to satisfy the goal. It orders to build more extractors 
even when the constraint of one extractor is set. The build expires on 
different actions.

What version of the product are you using? On what operating system?
version 0002 on MS Windows Vista Home Premium SP2

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)

Please provide any additional information below.
The number of minerals and gas per extractor/patch should be taken into 
consideration.

Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 7:46

FileNotFoundException etc\seeds.evo raised from EvolutionChamber.java:222

What steps will reproduce the problem?
1. Remove the etc folder and files in it
2. Run the application
3. Enter 1 spine crawler as the target state
4. Press start

What is the expected output? What do you see instead?
I expect the computation to start without any stack traces printed to the 
screen.
Instead the application starts with the following in the command line window:

EcActionBuildQueen
EcActionBuildSpawningPool
EcActionBuildDrone
EcActionBuildExtractor
EcActionExtractorTrick
EcActionBuildHatchery
EcActionBuildOverlord
EcActionWait
EcActionBuildSpineCrawler
java.io.FileNotFoundException: etc\seeds.evo (Nie mo┐na odnalečŠ 
okreťlonego pli
ku)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
        at com.fray.evo.EvolutionChamber.loadSeeds(EvolutionChamber.java:222)
        at com.fray.evo.EvolutionChamber.loadOldBuildOrders(EvolutionChamber.jav
a:200)
        at com.fray.evo.EvolutionChamber.spawnEvolutionaryChamber(EvolutionChamb
er.java:141)
        at com.fray.evo.EvolutionChamber.go(EvolutionChamber.java:85)
        at com.fray.evo.ui.swingx.EcSwingX.restartChamber(EcSwingX.java:706)
        at com.fray.evo.ui.swingx.EcSwingX.access$5(EcSwingX.java:699)
        at com.fray.evo.ui.swingx.EcSwingX$5.actionPerformed(EcSwingX.java:233)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
126227586020557165631215422755162422107178182622032440543713721213702047043806
042621227075867457451453170326563322321205636843617637526874723147545271365530
122127286500557161631215422744162422107678181602032440543715721113732047243866
126224786020557175631215442752162442407178186622032440543713721213702040043606
122224786020557175621215442752162442407178186622032440543713720213701040023606

Application version:
EvolutionChamber 0003

Environment:
Windows XP SP3
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

Please use labels and text to provide additional information.
This issue is related to issue #1
The exception is raised only once when initially there is no seeds file.

Original issue reported on code.google.com by [email protected] on 19 Oct 2010 at 7:38

Waypoint and Deadlines

It appears that waypoints are not perceived as sequence of things to be built
1. Set WP0 to 16 min, WP1 to 17 min, WP2 to 18 min, WP3 to 19 min and Final to 
20 min 
2. Set WP 0 to 14 drones, WP1 to 4 zergling and 1 queen, WP2 to 2 hatcheries, 
WP3 to 7 roaches. Final is the sum of those elements.
3. Observe that zerglings or queens are actually created after the roaches, 
whereas they were expected to come before

Are the waypoint actually designed to work as a sequence of thing, or are they 
only based on the given timing? If the latter is the true, making them a 
sequence of things to do would be a significant improvment since the user has 
sometime no clue on how long it would take to make such or such units.

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 2:59

  • Merged into: #16

Useless spawning pool

1. Set final step to 7 drones
2. Compute
3. Get this result :

@0:35   M:200   G:0 L:3 S:6/10  BuildSpawningPool
@0:49   M:51    G:0 L:3 S:5/10  BuildDrone
@1:03   M:52    G:0 L:2 S:6/10  BuildDrone
@1:04   Spawned:    Larva+1
@1:06   Spawned:    Drone+1
@1:15   M:53    G:0 L:2 S:7/10  BuildDrone
@1:19   Spawned:    Larva+1
@1:20   Spawned:    Drone+1
@1:32   Spawned:    Drone+1
@1:34   Spawned:    Larva+1
@1:40   Spawned:    Spawning Pool+1
Satisfied.
Number of actions in build order: 5
---Final Output---
At time: 1:40
Minerals: 130   Gas:      0 Supply:   8/10
Drones: 8
Overlords: 1
Hatcheries: 1
Spawning Pools: 1
------------------

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 2:26

3 extractors per hatchery

What steps will reproduce the problem?
1. infestor build
2.
3.

What is the expected output? What do you see instead?
2 extractors per hatchery, instead see 3.  I doubt the program can take into 
account long distance gas mining, so it should be limited to 2 extractors per 
hatchery

What version of the product are you using? On what operating system?
0014, win7

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 5:40

  • Merged into: #43

BuildExtractor executed twice in a build order targeting mineral only units (zerglings)

What steps will reproduce the problem?
1. Run the application
2. Set 200 zerglings as the target goals (not possible to satisfy)
3. Press start and wait

What is the expected output? What do you see instead?
I expect to see no BuildExtractor commands in a build order where the target 
state consists of only mineral units (no upgrades only zerglings).
Instead the application starts building extractors.

I'm marking it additionally as a performance issue because the extractors are 
not needed and artificially increase the number of builds that have to be tried.

The resulting build order:
@0:59 M:303 G:0 L:3 S:6.0/10 -- BuildHatchery
@1:12 M:51 G:0 L:3 S:5.0/10 -- BuildDrone
@1:27 Larva+1
@1:29 Drone+1
@1:38 M:102 G:0 L:3 S:6.0/10 -- BuildOverlord
@1:50 M:54 G:0 L:2 S:6.0/10 -- BuildDrone
@1:53 Larva+1
@2:3 Overlord+1
@2:7 Drone+1
@2:8 Larva+1
@2:32 M:201 G:0 L:3 S:7.0/18 -- BuildSpawningPool
@2:39 Hatchery+1
@2:55 M:103 G:0 L:3 S:6.0/20 -- BuildOverlord
@3:10 Larva+1
@3:20 Overlord+1
@3:25 Larva+1
@3:37 Spawning Pool+1
@3:39 M:201 G:0 L:6 S:6.0/28 -- BuildSpawningPool
@3:52 M:50 G:0 L:6 S:5.0/28 -- BuildDrone
@4:6 M:53 G:0 L:5 S:6.0/28 -- BuildZergling
@4:7 Larva+1
@4:9 Drone+1
@4:17 M:51 G:0 L:6 S:7.0/28 -- BuildDrone
@4:28 M:50 G:0 L:5 S:8.0/28 -- BuildZergling
@4:30 Zergling+2
@4:32 Larva+1
@4:34 Drone+1
@4:39 M:54 G:0 L:6 S:9.0/28 -- BuildZergling
@4:44 Spawning Pool+1
@4:48 M:51 G:0 L:5 S:10.0/28 -- BuildZergling
@4:52 Zergling+2
@4:54 Larva+1
@4:58 M:54 G:0 L:6 S:11.0/28 -- BuildZergling
@5:3 Zergling+2
@5:7 M:51 G:0 L:5 S:12.0/28 -- BuildZergling
@5:12 Zergling+2
@5:13 Larva+1
@5:17 M:54 G:0 L:6 S:13.0/28 -- BuildZergling
@5:22 Zergling+2
@5:26 M:51 G:0 L:5 S:14.0/28 -- BuildZergling
@5:31 Zergling+2
@5:32 Larva+1
@5:36 M:53 G:0 L:6 S:15.0/28 -- BuildZergling
@5:41 Zergling+2
@5:45 M:51 G:0 L:5 S:16.0/28 -- BuildZergling
@5:50 Zergling+2
@5:51 Larva+1
@6:0 Zergling+2
@6:4 M:100 G:0 L:6 S:17.0/28 -- BuildOverlord
@6:9 Zergling+2
@6:19 Larva+1
@6:23 M:100 G:0 L:6 S:17.0/28 -- BuildOverlord
@6:29 Overlord+1
@6:33 M:53 G:0 L:5 S:17.0/36 -- BuildZergling
@6:38 Larva+1
@6:42 M:50 G:0 L:6 S:18.0/36 -- BuildDrone
@6:48 Overlord+1
@6:52 M:52 G:0 L:5 S:19.0/44 -- BuildZergling
@6:57 Zergling+2
@6:57 Larva+1
@6:59 Drone+1
@7:1 M:52 G:0 L:6 S:20.0/44 -- BuildZergling
@7:9 M:50 G:0 L:5 S:21.0/44 -- BuildZergling
@7:16 Zergling+2
@7:16 Larva+1
@7:18 M:54 G:0 L:6 S:22.0/44 -- BuildZergling
@7:25 Zergling+2
@7:26 M:52 G:0 L:5 S:23.0/44 -- BuildZergling
@7:33 Zergling+2
@7:33 Larva+1
@7:34 M:50 G:0 L:6 S:24.0/44 -- BuildZergling
@7:42 Zergling+2
@7:43 M:54 G:0 L:5 S:25.0/44 -- BuildZergling
@7:49 Larva+1
@7:50 Zergling+2
@7:51 M:52 G:0 L:6 S:26.0/44 -- BuildZergling
@7:58 Zergling+2
@7:59 M:50 G:0 L:5 S:27.0/44 -- BuildZergling
@8:6 Larva+1
@8:7 Zergling+2
@8:15 Zergling+2
@8:16 M:102 G:0 L:6 S:28.0/44 -- BuildOverlord
@8:23 Zergling+2
@8:24 M:50 G:0 L:5 S:28.0/44 -- BuildZergling
@8:31 Larva+1
@8:33 M:54 G:0 L:6 S:29.0/44 -- BuildZergling
@8:41 Overlord+1
@8:41 M:52 G:0 L:5 S:30.0/52 -- BuildZergling
@8:48 Zergling+2
@8:48 Larva+1
@8:49 M:50 G:0 L:6 S:31.0/52 -- BuildZergling
@8:57 Zergling+2
@8:58 M:54 G:0 L:5 S:32.0/52 -- BuildZergling
@9:4 Larva+1
@9:5 Zergling+2
@9:6 M:52 G:0 L:6 S:33.0/52 -- BuildZergling
@9:13 Zergling+2
@9:14 M:50 G:0 L:5 S:34.0/52 -- BuildZergling
@9:21 Larva+1
@9:22 Zergling+2
@9:23 M:54 G:0 L:6 S:35.0/52 -- BuildZergling
@9:30 Zergling+2
@9:31 M:52 G:0 L:5 S:36.0/52 -- BuildZergling
@9:38 Zergling+2
@9:38 Larva+1
@9:39 M:50 G:0 L:6 S:37.0/52 -- BuildZergling
@9:47 Zergling+2
@9:48 M:54 G:0 L:5 S:38.0/52 -- BuildZergling
@9:54 Larva+1
@9:55 Zergling+2
@9:56 M:52 G:0 L:6 S:39.0/52 -- BuildZergling
@10:3 Zergling+2
@10:4 M:50 G:0 L:5 S:40.0/52 -- BuildZergling
@10:11 Larva+1
@10:12 Zergling+2
@10:13 M:54 G:0 L:6 S:41.0/52 -- BuildZergling
@10:20 Zergling+2
@10:21 M:52 G:0 L:5 S:42.0/52 -- BuildZergling
@10:28 Zergling+2
@10:28 Larva+1
@10:29 M:50 G:0 L:6 S:43.0/52 -- BuildZergling
@10:37 Zergling+2
@10:38 M:54 G:0 L:5 S:44.0/52 -- BuildZergling
@10:44 Larva+1
@10:45 Zergling+2
@10:46 M:52 G:0 L:6 S:45.0/52 -- BuildZergling
@10:53 Zergling+2
@10:54 M:50 G:0 L:5 S:46.0/52 -- BuildZergling
@11:1 Larva+1
@11:2 Zergling+2
@11:10 Zergling+2
@11:11 M:102 G:0 L:6 S:47.0/52 -- BuildOverlord
@11:18 Zergling+2
@11:19 M:50 G:0 L:5 S:47.0/52 -- BuildZergling
@11:26 Larva+1
@11:36 Overlord+1
@11:36 M:102 G:0 L:6 S:48.0/60 -- BuildOverlord
@11:43 Zergling+2
@11:44 M:50 G:0 L:5 S:48.0/60 -- BuildZergling
@11:51 Larva+1
@11:53 M:54 G:0 L:6 S:49.0/60 -- BuildZergling
@12:1 Overlord+1
@12:1 M:52 G:0 L:5 S:50.0/68 -- BuildZergling
@12:8 Zergling+2
@12:8 Larva+1
@12:9 M:50 G:0 L:6 S:51.0/68 -- BuildZergling
@12:17 Zergling+2
@12:18 M:54 G:0 L:5 S:52.0/68 -- BuildZergling
@12:24 Larva+1
@12:25 Zergling+2
@12:33 Zergling+2
@12:34 M:100 G:0 L:6 S:53.0/68 -- BuildOverlord
@12:42 Zergling+2
@12:43 M:54 G:0 L:5 S:53.0/68 -- BuildZergling
@12:49 Larva+1
@12:59 Overlord+1
@12:59 M:100 G:0 L:6 S:54.0/76 -- BuildOverlord
@13:7 Zergling+2
@13:8 M:54 G:0 L:5 S:54.0/76 -- BuildZergling
@13:14 Larva+1
@13:16 M:52 G:0 L:6 S:55.0/76 -- BuildZergling
@13:24 Overlord+1
@13:24 M:50 G:0 L:5 S:56.0/84 -- BuildZergling
@13:31 Larva+1
@13:32 Zergling+2
@13:33 M:54 G:0 L:6 S:57.0/84 -- BuildZergling
@13:40 Zergling+2
@13:41 M:52 G:0 L:5 S:58.0/84 -- BuildZergling
@13:48 Zergling+2
@13:48 Larva+1
@13:49 M:50 G:0 L:6 S:59.0/84 -- BuildZergling
@13:57 Zergling+2
@13:58 M:54 G:0 L:5 S:60.0/84 -- BuildZergling
@14:4 Larva+1
@14:5 Zergling+2
@14:6 M:52 G:0 L:6 S:61.0/84 -- BuildZergling
@14:13 Zergling+2
@14:14 M:50 G:0 L:5 S:62.0/84 -- BuildZergling
@14:21 Larva+1
@14:22 Zergling+2
@14:23 M:54 G:0 L:6 S:63.0/84 -- BuildZergling
@14:30 Zergling+2
@14:31 M:52 G:0 L:5 S:64.0/84 -- BuildZergling
@14:38 Zergling+2
@14:38 Larva+1
@14:39 M:50 G:0 L:6 S:65.0/84 -- BuildZergling
@14:47 Zergling+2
@14:48 M:54 G:0 L:5 S:66.0/84 -- BuildZergling
@14:54 Larva+1
@14:55 Zergling+2
@14:56 M:52 G:0 L:6 S:67.0/84 -- BuildZergling
@15:3 Zergling+2
@15:4 M:50 G:0 L:5 S:68.0/84 -- BuildZergling
@15:11 Larva+1
@15:12 Zergling+2
@15:13 M:54 G:0 L:6 S:69.0/84 -- BuildZergling
@15:20 Zergling+2
@15:21 M:52 G:0 L:5 S:70.0/84 -- BuildZergling
@15:28 Zergling+2
@15:28 Larva+1
@15:29 M:50 G:0 L:6 S:71.0/84 -- BuildZergling
@15:37 Zergling+2
@15:38 M:54 G:0 L:5 S:72.0/84 -- BuildZergling
@15:44 Larva+1
@15:45 Zergling+2
@15:46 M:52 G:0 L:6 S:73.0/84 -- BuildZergling
@15:53 Zergling+2
@15:54 M:50 G:0 L:5 S:74.0/84 -- BuildZergling
@16:1 Larva+1
@16:2 Zergling+2
@16:3 M:54 G:0 L:6 S:75.0/84 -- BuildZergling
@16:10 Zergling+2
@16:11 M:52 G:0 L:5 S:76.0/84 -- BuildZergling
@16:18 Zergling+2
@16:18 Larva+1
@16:19 M:50 G:0 L:6 S:77.0/84 -- BuildZergling
@16:24 M:30 G:0 L:5 S:78.0/84 -- BuildExtractor
@16:27 Zergling+2
@16:28 M:26 G:0 L:5 S:77.0/84 -- BuildExtractor
@16:34 Larva+1
@16:35 Zergling+2
@16:39 M:50 G:0 L:6 S:76.0/84 -- BuildZergling
@16:43 Zergling+2
@16:50 M:50 G:0 L:5 S:77.0/84 -- BuildZergling
@16:54 Extractor+1
@16:54 Larva+1
@16:58 Extractor+1
@17:3 Zergling+2
@17:14 Zergling+2
Expired on BuildSpawningPool
Tue Oct 19 13:53:33 CEST 2010: 3927.026


Running version 0003 on Windows XP SP3 on the following java platform:
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 19 Oct 2010 at 12:06

Last updated field keeps running after pressing stop

What steps will reproduce the problem?
1. Run the app
2. Select target state
3. Press Start
4. Press Stop

What is the expected output? What do you see instead?
I expect all the counters to be stopped displaying the last value or a default 
text.
The last update counter keeps running.

What version of the product are you using? On what operating system?

version 0002 on MS Windows Vista Home Premium SP2

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)

Please provide any additional information below.
Also the field on the left is shorter hence the separator and Last Update label 
slightly hovers over the first field.

Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 7:05

Application window has no title

What steps will reproduce the problem?
1. Run the application
2. Observe the Windows task bar
3. Observe the upper left corner of the app

What is the expected output? What do you see instead?
I expect to see the application name in that region. Instead there is blank 
space.

What version of the product are you using? On what operating system?

version 0002 on MS Windows Vista Home Premium SP2

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 7:01

Extremely slow mouse scroll on the results text area.

What steps will reproduce the problem?
1. Run the app
2. Select a target state
3. Press start and scroll the result window with the mouse scroll

What is the expected output? What do you see instead?
I expect the area to be scrolled at least as fast as with keyboard navigation. 
Also dragging the bar is significantly faster.

Instead the window scrolls in tiny increments. Almost unusable that way.

What version of the product are you using? On what operating system?

version 0002 on MS Windows Vista Home Premium SP2

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 6:57

waypoint ignored if it's values are not present on the final tab

What steps will reproduce the problem?
1. Start the application
2. Enter target state 5 roaches on tab WP3
3. Enter target state 7 mutalisk and Flyer Attack +1 on the Final tab
4. Press [Start]

What is the expected output? What do you see instead?
I expect 5 roaches to be build and 7 mutalisk +1 attack.
Instead the application ignores the roaches and prints that the build is 
satisfied as soon as the mutas are out (note on previous iterations it said 
'satisfied' even without the roach warren). Here is the BO:
@0:00   M:50    G:0 L:3 S:6/10  BuildDrone
@0:06   M:25    G:0 L:2 S:7/10  BuildExtractor
@0:15   Spawned:    Larva+1
@0:17   Spawned:    Drone+1
@0:19   M:50    G:0 L:3 S:6/10  BuildDrone
@0:31   M:51    G:0 L:2 S:7/10  BuildDrone
@0:34   Spawned:    Larva+1
@0:36   Spawned:    Extractor+1
@0:36   Spawned:    Drone+1
@0:46   M:51    G:20    L:2 S:8/10  BuildDrone
@0:48   Spawned:    Drone+1
@0:49   Spawned:    Larva+1
@1:00   M:52    G:47    L:2 S:9/10  BuildDrone
@1:03   Spawned:    Drone+1
@1:04   Spawned:    Larva+1
@1:17   Spawned:    Drone+1
@1:19   Spawned:    Larva+1
@1:43   M:203   G:129   L:3 S:10/10 BuildSpawningPool
@2:48   Spawned:    Spawning Pool+1
@2:48   M:283   G:252   L:3 S:9/10  Wait
@2:48   M:283   G:252   L:3 S:9/10  BuildDrone
@2:48   M:233   G:252   L:2 S:10/10 BuildLair
@2:52   M:100   G:160   L:2 S:10/10 BuildOverlord
@3:03   Spawned:    Larva+1
@3:05   Spawned:    Drone+1
@3:17   Spawned:    Overlord+1
@3:17   M:116   G:207   L:2 S:10/18 BuildDrone
@3:18   Spawned:    Larva+1
@3:33   Spawned:    Larva+1
@3:34   Spawned:    Drone+1
@3:34   M:151   G:240   L:3 S:11/18 BuildRoachWarren
@4:08   Spawned:    Lairs+1
@4:08   M:169   G:304   L:3 S:10/18 Wait
@4:08   M:169   G:304   L:3 S:10/18 BuildDrone
@4:23   Spawned:    Larva+1
@4:25   Spawned:    Drone+1
@4:25   M:204   G:336   L:3 S:11/18 BuildSpire
@4:29   Spawned:    Roach Warren+1
@4:29   M:23    G:144   L:3 S:10/18 Wait
@6:05   Spawned:    Spire+1
@6:05   M:499   G:326   L:3 S:10/18 Wait
@6:05   M:499   G:326   L:3 S:10/18 BuildDrone
@6:05   M:449   G:326   L:2 S:11/18 BuildExtractor
@6:05   M:424   G:326   L:2 S:10/18 BuildDrone
@6:05   M:374   G:326   L:1 S:11/18 Flyer Attacks +1
@6:05   M:274   G:226   L:1 S:11/18 BuildDrone
@6:20   Spawned:    Larva+1
@6:20   M:288   G:255   L:1 S:12/18 BuildMutalisk
@6:22   Spawned:    Drone+1
@6:22   Spawned:    Drone+1
@6:22   Spawned:    Drone+1
@6:35   Spawned:    Extractor+1
@6:35   Spawned:    Larva+1
@6:35   M:279   G:185   L:1 S:14/18 BuildMutalisk
@6:50   Spawned:    Larva+1
@6:50   M:244   G:142   L:1 S:16/18 BuildOverlord
@6:53   Spawned:    Mutalisk+1
@7:05   Spawned:    Larva+1
@7:05   M:208   G:199   L:1 S:16/18 BuildMutalisk
@7:08   Spawned:    Mutalisk+1
@7:15   Spawned:    Overlord+1
@7:20   Spawned:    Larva+1
@7:20   M:173   G:156   L:1 S:18/26 BuildMutalisk
@7:35   Spawned:    Larva+1
@7:35   M:137   G:113   L:1 S:20/26 BuildMutalisk
@7:38   Spawned:    Mutalisk+1
@7:50   Spawned:    Larva+1
@7:53   Spawned:    Mutalisk+1
@7:58   M:136   G:101   L:1 S:22/26 BuildMutalisk
@8:05   Spawned:    Larva+1
@8:08   Spawned:    Mutalisk+1
@8:20   Spawned:    Larva+1
@8:24   M:148   G:100   L:2 S:24/26 BuildMutalisk
@8:31   Spawned:    Mutalisk+1
@8:35   Spawned:    Larva+1
@8:45   Evolved:    Flyer Attacks +1
@8:50   Spawned:    Larva+1
@8:57   Spawned:    Mutalisk+1
Satisfied.
Number of actions in build order: 32
---Final Output---
At time: 8:57
Minerals: 190   Gas:      125   Supply:   26/26
Drones: 12
Overlords: 3
Mutalisks: 7
Lairs: 1
Gas Extractors: 2
Spawning Pools: 1
Roach Warrens: 1
Spire: 1
Flyer Attack +1
------------------
Wed Oct 20 10:15:24 CEST 2010: 294842.5376548797

Running v0008.

Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 20 Oct 2010 at 8:23

Builds buildings that aren't needed

What steps will reproduce the problem?
1. Tried waypoint example given in notes...
2. WP0: 6 Zerglings by 3 mins
3. WP1: 7 Roaches by 6 mins
4. Final: 6 Mutalisks

What is the expected output? What do you see instead?
I expect it to build only what is needed. In this case it completed waypoints 0 
and 1 normally. Then during the final goal, it builds another roach warren. 


What version of the product are you using? On what operating system?
v0008, windows 7 64 bit


Please provide any additional information below.
Just wanted to note that I double checked and there is no goal to have 2 roach 
warrens.

Output:
@0:00   M:50    G:0 L:3 S:6/10  BuildDrone
@0:12   M:51    G:0 L:2 S:7/10  BuildDrone
@0:15   Spawned:    Larva+1
@0:17   Spawned:    Drone+1
@0:29   Spawned:    Drone+1
@0:30   Spawned:    Larva+1
@0:50   M:201   G:0 L:3 S:8/10  BuildSpawningPool
@1:55   Spawned:    Spawning Pool+1
@1:55   M:323   G:0 L:3 S:7/10  Wait
@1:55   M:323   G:0 L:3 S:7/10  BuildOverlord
@1:55   M:223   G:0 L:2 S:7/10  BuildDrone
@1:55   M:173   G:0 L:1 S:8/10  BuildZergling
@2:10   Spawned:    Larva+1
@2:10   M:197   G:0 L:1 S:9/10  BuildZergling
@2:12   Spawned:    Drone+1
@2:19   Spawned:    Zergling+2
@2:20   Spawned:    Overlord+1
@2:25   Spawned:    Larva+1
@2:25   M:230   G:0 L:1 S:10/18 BuildZergling
@2:25   M:180   G:0 L:0 S:11/18 BuildRoachWarren
@2:34   Spawned:    Zergling+2
@2:40   Spawned:    Larva+1
@2:40   M:104   G:0 L:1 S:10/18 BuildDrone
@2:49   Spawned:    Zergling+2
@2:55   Spawned:    Larva+1
@2:55   M:129   G:0 L:1 S:11/18 BuildDrone
@2:55   M:79    G:0 L:0 S:12/18 BuildExtractor
@2:57   Spawned:    Drone+1
---Waypoint 0---
At time: 3:00
Minerals: 78    Gas:      0 Supply:   11/18
Drones: 7
Overlords: 2
Zerglings: 6
Hatcheries: 1
Spawning Pools: 1
----------------
@3:10   Spawned:    Larva+1
@3:10   M:127   G:0 L:1 S:11/18 BuildDrone
@3:12   Spawned:    Drone+1
@3:20   Spawned:    Roach Warren+1
@3:25   Spawned:    Extractor+1
@3:25   Spawned:    Larva+1
@3:25   M:159   G:1 L:1 S:12/18 BuildOverlord
@3:27   Spawned:    Drone+1
@3:40   Spawned:    Larva+1
@3:40   M:123   G:30    L:1 S:12/18 BuildRoach
@3:50   Spawned:    Overlord+1
@3:55   Spawned:    Larva+1
@3:55   M:112   G:33    L:1 S:14/26 BuildRoach
@4:07   Spawned:    Roach+1
@4:10   Spawned:    Larva+1
@4:10   M:102   G:37    L:1 S:16/26 BuildRoach
@4:22   Spawned:    Roach+1
@4:25   Spawned:    Larva+1
@4:25   M:91    G:40    L:1 S:18/26 BuildRoach
@4:37   Spawned:    Roach+1
@4:40   Spawned:    Larva+1
@4:40   M:81    G:44    L:1 S:20/26 BuildRoach
@4:52   Spawned:    Roach+1
@4:55   Spawned:    Larva+1
@4:57   M:79    G:51    L:1 S:22/26 BuildRoach
@5:07   Spawned:    Roach+1
@5:10   Spawned:    Larva+1
@5:14   M:77    G:58    L:1 S:24/26 BuildRoach
@5:24   Spawned:    Roach+1
@5:25   Spawned:    Larva+1
@5:37   M:101   G:77    L:1 S:26/26 BuildOverlord
@5:40   Spawned:    Larva+1
@5:41   Spawned:    Roach+1
@5:55   Spawned:    Larva+1
---Waypoint 1---
At time: 6:00
Minerals: 100   Gas:      121   Supply:   26/26
Drones: 9
Overlords: 3
Zerglings: 6
Roaches: 7
Hatcheries: 1
Gas Extractors: 1
Spawning Pools: 1
Roach Warrens: 1
----------------
@6:02   Spawned:    Overlord+1
@6:02   M:108   G:125   L:2 S:26/34 BuildDrone
@6:10   Spawned:    Larva+1
@6:19   Spawned:    Drone+1
@6:23   M:152   G:165   L:2 S:27/34 BuildLair
@6:25   Spawned:    Larva+1
@6:33   M:51    G:84    L:3 S:27/34 BuildDrone
@6:43   M:51    G:103   L:2 S:28/34 BuildDrone
@6:48   Spawned:    Larva+1
@6:50   Spawned:    Drone+1
@6:53   M:53    G:122   L:2 S:29/34 BuildDrone
@7:00   Spawned:    Drone+1
@7:02   M:55    G:139   L:1 S:30/34 BuildDrone
@7:03   Spawned:    Larva+1
@7:09   M:50    G:152   L:1 S:31/34 BuildDrone
@7:10   Spawned:    Drone+1
@7:18   Spawned:    Larva+1
@7:18   M:64    G:169   L:1 S:32/34 BuildDrone
@7:19   Spawned:    Drone+1
@7:26   Spawned:    Drone+1
@7:33   Spawned:    Larva+1
@7:35   Spawned:    Drone+1
@7:35   M:155   G:201   L:1 S:33/34 BuildRoachWarren
@7:43   Spawned:    Lairs+1
@7:43   M:74    G:217   L:1 S:32/34 Wait
@7:48   Spawned:    Larva+1
@7:58   M:203   G:245   L:2 S:32/34 BuildSpire
@8:01   M:27    G:51    L:2 S:31/34 BuildExtractor
@8:03   Spawned:    Larva+1
@8:08   M:51    G:64    L:3 S:30/34 BuildDrone
@8:15   M:51    G:77    L:2 S:31/34 BuildDrone
@8:22   M:51    G:91    L:1 S:32/34 BuildDrone
@8:23   Spawned:    Larva+1
@8:25   Spawned:    Drone+1
@8:30   Spawned:    Roach Warren+1
@8:31   Spawned:    Extractor+1
@8:32   Spawned:    Drone+1
@8:36   M:100   G:129   L:1 S:33/34 BuildOverlord
@8:38   Spawned:    Larva+1
@8:39   Spawned:    Drone+1
@8:44   M:55    G:159   L:1 S:33/34 BuildDrone
@8:53   Spawned:    Larva+1
@9:01   Spawned:    Overlord+1
@9:01   Spawned:    Drone+1
@9:01   M:126   G:224   L:1 S:34/42 BuildDrone
@9:08   Spawned:    Larva+1
@9:11   M:155   G:262   L:1 S:35/42 BuildQueen
@9:18   Spawned:    Drone+1
@9:23   Spawned:    Larva+1
@9:23   M:103   G:307   L:2 S:37/42 BuildOverlord
@9:38   Spawned:    Spire+1
@9:38   Spawned:    Larva+1
@9:38   M:132   G:364   L:2 S:37/42 Wait
@9:38   M:132   G:364   L:2 S:37/42 BuildMutalisk
@9:46   M:101   G:295   L:1 S:39/42 BuildMutalisk
@9:48   Spawned:    Overlord+1
@9:53   Spawned:    Larva+1
@9:58   M:104   G:240   L:1 S:41/50 BuildMutalisk
@10:01  Spawned:    Queen+1
@10:08  Spawned:    Larva+1
@10:10  M:108   G:186   L:1 S:43/50 BuildMutalisk
@10:11  Spawned:    Mutalisk+1
@10:19  Spawned:    Mutalisk+1
@10:23  Spawned:    Larva+1
@10:23  M:119   G:135   L:1 S:45/50 BuildMutalisk
@10:31  Spawned:    Mutalisk+1
@10:38  Spawned:    Larva+1
@10:40  M:166   G:100   L:1 S:47/50 BuildMutalisk
@10:43  Spawned:    Mutalisk+1
@10:46  Spawned:    Larva+4
@10:46  M:117   G:23    L:4 S:49/50 BuildOverlord
@10:50  M:52    G:38    L:3 S:49/50 BuildDrone
@10:53  Spawned:    Larva+1
@10:56  Spawned:    Mutalisk+1
@11:07  Spawned:    Drone+1
@11:11  Spawned:    Overlord+1
@11:13  Spawned:    Mutalisk+1
Satisfied.
Number of actions in build order: 53
---Final Output---
At time: 11:13
Minerals: 204   Gas:      125   Supply:   50/58
Drones: 19
Overlords: 7
Queens: 1
Zerglings: 6
Roaches: 7
Mutalisks: 6
Lairs: 1
Gas Extractors: 2
Spawning Pools: 1
Roach Warrens: 2
Spire: 1
------------------
Wed Oct 20 08:48:29 CDT 2010: 242542.56942699626


Original issue reported on code.google.com by [email protected] on 20 Oct 2010 at 2:21

Add "copy build to clipboard" button

It would be useful to be able to copy the currently displayed build from the 
outputText JTextArea directly to the clipboard. I tested an implementation of 
this in my local checkout and it seems to be working. I've attached a patch 
file to be applied to EcSwingX.java (revision 40) if you are interested in 
adding the feature. I must admit, I am not a Swing expert so there may indeed 
be a more elegant approach to adding the button (and a better button location, 
for that matter). I hope this helps... Thanks for your work on this project!  

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 8:07

Attachments:

Extractor Trick Economically Inferior

The simulation uses the 10/10 single extractor trick. Based on real-world 
results, 9OL provides 6 more minerals at 2:15 than single, and 17 more than 
double. I understand the simulation does not include real-world variables so 
the extractor trick may seem to provide a mineral boost, however if we accept 
that 9OL is always the best econ build in real-world environments removing the 
extractor trick might provide even more accurate data.

Source: http://www.teamliquid.net/forum/viewmessage.php?topic_id=133917 

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 4:08

A Queen can be built from a new hatchery before it finishes building

What steps will reproduce the problem?

1. Ask the program to make 2 or 3 queens.

What is the expected output? What do you see instead?

You'd expect it to build 2 queens from one hatchery and wait for the first one 
to finish, or to wait for the hatchery to finish before building another queen. 
Instead, it starts building a hatchery and immediately starts building a queen 
from it.

What version of the product are you using? On what operating system?

alpha v2

Please provide any additional information below.

Simple solution. The program should know it can't build queens from a hatchery 
before it finishes building. This may have caused related bugs which I am 
unable to check (does mining start from a new hatchery before it finishes?).


Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 7:52

Performance boost

wouldn't it help greatly if you delete a lot of options? Like for example if no 
hydra den is requested at the end of the calculations, delete that option for 
your variants. So the engine doesn't have to check for every building at every 
time, just the selected (of course that isn't available for extra 
hatcheries/drones/overlords/queens). Just pretty much rob the calculator of the 
options that make no sense at all (like if i input 2 queens 6 zerglings one 
overseer, the engine should only check options for making drones, hatcheries, 
overlords, overseer, zerglings, spawning pool, lair, queen. Deny all other 
options such as speed upgrade for zerglings, all buildings except spawning 
pool/hatchery, deny hive etc. The way it is right now it checkes for all of 
those options, finishes, tries again. With denying everything that is not 
requested and does not have anything to do with economy i think this tool will 
be awesome. It will calculate like about 2^20 times faster (that's just a poor 
guess by me including all upgrades/buildings as 2^n) and you can do stuff like 
"create max mutas in 7 minutes" since the calculations are done so much faster.
Also as i already mentioned please let the user set a maximum of everything. 
This might be the same function as above and lets you somehow control the 
system way better (like stay on 1 base only)

i think this won't be that hard to implement. You have to add/subtract to the 
pool of available stuff that can be done at one point in time depending on what 
already exists/what is required/what is denied.

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 6:57

Waypoint and Units

1. Choose WP1,2,3 or 4
2. Choose 5 hydras
Even after a very long time, all solutions proposed doesn't include Hydralisks.

Conversely, if you set 5 hydralisks in the "Final" tab, it will find an optimal 
solution within a minute.

I'm doing a bit of QA, hope it doesn't bother you if I'm reporting a lot of 
bugs.

Excellent work anyway, and good luck.

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 2:43

Entering a negative number as a target state leads the app calculating a state it can never achieve/improve

What steps will reproduce the problem?
1. Run the application
2. Set the desired number of roaches to -1
3. Press start

What is the expected output? What do you see instead?
That kind of input should not be allowed in the unit/buildings fields.
I see that the application immediately prints the following result:

 Satisfied.
 Invalid actions left to trim out: 0
 Number of actions in build order: 1
 Mon Oct 18 21:31:01 CEST 2010: 2.095911936E10

Even though all the actions are satisfied and there can be nothing changed in 
the build the CPU is still fully utilized.

What version of the product are you using? On what operating system?
version 0002 on MS Windows Vista Home Premium SP2

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing)

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 7:33

Algorithm appears to get stuck on local maximums sometimes - after a reasonably long period of time, i.e two spawning pools / two evolution chambers for one upgrade etc.

What steps will reproduce the problem?
1. input - 6 roaches, +1 ranged upgrades and glial constitution
2. after around 40 minutes of run time, which is somewhat adequate for a sub 
optimal answer, there is still 2 spawning pools being built.

What is the expected output? What do you see instead?
2 spawning pools / possibly two evolution chambers.

What version of the product are you using? On what operating system?
This is the latest version, v7. windows 7.

Please provide any additional information below.

Possibly, although I aggree that it's important to keep it very generic. I 
think you could add something to your fitness function or in some other place 
that does 'idiot checks' i.e, checking for two spawning pools, or evolution 
chambers when only one upgrade is being acheived. I understand why it occurs, 
as a second evolution chamber has little effect on overall build time, this 
takes a longer time to filter out through generations.

But I think adding these smalls checks will lead to faster results at the cost 
of a less generic implementation.

Just some thoughts.


Original issue reported on code.google.com by [email protected] on 20 Oct 2010 at 7:42

Nydus Canal should be renamed to Nydus Network

Nydus Canal was the name used in SC:BW. SC 2 has a Nydus Network that produces 
Nydus Worms.

http://sc2armory.com/game/zerg/buildings/nydus-network
http://starcraft.wikia.com/wiki/Nydus_network
http://eu.battle.net/sc2/en/game/race/zerg/techtree (official)

What is the expected output? What do you see instead?
I expect both the label on the UI form and the class in the code to hold the 
name Nydus Network not Nydus Canal.

Please use labels and text to provide additional information.

Original issue reported on code.google.com by [email protected] on 21 Oct 2010 at 11:03

Sub-optimal supply management

The program usually deliver a situation where you are supply block on 
completion of the requirements, thus preventing you to be optimal after.

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 10:47

Pathogen Glands should be timed before infestors (upgrade benefit not taken into account)

What steps will reproduce the problem?
1. Run the application
2. Enter 2 infestors and Pathogen Glands as the target state
3. Press start and wait

What is the expected output? What do you see instead?
I expect to see the upgrade researched first then the infestors made after the 
upgrade finishes.
Instead the application issues the upgrade and builds infestors before it 
finishes.
The infestors will spawn without the energy for fungal growth so they will not 
get the benefit of this upgrade.
I expect a way to prioritize such upgrade relations.

Version: 0003
Windows XP SP3
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 19 Oct 2010 at 8:27

Output builds in standard format

The more readable standard format (omit drone production et al, give non-drone 
supply numbers) with some slight modification would make a more ideal output.  
The more detailed output should also probably be given.

Original issue reported on code.google.com by [email protected] on 22 Oct 2010 at 10:24

Limiting the # of bases

It should be possible to limit the program to only take 1 additional expansion, 
or none or whatever.

Original issue reported on code.google.com by [email protected] on 21 Oct 2010 at 7:16

  • Merged into: #67

Redundant step after achieving the goal

What steps will reproduce the problem?
1. Run the application
2. Enter 2 infestors and Pathogen Glands as the target state
3. Press start and wait

What is the expected output? What do you see instead?
I expect the build to finish on the second infestor and the upgrade finished.
Instead there is an additional step of building a drone added right after 
(exact timing) of the upgrade finish.

Here is the resulting build:
@0:35 M:200 G:0 L:3 S:6.0/10 -- BuildSpawningPool
@0:49 M:51 G:0 L:3 S:5.0/10 -- BuildDrone
@1:4 Larva+1
@1:4 M:56 G:0 L:3 S:6.0/10 -- Wait
@1:4 M:56 G:0 L:3 S:6.0/10 -- BuildDrone
@1:6 Drone+1
@1:15 M:53 G:0 L:2 S:7.0/10 -- BuildDrone
@1:19 Larva+1
@1:21 Drone+1
@1:21 M:29 G:0 L:2 S:8.0/10 -- BuildExtractor
@1:32 Drone+1
@1:34 Larva+1
@1:40 Spawning Pool+1
@1:42 M:101 G:0 L:3 S:7.0/10 -- BuildOverlord
@1:51 Extractor+1
@1:57 Larva+1
@2:7 Overlord+1
@2:43 M:200 G:100 L:3 S:7.0/18 -- BuildLair
@2:43 M:50 G:0 L:3 S:7.0/18 -- BuildDrone
@2:58 Larva+1
@3:0 Drone+1
@3:0 M:52 G:33 L:3 S:8.0/18 -- BuildDrone
@3:15 Larva+1
@3:15 M:56 G:61 L:3 S:9.0/18 -- Wait
@3:17 Drone+1
@3:17 M:64 G:65 L:3 S:9.0/18 -- Wait
@3:17 M:64 G:65 L:3 S:9.0/18 -- BuildExtractor
@3:20 M:50 G:71 L:3 S:8.0/18 -- BuildDrone
@3:34 M:51 G:97 L:2 S:9.0/18 -- BuildDrone
@3:35 Larva+1
@3:37 Drone+1
@3:46 M:52 G:120 L:2 S:10.0/18 -- BuildDrone
@3:47 Extractor+1
@3:50 Larva+1
@3:51 Drone+1
@4:3 Lairs+1
@4:3 Drone+1
@4:3 M:50 G:185 L:2 S:11.0/18 -- BuildDrone
@4:5 Larva+1
@4:20 Drone+1
@4:20 Larva+1
@4:29 M:102 G:283 L:3 S:12.0/18 -- BuildInfestationPit
@5:19 Infestation Pit+1
@5:19 M:184 G:373 L:3 S:11.0/18 -- Wait
@5:19 M:184 G:373 L:3 S:11.0/18 -- Pathogen Glands
@5:24 M:53 G:242 L:3 S:11.0/18 -- BuildDrone
@5:39 Larva+1
@5:41 Drone+1
@5:49 M:100 G:337 L:3 S:12.0/18 -- BuildInfestor
@6:4 Larva+1
@6:13 M:103 G:279 L:3 S:14.0/18 -- BuildInfestor
@6:24 M:50 G:170 L:2 S:16.0/18 -- BuildDrone
@6:28 Larva+1
@6:36 M:52 G:216 L:2 S:17.0/18 -- BuildDrone
@6:39 Infestor+1
@6:41 Drone+1
@6:43 Larva+1
@6:52 M:78 G:277 L:2 S:18.0/18 -- ExtractorTrick
@6:52 M:53 G:277 L:2 S:17.0/18 -- BuildDrone
@6:53 Drone+1
@6:54 Extractor Trick Finished, Drone Restored
@6:58 Larva+1
@7:3 Infestor+1
@7:9 Pathogen Glands
@7:9 Drone+1
Satisfied.
Number of actions in build order: 28
Tue Oct 19 10:26:38 CEST 2010: 346213.75622279814

Please use labels and text to provide additional information.


Original issue reported on code.google.com by [email protected] on 19 Oct 2010 at 8:30

EcActionUpgradeCentrifugalHooks should require a lair

What steps will reproduce the problem?
1. Run the app (tested on the trunk and 0013)
2. Enter Centrifugal Hooks as the single target
3. Press [Start]

What is the expected output? What do you see instead?
I expect to get a lair before the upgrade.
Instead the upgrade is performed before getting a lair.

@0:00   M:50    G:0 L:3 S:6/10  BuildDrone
@0:15   Spawned:    Larva+1
@0:17   Spawned:    Drone+1
@0:43   M:202   G:0 L:3 S:7/10  BuildSpawningPool
@0:55   M:54    G:0 L:3 S:6/10  BuildDrone
@1:10   Spawned:    Larva+1
@1:10   M:68    G:0 L:3 S:7/10  BuildExtractor
@1:12   Spawned:    Drone+1
@1:24   M:103   G:0 L:3 S:6/10  BuildOverlord
@1:35   M:50    G:0 L:2 S:6/10  BuildDrone
@1:39   Spawned:    Larva+1
@1:40   Spawned:    Extractor+1
@1:48   Spawned:    Spawning Pool+1
@1:49   Spawned:    Overlord+1
@1:52   Spawned:    Drone+1
@1:54   Spawned:    Larva+1
@2:10   M:101   G:58    L:3 S:7/18  BuildBanelingNest
@3:10   Spawned:    Baneling Nest+1
@3:25   M:170   G:151   L:3 S:6/18      
@5:15   Evolved:    Centrifugal Hooks
Satisfied.
Number of actions in build order: 15
---Final Output---
At time: 5:15
Minerals: 267   Gas:      210   Supply:   6/18
Drones: 6
Overlords: 2
Hatcheries: 1
Gas Extractors: 1
Spawning Pools: 1
Baneling Nest: 1
Centrifugal Hooks
------------------
Thu Oct 21 23:55:20 CEST 2010: 266193.8421020408


Please use labels and text to provide additional information.
EcActionUpgradeCentrifugalHooks.isInvalid(EcBuildOrder) and 
EcActionUpgradeCentrifugalHooks.requirements(ecState) lacks any dependency on a 
lair.

Original issue reported on code.google.com by [email protected] on 21 Oct 2010 at 10:10

Multiple upgrades can be researched at the same time from one building

What steps will reproduce the problem?

1. Try to research the 2 roach warren upgrades, or, the 2 hatchery upgrades for 
overlord. 

What is the expected output? What do you see instead?

Two of the same building should be built, or the upgrades should be researched 
after eachother. Instead they are researched at the same time.


What version of the product are you using? On what operating system?

alpha v2

Please provide any additional information below.

This bug doesn't seem to be affecting evolution chambers, though additional 
testing is recommended. Also, multiple queens can be researched from one 
hatchery (not sure if this is related or a different bug).


Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 7:34

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.