You are viewing [info]number42's Friends Page

   Journal    Friends    Archive    User Info    Memories
 

Friends

twentysidedtaleMay. 16th, 2012 07:05 pm Alan Wake EP14: Stabbed in the Brain

http://www.shamusyoung.com/twentysidedtale/?p=15922


Link (YouTube)

ShamusThe headache stabbed me in the brain. And then I wrote a novel. Sounds about right.

Let’s see: Goofy puzzles. Occasionally awkward dialog. A wall between story and gameplay. A seemingly boring jerk for a protagonist. Repetitive foes. Terrible lip sync. Checkpoint saves.

We’ve accused Alan Wake of all of these, and I don’t think we’re wrong. But I think all of those problems are even worse in Silent Hill 2, which I still regard as one of the more powerful games I’ve experienced. I’m still gnawing on this, and I can’t speak for the rest of the cast, but I suspect that if the game had connected with me on an emotional level (dread, sorrow, anger, whatever) then I wouldn’t be focusing on these problems.

Leave a comment


seanan_mcguire
May. 16th, 2012 10:53 am When will you rise...and when will you fall?

I've spoken before about my love of fanfic, and how it allows you to do things you can't necessarily do "in canon." One of those things, one of my favorite things, is the alternate universe. What would have happened if Toby had never become a fish? If Thomas had convinced Alice to go back to the Covenant with him, instead of leaving it for her?

If someone else had been the first to die?

I have written an alternate ending to Feed, picking up at what was originally chapter twenty-five. It's called Fed, and I'm very pleased with it, in part because it shows that no, the original ending wasn't the worst possible outcome. This was.

Fed is kindly being hosted by Orbit, thus preventing me from becoming a blibbering mess in the week leading up to the release of Blackout, and for right now, you can download and read by liking the Facebook page they've set up specifically for this purpose. (It's getting a one-week Facebook exclusive for marketing purposes, and I surely would appreciate it if you went and hit the "like" button.) This is full of spoilers, so I recommend against reading it if you haven't read Feed.

Rise up while you can.

Current Mood: geekygeeky
Current Music: Halestorm, "Freak Like Me."

86 comments - Leave a comment


gehayi
May. 16th, 2012 11:58 am A Game of What?

( You are about to view content that may not be appropriate for minors. )

Current Mood: aggravatedaggravated

2 comments - Leave a comment


seanan_mcguire
May. 16th, 2012 07:43 am The 2012 Campbell Awards.

The John W. Campbell Award for Best New Writer is currently open for voting! This award uses the same nomination and voting mechanism as the Hugos, even though the Campbell Award is not a Hugo, and will be presented this year in Chicago, during the Hugo Awards Ceremony. Having been on the Campbell ballot in 2010, I can testify that it is a huge, huge honor to be nominated, and that it gets your name in front of a lot of eyes that might not otherwise have heard of you.

(I can also testify that winning is amazeballs best thing oh my sweet Great Pumpkin corn maze paradise wonderful. But that's probably true of winning most awards that you really, really want.)

If you are currently a member, either Attending or Supporting, of Chicon 7, you are eligible to vote for the Campbell Award, along with the Hugo Awards. If you're not a member, either Attending or Supporting, you can view the membership rates by clicking right here. A Supporting Membership comes with voting rights and the complete Hugo packet, and is only $50.

Because writers who are eligible for the Campbell are, by their very nature, relatively new writers, it's possible that you don't know anything about this year's candidates. Jim Hines has sensibly decided to help you with this little problem, and has conducted interviews with all five of this year's nominees. Go, read, and be enlightened!

We have a truly awesome class of Campbell nominees this year; any one of them is worthy of the tiara. Because remember, the Campbell is one of only two major genre awards that comes with a tiara (the other is the Tiptree).

In closing, I present the comic strip I drew to commemorate my own eligibility:



TESTIFY!

Current Mood: contemplativecontemplative
Current Music: Repo, "We Invented This Opera Shit."

22 comments - Leave a comment


dduane
May. 16th, 2012 11:48 am I forgot to mention: Birthday sale running at Ebooks Direct

We're doing 60% off everything, again... but this time for a reason. (Because guess which birthday is coming up on Friday!)

Details are here.   Enjoy, all!

Current Mood: cheerfulcheerful

5 comments - Leave a comment

qotdrssMay. 16th, 2012 12:00 am Gregory Thomas Garcia, Alan Kirschenbaum

http://www.quotationspage.com/quotes/Gregory_Thomas_Garcia%2C_Alan_Kirschenbaum

"Babies are cool, until you've done everything to do with 'em and you get bored. That's why T.V. shows about babies don't last more than a year."


Leave a comment

qotdrssMay. 16th, 2012 12:00 am George Aiken

http://www.quotationspage.com/quotes/George_Aiken

"If we were to wake up some morning and find that everyone was the same race, creed and color, we would find some other cause for prejudice by noon."


Leave a comment

qotdrssMay. 16th, 2012 12:00 am Bruce Barton

http://www.quotationspage.com/quotes/Bruce_Barton

"Conceit is God's gift to little men."


Leave a comment

qotdrssMay. 16th, 2012 12:00 am Soren Kierkegaard

http://www.quotationspage.com/quotes/Soren_Kierkegaard

"People demand freedom of speech as a compensation for the freedom of thought which they seldom use."


Leave a comment


punch_an_pie
[ scribblemonkey ]
May. 15th, 2012 10:52 pm comic for 5/16/12

is now up

1 comment - Leave a comment

daily_sniggleMay. 16th, 2012 12:00 am Sniggle of the Day - 5/16

http://www.sniggle.net/

May 16, 2003: The “Monkey Man” of Tunbridge Wells, a real life superhero complete with mask and cape, reported in the international media from France to New Zealand to the United States, is revealed to have been a prank. (See News Trolls for more info)

Leave a comment

twentysidedtaleMay. 15th, 2012 09:21 pm Alan Wake 13: Is Your Refrigerator Flying?

http://www.shamusyoung.com/twentysidedtale/?p=15915


Link (YouTube)

“As ShamusI approached the Spoiler Warning I saw it was covered in dark shadows. The shadows blocked out the light so I could only see darkness and shadows. It was terrifying. After gathering up some batteries and watching half an hour of crappy television, I approached the darkness and drew near to the edges of the dark shadows that blocked out the light, making things darker and spookier.”

Leave a comment


seanan_mcguire
May. 15th, 2012 11:38 am Current projects, May 2012.

And now, the May 2012 current projects post, which makes me a little sad, because I made the April post from Cat's place in Maine, and I am not in Maine now. Oh, well. This is the post in which I tell you what I'm working on, and you finally understand why I don't have time for tea. To quote myself, being too harried to say something new: "These posts are labeled with the month and year, in case somebody eventually gets the crazy urge to timeline my work cycles (it'll probably be me). Behold the proof that I don't actually sleep; I just whimper and keep writing."

Please note that all books currently in print are off the list, as are those that have been turned in but not yet printed (Blackout, Ashes of Honor). The cut-tag is here to stay, because no matter what I do, it seems like this list just keeps on getting longer. But that's okay, because at least it means I'm never actively bored. I have horror movies and terrible things from the swamp to keep me company.

Not everything on this list has been sold. I will not discuss the sale status of anything which has not been publicly announced. Please don't ask.

What's Seanan working on now? Click to find out! )

Current Mood: rushedrushed
Current Music: Typing, and silence.

19 comments - Leave a comment


moominmolly
May. 15th, 2012 12:17 pm why it's good to be a polyglot foodie

Because when you get an email in Danish mis-sent to your address, you can easily identify that it contains a recipe for a delicious-sounding simple basil cream, because Danish is basically Norwegian. Then, you can politely thank the sender for the recipe, and put it on the agenda to try tonight.

BASIL CREAM FROM MARGIT, VIA THE INTERNETS
------------------------------------------
200 g light cream cheese
1/2 cup creme fraiche (Margit used 18%; I may sub sour cream)
Leaves of a potted basil
1/4 cup chives, chopped
1 clove garlic, crushed
Salt, freshly ground pepper


...sounds good to me. I wonder how much basil that is, though?

14 comments - Leave a comment

daily_wtfMay. 15th, 2012 01:00 pm Long Distance

http://thedailywtf.com/Articles/Long-Distance.aspx

Lawrence's employer had heard that this newfangled "Desktop PC" could reduce their IT costs, and they wanted in on it. It was the mid 80s, and at the time, their plants scattered all over Alabama...

Leave a comment

twentysidedtaleMay. 15th, 2012 10:37 am Project Octant Part 8: The Time-Hole

http://www.shamusyoung.com/twentysidedtale/?p=15904

ShamusSo let’s talk about data structures. I’ve mentioned way back at the start of the project that there are certain costs to using an octree. An octree will make interfacing with ALL blocks a hundred times faster but make dealing with a specific block several times slower. I’m curious how…

Hang on. My program has been behaving oddly recently. It’s like it will suddenly stop building new blocks and I’ll end up stuck on this island floating in empty space. I’ve got the program set to aim for 60fps, and if one thing starts eating too much CPU then the block-building gets choked off. Let’s see where these CPU cycles are going.

I add a little benchmarking loop. Right now there are just five systems running:

  1. Avatar: This moves the camera around and does a little super-cheap collision detection.
  2. World: During block generation, world allocates these tables of handy values to speed up building. This part just looks for out-of-use tables and unloads them.
  3. Scene: This is the heavy hitter. It does those crazy heavy-duty noise calculations, places the blocks, maintains the octree, and turns the blocks into textured polygons.
  4. Window: This bit really does almost nothing. It checks for keypresses.
  5. Qt: Ah. This is where Qt gets a chance to process stuff. Qt is the platform I’m using to write this. Go back to part 3 if you need a refresher.

Let’s see where the time is going:

I don’t have access to a microsecond timer here, so we have to make due with milliseconds. This is like wanting to measure how long a man’s stride is when he walks, but your ruler is only marked off in terms of kilometers. You have to measure a lot of individual steps to figure it out. These measurements were taken over the course of a second. There’s a thousand milliseconds in a second, so we’re looking to account for those thousand milliseconds. Note that there’s a tiny bit of overhead to taking these measurements and we’re likely to miss a tick-tock here or there on really short tasks, but this is good enough to give us a broad understanding of where the time is going.

Note that the item “Qt & Rendering” is there because I do my rendering during the bit where Qt gets a timeslice. The two items in parenthesis break that number down. (Rendering) is how much time I spend shoving polygons at the graphics card, and (Qt) is how much time Qt eats doing… whatever it is that Qt does.

Hm.

This is not good. In fact, this is exactly what I was afraid of back when I started using Qt. Over half of my CPU cycles are being eaten by Qt, doing… what? I have no idea. Qt is in charge of I/O, so it’s doing some keyboard and mouse processing. But that stuff is so fast that I shouldn’t be able to measure it with this clock. It’s also in charge of drawing that black box with the checkboxes and text in it.

Could that be it? Is Qt burning six tenths of a second on a rectangle of text with a couple of checkboxes? Hm. If I get rid of the box then I won’t be able to see these results. Let’s get rid of the checkboxes and see if that changes anything.

