Blade Edge

Computer software | Video production | My life in general

Blade Edge main header

Star Wars Exhibit

March 17th, 2008 · Personal

Transposed from Gaiiden’s Scroll

I went to the Franklin Institute in Philadelphia on Saturday – it’s about 1:45mins away from my house. They had a Star Wars exhibit on display through May featuring numerous props, models and costumes from the entire series. Its title, “Where Science Meets Imagination”, was put to use as stations within the exhibit that let you build robots and small LEGO maglev trains, as well as a augmented-reality game where you placed tiles and on the screen they would be transformed into 3D buildings as you built a Rebel base or a Jawa trading camp. I didn’t really play around with any of that though – photography was completely allowed so I spent all my time wandering through the displays taking tons of photos, which you can see in the album linked through the above image.

In addition to the Star Wars exhibit they had a life-sized replica of the Millennium Falcon cockpit and corridor. At least, that’s what they advertised. The corridor was rather authentic but the cockpit was more of a facsimile than a true replica. But they had a large concave screen and merged projectors to create very believable view of outer space as you flew around a bit and listened to Anthony Daniels talk about exo-planets. The screen was very well-done and whenever your perspective changed you felt like the cockpit really was attached to a ship that was flying around (there was no tilting or rolling but technically in the Star Wars universe inertial dampeners would have prevented us from feeling those motions anyways if they were cranked up to “comfortable” levels). The cockpit also had a very well-done 3-dimensional sound space. It was too bad the whole “ride” lasted only like, 2.5 minutes. Which I can understand seeing that the cockpit only seats 4 and holds at max 6-7 so you have to cycle people rather quickly – but still 😛

It was nice to return to the Institute, a place I haven’t been since the days of school field trips. A lot changed obviously. One feature I didn’t get a chance to visit that I’m partially devastated about was their huge perpetual ball machine. It’s this gigantic enclosed case like 10′ tall, 5′ long and 3′ wide that houses marble tracks and funnels and trampolines and all sorts of stuff and the marbles start at the top and bounce/roll/swing/fall/loop down to the bottom through a variety of paths, where they are collected and transported back to the top. It’s fascinating to watch and used to be located in the main foyer, but they since re-located it to the top floor dubbed Issac’s Loft (figures, since the main element to the machine in none other than gravity) and I didn’t make it all the way up there. I’d go back just to see that. Oh well.

Busy week ahead, although I’m off from coaching this Friday and next week for spring break. w00t! Got lotsa personal stuff I wanna catch up on. Can’t wait. Gotta get some sleep for now tho.

→ No CommentsTags:

I’m busy

March 14th, 2008 · GameDev.net

Transposed from Gaiiden’s Scroll

Yea. So I slept in on Thursday till like, 3pm so to make up for lost time I stayed up until noon today and then slept for about 4-5 hours. I’ll prob be up till around 4am tonight. I have to finish reviewing ~600 articles. Can’t say why yet, but hopefully it’ll turn out good.

In the meantime, since there’s obviously nothing to read here, you can find all sorts of cool stuff to read in my new weekly editorial feature: Weekend Reading: Tales from Journal Land

Have a great weekend…

→ No CommentsTags:··

GDC Postmortem

March 10th, 2008 · GameDev.net

Transposed from Gaiiden’s Scroll

With my GDC coverage complete, it’s that time of year again to look back at this past GDC and reflect on all aspects in order to be ready come next year.

The Good

Whoo hoo! Press-only wifi in the press lounge! Finally! The connection was so fast and constant that it was the one place in the conference I could remote connect to my desktop at home to check my email. Posting things from the press room was a no-hassle deal this year, at long last.

The Expo was consolidated in the expansive North Hall this year, instead of being split between North and West. Hells of a lot better, since last year I would have a press briefing in West Hall and then have to hoof over to North for another press briefing. What a pain that was. They also kept the Career Pavilion separate from the Expo in West Hall which was great because the Expo itself was less crowded and more focused but on the minuscule downside that meant all the cool graft was located elsewhere.

