Site Announcements

  • Account registration restricted. Email lord.ixzion AT gmail.com and I will get you set up. Thanks.
  • RPGMM Discord Channel - https://discord.gg/YJnAfVr

  • New to the site? Let us know!! - Check here.
  • RPGM Magazine Mission Statement. - Check here.
  • We now have a forum up specifically for the races, check it out. - Check here.


[Continue]

It is currently November 14th, 2024, 10:43 pm
View unanswered posts | View active topics


All times are UTC - 5 hours [ DST ]




Post new topic Reply to topic  [ 18 posts ] 
Author Message
PostPosted: April 2nd, 2012, 3:30 pm 
Rank 2: Eager White Mage Rank 2: Eager White Mage
Nobody's Coregent
Offline
User avatar

  Level 57
 

Joined: January 9th, 2010, 3:55 pm

Posts: 589

Location: California
WARNING: Wall-o-text; but I promise it's worth it. And, no, this isn't a day-old April-fools joke.

Monster Brain Trainer

The RPGM VX Ace: Monster Brain Trainer is an experimental project I am working on. The goal of the project is to create new kind of artificial intelligence in an RPG - something that, to my knowledge, has never been done before in an RPG (and only done perhaps two or three times across all other genres in commercial games).

In a nutshell: It is my ambition to give the enemies (monsters) in VX Ace each their own "brain" composed of a mixture of genetic algorithms and multiple artificial neural networks (an AI technology based on the biology of actual brains). More than that, all of these "brains" will be managed and bred by a central server which will connect to every copy of MBT (and whatever future game uses the MBT framework). The end result is intelligent enemies that learn and evolve from every battle fought by every player.

It is my hypothesis that the enemies with these brains will exhibit sophisticated behaviors, provide dynamic & challenging battles, and breathe new life into what can otherwise seem to be a pretty dated battle system.

Of course, it is equally possible that these brains will make the monsters as dumb as posts. After all, not everything with a brain is what you would call intelligent.

But it's my aim to find out if this method of implementing enemy AI is feasible, satisfying, and effective. If this experiment is a success, and my hypothesis correct, then we could be seeing all kinds of neat things in RPGs in the coming years. Or not. That's the fun - I have absolutely no idea what is going to happen. So let's find out together.

How You Can Help

Within the coming weeks, I hope to put together the Monster Brain Trainer game. Basically, it will be a specialized "game" desiged for one purpose - to train monster brains.

In order to give these brains life, I need people to beat the living snot out of them. And to also get beaten up by them.

It will work like this: You download the MBT, start a new game, and find yourself in the Training Center. Inside, you can pick from one of three character classes (Fighter, Mage, Archer), and then choose to fight one of several different enemies. You fight and fight, different enemies, as different classes, and at the end of each battle your data, moves, stats, and battle outcome are uploaded to the MBT central server where it will be used to train monster brains.

And that's it - you won't have to report back on progress, fill out forms, look for bugs, or anything other than simply fight monsters. Fight one or two battles. Fight a hundred battles. Fight once a week, or ten times a day. Each battle is automatically uploaded to the central server in the background - and since battle data is small (likely a few kilobytes at the most), it doesn't matter if you have a slow network connection. Win or lose, each battle outcome helps the monster brains to learn.

As you fight battles, check the leaderboards (which will both be in-game and online) and see how you stack up against other monster trainers.

What Happens Next?

Once I have enough battle data, I will be able to create the first series of monster brains. With the new monster brains in hand, so to speak, I will release MBT Version 2. In Version 2, you will get to fight the monsters you helped train - if my hypothesis is correct, these battles will be a lot tougher. And, of course, the battle outcomes of Version 2 will all go into the central server where various neural net sequences and configurations will be weighted, ranked, and used to create the next generation of monster brains.

