To have a clearer idea, I've made some youtube videos to show up.
InsaneBriefing is a library I've worked on in the past months and it's a library I'm proud to release and I really hope to see it used.
By playing various custom campaign myself, such even as Mass Recall, I always noticed how difficult it was to have a really nice looking briefing that was also easy to implement for mapmakers. And by nice looking, I mean an UI that's a bit more modern and complex than what I've seen so far.
As an engineer, I love to solve this kind of problems, and from that InsaneBriefing has born. Like always, it's a library for mapmakers, so it's something that mapmakers can use to make it easier for them to make maps.
The main features are:
If anyone is interested, it's here for you to see and use.
To download, togheter with my other libraries, refer to this page.
Hope you enjoy.
If there is some glitch or bug please report to me and I'll try to do my best to solve it. Truth is this library is very complex in its structure, and as such some glitch I fear it's almost inevitable.
As a side not, I also announce the release of InsaneUI library.
More a collection of assets than a library, InsaneUI contains some layout templates I used when I was making InsaneBriefing.
It also features an interlude system that allows map makers to create interludes similar to those we've all seen in Brood War or Starcraft Remastered.
The main features are:
This library is very easy. If you are interested, more information you can gather here.
The last attachment is an example text generated using this library. Actually, by just 3 actions in the GUI.
Hope you enjoy and, as always, good luck with your mapmaking!
While that may seem a necro it's actually a continuation of this very project.
After a year or so I present to you the release 1.0 version of InsaneTransmission library.
I report here the changelog:
v1.0 - Jan 3, 2018:
- Removed RPG style feature
- Added custom layout transmission modes feature
- Removed skip trigger support
- Added action to stop InsaneTransmission on a per-player basis
- Added all (hopefully) portraits in the game up to LotV campaign dependency
- Improved the engine to get more fluid animations
- Added action to show/hide a character in a portrait with a standing animation
The big preset should now cover ALL of Starcraft 2 portraits up to Legacy of the Void (campaign) dependency.
I also ask you all, if you like this resource and find it useful, to help me catch bugs or hidden portrait I've not included in the preset.
Hope you enjoy and that every character will now be gifted with proper lip movement!
What? What does pre-WW2 fascism has to do with the contest? o.O
I was referring to many complaints I saw in the forum for the last Blizzard co-op map and that almost all the maps picked by Blizzard for the top 10 and voted for the top 5 are escort missions. There were other kind of missions out there. That's why I hope Primal Ascension win, it's a very good map, but also a different one, and that's something good :)
I think, aside for the first one, that the order didn't matter. Thank you both anyway.
The problem of my map, I think, was that it played very different from usual. Maybe, just too much. Co-op people are casual players, they don't like to expand or to end up without resources. They showed that with the vote, and I can't really blame them for that.
The only thing that I must say I'm a bit disappointed with this contest is that most of the top 10, and now all the top 5 except from one, are yet another escort mission, with just some twist. This is just wrong in my view. People complain about Blizzard missions being dull and all the same and then they vote for what is closer to them... Blizzard will never be encouraged to try something new this way.
If you have a player group, for each player in the group is a very good solution. This way you can change the group somewhere else without rewriting code here. That's the point of programming actually. Make things work in a way that is fast and easy to change.
In general, if you don't have player groups, I advice to use global variables:
Player01User = 1
Player02AI = 2
You can also use both, of course. The reason for this is that you understand better what is going on and, above all, you can change a player without rewriting magic numbers all around. Of course the name I gave is just an example :)
Always combine triggers with same event for performance sake. In this case you have also very similar conditions:
Event -> Any Unit Dies
Condition -> OR : Unit type of triggering unit (all your types)
switch(Owner of Triggering Unit)
Do your actions here
Do your actions here
-- Nothing here
This is easy to understand (very important if you need to modify it in the future), good on performance, no queue problems, very clear and easy to extend.
You could also make an array of units type you want to trigger, make a function which makes a check for all of them and put that into conditions. This is somewhat advanced too. Then I would also suggest not using direct numbers for referencing players. Magic numbers are not that good in programming.
With triggers, you can just command this unit to burrow at random intervals to a random location, and then unborrow after a while (which I would also randomize). I don't know though if there is a way to check if there is creep around.
There are two ways, if you cannot find a way to know that:
1) Not recommended, but fine if you need that only for a specific map: define an array of points of your choice and just make the units burrow/unburrow every so often. Pretty easy to do but very dull.
2) Completely random as a base, only with some conditions enforced: within a certain range from the point in which you are (in burrowed situation) and also distant from other units that requires OR generate creep. This require for you to define an action, looking for a random point in certain ranges, and keep looking until one which fits those requirement is found.
This could also make you randomize the unburrow (I assume you want to unburrow only when you have found another destination) and burrow commands, by using a temporized trigger (for example: event -> every 1 seconds of game time) which call the action defined above, without while cycles, for all the existing units.
I hope I gave you some ideas, I can help you more, if you need, this was just a brainstorming. Anyway, if you find a way to find if a place has creep by trigger, you still need to check for random points with that conditions.
About data, I don't know how to make AI in data. It's something I should learn, but never had the chance to.
I'm planning to make a SC1 briefing library and update my transmission one.
Also I have published an AI library which could speed up your work in making opponents.
Just willing to help if you need and if it speeds up the process of a such ambitious plan :)
If you may need one of my tools just let me know.
Do you really think I'm gonna win? Lol, don't count on that.
Anyway, if this would be the case, I would ask here for a list of question/proposal from this community and submit it to Blizzard.
Also, since I'm fond of custom campaigns, I would also ask for better AI tool in the editor and a custom campaign integration on battle.net.
Buuuuut, remember that I have barely any chance to get to the top 5, figure it to win.
Edit: I wrote bad english
Here is the announcement on Battle.net.
So, it seems four map are from people active at this site, am I right? I think that's a great thing, at least for this community standpoint.
I am actually pretty surprised no one opened a thread like this in the last few days...
Nope they do not do it well.
For example, I've experienced that if you don't place certain buildings but you do place the units that require them the AI will build the structures on its own (e.g. Ghost Academy, Fusion Core). I've experience with Terran AI from my RTC map, so I know what I'm talking about.
For customization I mean even what you said. Make an AI build/rebuild what you want is a simple way to customize it. Co-op AI will do certain things no matter you, also depending on the difficulty.
Now, I wonder, why should not your AI build those structures? What do you want your co-op AI to do?