That made a big difference. Qt is now “only” using half of the CPU to draw this stupid black rectangle and text. For contrast, during the other half of the second I’m rendering millions and millions of polygons. Picture two guys in a library. In the same hour, one of them reads the complete three-volume set of The Baroque Cycle and the other guy reads a single Family Circus strip.

Let’s do another test. Let’s give Qt a bunch more controls and see how it reacts.

I’ve added a little text label, another text box, and a couple of progress bars. (I dunno. They look kind of like health bars or something. Seems like a reasonable thing to expect if this was a game environment.) And now Qt is eating 71% of our CPU. This would be funny if it wasn’t so sad. This makes it pretty clear why nobody’s ever tried to use this thing for a game. A real game interface would be even more complex than this.

Keep in mind that these controls aren’t changing. I’m not altering the position of the faux-health bars or anything else that would create a need for them to be re-drawn every frame. The text boxes only update once a second.

With performance like this, I might as well go use Visual Basic. (No, not really.) Note that this doesn’t mean that Qt is bad. It’s just built with different goals. Getting a cross-platform windowing system to play nice with 3D rendering like this requires a lot of levels of abstraction. A normal Qt application is just some kind of interface with buttons and sliders and whatnot, without any 3D rendering going on. In those circumstances, the user isn’t going to notice a few missing milliseconds. My program is sensitive to single-digit millisecond usage, but a human being generally isn’t going to notice until it’s in the hundreds, and they probably won’t care until it’s near a thousand. The performance needs of Qt are at least two orders of magnitude from the performance needs of a 3D game.

I find this page, which seems to be from one of the developers behind Qt. It confirms my worst fears: This CPU cost is an inescapable reality of using Qt. Even if all of those optimization techniques worked for me, and even if they applied to every little interface item, and even if I made maximum gains from all of them, it still wouldn’t do more than cut the CPU usage in half, which would still be ten times more than it should be.

If I disable the Qt drawing entirely (and have it print out the timing info to the console window instead) then we get:

FPS: 179

Avatar: 0
World: 1
Scene: 25
Window: 0
Qt&Render: 962
(Qt): 251
(Render): 711
Qt ms per Frame: 1

So the real overhead of using Qt is only ~1ms per frame. That’s reasonable. It’s just that the Qt drawing tools are too slow to be useful. A shame, really. “A platform-independent interface” was the main selling point of Qt for me. I’ve found a lot of other things to like about it since then, but losing the GUI is pretty much a deal-breaker.

When my processing began choking off I wanted to come in here and look for ways to optimize the octree or something. But it looks like the first order of business is “stop using qt” if I care about speed. I had a bunch of ideas for how I might tackle the crazy challenges that Goodfellow faced in part 32 of his series. Seems sort of pointless now. There’s no reason to agonize over the aerodynamics of your car while you’ve got a half-ton of cinderblocks in the back seat.

Oh sure, I could work on my optimizations like this, but the CPU drain of Qt is noisy, so measuring performance would be like trying to play Jenga on horseback. Also, experience has taught me that trying to monitor performance by reading a continuous spew of text in a console window is really aggravating.

I suppose I could take my code and go back to Visual Studio and SDL, which is what Project Frontier used. But that means shopping for a suite of image loading, interface-drawing, font-reading tools. Yuck. I don’t want to unravel some idiotic chain of dependencies. I don’t want to download a dozen different SDK‘s, spew their files all over my hard drive and then try to get them to compile and link with my project. I don’t want to have to choose between the package that only solves half the problem, the package that sucks to use, or the package that ties me to Windows. I don’t want to have to learn a new programming language.

I just – this external packages stuff is such a dang killjoy for me. I really, really, really hate it. It takes all the fun out of programming. When I was younger I tolerated it, but now I seem to have lost my patience. I know why this problem exists and I understand why there aren’t easy solutions. I just don’t have the desire to put up with it these days.

Maybe I’ll work a bit more on this project before I shelve it. Maybe I’ll migrate back over to Visual Studio and just muddle along with no interface. Maybe I’ll just stop here. I don’t know. I’m going to walk away from it for a bit and see how I feel about it then.

Onward?

EDIT: I’ve been meaning to ask: For those of you who played around with Project Frontier, what was the biggest hassle in porting it? I know the capitalized filenames were a problem. “Main.cpp” instead of “main.cpp”. I was obliged to use the former professionally for years, and eventually it became a habit that I didn’t question. I’ve since been making sure everything is lowercase, but what other headaches did you encounter? (Aside from, you know, bugs and stuff.)

Leave a comment

qotdrssMay. 15th, 2012 12:00 am Madeleine L'Engle

http://www.quotationspage.com/quotes/Madeleine_L%27Engle

"It takes too much energy to be against something unless it's really important."


Leave a comment

qotdrssMay. 15th, 2012 12:00 am Ellen DeGeneres

http://www.quotationspage.com/quotes/Ellen_DeGeneres

"Stuffed deer heads on walls are bad enough, but it's worse when they are wearing dark glasses and have streamers in their antlers because then you know they were enjoying themselves at a party when they were shot."


Leave a comment

qotdrssMay. 15th, 2012 12:00 am Georg Christoph Lichtenberg

http://www.quotationspage.com/quotes/Georg_Christoph_Lichtenberg

"There are people who think that everything one does with a serious face is sensible."


Leave a comment

qotdrssMay. 15th, 2012 12:00 am Anonymous

http://www.quotationspage.com/quotes/Anonymous

"If we don't succeed, we run the risk of failure."