If/when we reach that point, we should know whether or not my theory worked. If it did - then we can take the next step and train more complex brains designed to fight cooperatively with other monsters against parties of heroes. And, if it turned out to be incorrect, then I can go back to the drawing board and figure out why my brainilized monsters are complete and utter morons.

Being as I'm fascinated with things like artificial intelligence and incorporating non-traditional technologies into games, I'm really excited by the potential for this project. And I hope some of you will be excited too. Someday we may have game characters with artificial "brains" instead of just scripted dialog and actions, or primitive path-finding and poor AI.

And I hope that this experiment could be the first step toward that distant (hopefully not too distant) future.

As I work on the MBT project, updates will be posted here. In theory, the MBT Version 1 is not very complex, and shouldn't be too much trouble to create given the foundation I have already laid with my work this past weekend getting a artificial neural network and online communication working from inside VX Ace.

Please let me know if you have any questions or thoughts on this. Although the odds of success may be low, you really never know until you give it a shot. If anyone can get this working, I think it just might be me. I know, at least, that I can try.

_________________
Image

Thutmose's Workshop: Making Things for RPG Maker
Kupid RPG Maker Keyboard: Live Stream


Top
Profile  
 
PostPosted: April 3rd, 2012, 9:37 am 
Site Admin Site Admin
"The worst pokemon."
Offline
User avatar

  Level 97
 

Joined: January 16th, 2006, 1:09 pm

Posts: 15377

Location: 33.2076° N, 92.6663° W
Worth reading indeed. I'd love to help out. If this were introduced by a legit gaming company, people would be flipping out over it. You never cease to amaze.

_________________
Image
"Belief extremely stately towards great accomplishment."
-eruperade


Top
Profile  
 
PostPosted: April 3rd, 2012, 10:02 am 
Rank 6: Potent White Mage Rank 6: Potent White Mage
We didn't play twister mister
Offline
User avatar

  Level 50
 

Joined: May 7th, 2005, 11:24 pm

Posts: 2721
This is incredible. I can't wait to help this experiment.

...Though those monster brains better get to stepping. We can learn, too. :shades

_________________
http://www.passid.ca/orange
Nintendo ID: SuperOrangeGamer


Top
Profile  
 
PostPosted: April 3rd, 2012, 4:54 pm 
Rank 2: Eager White Mage Rank 2: Eager White Mage
Nobody's Coregent
Offline
User avatar

  Level 57
 

Joined: January 9th, 2010, 3:55 pm

Posts: 589

Location: California
Thanks all. ^_^

Update:

When I first came up with this idea, I wasn't really thinking about what it would be like if this really worked and players were fighting unbeatable enemies. Really, if it works in any way at all whatsoever I'd be happy. :P But when you take this to its logical conclusion, then you would end up with enemies that would be virtually unbeatable (or so challenging that players wouldn't have fun - unless they are fans of Nintendo-hard games).

After thinking about it more, I began to realize that in order for this to be viable, the end goal can't just be to make the smartest, most unbeatable, enemy possible. When creating AI for something like Chess, yeah, that goal makes sense - if you're IBM.

So I went back to biology.

The idea of the mind/brain as a single entity is really an illusion. It is composed of interlocking neural networks. Heredity and upbringing affect which parts of the mind/brain are most expressed in a given circumstance. Some part of you may want to run up to a pretty girl and ravish her - but another, more sensible part, vetoes that. Part of your mind is selfish, another is altruistic. And so on, and so on. Feel free to throw in some pseudo psychology too.

That, I think, is the key that's missing from a lot of traditional AI & ANN approaches. And that is also what will give my approach the ability to dynamically adjust difficulty (i.e. dynamic intelligence).

Without going into too much technical detail: I intend each monster's "brain" to be composed of multiple neural networks. Each network is what I call a "drive". There will be a self-preservation drive (immediate turn scope), a planning drive (several turns scope; focusing on buff/debuff sequences), and an altruism/teamwork drive (hybrid scope - this one will come later and will not be part of the initial project). There may be additional drives later, potentially.

These drives are all fed the current battle data. In some cases, all the drives will agree on the course of action. In other cases, the drives may disagree. The drive that the monster listens to is determined by genetics.

As a part of each monster's brain is a genetic algorithm. This algorithm determines which drive will ultimately win out in a given turn, and which course of action recommended by a drive will be executed (unlike traditional AI which is binary, either one or zero, yes or no, a neural network is fuzzy - the self preservation drive may recommend attack as the number one option, and healing as number 2 - genetics determine which of the recommendations are carried out). The success and failure of a given brain configuration will determine whether or not a monster will be allowed to breed. Monsters that kill heroes will be allowed to breed with each other, and over many generations, their offspring will in theory be better fighters - not just because their neural networks have evolved, but because their genes have evolved as well.

The genes could be a new set of stats like aggression, social proclivity, preference for magic versus physical, and so on. You could create a hundred duplicates of the same monster, but totally change their behavior by just altering their genes.

This mechanism will become especially fascinating to observe once the altruism drive is worked in. What happens when a weak monster at critical health has the choice to either heal themselves, heal/buff a stronger ally, or attack an enemy? The self preservation drive would say "heal yourself", the planning drive might say "inflict an attack debuff on your enemy", and the altruism drive may say "sacrifice yourself for your friend". The monsters actions will be determined by their genetics. Maybe they come from a long line of really selfish monsters who don't care about anyone but themselves.

Each brain configuration gets uploaded and ranked by losses and victories to determine good monsters to breed. A side effect of that is not only do you know what configurations are good, you also know which ones are bad - and just how good/bad they are. You could even track the player party configurations so the system knows who beat monster X, or who monster Y was able to kill easily.

Knowing all of this information, a game could look at a player's party, look at their battle history, and see that they prefer mages and use magic attacks a lot and prefers restoration spells instead of potions. The game would look at the difficulty setting the player set ('okay - he likes it rough') and the game would request monsters from the server that are good against mages, have debuffs that prevent of hamper restoration spells, and so on.

Or the player might set the game to easy - the game would then request enemies that are not necessarily weak against magic, maybe even use the same enemies with the same stats as in hard mode, but the only difference being that these enemies are bad strategists when dealing with a magic-heavy party, as determined by bad genes.

You can get as sophisticated as you want with this mechanic. Make really complex gene sets, give each monster five different drives, whatever. For my tests, for right now, I want to keep things simple. I want to prove that this technique for AI is feasible. Just feasible, initially.

Once I prove that it works, then I can step it up, incrementally. I'm not looking to boil the ocean here... not yet. :P

If I can prove this works, figure out how to make it not just viable but a desirable mechanic then there is a lot of potential.

Ultimately, presuming success, I don't want this to just be a VX Ace technology. I'd like to create a framework that could be applied to any game developed for any engine. I would be interested in commercializing this technology if I can manage it somehow. But that's in the far future.

In the more short term - I'd like to refine my ideas, finalize some version of my technique, and turn it into a framework for VX Ace.

In the scope of a VX Ace AI framework - most battle systems are pretty similar on a fundamental level. They are turn based (this specific framework will not natively support non-turned based battle systems; although it isn't impossible), they use some standard stats (strength, magic, speed - the three core archetypes being fighter, mage, and archer for which this framework will be designed), they use HP and MP, and enemies have a finite move set composed of physical attack, magic attack, healing, buffs, and debuffs.

The framework will be designed with those things in mind - and they will be used as "links" or "hooks" to bind the monster brain to a monster in any given turn-based battle system. Accepting standard inputs (stats), and a single output (the move to execute) the framework should be plug-and-play.

Because I haven't created the neural networks yet, and their exact design is up in the air right now, I can't say exactly how plug-and-play the framework will be. That is, whether or not new data will need to be totally regenerated and new networks trained for each and every game to use the framework.

That said, in theory - if your target battle system has what I specified above, or you are using the vanilla VX Ace battle system, then it should be possible to use what I am going to call the "meta brain". That is, the central archetypal monster brain that I will be creating over the course of my experiment.

If you are able to use the meta brain, then it will help the brain continue to grow and learn as people play your games. If you can't use the meta brain and require your own to meet the needs of your battle system, then you will need to create your own MBT, create and train a new meta brain, and use that.

I know that ATB style battle systems are really popular. That said, they add an additional layer of complexity that I don't want to deal with right now when I am in the extremely early stages. If this is successful, I will consider creating a second meta brain specifically for ATB battle systems.

_________________
Image

Thutmose's Workshop: Making Things for RPG Maker
Kupid RPG Maker Keyboard: Live Stream


Top
Profile  
 
PostPosted: April 8th, 2012, 6:21 am 
Rank 2: Eager White Mage Rank 2: Eager White Mage
Nobody's Coregent
Offline
User avatar

  Level 57
 

Joined: January 9th, 2010, 3:55 pm

Posts: 589

Location: California
I am making excellent progress. I have the basic training room built, the MBT now records every battle fought, and uploads the data to my server, storing the results in a database.

It also allows you to track your progress and view various stats (display leader-boards, and view overall stats from the database of battle recordings). There will be a companion website where you can register your game, and see even more data. I'll start the website stuff after I have the MBT game more or less complete.

For the MBT, I just need to do some battle balancing, add in the leader-board and tracking displays, and a few other odds and ends; but the bulk of the work is done. A little polishing.

I'm still working out the specifics of the AI, but I have plenty of time for that. Right now, the focus will be on acquiring enough data to work with.

Image
Image

_________________
Image

Thutmose's Workshop: Making Things for RPG Maker
Kupid RPG Maker Keyboard: Live Stream


Top
Profile  
 
PostPosted: April 8th, 2012, 11:56 pm 
Rank 2: Eager White Mage Rank 2: Eager White Mage
Nobody's Coregent
Offline
User avatar

  Level 57
 

Joined: January 9th, 2010, 3:55 pm

Posts: 589

Location: California
The early beta of MBT V1 is up now.

http://thutmosesworkshop.com/files/Project1.exe

It has all the core functionality, but not much in the way of polish & error checking, so there could be a few bugs. The leader-board is working, and you can view them in-game.

In any case - there it is. If you're interested, give it a try and let me know what you think. You will need the VX Ace RTP installed (http://dl.degica.com/enterbrain/rpgvxace/RPGVXAce_RTP.zip). And this: http://www.microsoft.com/download/en/details.aspx?id=5555

If there are any errors or issues, please let me know. Without feedback, there's no way I can make this project work.

While it connects to the server and fetches/uploads data, the game will freeze. If your net connection is slow, this will be more noticeable. This is something I'll work to make smoother later. The leaderboard and stats displays are the hieroglyphic panels next to my carving in the center of the back wall.

If you want to set your username for the leader-board, PM me your GUID (just talk to my carving in the game and ask about the GUID) and the username you'd like to have, and I'll set it for you (eventually there will be a companion website where you can do things like this yourself).

Please let me know if you have any questions at all whatsoever.

_________________
Image

Thutmose's Workshop: Making Things for RPG Maker
Kupid RPG Maker Keyboard: Live Stream


Top
Profile  
 
PostPosted: April 9th, 2012, 2:23 pm 
Site Admin Site Admin
"The worst pokemon."
Offline
User avatar

  Level 97
 

Joined: January 16th, 2006, 1:09 pm

Posts: 15377

Location: 33.2076° N, 92.6663° W
The game crashes a second or two after starting a new game. I'm using a 32 bit operating system and made sure I was using the 32 bit version of Microsoft Visual C++. I'll take it home to my 64 bit OS and see if it has any issues. Honestly, it may just be my work computer as it's had other strange issues in the past.

_________________
Image
"Belief extremely stately towards great accomplishment."
-eruperade


Top
Profile  
 
PostPosted: April 9th, 2012, 2:34 pm 
Rank 2: Eager White Mage Rank 2: Eager White Mage
Nobody's Coregent
Offline
User avatar

  Level 57
 

Joined: January 9th, 2010, 3:55 pm

Posts: 589

Location: California
Lantis wrote:
The game crashes a second or two after starting a new game. I'm using a 32 bit operating system and made sure I was using the 32 bit version of Microsoft Visual C++. I'll take it home to my 64 bit OS and see if it has any issues. Honestly, it may just be my work computer as it's had other strange issues in the past.
The very first thing it does after loading the map is call out to my server and log your unique ID number. Typically it freezes there for a second or two.

If it crashes at that time, that means there's some problem with the web connection function of the program. Any error message? Or just a straight crash?

Navane got it working on his computer last night with no trouble, after installing the C++ redistributable. So hopefully it's just your work computer being wonky.

_________________
Image

Thutmose's Workshop: Making Things for RPG Maker
Kupid RPG Maker Keyboard: Live Stream


Top
Profile  
 
PostPosted: April 9th, 2012, 2:39 pm 
Site Admin Site Admin
"The worst pokemon."
Offline
User avatar

  Level 97
 

Joined: January 16th, 2006, 1:09 pm

Posts: 15377

Location: 33.2076° N, 92.6663° W
It's just a straight up crash. The only options are to close the program or search online for a solution... you know, that option that no body ever uses and never works even if you do use it. My IP gets routed from Arkansas through Oklahoma through their servers. It's possible that they have some kind of filter that won't let it communicate with wherever your server is. That or my computer's just retarded.

When I get home, I'll mess around with it. I'm fairly certain it'll boot right on up.

_________________
Image
"Belief extremely stately towards great accomplishment."
-eruperade


Top
Profile  
 
PostPosted: April 9th, 2012, 3:23 pm 
Rank 8: Adept Fighter Rank 8: Adept Fighter
Offline
User avatar

  Level 73
 

Joined: May 19th, 2006, 8:42 pm

Posts: 3632

Location: Ohio
I've played around with it a little bit, and I'll say, even without the enemies learning anything new yet, it's still cool to be able to database this information, and display it across every copy of the game out there, as seen in the leaderboard.

_________________
Image Image Image Image


1) Statement 2 is true
2) Statement 1 is false