Hahaha – ping pong balls. I didn’t hear as much buzz about them as I did with the gum last year, but I did hear a few mentionings about the coolness. At one point while on an escalator going down one bounced past me between the two escalators, and Tobi Saulner used em for Katamari starters at the IGDA booth.

Not having to worry about a kiosk or booth to staff really kept us unshackled this year, and I don’t think any of us missed it or feel that we missed out on any opportunities because we didn’t have it.

At the annual AI Dinner, I announced GDNet’s donation of $550 to the Eric “Geta” Dybsand Scholarship Fund (part of the IGDA Foundation), and handed out a bunch of GDNet “I Make Games” t-shirts, which everyone wanted but not everyone got. That was fun.

The Game Developers Choice/IGF Awards were awesome. Again.

The Bad

Although the wifi press access was awesome, it obviously was only in the press lounge. This wouldn’t be a terrible issue if the press lounge wasn’t located at the top floor, way in the back corner of Moscone West. It actually would have been a bit farther back if the Game Connect expo had not been taking up the rear half of that floor. Sequestering the press lounge made it a pain to pop in between sessions and take advantage of the wifi. If they could locate the press lounge in a more central location, or even set up a satellite lounge at Moscone North, it would have been even better.

Not getting to see and spend time with everyone that I wanted to was regrettable as well. It’s nice knowing so many people but not so nice when you don’t get to see them all or all that often.

I didn’t get a chance to try out the Emotiv neuro headset.

The Ugly

Besides the weather, which was crappy more often than not during GDC week, this was a pretty damn good year all things considered. I find that comforting.

What I Did Right

I made sure to leave some open space in my schedule each day for any opportunities that arose at the conference, which let me sit down for a talk with Introversion and several other people whom I didn’t schedule time for in advance.

My photos this year were better than last, especially the awards show ones. I became a lot more comfortable with the manual focusing. I still had some issues with blurriness and improper lighting. I need to practice some more and maybe sign up for a seminar or something as well.

The way we handled the coverage this year, which I planned for last year, really helped us stay on track better and not be overwhelmed by the conference until after we got home, which was more manageable. At the same time it may have maybe let us all take on a bit too much than we could handle after getting back home and trying to summarize everything.

What I Did Wrong

I counted on wireless access too much while at the conference and the hotel (which didn’t have a LAN port even though I remembered to bring a cable). Having to still go to specific areas to get online crippled me in several ways. Plus, none of the connections except in the press lounge were fast enough to let me log into my desktop to check my email, despite minimal remote connection settings. Even resorting to web-based email was bad thanks to all the spam (which my desktop filters). I also didn’t keep up with my promise to Twitter regularly – I didn’t activate my Twitter mobile access until practically the last day, which I knew wouldn’t be hard to do yet I still waited anyways.

I still don’t know how to properly utilize a digital voice recorder. I left it on its default settings all week long, when I definitely should have changed the microphone sensitivity. Set on High, it picked up way too much of everything. The sessions had horrible echo acoustics that made them hard to understand, and interviews in crowded areas were practically drowned out. Plus, my cell phone seemed to interfere horribly, causing intermittent buzzing static that made the audio indecipherable.

I totally mis-judged the work load I would have upon returning home thanks to the Indie Games Summit. A full-day seminar on a single topic is fairly easy to summarize, however the Summit featured numerous topics each day, and each required its own unique summary – two of them even topped 3,000 words!

I screwed up my scheduling by slotting things in the week the schedule was released – but I guess it wasn’t “finalized” because when I got to GDC several of my sessions had been shuffled around. I’ve never had this happen to me before even though I know they hand out addendums when the conference starts. First time for everything.

What I Want To Do Next Year

Feedback and discussion on coverage is always valuable to us and the rest of the community, but it’s never been prominent in our coverage. Next year I’ll remember to tell Richard to work the comments directly into the article/picture pages at the bottom so that they are more visible and hopefully lead to more discussion.