Leave a comment

daily_sniggleMay. 15th, 2012 12:00 am Sniggle of the Day - 5/15

http://www.sniggle.net/

May 15, 2001: Kaycee Nicole Swenson, courageous young cancer sufferer and internet celebrity, passes from fiction to the grave. (See Fake Folks for more info)

Leave a comment


gentlescholar
May. 14th, 2012 11:09 pm A small insight about programming

I've noticed that even though I am highly logical and attempt to be rational, writing a computer
program often frustrates me enormously and even enrages me. I know I'm not the only one, either.
I think I've just realized why.

Programming is a highly concentrated challenge in facing and accepting reality.

"It should work!" is an utterly useless thing to say, and yet I and others say it, when baffled
by unexpected consequences. The computer did exactly what it was told to do; the world
has not turned conscious and malicious; the laws of logic have not been repealed. Therefore,
the program does not do what I thought it did. Accept that, deeply and fully. Toss aside any
feelings like, "it's not fair!" because that is an incredibly useless thing to think and feel.
Look at the reality, and go on from there.

Look at reality, and go from there.
I can't even call that wisdom...more like a remedial prerequisite for sanity.
But it's worth repeating as long as it is shaky in the slightest in my mind.

2 comments - Leave a comment


moominmolly
May. 14th, 2012 05:22 pm best mother's day ever.

Yesterday, I:

  • Had a hot breakfast-in-bed made by two small girls without adult supervision
  • Ate brunch at 3 Little Figs
  • Put in some sweet LED lightbulbs, restored the hidden reading nook to its former glory, and sorted the mail
  • Snuggled my kid while watching dorky TV
  • Discovered a magically squeaky clean kitchen had replaced the previous one while I was lounging
  • Took the aforementioned girls out to Roller World for some skating, and got a lot of time skating solo
  • Practiced skating backwards, a skill I never picked up
  • Walked in the Fells with the girls and [info]dilletante and [info]jojotbird
  • Explored PANTHER CAVE (which was epic)
  • Went out for bedtime drinks with [info]redheadedmuse
  • Came home and enjoyed my marital privileges


...yeah, that's basically the best mother's day I've had in more than a decade. I'm a lucky lady.
Tags: , , ,

7 comments - Leave a comment

daily_wtfMay. 14th, 2012 01:00 pm Coded Smorgasbord: FAIL FAIL,FAIL FAIL,FAIL FAIL and More

http://thedailywtf.com/Articles/FAIL-FAIL,FAIL-FAIL,FAIL-FAIL-and-More.aspx

"We're had been using a manufacturer's web service, but started getting errors all of a sudden," wrote Peter Lindgren. "Something has really, really...

Leave a comment


seanan_mcguire
May. 14th, 2012 08:00 am Announcements from Deborah!

(As always, this was written by Deborah, who is awesome and amazing, and can answer all your questions.)

Alright, guys, here we go:

YOU NOW HAVE FIVE DAYS TO PLACE YOUR ORDER FOR A WICKED GIRLS SHIRT.

Orders close this Friday, May 18th, 2012. At 11:59 PM PST, just to make it all official.

Now, to crib from my earlier announcements:

Everyone who has confirmed their Wicked Girls shirt order has been sent a final invoice with payment instructions.

There are currently a few people who have not confirmed their orders; you have until May 18th to do so.

Everyone who placed an order for a Wicked Girls shirt—and had that order acknowledged—should have received an order confirmation email.

If you did not receive a confirmation email, please do the following:

1. Check your spam filter. (Related, please make sure seananmerch at gmail is on your approved senders list.)
2. Check your comment on the original post and make sure I didn't need more information from you.
3. Check your comment on the original post and make sure there are no typos in your email address.

If you're missing the email and I need either corrected or more information from you, please respond in the comments on the original post. (Not this post. The original post.)

DO NOT send unsolicited email to the seananmerch email address. Unless we are already in contact, it will get lost in the shuffle for quite some time.

Thank you!

Current Mood: busybusy
Current Music: Halestorm, "Daughters of Darkness."

5 comments - Leave a comment

twentysidedtaleMay. 14th, 2012 09:47 am Project Octant Part 7:Slopes

http://www.shamusyoung.com/twentysidedtale/?p=15892

ShamusNow that we have a world based entirely around the idea of cubes, you know what we need? Slopes. This is something that’s been on my mind for ages. I’ve run around the Minecraft landscape and wondered, “What would this look like if the cubes could slope to form beveled outlines?”

Slopes aren’t really a foreign idea to an octree-based world. Minecraft has steps, which are basically slopes for the purposes of blocking light (they don’t) and collision. I want to take this one further and make slopes a part of the natural landscape. Like a lot of the stuff with this project, I’m not sure how well this will work out.

The trick here will be that the software needs to be able to look at a landscape and figure out which blocks should be turned into ramps, which ones should be turned into corners, which ones should remain cubes, and which way the slopes should face.