Top
Profile  
 
PostPosted: April 9th, 2012, 3:26 pm 
Rank 2: Eager White Mage Rank 2: Eager White Mage
Nobody's Coregent
Offline
User avatar

  Level 57
 

Joined: January 9th, 2010, 3:55 pm

Posts: 589

Location: California
myoky wrote:
I've played around with it a little bit, and I'll say, even without the enemies learning anything new yet, it's still cool to be able to database this information, and display it across every copy of the game out there, as seen in the leaderboard.
Thanks. :)

Even if my AI experiment is a failure, there's still a lot to learn from this project, and a lot of potential to apply my techniques toward other ends.

_________________
Image

Thutmose's Workshop: Making Things for RPG Maker
Kupid RPG Maker Keyboard: Live Stream


Top
Profile  
 
PostPosted: April 10th, 2012, 6:28 pm 
Site Admin Site Admin
"The worst pokemon."
Offline
User avatar

  Level 97
 

Joined: January 16th, 2006, 1:09 pm

Posts: 15377

Location: 33.2076° N, 92.6663° W
Image

I've downloaded and placed said dll in just about every directory I can think of it needing to be, but it doesn't seem to want to take. =/

This is from my home computer.

_________________
Image
"Belief extremely stately towards great accomplishment."
-eruperade