RSS feed for the coverage updates. I’m not a big RSS user still so I never thought of this until Simon Carless from Gamasutra asked about it.

Take my DVR to a crowded area (like the mall) with a friend and sit down and talk, recording for a few minutes on different settings, then repeat the process in a quieter area and check the results so I’ll know better what level of sensitivity to set the mic (I’ll most likely do this before my next conference though). Oh and I’ll also turn off my phone during sessions, or figure out how far away from the recorder to keep it so I don’t get interference.

I want to cover the Indie Games Summit again, but I’ll be much more picky about attending sessions from Wed-Fri so I don’t over-extend myself again.

I’m definitely investing in an AirCard or similar device to hook up to the cellular network on my laptop when I can’t access any wifi points. Again, this’ll probably happen before next year since I have more conferences to attend.

Totally double-checking my schedule the week before and then again at the start of GDC to make sure that my sessions are still listed properly.

What I’m Looking Forward To Next Year

Hopefully taking another student scholar under my wing. This year was great getting to guide someone around, and even better that he didn’t need a whole lot of help from me while actually at the conference. It was an experience I enjoyed greatly.

A scaled-down press corps. They’re saying that GDC will definitely be invite-only for press next year, which I hope will make it easier for the press management team at GDC to provide services for us in attendance. I’m interested to see how this turns out, and how many people we’ll be allowed to bring next year. Looking at our coverage so far though, I think we’ll be fine.

More real-time updates via blogging/twitter/etc. I expect us all to be equipped with AirCard-like support (or maybe even able to access some sort of WiMAX by then??) so that logging in to post updates and even live-blogging will be possible at all times.

Finally, being able to attend the GDC in March again! February SUCKED!

What do you think?

If you have any comments on our coverage, please post them below!!

→ No CommentsTags:·

Bleh – allergies!

March 5th, 2008 · Personal

Transposed from Gaiiden’s Scroll

I stayed in bed allll day until I had to coach at like 4pm. It was just a horrible, groggy, light-headed feeling when I tried to get up. So I lay prone and slept it off as best I could, and then forced myself to get out of bed. It wasn’t until the mucus started gushing out of my nose while teaching classes at the gym that I realized the unseasonably warm weather these past two days must have triggered my allergies. The only constant is extreme grogginess and a faucet for a nose if I bend over too far. Sometimes I get a really bad sore throat, but luckily that doesn’t seem to happen much anymore. So I started popping the allergy pills as soon as I got home.

→ No CommentsTags:

A little more downtime

March 4th, 2008 · Personal

Transposed from Gaiiden’s Scroll

No GDC coverage today. Well, none that’s finished anyways. I got started but then diverted to other tasks. Had some minor backlog that was just annoying the hell out of me – simple stuff I just had to get done and out of the way so it would stop nagging me from the back of my head. I also posted up Rich’s third and final installment to the Creating Minimal Pixel Art with Photoshop series. Then I edited two articles – it’s nice to know that there’s plenty of good stuff to push onto the publishing queue. Then I flaked out and finished my Star Wars book (Revelation: Jacen’s downfall is so sweet) and watched Shaun of the Dead. I’m not hard to get laughing and there were plenty of constant giggles but I was hoping for a bit more on the uproarious side. Oh well it was still entertaining.

Last nite I fell asleep reading – fully clothed with the lights on and all that. Needless to say when this happens I never feel like I got a decent night’s sleep, so I’m off to bed a bit early to catch some decent Z’s.

GDC coverage for me returns tomorrow. Stay tuned!

→ No CommentsTags:

More Scheduling Goodness, Special Blocks Done

February 24th, 2008 · Software

Transposed from Gaiiden’s Scroll

Schedule Manager 2.0

I’ve improved upon the schedule manager, here’s the changes:

  • addObject now addFunction – Changed this to better clarify what this function is doing, and also because of the next item
  • Command execution – now you can call addCommand in order to schedule a one-line command to be carried out at the given time (example below)
  • Constructor/destructor – making use of onAdd and onRemove to handle some internal stuff (thanks bank!)

