Goblin Camp - Gencee
Goblins, and for that matter all creatures, need code to tell them how to act. In Goblin Camp our goblins must be able to fend for themselves. They need to feed themselves, drink, sleep, build shelter, fight off attackers and perform all kinds of jobs at camp. They ought to do these tasks while also being
aware of their surroundings, they shouldn't seem like robots or zombies that ignore all the things going on around them.



In this post I'll go through the systems I've written. They can be divided into two main systems. The first is a very traditional finite state machine, while the second is a more interesting and complex utility system.

I focus on how goblins behave in this post since they are the main characters, but the same systems drive the behaviour of all the creatures of Goblin Camp, from the birds flying in the sky to the deathfolk oggling at your gateway rock.

High level planning

Goblins form high level plans to establish a rough idea of how to fulfill their needs. For example, a guard goblin should grab a weapon and some armour if they don't already have them, hang around at their assigned guard post, and react to any alarms around camp. These three things translate into the 3 states a guard can be in. These states make it easy to write code in the style of "If goblin is in the 'Guard' state and a better weapon is available, reserve the weapon and transition to the 'Equip weapon' state."



Sleeping is a more involved example. A sleepy goblin will prefer sleeping in their own house, but if they don't have one the plan depends on how cold it is. In warm weather, the plan will be to pick a nearby tree and sleep in its shade, while during the cold months they'll formulate a plan to gather branches and
build an improvised lean-to to sleep in, which in itself needs planning to find a suitable place to build one so it doesn't block access to any existing buildings.

Each plan can only ever be in one state at a time, and will change from one state to another depending on what goes on in the game. Generally anything that behaves like this is called a finite state machine.



Each plan is independent, they don't interact with other plans at all. This keeps their implementations very simple, and it's easy to add new ones whenever a new plan is needed. A goblin will have multiple simultaneous plans: They'll have a job they need to perform, they might be sleepy
and thirsty, perhaps they're being menaced by a wolf.

Whenever a plan changes from one state to another, it will add one or more behaviours to the goblin. From the above examples, if the guard goblin has decided to equip a weapon the code will add behaviours to walk to the weapon, pick it up and equip it.

Low level behaviours

Every behaviour is a fairly simple, single thing to do. Examples are: "Move somewhere", "Pick up an item", "Attack an enemy", "Wait", "Equip a weapon", "Catch a fish".

A goblin can only do one thing at a time though so they need a way to choose from a large set of behaviours. They could have 5 behaviours that want to move them to 5 different places, and they can only be in one place at a time. To make goblins act sensibly they also need to be able to react to sudden changes around them, so they have to ready to change their minds in the middle of a plan.

A utility system is in place to allow goblins to decide which behaviour is most beneficial to them at any given moment. In particular the system is modelled after the Infinite Axis Utility System. Plans give behaviours an overall priority to give a rough ordering (idling at the gateway rock is a lower priority plan than performing a job, for ex.). More importantly each behaviour has a set of considerations attached.

Considerations

A consideration is a basically a function that evaluates to a number between 0 and 1. They are things such as "How far away is the item we want to pick up", "How thirsty is the goblin" or "How many enemies are nearby". Each consideration also has a response curve that determines what score the behaviour gets based on the value of the consideration function. This lets you tailor the same function for different purposes. Some behaviours should be more likely to happen if an item is nearby, while others should be less likely. We can reuse the same consideration for many behaviours just with different response curves.



A behaviour can have any number of considerations attached, and since the considerations are each independent adding new ones and modifying existing ones is very simple. Evaluating consideratons can be done in parallel since they only read information about the goblin and its surroundings and output a score value. This easily scales up to hundreds of goblins and other creatures all simultaneously evaluating and scoring their behaviours.

Thinking and reacting

One of the main features of this system is the reactivity it provides. Let's look at a concrete example.

A goblin has been assigned to fish. They formulate a plan with these behaviours: "Go to fishing spear", "Equip fishing spear", "Go to water", "Catch a fish". When the goblin has equipped a spear and is on their way to the water a ravenous crane descends from the sky and attacks them. Because goblins always have a behaviour to defend themselves, that behaviour now takes precedence over anything else and the goblin stops moving and starts defending themselves with their spear. A guard goblin arrives as well and they defeat the crane together. During the battle the fisher goblin became thirsty, and a set of behaviours to find water and drink have been added. During the battle any thirst behaviour is not important enough to be chosen, but once the battle is over drinking is the next most important thing.

Now the fisher goblin goes to the nearest water source and has a drink. Once they've had their drink the drinking behaviours are removed, and we're left with the original behaviours added by the fishing plan. Before they were interrupted they were still moving towards the water to fish, but the consideration for the "Catch a fish" behaviour scores highest now because they are already next to water. So they directly start fishing.



Modelling this kind of behaviour using finite state machines is possible, but accounting for all the various scenarios quickly becomes infeasible and often the solution is to just cancel whatever was going on and switch to the new state, or wait until the current state ends. In the above example the fisher goblin would cancel fishing altogether when attacked and drop their fishing spear. If they were to become thirsty while fishing they'd likely keep on fishing regardless, potentially becoming dangerously thirsty while doing so.
With the utility system AI it is simple to switch between behaviours and keep the old ones active, the system automatically rearranges them according to their scores, allowing goblins to react to changes and continue jobs where they left off.