Top
Profile  
 
PostPosted: April 10th, 2012, 7:35 pm 
Rank 2: Eager White Mage Rank 2: Eager White Mage
Nobody's Coregent
Offline
User avatar

  Level 57
 

Joined: January 9th, 2010, 3:55 pm

Posts: 589

Location: California
That DLL comes from the C++ redistributable I linked to above.

It may require the 32 bit version to be installed (VX Ace is a 32 bit program, so it will probably look for the 32 bit DLL) - the installer should just be an EXE file, and it will place the DLL in the correct location automatically.

Let me know if you still have problems.

_________________
Image

Thutmose's Workshop: Making Things for RPG Maker
Kupid RPG Maker Keyboard: Live Stream


Top
Profile  
 
PostPosted: April 10th, 2012, 7:49 pm 
Site Admin Site Admin
"The worst pokemon."
Offline
User avatar

  Level 97
 

Joined: January 16th, 2006, 1:09 pm

Posts: 15377

Location: 33.2076° N, 92.6663° W
I've tried C++ Redistributable 2005, 2008 v9.0 (both 32 and 64 bit) as well as 2010 v10.0 (also 32 and 64 bit), and I either don't have the DLL or I get this:

Image

So it's basically the same thing as what was happening on my work computer. I tried it on my laptop as well. Meaning I couldn't run it on Windows XP 32 bit, and Windows 7 32 bit and 64 bit.

