Myriad Project Recruitment
Hey guys!
I have begun the creation of a massive RPG game that promises to be one of the most creative and imaginative maps or mods out there. I say this not to encourage attention, for it needs little, but in order to prepare you for the things I am to say to you next.
Myriad is an exciting project, not because of fancy models, or skins or spells that so commonly define maps, but because of the underlying structure of the game itself which takes it beyond anything expected from a Warcraft map.
Myriad will feature a massively complex AI system that will govern every individual unit! Units behave like intelligent people, and the Order system will allow you to communicate with them in a manner unparalleled by any existing RPG I'm aware of.
No more the typical presets, and the choices and paths that a Player can learn by rote and perform, Myriad will be a world of living breathing people that react and act in their own individual ways. The barriers between friends and enemies blur with the new AI, which is no longer based upon Player Groups.
The Spell System, which has ignited much enthusiasm, also promises a system equally as complex and exciting, allowing players to not just create their own spells, but create them from scratch directly from the game code!
The world is based on pure physics, weapons no longer deal the simple 2D6 +1 style damage, instead damage and collision are all based on real life physics. Though I unforunately cannot promise that the physics system itself will be as advanced as what you might see on systems like SEE, created by HINDYhat, nevertheless I can guarantee it will provide an exciting and real aspect to a game already the former.
You can give orders to units, who may or may not choose to follow your commands, you can befriend people, make enemies, spread rumours, engage in trade, explore the ancient world, discover exciting stories that are infinitely flexible and powerful, based upon AI.
By now, I am sure you can see that Myriad promises not only to be one of the most exciting maps/mods, but also the most challenging. Thus, I need project members in order to help the vision come true for every Warcraft and game lover on the web!
My skills with jass are unfortunately limited, as I began to learn it only at the beginning of Myriad, which was in fact the first I heard of it. Thanks to people like Eleandor, PurplePoot and many other jass experts I have improved this somewhat, but I really do need a lot more jass and vjass muscle on this.
If you are reading this and want to help, but only know GUI, don't worry, there will be a point when you will be needed to, you can keep an eye out for that day when I'll make the general request, or simply PM me and I'll remember your name for the future.
Fortunately I already have the talents of Orc and Eleandor as project members to help realise the Myriad vision, and to help me learn the ins and outs of warcraft and apply cinematic vision.
Summary of Systems:
Many of the systems that I've spoken about above are all basically in the testing stages, mostly one step away from being workable. Though when they are workable, they still will not be finished, for they will need much pure creation of the different functions in order to give a properly wide range for a player to use.
The largest systems to note are: True AI System, Spell System, Order System, Physics System.
Combat AI is currently a sub-AI of True AI, and various other systems are part of either Combat or Physics system.
I've made as much headway as humanly possible with my current schedule, though learning jass also bites a fair chunk out of that, and my ignorance also slows me down somewhat.
Fortunately, once I have the basic systems sitting on the map to be found on the Central Myriad Thread, then then others should be able to clearly see exactly what I want and what they can expect.
Hopefully I managed to garner the interest of some of you, and so I'll move on directly the next part. The next part will simply be an summary of the different systems that I've written down, and that I will require so much help with. So take a look!
SYSTEMS
AI System
AI System
This is the governing intelligence, not of the map as a whole, or player groups, but every individual unit. That’s right, every unit has their own AI. The system itself is the same thought process for everyone, the difference comes down to input.
First of all the AI creates the locals to store all the information, both for the system itself, and for the unit’s ‘brain’. The AI is then set into a permanent loop (calls itself after reaching op limit) where it constantly organises and sorts information that comes from incoming ‘data’ such as the unit’s received orders, the objects in its vision, and other types of data, and then runs them through the system.
It has a whole memory section, where the unit will store received orders, orders its decided for itself, and anything else that comes to mind. These memory strings are its link to functions.
For example it thinks “Get_Some_Coffee”, then the AI will process it and call the function Get_Some_Coffee.
Also, the brain organise these thoughts as to strength. You could have a thought Get_Some_Coffee, with a value of 50, you could also have a thought Get_Some_Sugar, with a value of 100. Because Get_Some_Sugar has a higher value it is the most prominent and the unit will carry out this function until another becomes more prominent or its value becomes 0.
Also note that in the future, these thoughts can have conditions appended to them, such as Attack Unit if Being An Egg. Or Search for (Cheese). This helps define the thought and action taken.
The brain may also contain Conditions created from and based upon thoughts. Such as if you have Protect_Target, that’ll place a Condition saying If Want to Kill Target < Condition(Do Not Kill Target!) then Do Not Attack
Else Go For It!
So even the conditions have strengths as well, and will provide interesting AI.
Countering Orders is easy. Say you order a man to attack a unit, then you change your mind, you order him NOT to attack that unit.
Basically saying NOT is a way of changing the new Order value to a negative.
Say your first Order to attack unit is: Attack Unit = + 1000
You order to counter it would look like: Attack Unit = - 1000
Basically, for the second action, the AI will run through all the thoughts, seen that the function is the same, and ‘added’ the value to it, which would in fact subtract it to equal 0. Interestingly, you might issue a unit an order, then a while later you could come back and try to counter it, and the unit will carry on to do it. This could be for two reasons, the unit likes the order, and the order strength has grown beyond your ability to counter, or his respect for you has decreased more than the order, and thus you do not have sufficient authority over him to negate the order.
The requirements for this system is that: Units cannot repeat the exact same order to a unit to cheaply increase the strength, but an order can be increased if multiple units give the same order. But the same unit can in fact counter an order, by saying NOT to do it.
This might be a little tricky in order to tag this little positive/negative do order to the order string but it should be quite effective done in this manner.
The tricky part is that each order string has the unit who ordered it attached to it, so that if he passes along an order, he can say who it actually comes from, and if you have multiple units adding to the same order, only one could be put in here. This would either mean some complicated way to store every separate order yet add the total of all identical orders. (That could be useful when trying to find non-collidable actions, e.g, actions that don’t interfere with others, or satisfy the majority of thought power.) Actually that would be the only effective way to do it if I wanted the unit to be able to modify the strength with which it paid attention to a unit’s orders if for some reason it had reason to dislike the unit more. That would be the only way to have a clean modifier system that used multipliers, but perhaps if it was pure plus’ and minus’ it would be fine to just add the ordering units to a unitgroup of the order. Lot of memory usage going on here probably though.
I would like to keep memory usage and processing down as much as possible, without sacrificing the really good game aspects.
A unit should have native thoughts that it either defaults to, or can invent on its own based on its personality. Such as Idleness would be a default, and when calling the function Idleness, it will do whatever it wants to do, rather than what it has been ordered to do.
It needs to be able to think thoughts like “I (Must)_Get_(Shopping)” or “I_(Need)_(New)_(Boots)” or “I_(Want)_To_Go_(Fishing)”.
The first bracket would be the strength of the thought, and the latter bracket is simply the condition of the function, defining it.
I_(Need)_(New)_(Boots) is interesting because it adds two conditions that he wants an item that is a)Boots and b) New. He doesn’t want Old Boots. But also those two conditions might have varying values.
E.g, the condition Boots could have a value of 100, and the condition New might have a value of 50.
That means that as the thought gets more urgent, or dwindles or the values inside dwindle for some reason, it is possible that if the value of whatever ‘argument’ he receives that he’ll settle for any Boots, because the strength of the condition New isn’t strong enough, whereas the condition Boots will likely have the same strength as the thought, so that so long as the thought exists so too does the want of the Boots.
I think it could be very interesting if the strength of the thought outweighed the strength of the need for boots. So that the specific want for boots might fade away and the unit is still left with the want, or if a wily businessman is clever in his argument he might be able to push an item that manages to strike the thin wedge between the strength of the need for boots, and the strength of the want to buy, so that the guy ends up buying the gloves, though he already has twenty and now has no footwear.
That would cure his insatiable shopping lust, but he still has a need for boots, so he may continue shopping in order to find some.
If you think you have the skills in order to help put together this revolutionary AI system, or even just some helpful input to share on the matter, I’d love to hear from you!
The Spell System
(The below is an excerpt from my notes that you can also find on the Central Myriad Thread.)
This is my latest Myriad feature, and it is without doubt the coolest thing there is on Myriad.
This revolutionary spell casting system allows players to create their own spells from scratch!
This is not the spell making system like on Oblivion, where you may only modify spell presets, such as spell type, mana requirement, power, etc... This spell creation goes beyond the bounds of normal game mechanics and builds up spells from the gamecode itself!
That’s right, when you are creating spells, you are in fact creating triggers!
Spellcasting
Spell casting consists of a mage incanting magical words, the magic words he uses are in fact links to ingame functions, and thus, the order in which a mage incants his magical words, and the syntax he uses have a direct effect on the spell.
Miscasting
But spellcasters beware! If you miscast a spell, by mispronouncing your magic formula, or you have not incanted in a proper order, then the effects can be dire!
When you ‘miscast’ a spell, it does not operate on a ‘if formula works, then, else’, it will always do what you tell it to. Thus a ‘miscast’, is not where it doesn’t cast the spell, it is where your spell does not do what you wanted it to do because you didn’t know what you were doing.
E.g, you cast “abracadabra Fire Elemental”
You summon a fire elemental, as you would expect.
But if you cast, say, “abracadabra Elemental Fire”.
You might summon just a ball of fire, because the Spell Reader may interpret Elemental as a type, instead of a unit. That’s just a very basic example.
(In actual fact you may have to cast elemental fire elemental, in order to summon a fire elemental, if the above syntax were true. It may not be.)
The beauty of this system, is that while it uses functions, and is based heavily upon them, they are all functions specifically for the purpose of spell casting, thus there is no cross over or collision with game mechanics, and it is all based upon a library of magic words. You cannot use a function, if that function name is not a magic word. Thus the library can also be easily expanded for future updates.
If you wish to learn the ways of magic, this can take dedicated patience, slowly growing your command of the magic language in order to increase your power. In order to cast effective spells you need to learn how to target your magic, (there’s no point casting a spell when there is no target, unless it doesn’t need one, most cases the target is just you), how to define your magic (do you want to damage someone, find someone, buff someone?) and how to construct your magic spell so that it in fact does what you want.
For those who are aghast at the thought of typing out “abracadabra ilumina es spiryh der target” every time you want to cast a fireball at someone, never fear! Your mage is quite capable of remembering spells you give him, and is also capable of recording them in his ‘spellbook’ of abilities. So whenever you want a fireball, you can just click the ability, and he’ll quick cast the spell, incanting it at record speed!
Learning Spells
As earlier mentioned, spell casting is a scholar’s art. To be an effective spellcaster, you have to understand the language and syntax, there are many tomes of power, and books of magic as well as knowledgeable NPC’s to help you gain understanding, but it is still a process.
Learning to spellcast is much like learning how to write Jass. Thus, I’d imagine that those who learn the quickest will be those who know how Jass works. This is deliberate.
Never worry though that those who can Jass have an unfair advantage over you, because you can’t. They do. So don’t worry.
Another way of learning spells is to actually observe the spell casting of another mage! That’s right, when someone casts a spell, they have to incant it (actually say it in text), so you can always see what they have cast. But beware, they may have tailored their incantation in a specific manner, such as to only benefit themselves. If you cast the spell word for word, you might be committing magical suicide. Such as, the caster may have created the spell so that say:
If Race of Casting Unit == Human then Do Magic else cause Magic Feedback Damage to Casting Unit.
You see what I mean? It may be tailored in a fashion that only a human might use it properly, or only they specifically can use it. The above is just an example btw, not necessarily a true reflection of spell syntax.
But you can still learn spells by watching other mages, then carefully studying or modifying it if it looks suspicious.
Magic Techniques
I believe that this spell system really will define the game according to the person playing it. People that have learned a great amount of magic lore, will by definition be more knowledgeable mages, and therefore have greater potential to construct their very own spells out of thin air. However, less knowledgeable mages may have to content themselves with rearranging spells that they find, or copy ones already proven out of magic tomes, and concentrate on improving their power in other ways, such as augmenting their mana.
That’s the other difference. There is two kinds of Mages. The Wizard, and the Mana Mage. A Wizard is someone who concentrates on building a bigger and better spell, a Mana Mage is someone who will concentrate on improving their own mana, so they can incant a simple spell, and make it effective by sheer force of mana. Wizards are the scholars, Mana Mage’s are the crude fighters. Neither is necessarily better of itself, it simply depends on the player, a Mana Mage might overwhelm a Wizard who is insufficient to defend himself, or a Wizard might defeat a Mana Mage through clever spellwork.
Inscribing Spells
It is possible to ‘save’ your spell by inscribing it on a scroll, or storing it as an ability. Abilities come in two types, Magic and Physical. Magic means that when you activate it, your character incants the ability spell. Physical means that the ability is a typical ability, such as sword techniques or jumping, or picking a pocket.
/////////////////////////////////////////////////////////////////////////////////////
I will update this post with more information as needed, or requested, and I would love to answer any queries or questions you have. I just hope that with the help of you guys, we can put a really great map on the web that players will love.














Last edited: