Tools…

May 1st, 2010

Worked on the editor a little bit more over the past few weeks. The C# editor is hooked up to Microsoft SQL Server now. Levels are basically stored directly into the database and can be exported out into the engine’s custom format if required. The editor basically owns it’s own HashString table which it tracks in SQL Server as well. During runtime, most things are now in crc32 format unless a string is absolutely necessary.

Programming

GODZ and Tools

April 11th, 2010

Uploaded a new demo today. This one features more realistic movement for Bot AI. Messing with the tech demo, I am seeing a few areas I’d like to improve next such as Character vs Character collision, etc. However most of the basic elements I’ve always wanted is in place now. I must say, getting the Navigation Mesh and A* algorithm going was a very quick process. I really cant see any reason why any devs would choose path node navigation over meshes off hand.

GODZ Navigation Mesh network is generated online when the game starts atm (eventually I’ll move this offline). Next, all of the entities on the map find their position on the Navigation Mesh (this too, can be moved offline to the editor). After that, the Bot AI actually runs on a different thread, planning it’s navigation to the player using a generic A* algorithm. Everything works fairly nicely and was fairly quick to implement during my sparing free time.

Lately I’ve also being playing with moving my ‘bridge’ code into Managed C++. The Managed C++ interface is a bit cleaner than the C-DLL style exports I was using previously. Most devs still write their game engines using unmanaged C++. However for the studio tools, a lot of devs actually write these in C# (like the Editor for example) and setup a middle Managed C++ layer to link the editor to the game engine. Off hand, I’d like to point out that Bioware’s Dragon Age Origins seems to use a C# editor (checkout their SDK) which hooks up to SQL for the back end. This is pretty much what I’ve had planned too so if you’ve played with their editor then you know what I’m striving for

Still not done porting over my Tools from Win32 to C#. But hopefully I’ll make some significant progress in this area in the next few weeks. The plan is to setup a SQL Server backend which the Editor will access. The game engine will rarely use C strings. Instead CRC32 codes are used which gives faster compares then C-style strings plus occupies less memory. There’s still a lot of work to be done but everything is coming together at a nice rate

Programming

Final Fantasy XIII

April 2nd, 2010

I’ve been playing this one pretty actively since release. It’s really long as one would expect from a Final Fantasy game. Last time I checked I’ve had about 30 hours clocked. The combat system is one of the best I’ve seen from the series. However, like the broken record one can see everywhere else, it’s really linear. I mean, not just linear like most JRPGs but crazy linear level designs (* I’ve heard people comment it opens up later on and I did encounter this bout 30 hrs in but it went back to linear right after so far so maybe it’ll open up once more later down the line)

The dungeons were so linear I started to think it was a bizzare engine limitation. Actually, I still think it’s a limitation of a sort. Since the Playstation 3 only gives you 256 graphics memory versus xbox 360 512mb unified memory architecture. Knowing Squaresoft, their artists are probably creating huge textures for the plants and trees which made the poor programmers have fits. Granted, this game released on the xbox 360 as well here in the states. However, surely PS3 was their benchmark since it was the original destination for the title in Japan. I personally had to have the PS3 version. FF13 on 1 single blue ray disc? Yes please….

The cutscenes are great and render at full 1080p glory along with actual ingame play (PS3 version). Excellent game. Sometimes I am actually kind of glad the dungeons are linear. It keeps me focused and I can never get lost. Maybe this will be the 1st final fantasy I’ve beaten since FF7 (Cloud FTW).

Video Games

Navigation

March 31st, 2010

Valve put up documentation describing their tech behind Left for Dead 2. It’s interesting to see how they solved the issue whereas the navmesh polygons will give you a jagged path.

Currently in GODZ the Bot AI will use a jagged path to chase the player down. However soon I hope to upload a new build that smooths out the path to make the AI look a bit more natural

Programming

NavigationMeshes and Tools

March 23rd, 2010

Been working on porting over the old godz win32 editor over to C# which has been going pretty well so far. I was basically faced with the choice of using either MFC or C# if I wanted to make the UI more current. Choose C# due it’s nice, clean interface and updated components.

The managed editor interfaces with the unmanaged DLL passing pointers back and forth via IntPtrs, etc. Unmanaged objects are wrapped by proxies on the C# side of the fence. All of the engine functions are exposed as C functions so their names do not get mangled. Levels can be put together in pieces that can be streamed / unloaded during runtime seamlessly. The goal, as always, is to never force the user to sit idle while resources load. So, if you need to load a package, etc you can start the operation and do something else as the package loads in the background

The engine can now generate a Navigationmesh based on a collision mesh that’s passed into it. Once the navmesh is constructed, it can be passed to multiple AI threads which can asynchronously access the navmesh and plan their path navigation using an A* algorithm I just cranked out last night. Currently, I have a bot that will follow me around whereever I go as a simple test

After I’m fairly sure everything is stable, etc I’ll upload a new demo.

Programming, Projects

Star Ocean: The Last Hope

February 23rd, 2010

Finally beat this one today along with Army of Two: 40th day (this weekend). I thought Star Ocean was a pretty solid RPG. Added a short writeup below

Update:

Okay going to keep this one brief. No spoilers. Total playtime was around 50 hours (hard to be certain, I go afk alot)

Pros:

1. Really enjoyed developing my characters

2. The Combo system was quite clever. Really enjoyed maxing out the combo skill and allocating skills to consume my combo points

3. Really enjoyed the powers my characters learned

4. Really liked some of the eldarians

5. Fairly clever use of the party system. You can take the entire party with you on adventures. However only 4 people can be active at once. I actually preferred this system over Dragon Age Origins

6. Fun combat system with a bit of twitch in there. Was pretty fun

7. Game endings for party members was a nice touch’

8. I’ve read game has a final dungeon after you beta the game.

Cons:

1. Cannot select enemy mobs directly. I am very puzzled by this decision. This almost completely ruined a fun combat system for me.

2. Lymle or whatever her name was; she was a total pain. Really hated all of her lines. Maybe Japanese voices in the International version will improve this

3. I found the main character, Edge, somewhat highly annoying as well after mid way through the game. However, his character sort of at least rebounds again a few hours later

4. I love watching Anime. But really didn’t dig the anime art style at all

5. Long stretches between Save points later on in the game. I mean, for hours. That long of a stretch. Luckily, this was literally the last dungeon. But that was pain

6. Final boss fight (last stage) was just total too long winded. Took way too darn long. Just endless repetition. I really feel Bayonetta did a much better job with their boss fights. You really should only punish the player for not following the routine or making the wrong moves. But once they solve the puzzle, you proceed. Not so with this game. I dreaded the final boss cause I knew it would be pain. And it was. Almost was a deal breaker. Way too long winded

7. Cutscenes way were too long winded for my taste. Could’ve sworn they went 45 mins or so. And I LOVE cutscenes. In particular, it’s the cutscenes towards the end of the game that a bit long winded. Before that though, they were okay

RPG, Video Games

Fixing Pathfinding Once and For All

February 17th, 2010

So I was browsing the web reading up on Navigation Meshes and ran across and interesting article called Fixing Pathfinding Once and For All. What’s pretty cool is that this article starts off by presenting various examples of failed AI (bots running into walls, etc) and then elaborates how this can be resolved.

As much as I loved Bayonetta, I could’ve sworn I saw an AI get stuck in it’s pathfinding on a wall. On the flipside, I was always in awe when I played Left for Dead 2 (which uses Navigation Meshes). I can’t count how many times I saw the AI pull off something really crazy. Hell, we were practically begging the AI to mess up on several occasions as we tried in vain running around inside of a mall searching for gas cans- trying to get the Tank to lose us.

One of these days I’m thinking I’ll try to put together a demo of some bots running around on a Navigation mesh….

Programming

Bayonetta

February 2nd, 2010

Yeah this game is awesome just completed it last night. I really dig the Japanese box art (mind you I played the xbox 360 version though)


Video Games

Darksiders Comic on Penny Arcade

January 19th, 2010

Darksiders On Destructoid

January 18th, 2010

Destructoid recently posted a new article why Darksiders is better than Zelda that I just saw this morning.

Game Development, Video Games