I believe I may be cursed. Stay far away from me.

_________________
Image
"Belief extremely stately towards great accomplishment."
-eruperade


Top
Profile  
 
PostPosted: April 10th, 2012, 7:52 pm 
Rank 2: Eager White Mage Rank 2: Eager White Mage
Nobody's Coregent
Offline
User avatar

  Level 57
 

Joined: January 9th, 2010, 3:55 pm

Posts: 589

Location: California
Fascinating.

Both myoky and Navane were able to get it working without incident. Actually, Navane had the same problem as you, but it cleared up once he installed the C++ redistributable.

I can try PMing you a dev version that will display more detailed error messages (hopefully down to the line number) to help narrow down the problem, if you like.

_________________
Image

Thutmose's Workshop: Making Things for RPG Maker
Kupid RPG Maker Keyboard: Live Stream


Top
Profile  
 
PostPosted: April 10th, 2012, 8:35 pm 
Site Admin Site Admin
"The worst pokemon."
Offline
User avatar

  Level 97
 

Joined: January 16th, 2006, 1:09 pm

Posts: 15377

Location: 33.2076° N, 92.6663° W
Oh no, don't worry about that. I don't want to put any extra work on top of what you already have. And if I'm the only one having this issue then it really wouldn't be worth the time putting in to diagnose the problem.

I've got a few more things I think I can try anyways. Thanks though.

_________________
Image
"Belief extremely stately towards great accomplishment."
-eruperade


Top
Profile  
 
PostPosted: April 17th, 2012, 11:31 pm 
Rank 6: Potent White Mage Rank 6: Potent White Mage
We didn't play twister mister
Offline
User avatar

  Level 50
 

Joined: May 7th, 2005, 11:24 pm

Posts: 2721
The monsters are kicking my butt! A very nice layout, however.:) How exactly can we re-name our intrepid hero for the leaderboards?

_________________
http://www.passid.ca/orange
Nintendo ID: SuperOrangeGamer


Top
Profile  
 
PostPosted: April 18th, 2012, 12:10 am 
Rank 2: Eager White Mage Rank 2: Eager White Mage
Nobody's Coregent
Offline
User avatar

  Level 57
 

Joined: January 9th, 2010, 3:55 pm

Posts: 589

Location: California
Fayorei wrote:
The monsters are kicking my butt! A very nice layout, however.:) How exactly can we re-name our intrepid hero for the leaderboards?
Talk to the carving on the wall in the back center of the room. There is an option saying "What is my GUID?".

PM me your GUID, and I will rename your account for the leader-board.

Thanks! ^_^

_________________
Image

Thutmose's Workshop: Making Things for RPG Maker
Kupid RPG Maker Keyboard: Live Stream


Top
Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ] 

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 20 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group