|
| ||||
|---|---|---|---|---|---|
| 2010-06-09 | Posted By: Seth Helm-Burger Wednesday, Jun 9th We have implemented both saving and loading of scripts created by the user. To facilitate this, we changed some of the functionality of switching states so that the user defined variables remain the same while the program is running. But are reset when the program is reloaded. A little more tweaking on the algorithms, mostly around boid speed, was done as well. Our enemies have been slain, there fleets captured or burned. We alone control the high seas. So shall it be for all days. -- End Captain's Log |
||||
| 2010-05-28 | Posted By: Alex Schneider Friday, May 28 We have finished tweaking the various flocking algorithms. Actual flocking behavior will now emerge. Play with the range and speed values and see for yourself. In addition to fixing the algorithms, we have implemented a function that is only called when a boid is unable to see any other boids. This function will randomly change their heading in order to better show the distinction between organized flocking and ordinary boid movement. The newest version of the code is under the branch titled "Lua Boids 2008." This is the Visual Studio 2008 version of the code. The First Mate was taken prisoner by the local authorities and faces the hangman's noose in the morn. A raid is planned to retrieve him; the streets will run with rivers of blood. -- End Captains' log |
||||
| 2010-05-21 | Posted By: Alex Schneider Thursday, May 20th We spent some time polishing the Separation algorithm. It now is (correctly) running on a log scale, specifically 4.8-2ln(x). These numbers were chosen to give us a correct y = 0 value at x = 10. Which is the maximum distance any boid can be from any other boid when scaled 1:1000 for calculating purposes (the range check is capped at 10000). Additionally, we felt it was necessary to implement camera controls to let us see the boid behavior from different viewpoints. At this point, there are 6 preset viewpoints, one for each side of the cube area, and are accessed by using the numpad; 8,5,4,6,2,0. Tomorrow we intend to finish tuning up the behavioral algorithms and camera angles. If time permits, we will add buttons to switch from simstate back to editorstate (still working with keypress E at the moment). Tomorrows tide will bring our fleet to within striking range of The Port of Andoria. The dawn sun will rise red. -- End Captain's Log |
||||
| 2010-05-14 | Posted By: Seth Helm-Burger Friday, May 14th We had been working on getting a version of Visual Studio 2005 working on our home computers so that we did not have to depend on the campus labs not being crowded to work on the project. We were not able to get a version of 2005 working, so we just converted it up to 2008 and will deal with backwards compatibility issues when and if needed. After looking into .xnb files and how to deal with them, we decided to remove the use of xml files completely. XNA creates a .xnb file out of .xml files because .xml files are too big and slow (according to Microsoft). This makes it extremely difficult to modify an xml file and then use those modded values. What we have working right now is a simple text reader and writer similar to what we had before venturing into xml files. The GUI reads from and writes to a couple different text files and Lua uses these to initialize and update the Boids. It all works how we had planned it to when using the xml files. What we started working on, and what we will be working on next week, is improving the flocking algorithm and formulas. We are looking over the C++ version that is on red3d.com to help us. We will let you know next week what sort of changes we make. A bounty has been placed on my head by the local Magistrate. By my count, we have dispatched four overconfident bounty hunters and commandeered their vessels, but not without heavy damages to the fleet. The Magistrate will die by the full moon. -- End Captain's Log |
||||
| 2010-05-07 | Posted By: Alex Schneider May 7, 2010 We were able to figure out how to read from and write to XML files. We now have it so the user is able to use the GUI to edit values and then write those values to the script that will be run. There isn't much else to say because this was a more difficult task than we expected and it took some time. Making it work is a huge step towards our goal. With this implemented, a few of our possible next steps include implementing pre-made scripts that mimic animal behaviors, fixing and tweaking our flocking algorithm and functions, and implementing some sort of game using the flocks. The winds have died off and left us stranded out of sight of land. Water supplies running low. Crew believes there is enough to last a week. There is only enough for 2 more days. -- End Captain's Log |
||||
| 2010-05-05 | Posted By: Seth Helm-Burger May 5, 2010 We were able to set up an XML reader that can pass strings to our current Lua interpreter. Our only concern with the current setup we have is that we have to reload the script every time we parse through the XML file (which happens every update). We feel that there may be a faster and more efficient way to do this, but weren't able to find one. We were thinking maybe there is a method or some sort of algorithm to return to the top of the file being read. If you know anything about us please post something here or e-mail us =D. We have planned out the groundwork for how to load multiple premade scripts as well as a generic script that can be modified. We will begin implementing this during our Friday session along with linking the GUI editor to the XML commands. Foul weather forced us to take shelter in an unnamed cove on a deserted island. Or so we had thought. Three men were killed and eaten by local savages. There will be reprisals. -- End Captain's Log |
||||
| 2010-04-30 | Posted By: Seth Helm-Burger Friday April 30th, 2010 We have implemented a state switch from Editor state to Simulation state and we have implemented a basic button based GUI for the Editor. However, we have run into problems with using XML to hold our data. We are unable to get XNA to correctly find our test class in order to interact with the XML file. The Boid Field of View is still in the works. Hopefully we will get XNA and XML to play nicely together by the end of our next Monday meeting. We have made landfall at Shipwreck Cove. The first mate has taken the crew to the local brothels and bars. I remain to protect the booty. -- End Captain's Log |
||||
| 2010-04-28 | Posted By: Seth Helm-Burger Wed, April 28th 2010 We have implemented the range checking system correctly. However, the boids have 360 degree field of view which is causing singular point grouping, rather than a more fluid/following the leader sort of flock. We plan to correct this problem Friday. We have also experimented with SVN on the UCSC computers and have found that their version of SVN is so outdated that it is incompatible with our project. Plans are in the work to convert to an XML format, that is either read line by line by the Lua interpreter or that will generate a text file to be read by the normal Lua interpreter. Recent rough seas have plagued our voyage, however a rich haul from a wallowing freighter has left us knee deep in gold doubloons. -- End Captain's Log |
||||
| 2010-04-23 | Posted By: Seth Helm-Burger Friday, April 24th We have implemented separation behavior for basic boid movement. We have built the foundation for multiple range-checking behaviors; these will be used by the three major behaviors to better mimic real organisms. We changed the way that the three major behaviors respond to Lua script value inputs, by replacing set values with a function based on a range check. The cohesion and alignment functions are based on a simple sliding linear function. Whereas the separation function is based on a negative Natural Log curve, thus reacts very strongly to very close contact. Poseidon has graced us with clear skies and a steady wind. We will honor him with the sacrifice of a goat at first light. --End Captain's Log |
||||
| 2010-04-19 | Posted By: Seth Helm-Burger Monday, April 19th Organized code to better reflect a module viewpoint. Implemented a wrapper class that contains the Camera and Flocking. Separated out graphical components into the base game, rather than integrated with the Boids. Lua script(s) now control much more of the program. The two main scripts, update and initialize, are located at: LUA\trunk\Lua Boids\bin\x86\Debug\scripts initialize currently controls the number of boids to be drawn. update can control boid speed, speed of direction change, and other values. Will SVN commit later this evening after arriving at Starbase Alpha-1. -- End Captain's Log |
||||
| 2010-04-16 | Posted By: Alex Schneider Week 3 Update We have implemented the alignment and cohesion behaviors between a single flock of ten (spaceship) boids in a 3D space. We have also added infinite horizons for the boids through looping the world. We ran into some difficulty getting the 3D camera position in the right position, but was solved shortly thereafter. Next week we will implement the separation behavior and a way for a boid to check its local neighborhood for other boids and flock with them. We have discovered that the world moves around the boids and that the boids do not move around the world. --End Captain's log |
||||
| 2010-04-09 | Posted By: Seth Helm-Burger Week 2 Summary As of Friday, April 9th, we have manged to fully integrate Lua into our program. We have run several scripts with success, and have moved on to basic class layout and structure. In addition, we have reviewed several tutorials on 3D modeling, and have implemented a basic Model and Camera system into our program. Using Lua scripts, we have successfully transformed the model through rotations and translations. Our next step is working on the basic Boid behavioral algorithms as demonstrated on http://www.red3d.com/cwr/boids/ by Craig Reynolds. Food supplies low, morale falling. Expect mutiny by the end of the week. May have to execute nonessential crew members. --End captain's log. |
||||



