Tuesday, July 9, 2013

Changes

Well, where to go from here?! I haven't been on top of the development scene very much, partly because I had locked down the software I was going to use and partly because I was busy getting ready to get married. Over the last month and a half, the marriage has wrapped up and we've settled into the house, so I took the chance to review the state of the project - believe it or not, this was the first time I've heard that XNA will no longer be supported starting 2014.

So what to do now?

I've heard some people say to stick with XNA for the time being until a new framework takes it's place, some recommendations to move to Unity, and so on. The problem I face is that the entire framework I've spent the last 3 years learning and fleshing out is no longer a long term investment - the menu management, the level editor, the event management... All of this is tied to my custom work on top of XNA. The physics engine, the drawing components... *sigh*

So what now? I've looked at Unity briefly, but have not downloaded it yet. Part of me thinks I should just focus on finishing the assets for the next game first, but really, the coding is the aspect I enjoy.

So where to go?

I imagine I'll take some time to refine the story and work on the basic bounding entities. Once those are done, I can sit down and really evaluate the other options. Any thoughts are appreciated.

Sunday, May 12, 2013

A big portion of the upcoming game will be based on sneaking - as such, is important to have a good framework for NPCs to both detect and act on seeing the main character. The first portion has a rough draft finished.



In the first shot, you can see our NPCs all tracking the main character's location (the source of all the blue lines). If the character is in the frustum defined for the particular entity's position and angle, the frustum highlights red. 

In the second shot, the pink indicator is an obstruction ray as cast from the NPC agent's to the main character - if they detect an obstruction, "sight" of the character is lost.

What happens next? Well, there needs to be some sort of pathing system for the NPCs, and there needs to be some sort of dynamic construction of NPC responses. That's down the road :)

And if anyone is wondering? This code will exclude the detector and the detectee in Bepu. It may come in handy :)



    if (Parent.PhysicsEntity.Space.RayCast(new Ray(Parent.PhysicsEntity.Position, positionDir), distance,
        candidate => candidate != Parent.PhysicsEntity.CollisionInformation && candidate != detectableAgents[i].PhysicsEntity.CollisionInformation,
        out Parent.RayCastResult))
    {
        // We have detected an obstruction and cannot detect
        detectableAgents[i].ExitDetected(Parent);
    }


More details to come.
James

Thursday, April 18, 2013

The Newest Project

So, it's been a while! I've take some time off to recover from the amount of time spent developing the last game, then began with a new concept and reworking the event and text engines from the ground up.

About the project - I can't give away much yet.
  • A much larger single level, driving an adventure style mystery. At least a few dozen NPCs, a dozen different landmarks, and multiple story paths to completion.
  • The first of a three part series, with a target play-through time of 6-10 hours per episode.
To prepare for this, I've begun the following:
  • Begun working with an actual graphics artist:
  • Utilizing the newest Nine and Bepu sources for improved graphics and physics
  • Created a powerful 3rd person camera extension tied to the the physics engine
  • Rewritten the entire "event" system which drives changing game states, text events, level loading, and player interactions
    • There is still a lot to do on this front
  • Started the first portions of user options inside of text screens, so that users can select different behaviour.
  • Cleaned and reorganized the base framework used to create a game
I'll try to keep some updates going in the future, but here are some teaser shots of the concept work:

Overview of the basic bounding models for the level


Closer up of some of the bound models


The new text editor for driving on-screen text and user options


First in game shot of the user option interface


More soon! Let me know any feedback :)

James