Blade Edge

Computer software | Video production | My life in general

Blade Edge main header

The First IGF Article of Many

January 22nd, 2007 · GameDev.net

Transposed from Gaiiden’s Scroll

Got the first article of my yearly IGF interview series up and ready for public consumption, so go ahead and check it out. If you have any questions you’d like me to be asking these developers, let me know! I have two more interviews out for approval, editing up tomorrow the one I just did today and also conducting another one tomorrow morning as well. That’s 5 interviews in the bag over the course of 4 days, with 13 more to go (John took one). I think I’m finally starting to get the hang of this after 6 years I also took some time to reorganize the Interviews section of the Articles and Resources. Now instead of just having a huge list of interviews, anything non-IGF is categorized as a “General Interview” and the IGF interviews are in their own section and sorted by year. Much better.

And I added like 6 new books as well, and John posted up reviews for the 3 least recent of them. If anyone has a book they want added to the library, drop me a PM or an email or comment or whatever and I’ll take care of it for you pronto!

In case you missed it, GarageGames is partnering up with us to help get their new community endeavor, the Great Games Experiment, up and running. I’ve mentioned it here in my journal before, and it’s continued to grow quickly since then. I feel it’s going to live up to its promise, so definetly check it out, and be sure to join the GDNet Weenies group! Yes. Weenies. Get over it.

So I’ve got that game design treatment all finished, but I want to clean it up a bit more and add some structure to it before I post it. It’s more of a stream of consciousness format right now. It’s a concept I’m excited about though, as it melds several types of gameplay I like into what seems to me to be a fun package. But I look forward to all your opinions, so I’ll get it up soon.

Lastly, and on a whim, I’ve been sitting on this Star Wars short film script I wrote years ago and finally admit I’m probably not going to do anything with it myself unfortunately. So if anyone out there knows someone who would be interested in picking it up for a fan film, lemme know.

Right. Interview at 11am. Better get some shut-eye.

→ No CommentsTags:···

The Obligatory Update

January 20th, 2007 · Gaming, Personal

Transposed from Gaiiden’s Scroll

Things are going well, considering that I managed to do three IGF interviews over the course of two days this past week, with at least two (hopefully) going off this week as well. I already have the draft of one back in my hands from review by the interviewees so that will be posted up on Monday over at GDNet. So stay tuned!

Today was New Jersey’s bi-monthly IGDA chapter meeting and since this is the last meeting before GDC, like last year I gave my lecture on attending GDC – how to ake the best of the conference and how best to leverage the networking opportunities that abound. For anyone reading this who’s looking to be in the industry and hasn’t attended GDC yet, then let me officially tell you to get started and plan for next year, because you must go. I can’t stress enough how important this conference can be for your career. I know it’s expensive, and I discuss ways to mitigate the cost in my lecture which, by the way, you can download off the NJ IGDA’s website here. I’m also going to be giving this lecture as a free event over at Game Institute once a week all next month, so check it out if you want the whole enchilada – the presentation and the chance to grill me about GDC.

Speaking of Game Institute, we’re still looking for more people to come out and speak with us. Again, you are compensated for your time ($50 – $150 depending on the length of your seminar) and you are not obligated to speak more than once. If you do want to speak more than once, you are also not obligated to follow any sort of set schedule or time guidelines. We won’t tell you “well, you have to present at such-and-such time because that’s what’s best for our users”. No. You speak at a time that is good for you, and whoever can attend will do so. We have more than enough students around the world that you will always get people. My seminars have been around 8-9 people on average. While that may not seem like much, we can’t have too many since the VoIP quality quickly breaks down. Contact me if you’re interested in teaching people a few things and earning some cash while you’re at it. We’re looking for any game development topic, preferably beginner-level.

So yea, I finally got myself a PS2. I’ve been a devout Nintendo fan ever since I started playing consoles (tho I did like Atari during that short age for me) but Sony finally won my heart over with DDR and Guitar Hero. Actually Guitar Hero was what really swayed me, DDR I’ve just always liked too. A friend of mine moved out to China to do stuntwork, and so he let me have his guitar and copy of Guitar Hero, so I went out on Friday and bought a PS2. Now, I had also gotten my Hauppage 250 PVR card on Wednesday, and this one worked awesome (unlike my failed attempt at the Hauppage 500). I had hoped to play my consoles through this and BeyondTV, but I didn’t take into account the time-shifting properties of BTV and thus, there’s about a two-second lag between my inputs and what appears on the screen. At first I thought I had a busted used PS2 on my hands but then I tried it with my GameCube and got the same results. So I had to dig out my Viewsonic N5 (on bottom) and use that again. Bonus however is that I was able to finally find a use for this gimonguos 17″ CRT I’ve had sitting in a box in the hall outside my room for a long while:

I’m probably going to get a TV at some point, but for now it works. There are speakers hidden in the shot behind the monitor too. Yup. Ghetto game playing. Awesome.

Hrmmmm…. yup, I think that’s about it for now. Guess I’m gonna go jam out some more. Rock on!

→ No CommentsTags:·····

It’s Pucker Time!!

January 15th, 2007 · GameDev.net

Transposed from Gaiiden’s Scroll

While I can’t deny that vacationing in Hawaii is a fun and refreshing experience, I’d still rather not do it this time of year. I may just have to opt out of next year’s family vacation if this tradition continues. Why? Three letters – GDC. It doesn’t help that since we’re back in San Fran this year, the conference is in the beginning of March rather than the end. Not only do I have to do my IGF interviews, but there’s coordinating the conference coverage with the rest of the GDnet crew, setting up business meetings, planning out my schedule, figuring out my travel plans… it also doesn’t help that the GDC schedule isn’t finalized until next month so I can really start working on my schedule. We also look to be even more understaffed this year than last, and the conference is taking up the entire Moscone convention center this year, rather than one building (half). So extra work is going to have to go into looking at every aspect of the conference and deciding what important areas we need to cover given our limited ability. Whoo hoo! :p

Yea, this is really the busiest time of year for me, at least as far as GDnet is concerned. However I have my other interests on top of that. I’m afraid Blitz Blox is going to end up feeling rather neglected over the next two months unfortunately, since the rest of my time will be split up with the day job and managing the Live Events over at GI. Working out a few more proposals from people, and we have a new seminar coming online next month concerning game cinematics from a design/production standpoint. Also may be adding two additional design seminars to the lineup. Not to mention all the cool stuff coming for actual courses and such I hinted about in my last entry. Keep salivating GI fans – we’re getting there.

Coming home from Hawaii I rekindled my interest in this game idea I’ve been stewing for a few years now and started working out a treatment on it. I’ll post it up for feedback as soon as it’s done – I’m liking what’s hitting the paper so far.

‘Bout it for now I guess. I’m wiped out, but I managed to get all caught up on the past week’s work in a single day so I’m happy about that. I’m gonna take the lappie to bed and work on that treatment some more…

→ No CommentsTags:····

And Time Keeps on Passin…

January 1st, 2007 · Gaming, Personal

Transposed from Gaiiden’s Scroll

Well, it’s the start of another year once again. Looking forward to what it will bring, though if it’s anything like last year I suppose I will be quite satisfied.

So yea, I’ve been sorta MIA these past few days – I decided that I’d end the year with a week of nothing but playing games, relaxing and doing as little of everything as possible. Worked pretty good. I feel refreshed for 2007. I got Forces of Corruption and Flight Simulator X for xmas, though I’ve been playing FSX more than FoC. I bought the Saitek X52 Flight Control System with some Best Buy gift cards and boy was I all set. Getting FSX to run properly took some time, I had to spend many hours tweaking graphics settings, but I finally nailed a range of settings that gets me decent framerates. Since then I’ve been going nuts, the new Missions feature is awesome, I love flying the missions and earning rewards. I’ve also been studying up on the Ground School lessons, and I’ve earned both my Student and Private Pilot flight certificates, though it took me several tries on the Private Pilot checkride because the instructor’s instructions weren’t very clear. Going for my instrument rating next. Fells nice to be flying again – haven’t flown since FS 2000. A lot of it came back, but I’m still relearning a bunch of stuff.

So yea. Tomorrow’s gunna be spent cleaning up my room so I can start being functional again. I still have xmas presents just sitting around everywhere, need to get a rack for all my DVDs, a bin for all these spare computer parts, and find places for the rest of the miscellaneous crap to go 😛 After that it’s back on track. ’07’s lookin good for Game Institute, if all goes well. That has me pretty psyched. GDnet’s still got a few bumps to get over but we’re making some good progress on that. Blade Edge? Well maybe there’ll be a game this year. I’m done making promises

