Tool [WIP][TShock] NPCBots! A server modification which allows Terraria bots with AI!

Patrikk

Terrarian
npcbots.png


Welcome to my project of NPCBots!



NPCBots is a sever modification - powered by TShock - which allows users to own and fully customize a Terraria "bot"!


pU3Mdg9.gif


~The Story~

I've been playing Terraria for several years now, and I always wished if the atmosphere of the game was more alive, more interactive.
If the NPC's would interact with the players dynamically, according to specific circumstances, talking to the Player. Like having an actual AI.
Sure that could be done with client sided modifications. But since I prefer to play and explore with my friends on our private world, I was thinking of something Terraria server sided.

After a lots of brainstorming and finding TShock - a server modification tool for Terraria - which extends the basic Terraria server features with almost endless possibilities (which you can read more about here). I was finally able to let out my creativity, and mash it all in the NPCBots plugin.


wtrIMDo.gif


Why am I posting this here?
The reason I came to TCF is because, where else would I find Terraria fans like me, who I could discuss the development of this feature? :p
I'm looking forward to everyone's say on the feature, tips, ideas, recommendations, critics!

~So far~

Currently NPCBots feature is installed on my Public server, where I can get a big amount of active testers to my feature.
So they can experience the feature in it's core, see it take it's first steps in development.
If you are interested in seeing this feature live your self (you wouldn't be reading this far if you weren't :p) be one of the firsts to apply in being a beta tester!
All you have to do is fill out the application form on our forum: http://aurora-terraria.org/forum/threads/npcbots-introduction.2475/

We will be hand picking experienced (and addicted :p) Terraria players to test out our feature.
The ones picked will be vested with the [Beta Tester] prefix, and will be granted to spawn and customize their very own NPCBot!
But don't worry, even without being a Beta Tester, you can see and interact with other Beta Tester's NPCs! :)


PbXSEq8.gif



~Details~

An NPC bot is basically a "fake" Terraria player spawned in the world while sending the correct packets to the players, to bring the bot "alive".
Currently the main feature in NPCBots is their AI system.
They can react to multiple circumstances, as

- Playtime
- Kill / Death ratio
- Player's pets
- Mounts
- Weather
- World Time
- Player's gear
- Player's item in hand
- Buffs



08db77b835.png



The AI is stored in a MYSQL database where the sentences can be modified on the fly.
The NPC reacts (talks) when a Player enters in it's radius, or triggers the NPC by left mouse button. (Don't hit him in the head accidentally with your pickaxe! :eek: )
Upon triggering the NPC, it picks a random sentence category, then from that, it picks a random sentence. (The more sentences we got, the more alive our NPC becomes ^^)
To make the NPC less static and boring, it turns towards the player it talks to.

The AI database also has 4 kinds of sentence categories.
- Player specific sentences - Commenting with player value information. (gear, pets, items, etc.).
- Server dynamic sentences - Commenting on events, and server stored player information (playtime, weather, rank, etc.).
- Less-dynamic sentences. - Jokes, gossips, insults, where sentences can have variable elements. (as it can tell a gossip by picking a random player's name online).
- Static sentences - Simple, static sentences without any variables or dynamic elements.


mMpy2sw.gif


Customization of the NPC works thought commands.
You can set each attribute individually - haircolor, style, clothing colors, inventory/gear - or you can just use one short command to dress up your NPC with your(or other player's) looks! Your personal Mini-Me ^-^ Isn't that cute?

I do not wish to bore you with the how-to's and instructions, so if you wish to learn more about how to work the NPCBot, just check out our forum thread linked above


~Future development~

If the current development is successful, and fulfills it's purpose - (making the atmosphere more alive) -
I will start working on more advanced features, such as making the NPCBot follow it's owner. Yes, thats right, run and hop around, trying not to get lost in the wilderness of Terraria.
If you give a weapon in it's hand, it will even protect you from your enemies! (Gotta make sure he knows how to use that thing, wouldn't want the poor fellow to poke his eye out ._.)

You are still reading and not already making your keyboard on fire writing the application for beta testing? Buggers, you're hard to impress!
Humm.. well, what else can I say.. It is awesome, it is unique, and it is definitely something you should check out! :p

I will appreciate any kind of feedback (but positive ones will make me more happy :p) from all the Terrarians. And hoping people will give a chip of their creativity, and put it in NPCBots, to make it better and better!

References:

http://aurora-terraria.org/
http://tshock.co/
Aurora Terraria Facebook
 
Last edited:
Glad it got your interest! :)
We are just working on final touches to showcase the feature. Within 24 hours the server will be populated with dozens of NPCBots, for the players to test and experience the feature.
I'll keep this thread (and the one on our forum) updated with news.
 
This is such a fantastic idea! I too would love more interactive NPCs! Cant wait to see who becomes a tester!

Really really nice work :)
 
How about the NPC Bots say things based on their surroundings, your inventory, etc. And what if at random intervals (Like, 1 week to 10 weeks?) they spawn bosses based on your inventory? And how about they unlock MORE phrases once you enable Hardmode?
 
Back
Top Bottom