First, I need to set some parameters:

  1. Slopes should happen automatically. I’m picturing some sort of special block that has auto-sloping properties associated with it. For my tests here, I’ll be doing it on grass, but I imagine it would also apply to sand, gravel, and that sort of thing. I’ll be calling these blocks “soft” blocks. So now there are three states for a cube of space: It’s either solid (like stone) soft (like grass) or empty. (Like, air, see?)
  2. No deep analysis. When analyzing which way to slope, individual blocks can only examine their immediate neighbors, and not look at more distant blocks. Two reasons for this: First, there’s a tiny bit of overhead to looking up blocks. Alone, it’s not a big deal. But if every soft block needs to look two or three spaces away, then we’re talking about a LOT of lookups. Also, if the orientation of a block can change based on stuff happening three blocks away, then this might lead to madness and confusion for a player. Example: You change/remove a block in front of you, and 3 meters away a bunch of landscape suddenly changes. Yuck.
  3. Soft blocks must be blind to the orientation of other soft blocks. I want to orient all soft blocks in a single pass. If block A needs to know what block B is doing (is it sloping away from me? Towards me?) then that means I need to do block B first. But what if B isn’t done yet? What if B is waiting on C? What if B doesn’t exist yet because it’s on the edge where terrain is still being created / loaded? Since we’re doing this with an octree, we can’t count on blocks appearing in any particular order.
  4. These slopes are only for making hills. Walls will still run at ninety degree angles and we’re not going to slope ceilings. While it might be kind of interesting to make some kind of NURBS-based scenery, that’s not what I’m after today. Still, that would make for an amazing experiment. It’s insane how, over a year after Minecraft became a mega-hit, we’re still not seeing more people at least play around with these ideas. I think you could spend a year pumping out different octree-based cube prototypes and still not see everything this technology has to offer. I mean, check out Sea of Memes, where Michael Goodfellow was remixing Minecraft like a DJ. You could read through that series and run off with half a dozen game designs.

The solution I came up with is that the program will make one quick pass over the scenery. It looks for soft blocks.

Overhead view. Green = soft blocks. Red=hard blocks. White = empty space. It looks like this:

I apologize for how hard it is to make out shapes. This will stop being a problem once we have proper lighting.

It examines each soft block. If there’s another block on top of it, it’s marked as solid. If it’s surrounded on four sides by other blocks (soft or solid) then it’s marked as solid.

Now it runs through the soft blocks again, this time making them “lean” against any nearby solids.

This was kind of crazy. I spent a lot of time experimenting with rules for which blocks would slope, and under what circumstances.

Sadly, I got pretty wrapped up in the process and forgot about taking screenshots, so I can’t show you all the ways that this went hilariously wrong and stupid and was broken in ways that I hadn’t even considered. Here’s one example:

Two opposing slopes wound up next to each other. The resulting gap in the scenery lets you see through the ground to the… lava. (Disclosure: Not really lava, from a gameplay perspective. I just re-colored my checkerboard base with a lava texture for fun, and found it was super-helpful in letting me spot gaps in the terrain at a distance.)

Remember that when slopes are being created, they can’t query each other and see which way the others are facing, because those other slopes might not be in position yet. I could have it look for neighbors that have been set, but that would create relationships that are difficult or impossible for the player to understand. You’d wind up with stuff like, “If you’re building on an odd-numbered block on the world grid then the south-most or west-most neighbor dictates which way the slope will go, while on even-numbered blocks you’ll get…” And so on.

The upshot is that if slopes are decided by looking at neighbors, then a player would be able to build the same exact arrangement of blocks in 4 different places and end up getting 4 different results, depending on where their structures fell on the world grid and the powers-of-two scale. Madness. No, if this is going to work, then soft blocks have to make their decisions without regard to what other soft blocks are doing.

Not to keep you in suspense, I do manage to come up with a working set of rules that produces slopes and (so far) doesn’t seem to leave holes in the terrain. The result is a set of rules that is so complicated I can barely follow them. If I have to come back to this in six months I’m going to hate myself. Here is my little test scene, now with slopes:

Here is what that looks like in my example drawing:

Note the block in column 4, row 3. That’s an inside corner. To give you an idea of the complexity involved, here are the rules controlling this block:

  1. The northwest block must be empty.
  2. The north and west blocks must be soft. (We can’t know which way they’re facing, but we know they’re soft.)
  3. The northeast and southeast blocks must be non-empty. (Solid or soft.)
  4. The east, south, and southeast neighbors must be solid.

In code, it looks like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  //The diagrams below represent this cell (center) and the cells directly
  //adjacent to it.
  //# Indicates a cell that MUST be solid.
  //@ Indicates a cell must be non-empty. (Solid or soft.)
  //x Indicates a cell that MUST be empty.
  //? Indicates the contents of the cell are ignored.
  //S The cell MUST be soft.
 
  //    xS@
  //    S/#
  //    @##
  if (cell[C_NORTHWEST].Empty () && cell[C_NORTH].Soft () &&
             !cell[C_NORTHEAST].Empty () && cell[C_WEST].Soft () &&
             cell[C_EAST].Solid () && !cell[C_SOUTHWEST].Empty () &&
             cell[C_SOUTH].Solid () && cell[C_SOUTHEAST].Solid ()) {
    facing = FACING_NW_INNER;
    //etc... 
  }

Yes, those comments are really part of the code. The code on lines 13-17 might be the most complicated conditional statement I’ve ever personally written.

In practice, the world looks like this:

(Ignore the stray single floating blocks. I built those as part of my testing / screwing around process.)

Was it worth it? I dunno. It’s kind of different. I think the gameplay fares better than the visual aspect of the thing. You can run up and down these hills without needing to hop like Q-Bert, which makes getting around kind of fun.

Leave a comment

qotdrssMay. 14th, 2012 12:00 am Franklin D. Roosevelt

http://www.quotationspage.com/quotes/Franklin_D._Roosevelt

"It is fun to be in the same decade with you."


Leave a comment

qotdrssMay. 14th, 2012 12:00 am Adrian Mitchell

http://www.quotationspage.com/quotes/Adrian_Mitchell

"Most people ignore most poetry / because / most poetry ignores most people."


Leave a comment

qotdrssMay. 14th, 2012 12:00 am Sir Arthur Conan Doyle