That is all for now. Happy New Year everyone.

→ No CommentsTags:····

Design Redux on Blitz Blox

December 21st, 2006 · Software

Transposed from Gaiiden’s Scroll

So I got all the block interactions working last night, which made me happy. But it also prompted me to rethink some aspects of the game design. I had mentioned earlier that I had thought I would need some sort of logic to feed the players blocks they could actually use with effect on the play field. The real need for this became quickly apparent as I began dropping blocks and got to a point where I was having trouble finding spots to place blocks that would prove to be effective in some way. To add to the complication is the fact that even if the game chooses a block type that would fit within the existing play field, that block could possibly be behind as many as 11 other blocks (player clips hold 6 blocks max, so if each player has a loaded clip, the block on top could possibly be the 11th one dropped (5 from that clip, 6 from the other)), so by the time it’s ready to be dropped the play field could have changed enough that it’s now useless. I’ll have to code some basic AI to help me out with play testing this.

Another thing that I’ve been pondering is what should trigger a block interaction. Currently I use arrows to denote which direction a block will attack, and blocks only attack when they land. So in the following example, the green block landed first, followed by the red block. Since the red block’s arrow is pointing down, it doesn’t interact with the green block even though its arrow is pointing at the red block

The reason I decided to do it this way is because when you have something like the following image, things can get complicated

Here, the red block is about to land and interact with the green enemy block below it. However, the blue block is also an enemy, and its pointing towards where the red block will be when it lands. Well, okay I guess I could impose an order of attack – when a block lands first it attacks in the direction the arrow points, and then if it’s not destroyed receives any attacks directed at it from neighboring blocks. But then you get into an even more tangled scenario (deleted the green block on the right and flipped the blue one to make this example)

Now which blue block attacks first after the red block finishes its attack? Should it always start with the block on the left? And then check down and to the right? I have to admit this sounds a bit like an easy answer rather than a real solution, and so I’m not really satisfied with it.

I’ve also thought of just abolishing the arrows altogether once a block lands on the stack, in essence making them “dormant” unless provoked by a dropping block. When a stack is dropped if a block is destroyed in it, all the blocks that drop down would get randomly-assigned arrows so that when they land they would interact with other blocks. This way you wouldn’t always be playing on the top of the stack. However that’s also what chain reactions are for – attacking blocks deep in the stack. Removing arrows also makes chain reactions easier to propagate since they don’t have to follow a set path, and can also branch as well. It also clears up the issue of what happens when you get two blocks with arrows pointing at each other – does that cause a feedback loop?

So I guess my next step will have to be implementing some rudimentary AI so I can play test the game and see what actually needs to be done.

→ 1 CommentTags:

Yey blocks go boom!

December 18th, 2006 · Software

Transposed from Gaiiden’s Scroll

Well this weekend was fun and relaxing. I chilled out all day Sat, slept till like 3:30 in the afternoon – but that was cause I was up till like 8am playing The Sims and SimCity. So I played games and chilled the rest of the day. I had workout at the gym on Sunday, made a cool $40 for 2 hours and went out to a huge mall up north and spent it all and then some on xmas presents. I figure I’m about 35% done with my shopping. Yep, right on sched, haha. I gotta have the ritual Xmas Eve mall run 😛 Yea I’m horrible…

So today I did some catching up on emails and stuff from over the weekend and started in on the block interaction code. I went through two revisions before I settled on a routine I like. At first I was going to set up a switch() statement and say something like:

switch(%srcBlock.type)
{
    case $ATTACK_BLOCK:

        switch(%dstBlock.type)
        {
            case $ATTACK_BLOCK:
            case $DEFENSE_BLOCK:
            case $NEUTRAL_BLOCK:
        }

    case $DEFENSE_BLOCK:
...

To explain, I was taking the block that had just landed on the stack, checking its type and then seeing what the block next to it was, and proceeding to take action. As soon as I finished the first case (Attack vs Attack/Defense/Neutral) I realized that to do the second case (Defense vs Attack/Defense/Neutral) I would just be copying and pasting code and reversing some outcomes. Well that would be a big waste of time. So I identified that there are really only three types of block interactions in the game (Attack vs Attack, Attack vs Defense, and Attack vs Neutral) and replaced the whole thing with three if statements and saved myself a lot of code. Then I further modified it by separating the check for chain reactions and normal block interactions. I still found myself copying and pasting a lot of the block interactions, which is a very good sign that I can wrap 6-7 lines of code from each block interaction into a single function, further optimizing the code (not performance, just the code). I had some time to test it out a bit, uncovered some early mistakes withe the design that still need some rectifying, but they’re fixable without having to rewrite the system. So tomorrow I should be able to finish that up.

During testing under Blitz conditions (since that’s the only mode of gameplay I have coded in right now – and it’s hardcoded too ATM) I realized I was having a lot trouble finding blocks that had arrows pointing in a direction I could actually use. I found myself dropping lots of blocks just in random out-of-the-way places because I couldn’t think of anyplace else to put them. Looks like I’m going to have to seriously consider adding some logic to the clip-loading routine that scans the board, determines what types of blocks would be viable for the player to have at his disposal, and then randomly choose one. A game where most of the time you’re just dropping blocks with no purpose really isn’t all that fun.

Up early in the ‘morrow. So I bid you all goodnight…

→ No CommentsTags:·

All Synced Up – More Blitz Blox Progress

December 15th, 2006 · Personal, Software

Transposed from Gaiiden’s Scroll

On Networking

Ok so I spent my entire time last night working on bringing all of my various web presences up to date. Networking is a very, very important aspect in this field, and so in order to achieve the greatest amount of permeation, you really do have to try and be everywhere so you can meet with the most people. Through your various networks of contacts is where you’ll get all your support and opportunities.

So as I said, I updated all my various profiles. Here’s the full list

You look at that list and you ask yourself – “isn’t that a bit overkill?” the answer is no. There certainly comes a point, but the list above doesn’t reach it… yet. The reason is that you can go to the site of each profile and find enough unique people to that site. It’s not like I’m hanging with the same crowd everywhere I go. There are overlaps in some cases, but not enough for you to say you have the same contacts through one site that you do through another.

In addition to the profiles, I also updated the BES forums and BES website. I actually had two people spamming my forums, can you imagine that? I get like no traffic there (currently) – who would bother? Stupid ad bots. I also created project pages on GG for Blitz Blox and Galaxy Conquest, as well as updating my BES page on GG too.

I’m pretty enthused too about the whole GGE project, that seems like it will become quite the valuable network resource as it continues to grow and improve, I’m glad I’ve had the opportunity to get in on it early. If anyone else is interested and isn’t a GG user, let me know and I’ll send you a beta invite!

Don’t be an introvert. Get out there and meet people. You’ll be better for it. Trust me.


On Blitz Blox

So I finally was able to get some more programming done on Blitz Blox, which made me happy. I’m kinda annoyed that I don’t have block interactions going yet, but everything I’ve been working on instead this week has been for good purpose, so it’s not like I feel I’ve wasted time or anything. Today I just did a few simple things I knew I could bang out quick and get out of the way to further clear the path to get started on the actual game code.

This is the new game setup menu. I did some hacking in Paint.NET and added a new slot at the top so that the player can switch between the two game modes. I figured I might as well do this for the menu since I had to put it in the code anyways in order to properly set up the game code architecture.

TGB is so awesome. It took me all of 15 minutes to work out the code and routine that would pause the game. In the most basic sense it was firing up the level builder and creating the pause banner image, centering it on the screen then exiting to my code editor. There I created a function gamePause() and inserted three lines:

$isGamePaused = !$isGamePaused;
bbSceneGraph.setPause($isGamePaused);
pauseBanner.setVisible($isGamePaused);

and presto!! The game toggles between active and paused states. When you pause a scene graph, everything stops – which means the animations stop playing, particles stop effecting, and all movement is halted. I say again. TGB is awesome.

Finally, I added a few lines of code to the already-created audio settings menu to create the above image. The code was already there to show the game music track selection when this menu was called up during a game, I had to add in code to pause the game when the menu is brought up.

I also cleared out a few minor bugs… all except for one. This one has me utterly stumped too. In a repost from the GG TGB forums…

Quote:


I’ve come across a weird… bug? I’m not sure so before I post about it in the Bugs forum I want to try here first. Here is the code in question

echo($pref::Audio::channelVolume2);
if ($pref::Audio::channelVolume2 < 0.9)
   echo("true!");

here is the console output

0.9
True!

How is this possible?? Hazel mentioned in #tgb that maybe the value of $pref::Audio::channelVolume2 is actually 0.89999 or something, but I can’t see then why echo() would spit out 0.9.

So I was like “okay, that’s weird” and decided to try doing it another way

echo($pref::Audio::channelVolume2);
if ($pref::Audio::channelVolume2 <= 0.8)
   echo("true!");

Again, it failed – as evidenced by the console output

0.9
0.8 <= should have been true after this!
0.7
True!

Can anyone explain this? I’m at a loss here. Thanks in advance!!

Yea so that still fetters me.


In Closing

Cool, long entry. Well I did have to make up for yesterday after all 😛 *sigh* it’s already 4am? I was hoping to get in some sort of game time – it is the weekend after all (peh! who am I kidding??). Ah well, I’ll squeeze in an hour or two

Nite.

→ No CommentsTags:···

The Daily Regurgitation

December 13th, 2006 · Personal

Transposed from Gaiiden’s Scroll

sweet, so I got maybe 5 hours of sleep last night. Or, this morning if you want to be technical. I think I’m starting to feel tired… I dunno…

I’m rather disappointed at the utter lack of suggestions for Directional game play mode’s new name (see previous entry). Come on you guys can’t all be as brain dead as me!

Gave another 1hr lecture over at GI, had at least 12 people show up, which is pretty substantial. Everyone loved it too. If anyone reading this has something they’d like to speak about, I have 30, 60 and 90 minute time slots to fill. Just comment, PM or email me for details! Yes, you do get paid!

I also downloaded and installed C# Express so I could finally get GSE up and running. So that’s all set up, now I just have to get TorqueX/TGBX installed, but the setup files are already on my comp, I just need time to do it, haha. I should mention that I won’t be actively playing with TGBX/XNA until I actually have Blitz Blox complete on the PC, but I’ll prob do some random stuff with it between now and then.

a few hours ago I posted up Rob’s latest FBO article, go get it from the main page. It took me almost two hours so enjoy it or else 😛 Really it was mainly the fact that I’ve never posted a series before – there were some little things about formatting articles and directories I had to figure out for myself.

Spent the rest of the nite doing a bit more work on the Torch! video, my fellow pyromaniac Greg wanted a version with the Six Flags title removed and with his contact info at the end he could show to people. He said something about a lengthy cross-country tour with some BMX or motocross group. Not holding my breath but that would probably be cool as hell. I’m sitting here on the lappie waiting for the desktop to finish rendering – wow it’s only been 43 minutes and the video’s already 87% done with a approx time remaining of just 6 minutes. Holy crap. It took my laptop over 3 hours to render this bitch (15 minutes long). And Vegas 6 isn’t even fully optimized for dual-core like Vegas 7 is. Whoo I need to get my mitts on Vegas 7 for sure!

Right I suppose that’s it for now…

→ No CommentsTags:····

Design Doc Finalized, XNA and other stuff

December 12th, 2006 · Personal, Software

Transposed from Gaiiden’s Scroll

Okay so if you all were wondering exactly what the hell this game is, you can now wonder no more, for I have completed revamping the design document. You can get it here

Blitz Blox design doc v3 (PDF)

There’s one thing that I ask: I need a better name for the second game mode. “Directional Mode” is just so… lame. Haha but it was all I could think of at 4am in the morning. Blitz mode is so named because you’re dropping blocks fast, trying to beat out the other player. The Directional mode is more like a version of Tetris – it would be cool to have the name play off Tetris somehow. I know it’s there but like I said… 5am (4am? oh crap it’s now 6am! Ahhhh!)

I’m going to have to do some photchopping on the menus now that I’ve created two different game modes (where the was once just one), which sucks because I don’t know if I’ll be able to pull the original artist back into the project, tho hopefully if it reaches a state much closer to completion he’ll be more compelled.

So yea, earlier today I installed Cpp Express, downloaded the XNA GSE and when I went to install, it told me it couldn’t find C# Express, and therefore would not install. So I’m like, WTF?? Stupid machine!! I installed Cpp Express already, how come you’re not working!?

Yes. It seems my brain was, sadly, already starting to rot at 10pm. In fact, the revelation of what was wrong just struck me. You think that’s a bad sign?

Annnyyyways I’m out at Denny’s with the crew and three of our friends have been, for like the past month, reading this book written by this guy who claims to be the best pick-up artist… evar. So they’ve been schooling themselves, going out to clubs to try out their skillz… so we’re all sitting at Denny’s and this hot girl walks in with her not-so-hot friend and we all (the guys who haven’t had any reason to read this book) are like “yo, go pick up that chick!” (meaning the hot one, of course) and not a single one of them budged. Meanwhile Jamal is sitting across the table and he’s already drawing a freakin picture of the girl on a napkin! He stands up and shouts across the resteraunt like “Hey! Hey, excuse me. I know you don’t know me or anything but, could you… could you like, turn your head sideways like this? Yea! Like that! that’s perfect!” and he sits back down to draw and we all turn to the three supposed throwing bastards who are still sitting there trying to decide what the hell to do and are like “you’re gonna let him do that?!?” So Jamal finishes the drawing and goes over to give it to the girl. Mean the while I take a napkin, fold it in half length-wise to make a placard, write on it “PWNED1!1one” and stick it on the table in front of the three would-be pick-up artists.

Sad. Sad I tell you

Oh yea, and I happened to hit 120mph on that wonderful back-road straightaway near my house on the way home from Denny’s. I took the lazy curve into it at like 80mph in 4th gear and then gunned her for all she was worth – knocked 120mph (I have a digital speed readout by the way, no estimating here) towards the top of 5th, and had plenty of room to brake back down to a respectable velocity. So I called Sasha with the news and in addition to the congrats (he’s hit 130mph in his NSX) we got to talking about the subject of deer. Yea. Freakin deer. Cause you see this straightaway is well fenced on all sides thanks to farms, but the driveways… Sash told me he spotted a deer standing in one of the driveways one night. So we figure, well if we hit a deer going, say, 110mph – chances are that deer is going to flip over our cars and disintegrate rather than horribly mess up our front end (to the point of it being unsteerable) and smashing through our windshield. However, even if that were true, there’s one more catch.

Airbags.

Holy crap I had never even thought of that. I’m sure the designers of airbags never considered someone hitting an object at 110mph and not stopping. How horrible would it be to have the deer flip over the car, and yet your freakin airbags deploy and send you into that telephone poll that, while it may have not been there before, is now directly in your path as you steer off the road.

Freakin great

Well okay, I’ll leave you all with that wonderful revelation and retire for a measly 5 hours before I have to get up and coach. Sounds good.

→ 1 CommentTags:···

So much stuff!!

December 11th, 2006 · Software

Transposed from Gaiiden’s Scroll

So Microsoft kicked out the first release build of their XNA, and in conjunction with that launch, Garage Games released their first build of Torque X. So on the MS side I have VS Express, XNA, Game Studio Express (GSE) and the XNA Creators Club, which I’ll eventually need to join in order to get Blitz Blox on the 360. Then on the GG side I have TGB, which I’m currently using to develop BB, as well as TorqueX and the TGBX editors.

Whoa! Needless to say I haven’t even bothered downloading anything tonight. I still want to do some more reading and plot my approach a bit more. Once things get rolling I’m sure I’ll have a lot of sweet XNA/TGB goodness coming this way. In the meantime superpig and Saruman have already posted up stuff on XNA (I have this nagging feeling there’s one more – shout out if I missed you).

So besides all the usual stuff on do on Mondays I took a break from coding to work on the Blitz Blox design document. Or rather, to work on rewriting the Blitz Blox design document. Some stuff is obviously out of date in the last revision of the doc I have, and some stuff is just plain obsolete with some of the changes I’ve made to the design lately. I’ve only gotten partway through that tho – not feeling it too much tonight. So yea, sorry no pretty screencaps this entry either. They’ll be back soon tho, promise

Oh I also, on a whim, borrowed the Sims 2 and associated expansions from my sister and installed them. Dunno how much I’ll actually play it but at least it’s a game you can always come back to after a while. I like that.

Righty then, early night for me. We’ll see how much work/research I can get done tomorrow!

→ No CommentsTags:··