On the other hand, adding in new plans with new behaviours remains easy and simple regardless of how many there are already. Since behaviours arrange themselves automatically based on their combined consideration scores, the complexity of the system doesn't increase when new behaviours are added. I can layer on as many behaviours as I wish and the goblins will keep behaving correctly. This allows us to keep adding more complex interactions between the goblins while keeping the code maintainable and bug free.
Mar 4, 2024
Eternal Return - GM_Goddess
We will be rolling out the 1.16b Hotfix at 9:30 AM (UTC).

* Some changes may not be applied to tooltips or Practice modes.

Check out the details on our Website.

[url][/url]
Mar 4, 2024
异界战记 - 路人bear
第4张地图东部干旱区改成即时模式
增加枪械店和枪械配件改造功能
修正打完区域2无法打区域3问题
修正向上移动时错误偏移问题
修正与boss的接触判定异常
Mar 4, 2024
The Light of the Darkness: Origins - QUARTOMUNDO
Join Us for an Exclusive Live Stream Event: Unveiling the Mysteries of The Light of the Darkness: Origins

Greetings, adventurers and lore seekers! We're thrilled to invite you to this livestream event dedicated to "The Light of the Darkness: Origins," exclusively on Steam. Prepare to dive deep into the heart of our game's universe, where dark intertwines with light.

What Awaits You:

Never-Before-Seen Trailers: Witness the unveiling of brand-new trailers that offer a glimpse into the epic journey that awaits. Experience the stunning visuals, captivating storylines, and the rich, immersive world we've crafted with passion.

Developer Talks: Join our creative minds behind "The Light of the Darkness: Origins" as they share insights into the game's development process, from concept art to the final touches. Discover the inspiration behind the game, the challenges we overcame, and the secrets that lie within its depths.

Fun Videos and content about the game.
Mar 4, 2024
TechnoMagic - admin
In the technomagical world, marvelous events are constantly happening! A sinister fog has spread across all underground territories, transforming the hearts of the creatures living there into diamonds. For three weeks, you will need to collect hearts of mines or their shards, which can be combined into whole hearts and exchanged for rare inlay stones at the City Supply Center!

By completing various assignments from the quest log, you can obtain hearts of mines, boxes with hearts of mines, or simply their shards. Opening boxes gives you a chance to acquire whole hearts of mines or several shards. One hundred shards can be assembled into a complete heart using magic glue or magical super glue.
A full list of available quests can be found in the quest log. Below is a brief description of rarer quests and the rewards you can earn!
For the quest "Grimwood Hunter," available from level 8 that can be performed only once, and for the daily quests "Crystal Fever" and "Successful Investment" (spending crystals), available from level 6, you will be awarded hearts of mines.
For the quests "Normal at Grimbold's Fortress," available from level 8, and "Normal at the Tower of Despair," available from level 10, both performed only once, as well as for the daily quests "Successful Investment" (spending gold), "Dungeon Warrior," and "Fearless Hunter," available to characters from level 6, you will receive boxes with a heart of mines.
For the quest "Free Hunter," available from level 6, you will receive shards of hearts of mines.
Attention! When completing the "Successful Investment" quest, make sure that the incurred expenses are listed in the quest or clarify if the planned expenses will be counted.
You also have a chance to obtain boxes with hearts of mines in the Wheel of Fortune or by dismantling any stones from Yar Marko using a jeweler's toolset from the Supply Center.
In the assortment of goods for hearts of mines, high-quality Adamas of Power is now available. It enhances the effect of the Power Scroll by 5%, and the Scroll of Light, increasing the chance of activating the skein of Light. Exchange of normal Adamases of Power for high-quality ones is possible with an additional payment in hearts of mines.
As announced in the previous event, epic nimelin has been replaced by durable nimelin.
All types of Adaliant and arAdaliant stones can be obtained in exchange for hearts of mines for the last time this season. Hurry to purchase the items you need!
Task completion is available until March 23, and combining shards into hearts of mines and purchasing rare stones in the Supply Center is possible until March 25 inclusive.
Wishing you exciting adventures!
Limbus Company - ProjectMoon



Mar 3, 2024
Cozy Room Decorator - Lucky Roll Studio
Demo 2.1.0 is now available on Steam!

  • Controller schemas are now customizable.
  • Updated the default controller layout for Playstation, Nintendo, Xbox and Steam Deck.
  • Steam SDK Implemented, meaning Steam Decks can now use the integrated keyboard without manually opening it via hardware.
  • Implemented Steam Deck keyboard anywhere typing is required in game. Same effect can be achieved on PCs with Big Picture mode turned on.
  • Ensured scroll view always goes back to the top when changing categories on the Catalog page.
  • Steam Decks will now default to the best aspect ratio and resolution on game launch.
  • Preview scene now has the pause menu, therefore when viewing a room in the Community Gallery you can use the back button or the pause menu to go home.
  • Updated Icons on Catalog for consistency.
  • Added new ambient noises.
    • Fireplace Crackling
    • Bubbling Brook
    • City Traffic
    • Woodlands
    • Crickets
    • Owls
    • Sherman Frogs
  • Updated the Ambient Noise, Time of Day and Weather buttons to function as toggles.
  • Adjusted LUFs on all Ambient Noises, Sound Effects and Soundtracks.
  • Update Tutorial to reflect the new default controller layout.
  • Updated Quick Reference Menu to reflect new controller schema.
  • Updated Loading Screen Tips to reflect the new default controller schema.
  • Linux/ SteamOS, macOS and Windows 10 & 11 are all officially supported.