http://www.quotationspage.com/quotes/Sir_Arthur_Conan_Doyle

"...when you have eliminated the impossible, whatever remains, however improbable, must be the truth."


Leave a comment

daily_sniggleMay. 14th, 2012 12:00 am Sniggle of the Day - 5/14

http://www.sniggle.net/

May 14, 2001: Guerrilla artists in Boston unfurl 5,000 feet of sod on a Boston bridge to protest the relabeling of sidewalks and streets as “open space.” (See Guerrilla Hacks for more info)

Leave a comment


punch_an_pie
[ scribblemonkey ]
May. 14th, 2012 12:21 am comic for 5/14/12

is now up


1 comment - Leave a comment


ae_stories
[ alexandraerin ]
May. 13th, 2012 01:10 pm Tales of MU 2-87: The Cold Front

Story link.

1 comment - Leave a comment


ghilledhu
May. 13th, 2012 07:38 am Back Yard 1, Lawnmower 0

The battery-powered mower proved insufficient to take on the jungle that is the back yard. Given the frequency with which the back yard becomes a jungle, this means the lawnmower will need to be traded in for a more powerful model. This means a gas mower, which I had really not wanted. But if the current mower doesn't fill our needs, there's no point keeping it. So, back to square one. Gas mower will need to have an electric starter, as I am incapable of starting the pull-cord variety.

Current Music: "I fought the lawn and the lawn won"

1 comment - Leave a comment

qotdrssMay. 13th, 2012 12:00 am Charles M. Schulz

http://www.quotationspage.com/quotes/Charles_M._Schulz

"That's the secret to life... replace one worry with another...."


Leave a comment

qotdrssMay. 13th, 2012 12:00 am Edgar Watson Howe

http://www.quotationspage.com/quotes/Edgar_Watson_Howe

"Americans detest all lies except lies spoken in public or printed lies."


Leave a comment

qotdrssMay. 13th, 2012 12:00 am Vince Lombardi

http://www.quotationspage.com/quotes/Vince_Lombardi

"If you aren't fired with enthusiasm, you will be fired with enthusiasm."


Leave a comment


metaquotes
[ corinn ]
May. 12th, 2012 10:46 pm covering all your [citation] needs

( You are about to view content that may not be appropriate for minors. )

3 comments - Leave a comment

daily_sniggleMay. 13th, 2012 12:00 am Sniggle of the Day - 5/13

http://www.sniggle.net/

May 13, 2003: Microsoft first denies, then sheepishly admits to reports that it had designed an internet-ready toilet called the iLoo.

Leave a comment

twentysidedtaleMay. 12th, 2012 10:44 pm Alan Wake EP12: Murder and Coffee Thermoses

http://www.shamusyoung.com/twentysidedtale/?p=15889


Link (YouTube)

JoshAnd the (very late) final episode of the week. Fortunately, it’s completely topical and we don’t spend fifteen minutes driving cars into trees.

Leave a comment

twentysidedtaleMay. 12th, 2012 08:09 pm Josh Plays Shogun 2 Part 19: Holding it Together

http://www.shamusyoung.com/twentysidedtale/?p=15885

JoshYes, it’s finally back! After gathering vital intelligence at PAX and fighting off the vile ninja minions of Rutskarn, Oda Nobunaga has finally returned to conquer Japan! Now let’s see, where were we? Oh yes, we fought some siege battles, had half of Japan declare war on us (including the largest and most powerful clan in the entire country, the sea-ruling Mori) and extended our domain to the doorstep of Kyoto and the ruling Ashikaga Shogunate.

Oh yeah, and we converted to Christianity so we could crash our entire economy and insult every other clan on the island for the slim chance that we can build some European-style galleons to stop the inevitable Mori naval invasion before it happens.

If our own citizens don’t get us first.

Let’s take a look at one of our individual provinces so I can better explain how this whole religion conversion process works.

Here we can see a complete breakdown of our capital, Owari, from its food production to income. Notably, you can see that the old Shinto-Buddhist religion is declining in favor of Christianity at a rate of about 3.1% per turn. This is more or less consistent with the conversion rate across the entire clan. The “zeal” it mentions (“Christian vs. Buddhist zeal: +4.0”), is – I think – supposed to increase the rate at which people in that province convert, but I’m not sure it’s ever worked right. Or if it does, it doesn’t increase the rate very much, since Owari has a Naban port and thus a fairly high zeal modifier.

But Owari’s had a number of turns to convert to Christianity – people have been converting ever since we finished the port – and isn’t in any serious danger of revolt.

Let’s have a look over at neighboring Mikawa to get a better idea of how bad things are going to get.

With only a season since our conversion to Christianity, only 2.8% of the population has converted here. Additionally, you can see how mad the Buddhists are already getting. If you look at the Public Order section in the center, you can see one icon in the negatives bar of two hands clasped in prayer. This represents people in the province that are unhappy because the clan religion differs from their own. You can also see that another point of that unhappiness is predicted next turn. This is a problem, since Mikawa is only barely under our control: the positive side, repression – is currently equal to the negative side. If unhappiness overtakes repression, the province will be in danger of revolt.

It will actually take a bit longer for this to become a problem for Mikawa, since upgrades to the province’s castle will be finished next turn which will increase repression. Additionally, if things get really bad, I can exempt the province from taxation altogether, which will greatly reduce unhappiness, but of course, cost me all of the income I’d get from taxing the province.

And things are going to get a lot worse before they get better, too. When the dominant religion in a province is not the clan religion, religions unhappiness will increase quite quickly. When it’s as dominant as it is in most of our provinces, it increases at a rate of one point per turn. This isn’t an “if” it’s a “when”. Very soon, I will have to exempt most of my provinces from taxation, and then we’ll have to see just how robust our economy is.

