Sign in to follow this  
Followers 0
  • entries
    4
  • comments
    8
  • views
    1,592

About this blog

Project blog for "WorldSmith"

Entries in this blog

blueapples

Quick demo video of my Utility and Needs Based UI test framework.

 

blogentry-17500-0-05755500-1469910256_thumb.png

Click to see video on workshop

 

 

This is a quick demo video of my Utility and Needs Based UI test framework.

 

There are several things going on here to cause the AI actors to decide what to do:

 

- A scoring function runs every tick that updates the score for each available action. The top scoring action is marked as the active mode; if the mode changed since the last tick, startup logic runs for the new mode and the new animation loop is activated.

 

- The sleep action takes into account a "need", which is tracked as an increasing number from 0-100. It slowly increases over time, somewhat differently for each actor. Around when the need reaches 100, the score function for sleep does as well, eventually exceeding all other action's scores, activating sleep. When sleeping, scores for all other actions drop since it is difficult to do anything when you're tired. The script then activates the sleep animation.

 

- While performing the sleep action, the actor receives a reward each tick that they are performing this action.

 

- When awake, the actors currently switch between idle and wander actions since there is currently no other input in the environment to change the score of the other actions. These actions have an internal, random time limit which varies slightly for each actor. When the time limit expires, the action is disabled (turning it red). This allows for breaking score ties for time based actions.

 

It's not an ideal framework but it's a start.

blueapples

Have a simple portal door system working with an interior map I've just started working on today.

 

One issue I'm running into with this setup is that the exterior map is completely unloaded when moving into an interior map. This causes a huge load time when you exit the building. I'd really like to be able to optimize some of that but so far I'm pretty much drawing a blank. Maybe it's a bit too late, will think on it more tomorrow.

 

blogentry-17500-0-30334600-1468732795_thumb.png

 

blogentry-17500-0-65796200-1468732693_thumb.png

 

blogentry-17500-0-11922800-1468732706_thumb.png

blueapples
blog-0817686001468123298.jpg

Starting out a new work log here with a screenshot from my new project. Except for a few models this is entirely created with Leadwerks' Constructive Solid Geometry tools, using textures from Game Textures and terrain generated by L3DT.

 

WorldSmith is a very ambitious First Person Role Playing Game. I am essentially obsessed with a particular post-apocalyptic action RPG series and figured I should channel some of my creative energy into an attempt to create my own vision of something in a similar vein.

 

In ignoring the common advice to start small I hope to accomplish something that I can be proud of, and have enough for myself to work on to not get bored (I seriously doubt that will be a problem tongue.png)*.

 

I have a background in software development, mostly web development but also quite a bit of Python, C#. Unsure if I will be using more Lua or C++ for this project, probably a mix of both as needed. I'm drawn to Leadwerks 4.1 after a frustrating several months experimenting with Unity to create a similar project.

 

So far, I feel like I have accomplished more in four days than I did in 6+ months of trying to make Unity work. The core issue I think is something I read in an article someone posted about Leadwerks (can't find it now, boo): I'm a programmer, this system just makes more sense to me.

 

* I should say that I have done a series of small experimental projects in Unity as well as many other frameworks, and once upon a time I was an art school student studying 3D animation, so this isn't exactly my first venture. Still, I might regret the scope I'm biting off here...

Sign in to follow this  
Followers 0