We believe this is the last critical update to the demo version of the game. We will of course push bug fixes and applicable new features to the demo in the future as needed. Our focus will now shift to the official launch of Cozy Room Decorator!
Mar 3, 2024
Armored Warfare - Silentstalker
Commanders!

Earlier this week, we unveiled the first main prize of the upcoming Europe’s Edge Battle Path – Leopard Cockerill and today, we’re going to take a look at another one – the Ajax IFV.



But first, a bit of history as usual. In the early 2000s the British Ministry of Defense took another stab at designing a scout vehicle and this project morphed into the Future Rapid Effects program (FRES). The parameters were hampered by the UK’s perplexing STRIKE doctrine. The resulting requirements that fueled FRES looked on paper to have created an impossible vehicle. The resulting winner for FRES was the General Dynamics Scout SV series, one of which is Ajax.

By this point, the utter stupidity of STRIKE was apparent, however, very senior officers had their careers tied up in the success of at least some of it and the Scout SV series was therefore pushed forward. Due to the lack of Army-controlled vehicle design systems, the project ran into several failures such as the Spanish manufacturers making the two sides of the vehicle’s hull of different lengths. And because they were not using even such basic tools as jigs, no two parts were of the same dimensions.



These problems were not discovered on site as the final assembly was conducted in Wales. Even after several hundred components had been delivered, only a handful of vehicles were able to be completed. These problem, along with and many more, resulted in multiple over-spends and delays, and made Scout SV tied up in politics, which compounded the delays even further.

Eventually, the politicians demanded that the project be gripped, and with a replacement of one very senior officer, who had been in part responsible, the project was gotten back on track with the estimated operational date of 2024-2025.

While expensive, the vehicle is a lot larger than your usual scout vehicle, however, it is phenomenally well protected and armed and has a list of sensors with capabilities beyond belief. That means it is a very welcome addition to the UK’s AFV fleet.



There’s a lot more to the story of the Ajax and it’ll be followed by a more comprehensive history article. But, for now:

In Armored Warfare, the Ajax will be a Tier 10 Premium Armored Fighting Vehicle.

Just from the photos alone you can probably tell the Ajax will be – in the best traditions of British armor development – extremely well protected. Despite lacking advanced armor such as ERA or NERA, those thick slabs of composites covering its entire hull will make it all but impenetrable to autocannons. The advantage is that they don’t degrade like ERA or NERA does.



Firepower-wise, there’s a single weapon system, 40mm CTAS autocannon similar to the one that can be found on other high-Tier vehicles. It provides sustained firepower that’s especially viable in PvE where every second of damage output matters. Although – let’s face it, this kind of weapon is usable under any circumstances. It’s also worth noting the gun will have excellent depression and elevation values. Mobility-wise, things are a little worse off as the vehicle is very heavy due to all that armor installed on it. The Ajax isn’t especially fast, nor is it very agile – but who needs agility when you have so much armor.



There’s one more ace up Ajax’s sleeve though – a new special ability Gunshot Detector that will (for a short duration) increase the automatic spotting range your vehicle has. Nobody’s sneaking up on this British bulldog. In short, what we have here is a well-armored behemoth that’s performing best on the front lines. Thanks to its relatively forgiving design, the Ajax is suitable both for old and new players who like to have fun in more challenging PvE content, more of which is definitely coming this year.

We hope you’ll enjoy it and, as always:

See you on the battlefield!
Sect And Monsters - hewei
v4.0
1. Increase the infant transformation stage to level 150 to be reincarnated
2. Optimized the combat system and added many character skills and several equipment special effects.
3. Fix the problem of mutated equipment’s weapon spirit
4. Repair the calculation of sect recruitment quantity
5. Demon elixir increases the attributes of experience, drop quality, and refining quality.
6. Men’s clothing and rings are distinguished
7. Please inform us if something is broken, and ask for player experience, praise and promotion.
Skate Rift - harry
SDK
- Added hot-reloading worlds using command: load_world reload
- Fixed a bug with existing map-making feature 'flip gate exit'
Its obscure; There wasn't any workshop maps using it. Just in case, it works again.

Future stuff
Gonna use this to inform yall that I plan to price the game up by $1-$2 in the future, as I'm working on a content update. If you already own the game you will get it for free. ːdonutFuː

Sometimes streaming development of that DLC live on my Twitch channel, if you're interested (In the evenings, Mountain Time UTC-6).
...