In the mean time – HEY LOOK, MORE DECLARATIONS OF WAR!

Funny story behind this one. Last turn I requested trade with this clan. They accepted. This turn, they broke the trade agreement. And now at the end of the turn, they’ve declared war on me. Swell. Fortunately, they control only two provinces and are hardly a threat.

Hey, remember that son I used as a hostage bargain to get the Date to ally with me? The one I said would never come of age in time to do anything useful? Yeah well… I’m a terrible dad.

The Ikko Ikki seem to be diverting their forces in an attempt to counter-attack our recent offensive into the region around the capital. The large army to the northeast could be an ominous sign – I literally can’t take a single new province without triggering realm divide now, so there’s no easy way to close the defensive hole that Omi represents, and Nobuyuki could be in trouble without assistance if that army heads south. Rather than let them destroy my army in small pieces, I’ve abandoned my garrison in Iga and pulled Nobuyuki back towards Yamato.

I’ve also begun to recruit Christian missionaries at the churches I’ve been building. Missionaries are the Christian counterpart to Monks and perform the same functions – they spread their religion to any province they’re in, as well as increase the conversion zeal (whatever that does) and slightly increase the happiness of local citizens. They can also demoralize armies, cause other characters to rethink their chosen path in life, and most devastatingly, incite religious rebellions in neighboring provinces. Although that’s a little hard to do if there aren’t any Christians in a province, isn’t it?

For now they’ll be sticking around my provinces, increasing happiness and helping to convert the rest of the clan to Christianity.

Huh, that big Ikko Ikki army turned east instead and marched right towards Owari…

And if you’re wondering what they’re going to do to a castle with all of that cavalry, then… so am I. That kind of army would be deadly on an open field – like, say, chasing down Nobuyuki and his army while he regroups. Naturally then, the logical course of action is to attack the heavily fortified Oda capital with it instead.

Most of the enemy army focuses on fording the river on one side of the castle, which gives my matchlock ashigaru plenty of time to shoot up the advancing enemy infantry.

A contingent also attempts to climb the adjacent wall, but one of the fun things you can do with ninjas on defense is put them on a wall and order them to throw their bombs down on the enemy as they try to climb.

Between my ninjas, matchlocks, and spearmen, most of the enemy infantry is crushed. But look out! Here comes the cavalry.

The… dismounted, low morale, badly trained cavalry that’s climbing the walls while my matchlocks shoot their general. So I guess the answer to the question about what the cavalry will do is, “Not a whole damn lot.”

As the last enemy units flee, I send Nobunaga outside and have him scare off all the horses – just for fun. Look at them all scatter!

You know, close victories happen too often in this game. If that wasn’t a decisive victory, I don’t know what is.

Ambush! No, that’s not me being ambushed, that’s me ambushing an enemy by accident. You can hide your armies in forests on the strategic map just like you can hide your units in forests in battle. If any enemy army walks too close, you get the opportunity to ambush them, which gives you a huge deployment area on the battle map and generally leaves them deployed in a very disorganized fashion.

Thing is, I’m much too proactive and aggressive as a general to ever actually just leave my armies in forests and wait for some unsuspecting enemy army to wander by, so I’ve only ever fought one or two of these before and don’t really know exactly what to expect. Plus, this guy has a lot of swordsmen and I could easily find myself getting chewed up by them, so I’m just going to decline to attack and let them wander by without revealing myself.

Bringing the garrison from Yamato to help allows for an easy, auto-resolve win anyhow.

After finishing off the last remnants of the Ikko-Ikki army that attacked him last turn, Oda Nobunaga has leveled up to rank three. Just one more level and he can get Stand and Fight and win at everything.

Our economy is already starting to feel the effects of all of this religious unrest. Fortunately, we’ve finally made contact with the very last clan we hadn’t yet met before. And they also happen to be the one and only other clan in the entire nation that’s converted to Christianity. Considering they’re right in the middle of Mori territory, that they’ve survived this long is a feat in itself. They’re eager to trade, which should help to alleviate some of our tax problems.

Since Taneyori decided to make me look bad and come of age in time to do something useful, I decided to send him after another small Ikko-Ikki army trying to sneak through the forests north of Owari.

He somehow manages to lose more men than the enemy while forcing them to retreat.

The Honma – the clan that accepted and then canceled a trade agreement with me over the period of a single turn back at the beginning of this post – have also decided to make their bid at attacking us, bringing a force consisting of… mostly archers to attack our northeastern border. The results are predictable, and Takayama Tadamoto wastes little time cutting down the entire thousand-man force.

I’ve been watching Mori fleets pass by our trade route with the Sagara and Chosokabe clans to the west since we formed them, and now they seem to be heading in our direction. We’re still upgrading our port to a full Nanban Quarter – the only port large enough to construct galleons – and I doubt we’ll finish it in time to stop their initial offensive.

There is one other ship I can build that might give the Mori pause – the Siege Tower Bune. These aren’t particularly large ships, but they have tall towers built atop their decks where arquebusiers can rain down fire on approaching enemy ships. This is extremely advantageous, as most other ships in the game are manned with archers and not gunmen, and arquebuses can deal a lot of damage to other ships, even to the point of inflicting serious damage to their wooden hulls. The few I can build in the time I have left probably won’t be enough to halt the Mori navy, but they might be able to slow them down.

But at this point, that might be the least of my worries. The Mori have expanded so far eastward that they’ve actually made it to Kyoto with one of their more experienced armies.