The coolest part is, of course, the ability to schedule commands now as well as functions. So for example if your player trips a trap that throws a flag and in 15 seconds you want that flag reset, instead of having to create a function to call to reset a single flag you can just do

Schedule.addCommand(false, 15000, "Trap.doorshut = true;");

Wheeee. Here’s the updated code.

Special Blocks Complete

All the special blocks are now working in the game. The ones I implemented today are

  • Vampire Block – lands on the stack and converts the three adjacent blocks to that player’s color
  • Swap Block – this block’s use can be two-fold. First, you can use it to steal the special block your opponent is holding. Second, whether you steal a block or not your swap block appears in his special block holder, and stays there for 30 seconds. Since the player stuck with the swap block can’t get another special block, it has a tactical use to prevent players from getting special blocks
  • Destruction Block – Lands on the stack and destroys every enemy block from the top to the bottom in a 3-column area (1 to each side of the center)
  • Mystery Block – Randomly morphs into any of the other special blocks when dropped
  • Randomizer Block – lands on the stack and changes the orientation of every block’s discharge arrows

Next on the list

My next goal is implementing chain reactions, which let you reach down into the stack of blocks to affect enemies buried beneath. I already have some cool particle effects planned out for this, should be awesome. I’ll also be adding particle effect explosions and other polish over the coming week, as well as breaking the game down into Timed and High Score game types with both Blitz and Direct game modes.

Phew, got a lot of work ahead of me…

→ No CommentsTags:·

Scheduling Goodness

February 23rd, 2008 · Software

Transposed from Gaiiden’s Scroll

So I finally got my damn schedule manager done – after two days *grump*. Mainly because I didn’t have much time to work on it, but also because of stupid bugs that were a bitch to uncover. I finally admitted to myself that I needed a schedule manager as the number of schedule() calls continued to pile up from various places in the game. When I go to pause the game, the main pause function was getting cluttered with having to cancel and store the remaining time of every scheduled event in the game. Ugh. So here’s what I have to manage it all.

Weighs in at 160 lines (with spaces and comments), so I’m pretty happy with it. Here’s an example of it in use

Schedule.addObject(false, %this, 1000, "takeSpecialAction", %type SPC %position);

this would be the same as saying

%this.schedule(1000, "takeSpecialAction", %type, %position);

In addition, you can also set the first argument to ‘true’ and the schedule manager will automatically loop that schedule call for you until you remove it.

Oh and just so I can reference it later (and for anyone else interested), this is a bad way to define a ScriptObject

new ScriptObject(Schedule) { appointments = new ScriptGroup(); };

I had that at the top of the file and it compiled fine but for some reason TGB then refused to recognize Schedule as a valid object. It took me a while to think that having it defined that way was causing problems. I have no clue why but TGB doesn’t seem to like it *shrug*

So yea, I converted all my schedule() calls to use the manager and now all I have to do in the main game pause function is say

Schedule.pause($isGamePaused);

And all the scheduled events are paused until the game is resumed. Whoo hoo!

Anyways besides that I added two more special block actions, the Drag Block, which slows down the rate at which your opponent’s blocks fall, and the Speed Block, which increases the rate at which your own blocks fall. Now I just have to fix this collision layering bug so that faster blocks can pass slower blocks while dropping towards the same spot without bumping each other until they reach the bottom – at which the block lowest ends up beneath the higher-up block.

I’d add more special blocks but I have to get up early to coach. Blargh. I’ll finish em up tomorrow.

Feel free to use my source code to help build your own schedule manager, I only ask for credit someplace.

→ No CommentsTags:·

BB Update, Demo Night V, GGE

February 20th, 2008 · Personal, Software

Transposed from Gaiiden’s Scroll

Blitz Blox Update

