15 November, 2008

Calibrated Screenshots

The screenshot generation code for FC Resource was based upon measurements prepared from a level made for alignment purposes using the in-game level editor. Given the lack of accurate tools in the editor, this introduced errors into the screenshots. Therefore, using the FCML editor to create precise levels was a little difficult and tedious. Comparing the positions of objects using the screenshots was also an impossibility. However, the good news is that I've re-created this alignment level using FCML, resulting in much more accurate numbers. Although the screenshots are not yet flawless, they have become very accurate.

I discovered that static rectangles and dynamic rectangles are slightly smaller than their actual width and height numbers. The build and goal areas follow their dimensional numbers exactly. This, no doubt, led to some inaccurate screenshots!

The only thing left needing calibration is the display of the joints (grey circles). However, due to limitations in the drawing library that I am using, this is difficult.

14 November, 2008

Updates on the Situation

Post-move and Fantastic Contraption is still lagging badly (or not working at all). Right now, the news is that the game's (crappy) new web host is trying to set up two servers for Fantastic Contraption: one to host the website and another to host the database. However, this is speculation on weasel's part because he can't get a hold of the web host people. Both pacifist and him have already stepped out of the picture and are waiting for the web host people to do their job. Pacifist's intention (and hope) is that he'll wake up tomorrow with the servers running already.

In the mean time, enjoy your break from Fantastic Contraption!

13 November, 2008

Recent FC Server Move

Since yesterday or so, Fantastic Contraption has been in the process of moving servers. However, it has not been a smooth transition and a number of problems have cropped up. Hopefully, this post will fill you in on the challenges that have been faced during this (botched) transfer.

The turn of events starts with, as we can assume, the backup of the data on the old server. We don't know when this was made, but it's reasonable that it was made at one point in time before the move began. It would have been a snapshot of the data on the server, so everything saved before the moment that the backup started would have gone into the backup. So, to pick a random number as an example, the last design that would have made it into the backup would have been design number 300,214. Now, any designs or levels that were saved following the backup (starting with design number 300,215) would have not made it into the backup.

Once that the snapshot of the data was saved to a backup, it would have been moved to the new server. Now, design 300,214 would have been the same on both the old and new servers. Design number 300,215 however, which was saved after the snapshot was created, would have not been carried over. This is where the problems start, because people would have still been using the old server. Designs 300,215 and so forth (as well as levels and user registrations) would have fallen into a gap.

At this point, we can assume that the DNS entries for "fantasticcontraption.com" would have been changed to point to the new server. DNS is the system that converts domain names like "fantasticcontraption.com" into Internet addresses. Your computer has to talk to the DNS system in order to find out what computer to talk to when you try to visit "fantasticcontraption.com." To make this process quicker, DNS servers will remember the answers to its questions. Now, even though the Internet address for fantasticcontraption.com would have been changed to point to the new server, your particular DNS server (run by your Internet provider, workplace, or school) remembers the old answer, so you would have continued to use the old server. Usually, it takes up to a day for a DNS server to ask again.

Since people were still using the old server, new designs, levels, and user registrations would have stayed on the old server. Any changes made past the backup would have been lost on the new server. It would have obviously been better if the old server was shut down before the backup was created, but it did not happen. There may have been plans to automatically transfer designs and levels made after the backup as people saved them, but this did not happen either.

This begs the question: what will happen to those post-backup designs, levels, and user registrations that were saved on the old server? We don't know what the plan is at the moment. Even though the vast majority of people were using the old server at first, some people found themselves on the new server (not that they were aware of the move). This presents another problem. Person A, creating a design for Awash, saved a design on the old server. The ID for person A's design would have been 300,215. On the other hand, Person B, who was creating a design for Handling, saved his design on the new server. The ID for person B's design would have been 300,215 as well! We have a conflict. At this time, we are not sure of the fate of the designs and levels that were saved onto the old server.

The problems don't end there. To make things faster, the game stores the data of designs (and possibly levels) as regular files instead of using a database program (it's a cache). The web host company personnel assigned the job of moving over the server's data botched the job. Remember that conflict with design 300,215? So while design 300,215 on the new server is for Handling, this personnel member was moving over the cache files from the old server. Unlike the backup, it's not a snapshot. So while 300,215 on the new server is for Handling, the personnel member had just moved over the cache file for 300,215 from the old server. When you look up design 300,215 on the new server, it shows the right title for the design and all (for Handling), but the actual contraption (and level) is completely different (it's for Awash instead).

Those are the major problems, but there's one more to note. Forum logins are not working. Cookies saved by the forum are marked with the domain name of "zoominate.com," and your browser will refuse cookies that are for different domain names. When you clear your cookies, the forum will think that your browser doesn't support cookies, so it won't try. If you are having trouble logging in, clear your cookies.

12 October, 2008

Now Online

FC Resource is back up! You'll need to wait until your upstream DNS cache(s) are updated, but it might already be working for you!

New Boundary Markers for Screenshots

Design and level pages now have a new screenshot available: the enhanced wireframe. In contrast to the regular wireframe image, this also draws the axis of the arena and its three important boundaries. The axis is the same type of axis on any Cartesian coordinate plan: two lines cross at the origin (0,0). The inner boundary, colored blue, is the immediately viewable area that isn't shrouded by the top toolbar or the sides of the arena. Outside that boundary is the middle boundary, colored red, that is the area that can actually be panned to and viewed. Far out is the outer boundary, colored cyan, that shows the point at which physics "stop." Any object that is wholely beyond this point disappears from the level.


Above is the screenshot from the "Enhanced Wireframe" tab on design and level pages.

Math and Fantastic Contraption Levels

One of the possibilities made accessible by the FCML import feature is the creation of levels using more accurate methods. While writing levels by hand with your text editor is one way, writing a few scripts to do it is easier, provided that you know some programming. With a simple application of tan(x), you have a interesting looking level (although that one in particular is only a test). Combining the equation of a circle, its derivative, and some trigonometry, you can create a level with a mathematically perfect circle. Don't fret though; you won't need to program anything to make use of any mathematics, at least least for circles. When FC Resource is up, you will be able to use a handy circle generator for your levels. Beyond this, however, are other possibilities.

User jtbowden has worked on an TinySVG to FCML converter that makes level designing a much easier and more accurate process. TinySVG is a "vector" format—it stores an image as the composition of shapes, rather than the specific color of a specific pixel. Hopefully, when jtbowden is able to clean up his script, you will be able to make use of it on FC Resource!

10 October, 2008

Domain registration lapsed

The domain of the website hosting FC Resource has lapsed, so the website will be unavailable until the problem is solved. For some, the site may be accessible because your ISP may be storing the old information regarding the domain registration.