Högni and Amy's game project

Thought in deed

Star Ruler out Saturday

leave a comment »

This is starting to excite my lower cockal regions. Looks great, sounds pretty interesting.

Written by Högni Gylfason

16.08.10 at 12:50

Behave your trees

leave a comment »

I had already started using the good ol’ switch/case statement method to start implementing the AI for spacewars, when I bumped into Behave for Unity3D. This library implements Behavior tree logic in Unity with a nice visual editor. After a few minor niggles, finding workarounds for a couple of bugs and a lot of wrapping my head around how B-Trees really work, I love it.

The concept is so simple and intuitive, once you get past the initial (low) barrier you can be pushing out complex algorithms in no time. When you have your logic mapped out, all you have to do is implement the individual action and decorator code snippets. This fits so well into the Unity style scripting – where there are lots of short scripts – the workflow does just that.

Behaviour trees also integrate fairly well with FSMs, so you don’t have to instantly throw them out. You can have the tree actions change states or alter parameters if needed, maintaining interoperability.

There are other tools out there to create B-trees, but this one for Unity is very much sufficient.

Written by Högni Gylfason

20.07.10 at 19:16

Unity3D vs. UDK

with one comment

We tried to use UDK.

The GUI editor is pretty good. Graphics are nice. The material editor is great. Asset browser, definate plus.

Scripting engine. Bad. Really outdated bad. Script prefab instantiation non-existent. Bye bye.

We are now using Unity3D

Asset browser is primitive but usable.

Low level integration with asset tools. Native 3dmax conversions. Very nice! Assets even open directly from the asset browser in the art tools or visual studio (for scripts).

Game object component stack. Fucking brilliant. Dragging scripts onto a game object and setting its properties directly. So god damn good.

Shame there is no node based material editor or GUI editor. There is an excellent 3rd party GUI editor available though, so that’s not a problem.

UDK hereby kicked to the curb. Welcome Unity!

Written by Högni Gylfason

20.07.10 at 11:19

Sideways Movement

leave a comment »

We’re taking a break from VoidEngine development to explore the features and possibilities of the recently released Unreal Development Kit by Epic Games.

The UDK offers a great number of features and advantages of our own engine. Even when we were first exploring into the territory of game development, on of the possibilities we entertained as an engine was UE3, the engine that drives quite a few engines out there. We did not quite discard it, but decided not to use it on the basis of license expense. My desire to write my own also played a part of course.

Now that the UDK has been released for public use, the deal is too sweet to ignore. The editor is fantastic, the content toolchain is well refined and the engine offers possibilities of extension that are very tempting to utilize. Features such as the lightmass lightmap renderer and the Content Browser are welcome tools in game design and development.

The major downside of the engine is UnrealScript, the integrated scripting language. It bears some resemblance to Java and C in it’s syntax, but has some faults as I perceive them. It’s object instantiation and reference system is obtuse. A lot of functionality is reserved to native classes, i.e. classes written in C++ and hidden within the engine.

My major issue with it though, is the difficulty of implementing procedural streaming levels. The engine supports streaming levels out of the box, but access to the functions that deal with setting up the streaming functionality is wrapped in native code, and does not seem to be accessible in script. If this turns out to be the case, the engine does not support the one inaliable feature that we base our entire idea on. Procedural gameplay generation. This includes the placing of rooms and static content, dynamic spawning of monsters, loot and other dynamic actors.

I’ll continue to dig around in the (not so well documented) API, but it’s not looking good so far.

Written by Högni Gylfason

29.01.10 at 11:36

Posted in Uncategorized

Standard material done

leave a comment »

For all practical purposes I consider the work I’ve done on exporting the standard material type from ShaderFX to Ogre3D readable format, complete.

It now exports correctly all the subnodes and lights and the calculations all appear correct now, including advanced functions like projection mapping based on vertex positions, alphas based on vertex colors, ambient occlusion, diffuse, normal and more.

I’m now going to proceed to create an exporter for the Glow and Subsurface scattering materials, as those are the ones I see us needing in the near future.

Even though this has taken a lot of time to implement I think it will save us untold hours of work in the future. This applies even if I leave it standing at only the standard material.

Unfortunately I’ve not gotten any further response from Luminox on this matter, so I don’t know if this work will ever reach the public. I can’t release it on my own as it is proprietary software that I’ve made extensions on…

I’ll update on this status when I can.

Written by Högni Gylfason

06.10.09 at 12:43

BrainHex!

with one comment

Stumbled on a neat survey by way of RPS.

My results:

Conqueror- Socialiser

BrainHex Class is Conqueror.
BrainHex Sub-Class is Conqueror-Socialiser.

“You like defeating impossibly difficult foes, struggling until you eventually achieve victory, and beating other players as well as hanging around with people you trust and helping people.”

This hits the mark for me pretty well. My favorite game moments all involve defeating the super-hard endgame bosses in Everquest back in the day. Every single MMO I’ve played after that has failed to induce the brainpounding pleasure of those successes.

“Each BrainHex Class also has an Exception, which describes what you dislike about playing games. Your Exceptions are:

» No Commitment: You dislike being asked to complete everything, preferring to pick and choose which tasks you will attempt, or simply messing around with a game.”

This does not ring true at all. I felt I responded truthfully to all questions but the point was that I immensely enjoy doing this for other people but I don’t really enjoy doing it for my own parts, preferring just a patchwork of drops that I’ve gotten incidentally here and there…

Otherwise an enjoyable diversion :)

Written by Högni Gylfason

02.10.09 at 15:05

Posted in Ramblings

Tagged with , ,

Ogre3D and ShaderFX… Living in (almost) perfect harmony

leave a comment »

There is some progress on the exporter for Ogre in ShaderFX. I’ve almost finished the StandardMat support. There are still some niggles, like light projection not rotating with the object, but I think I can figure that out.

Planet in Max with SFX Panel

Planet in Max with SFX Panel

This is the material as displayed in Max in mode CGFX. The normal is scaled and UV Rotated with time input and the diffuse texture is plugged into the ambient socket with a modulator as well as the diffuse socket.

Planet in OgreMax Viewport

Planet in OgreMax Viewport

This is the same object in the OgreMax viewport in max. Looks pretty neat. I also tested it in the OgreMax viewer to test the UV rotation and it works like a charm with the time input. Below are the shader settings in the OgreMax material editor panes.

Diffuse shader settings

Diffuse shader settings

Ambient shader settings

Ambient shader settings

I’m quite happy with it so far. I’m hoping to do the Glow material next, not because it’s next in order of general importance, but because I need it :)

Written by Högni Gylfason

26.09.09 at 13:21

Follow

Get every new post delivered to your Inbox.