I coded the first special block action tonight, and it went very smoothly. The first block I implemented was the Clip Block. When a player deploys a Clip Block, it lands on the stack and then every single block residing in the clip of that player’s opponent is destroyed. Since player clips take 12 seconds to fully reload, that’s quite an impact! Here’s the code for the Clip Block.

As you can see, I take advantage of iterative function calling (sort of like recursion, but without the stack unwind) via the schedule function in order to destroy each block in the clip one a time, instead of all at once, in a single second and allow the game to continue to progress in the meantime. It works perfectly. I was going to make a video, but I’m going to wait until all the special blocks and the chain reactions are in before I do.

Demo Night V

It was good to attend a Demo Night for the first time in 5 years. I showed off Galaxy Conquest (then built with my SDL-based Katana Engine) at the original Demo Night back in 2002. Scheduling conflicts have hampered me ever since. But tonight I was able to get up to the city to see what my fellow developers are working on in the NYC area. The highlight of the evening for me was Large Animal Game’s Snapshot Adventures: Secret of Bird Island, since it was developed using TGB and also using TGB’s 3D modeling capabilities to great effect. I was also impressed by the editors they had made for the game as well. I’ll be posting full coverage of the event on GDNet sometime next week, so stay tuned for that!

GGE

Just a quick blurb that I continue to be impressed by the GGE site. It’s cool to find new features almost every time I login to fudge with my account (which is daily, for the most part), and they’re certainly listening to feedback I’ve been offering. If you’re not signed up yet, get up off your ass and join already. It’s a great resource for getting your name and your games out there for public consumption, helping other devs by commenting on their games and finding players for your games – to name a few! Just do it.

→ No CommentsTags:···

Good start to the week

February 19th, 2008 · Personal, Software

Transposed from Gaiiden’s Scroll

Blitz Blox Update

Well I knocked one of my ToDo items off the list tonight, and that was creating an order of precedence for how blocks interact. It used to be that when a block would land on the stack, it would only affect the block its arrow was pointing towards, and not be affected by any blocks around it whose arrow was pointing towards it. Now, if a block is dropping on the stack for the first time, it’s allowed to first affect the block it’s pointing towards and then the surrounding blocks get to take a shot at it (if their discharge arrows are aimed properly). If a block is already on the stack and is dropping lower because a block below it was destroyed, it will be affected by the surrounding blocks first, and then (if its still alive) get to attack the block its pointing towards. I also had to rework some code to make sure that, in scenarios where a block was being affected by blocks on both sides, only one point was given to the player towards earning a special block, and not two.

Next up is implementing the special blocks. Once that’s done I think I can do another gameplay video. w00t

Demo Night V

I’ll be in the city (New York City) tomorrow night attending Demo Night V for the first time in 4 years. I was at the original Demo Night (and in fact demoed Galaxy Conquest) but in the years since they’ve had it on Thursday nights, which wreaks havoc with my work schedule. This year it’s a Tuesday night, and that’s easier for me to work around. So I’ll take lotsa pictures, and probably write up a coverage article on it to post on the site. It’s grown to be a pretty big event for the area.

→ No CommentsTags:·

I am a Rockstar

February 17th, 2008 · Gaming

Transposed from Gaiiden’s Scroll

I jammed through Institutionalized, Miserlov, Hangar 18 and Freebird – the remaining 4 songs on Expert that had stumped me Monday night – in just over 3 hours. hot damn. And then I went back and started working through Hard again to bring up my stars. Now I have 5 stars on every song (bonus tracks not included) in easy and medium and up to the 6th set on hard. And before you ask if I’ve been a GH zombie all week long, I bought the game last Friday, played maybe 4-5 hours a day over the weekend, about 5 hours Monday, and then the 3-4 hours tonight. So while beating GH II in a week may sound like I don’t have a life, I really do.

….

Ok I really don’t. But that’s not the point here. The point is that I’m in the elitist ranks, and I’m happy about it. Where are my fellow Expert conquerors out there? Speak up! Make me feel small and insignificant!!

Or just bask in my glory. Whichever

→ No CommentsTags:·