They waste very little time taking the lightly defended Ikko-Ikki provinces, and continue directly towards Yamato. I never expected this would happen, but it looks like our first encounter with the Mori is actually going to be over land, not sea.

Leave a comment


physicsophile
May. 12th, 2012 05:09 pm optics notes proceeding

One dense page of notes has gotten me up to page 49, nearly through chapter 2.  It is interesting and I am learning a lot.

Also, at random I got a textbook at a yard sale, "Introduction to Materials Science and Engineering."  It looks like fun.  If it weren't
so heavy I might read it as a novel.

I should get a decent book stand so I can type while reading (for example) the optics book.

Tags:

Leave a comment


pookiegroupie
May. 12th, 2012 04:35 pm Colbert

Originally posted by [info]scarybaldguy at Colbert

Originally posted by [info]mountain_hiker at Colbert




Seriously, what kind of jackass thinks it's perfectly OK to deny other people happiness when that happiness does not in any way negatively impact them?

Leave a comment


ghilledhu
May. 12th, 2012 12:05 pm Double Feature

I finished my emergency assignment for the Secret Project on time yesterday, and [info]darthsatyr had a rare night off last night, so we headed to the drive-in for a nice, pulpy double feature of The Avengers and John Carter.

Everything's probably already been said about The Avengers - exciting, funny, great character work. It suffered a bit from excess Whedonism, and there was one very uncomfortable shot of a New York skyscraper starting to collapse - thankfully, they cut away from it very quickly. I don't think I'll ever be okay with seeing skyscrapers pancake in on themselves, even in movies. I was surprised at how much I enjoyed Ruffalo's Banner/Hulk, since I'd been disappointed that Norton wouldn't be returning. Also, I spotted Alexis Denisof's name in the credits, but didn't remember seeing him - can anyone tell me who he played?

John Carter was an unexpected treat. It was a bit overly long and dragged in spots, and it would have been nice if Mars had been redder. But overall it was a fun salute to early space opera and I think it was very poorly served by its marketing. A good campaign would have focused on John Carter being the first SF action hero, and left Mars in the title, fercryinoutloud! (Note to studios: Mars Needs Moms didn't flop because the word "Mars" was in the title - it flopped because it was abysmally bad!) Also, Willem Dafoe as a green dude is always cool.

I'm glad I got a chance to see John Carter on the big screen. Frankly, pairing it up with The Avengers was brilliant on the part of the drive-in - even if people didn't stay for John Carter as we did, the theater still got the money for it, and there was no way they weren't going to sell a ton of Avengers tickets.

Tags:

Leave a comment


ljmobile
[ livejournal ]
May. 12th, 2012 06:00 pm Updated LiveJournal app for Android, v. 0.3

We are glad to announce a new version of the LiveJournal client for the Android platform.

With the latest version of the application you can:

  • read your friends page;
  • manage your friends' list ;
  • read comments and participate in discussons;
  • read journals and communities.

With the next update, we plan to improve Facebook and Twitter integration, bring LiveJournal ratings to your device and more.
You can leave your feedback and suggestions in the comments to this post. For technical support issues, please contact the LiveJournal support team.

60 comments - Leave a comment

qotdrssMay. 12th, 2012 12:00 am Friedrich Nietzsche

http://www.quotationspage.com/quotes/Friedrich_Nietzsche

"The man of knowledge must be able not only to love his enemies but also to hate his friends."


Leave a comment

qotdrssMay. 12th, 2012 12:00 am Neil Gaiman

http://www.quotationspage.com/quotes/Neil_Gaiman

"It has always been the prerogative of children and half-wits to point out that the emperor has no clothes. But the half-wit remains a half-wit, and the emperor remains an emperor."


Leave a comment

qotdrssMay. 12th, 2012 12:00 am George Iles

http://www.quotationspage.com/quotes/George_Iles

"A superstition is a premature explanation that overstays its time."


Leave a comment

daily_sniggleMay. 12th, 2012 12:00 am Sniggle of the Day - 5/12

http://www.sniggle.net/

May 12, 2003: 59 members of the Texas House of Representatives go underground or flee the state to deny the body a legal quorum and prevent it from doing business.

Leave a comment


mock_the_stupid
[ with_apostrophe ]
Apr. 30th, 2012 09:07 am Woolly Brain Syndrome

The Cutty Sark, the best surviving example of a tea clipper, was re-opened by the Queen last week. Just two days later, I went to see it.

After steam powered ships became more profitable for tea trading, the Cutty Sark carried other cargoes. One of these was wool from Australia. To illustrate this, one deck had some wool bales, which measure about 5x4x4 feet, and had some facts about wool printed on the side. One such fact was that one fleece could make 8 sweaters.

I overheard this conversation:

Mother: Wow! This entire container of wool makes just 8 sweaters!

Daughter: No, one fleece makes 8 sweaters. This is a bale. It contains many fleeces.

Mother: Still, it doesn't seem right. All those sheep dying just to keep people warm!

At this point an employee jumped in to correct her, while her daughter shook her head in disbelief.

 

12 comments - Leave a comment


mock_the_stupid
[ fpelayo ]
Apr. 29th, 2012 07:15 am

Dumbass siphons gas from a cop car & posts a pic of it on Facebook. Can you guess what happens next? XD




While the siphoning photo has been removed from his Facebook page, Baker yesterday updated his 380 friends on his legal problems. “just got out of jail,” he wrote in one post, adding later that “yea lol i went too jail over facebook.” Responding to a friend who had not seen the image before it was yanked, Baker assured, “yea lol u would just have to seen it it was funny as hell tho.”

21 comments - Leave a comment

Back a Page