| |
| - optimizations to water particles (the ones which trail the player, and the latent onces which produce shines on the water -- now they vary by current fps, and have a slightly shorter lifetime) - small optimization to drawing the engine (pre-calculation of a value inside a loop) - made functions to easily check the average execution time in microsecondsd of any given part of the code over a period of 60 steps - started making a chart of the most time-intensive parts of the code, in microseconds. the chart, so far, is after the lj-cut / in the extended part of the entry - installed the power supply (and a new videocard to replace my terrible 8500gt) in my desktop, tested it to make sure it's working, no grinding sound anymore, yay! - tested SD on the desktop: interestingly i get a max 600 fps with most everything turned off both on my desktop and my this laptop, but in normal rooms (such as 0,0) my desktop gets a higher max frame rate than my laptop (90fps vs 50fps). - created yet more toggles, such as for text - tested more things for the chart ( optimization chart so far (incomplete) ) | |
|
| http://www.flickr.com/photos/carpeicthus/4172321899/ Ryan Brenizer posted a photo:

Oh, I'm sure the comments will be interesting for this one. Let's keep it civil. Pretty much my deep political message is "Hey, that looks like a crown!"
I've been sitting on a lot of celebrity pictures you haven't seen. You can see a lot of my favorites in this post: "Celebrities I Have Shot"
PS: Image is registered. Have $150,000 in fines to spare? Then feel free to remove the logo, re-post, and see what happens. | |
|
| I'm glad it's finally the time of year where the 8 (EIGHT!) snow globes on my desk don't look out of place.
I like them, okay? | |
|
| - finished toggles for graphical elements. - did a few minor optimizations (such as not dividing 1/60 every step to increment the seconds count, but instead pre-calculating that and adding that value every step). - added the ability to calculate and show the average fps from over the last 900 frames (15 seconds at normal frame rate), reseted every 10 seconds (rather than just the current fps). - discovered a pointless bottleneck related to holding down ctrl (it caused the game to check for the existence of save files every step, part of the ctrl+number to save/load to slot system) and did a simple fix which reduced the slowdown from holding ctrl down (not that players would do that often) - discovered something very interesting: disabling the player's cursor (by pressing right click to make it disappear, or by moving around with the arrows or wasd keys to make it disappear) increased the fps rate significantly, from a max of 150 to 300 fps; same thing with the player's sparkly engine (the two pentagrams thing, but nowhere near as bad as the mouse cursor is), so those seem to be bottlenecks. another large bottleneck is the screen-wide effect surfaces. currently in the process of detecting speed bottlenecks, then will order them by impact and address one by one. definitely the mouse cursor first, though. - made a few scripts aimed at replacing the primitive circle-drawing scripts with alternatives that use surfaces - simplified mouse cursor, and now it only reduces the fps from 293 to 277 instead of from about 300 to about 150. doesn't look as pretty, but better than slow. - tested the toggles and made new toggles, i think i'm getting a good idea about what parts of drawing slow the game the most now, and have some ideas for optimizations. preliminarily, sd could stand to gain the most speed by optimizing or removing:
1. mouse cursor (now optimized/simplified) 2. player/creature trails (now turned off by default since they weren't that neat-looking anyway, although i'll keep them for the seena/unicorn) 3. player wake effects (there are two of these, i'll need to test each separately and see what i can do) 4. player engine effect (shapes/glow) (optimized it today a bit, although they can still be optimized some more with some loop unwinding) 5. screen surfaces for effects 6. activations/deactivations 7. collisions (in general, need to separate by type)
there are other things which slow the game down significantly but can't really be optimized, such as drawing map objects, and the existence of objects at all (just having them slows the game down due to the way game maker works). so i don't expect incredible gains from these optimizations -- even turning all 7 of the things mentioned above off totally only raises fps from 50 to 60 in an area that's full of objects. but it's still worth trying.
- changed time measurement from average fps to average milliseconds since last step, using a timer dll. this is more important info actually, because the "distance" between 400 and 500 fps is different than the distance between 50 and 150 fps (it looks like just 100fps, but the difference is 25% longer vs 300% longer), whereas if you measure in milliseconds you just get the time since last step
i'm finding optimizations fun. it's actually been one of my favorite parts of game dev since alphasix -- just trying to rearrange code to get a number to improve has a strange draw to it. looking forward to the next day of work on it. will try to get a new version to playtesters by the end of tomorrow in order to have them test the new speed optimizations.
in other news, today i got the new power supply today, but going to wait until tomorrow (light out) to replace the old one with it. | |
|
| - two new areas (technically areas i had already made, just not finalized) - started to made some optimization test toggles; coded all of the toggles and made about half of them do their function (the other half will finish tomorrow); after it's done i'll be able to turn on or off any effect/type of object drawing/particle system/etc on and off individually to test which is the slowest and which ones reduce the fps the most, and will be able to focus on the problems | |
|
| You'd think that, having watched and/or attended all four of Wagner's Ring operas in the last two months, mixophrygian and I would have gotten the medieval Germanic myth of the Nibelung out of our system. But no! Last night we rented and watched this:  We originally mistook it for some obscure campy fantasy film that mixophrygian had previously seen, and rented it for laughs. But it turned out to be a movie version of the same mythology that was the basis for Wagner's operas, particularly Siegfried and Gotterdammerung. Details differed, as the film adhered to the original legend rather than Wagner's reworking. Brunhilde, as it turns out, was originally the Queen of Iceland rather than a Valkyrie. Other names and details changed as well. But the basic story was unmistakably the same. Most surprisingly, despite made-for-cable production values, the film wasn't all that bad. Sure, the lead actor was as hammy as his photo suggests, but most of the acting was respectable, and the dialogue was far better than exepcted. The film even had two name actors in supporting roles: Max Von Sydow as the kindly blacksmith who adopts young Siegfried (the equivalent of Wagner's character Mime, but less evil and dwarfy) and Julian Sands as the evil Hagen. (How does Julian Sands always corner the market on evil villains in B-grade fantasy and horror movies? Also, if there some is mental exfoliant that can remove all memories of his role in The Naked Lunch, let me know.) Preceding all this: last night we decided that it was Cantor's Time, which turned out to be a correct assessment. Ice cream at Mashti Malone's was another integral part of our Sunday experience. | |
|
| - plugged up window with towels and tape in order to reduce cold (yeah this counts as working on SD) - tried using compressed air on grinding power supply fan; no go. ordered new power supply. - moved SD files from computer to my usb key (it's a usb drive in the shape of a key and it's on my keychain). - installed game maker 7 on windows xp partion on the macbook - registered gm7 so that it's "pro". i was happy this worked without much trouble, as i've had problems with registering my copy on new computers before (they limit installs). - noticed i had forgotten the gm color extensions, and reinstalled one of them; the other is no longer online anywhere. but this is not a big problem because the only problems it'll cause is some special colors (for the gui or special effects) will always show up as black instead of their intended color, and i can fix those on a case by case basis. - ran SD on this macbook to make sure it works. it actually works quite well except that, since it's a laptop, i have no access to several hotkeys that i need to work on the game (number pad, end key, etc.) and will need to code laptop alternatives for those keys. but the speed of the game seems fine, so this macbook's cpu (core 2 duo 2.13 ghz) videocard (nvidia 9400) seem more than capable of running SD. the sound does sound more tinny on this laptop's speakers, but i can always use headphones. - installed gentium font on this computer (since otherwise SD wouldn't work right and would use arial as its font instead) - made it so that shift + a number key works he same as a numpad key - made it so that shift + blackspace adds the invisible walls (alternative to the end key) - used sharpkeys to change the capslock key into a prt scrn key (much more useful to me since i take screenshots often, and this macbook has no prt scrn key) - installed irfanview (good image viewing program with some basic editing, i use it a ton) and used it to get the prt scrn'd image into png format for upload here, just like i used to do on the desktop ( here's a pic of xp on macbook in gm editing sd ) | |
|
| (general update of unimportant life stuff) one of the windows in my room doesn't lock on one side, leading to a draft in the winter. i tried to fix that again today but the best i can do is tape a towel over the part the draft comes from in order to reduce it. here's a pic:  due to the cold, i am often less productive in the winter than in the other seasons; cold makes typing and even just moving around and doing stuff require more energy, so my body has a tendency to just stay under the covers all the time. in other bad news, the power supply for my desktop is making an annoying grinding noise, which disappears when i bang on the computer but returns a few minutes later, requiring another bang; as these guys describe here: http://www.astahost.com/info.php/Pc-Making-Strange-Noise_t13163.htmlas they say, it's likely caused by a build-up of dust in the power supply. i tried using liquid air to clean it from the outside but that didn't do anything. i've three alternatives: one is to take apart the power supply and clean the fan internally, which can be risky since it's internally sensitive. another is to use a vacuum cleaner on it from the outside to get a stronger pull of air than the canned air provides. someone recommends that in that thread. a third is just to buy a new power supply and replace my current one with the new one. this is what i'm leaning towards now. especially because any good videocard requires more power than my current power supply provides, and because i've changed a power supply before (once) and it's not that difficult of an operation (although it's more elaborate than changing a videocard or something). the noise isn't impossible to work with, but it's annoying enough that i'm considering moving SD's development to the laptop to work on the game in xp mode (i set up a dual boot thing so this mac can run xp as well as the mac os) until i can get the noise issue resolved. currently i only use the desktop when i have to, because of that noise, and turn the computer off at any other time due to the annoyingness of having to constantly hear or or bang on the computer every few minutes. | |
|
|
alex chiu still going strong!! he's not only a genius for curing death, but also for his marketing
(perhaps i should advertise ID on his site somehow -- people who buy magnetic rings to bring immortality might like a game about immortality too, right...?)
"trust me! they work. trust me! they work" - alex chiu, in this video
| |
|
| |