• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Intuitive Effect Designer v1.0.9

Introduction
The Intuitive Effect Designer (IED) is a visual editor that allows mapmakers to design custom effects visually, just like 3D modeling. This makes the creation of custom spells, for example, more efficient. Mapmakers no longer need to write and debug codes, nor do they need to care about the underlying logic and syntax. Just design the effect you want at the top level, then generate Jass/vJass/Lua scripts with one click and import them into the world editor at any time.

The software is part of the Intuitive Lab development suite, which covers support for all visual effects elements in Warcraft III, the most complex module in the development suite. The huge amount of logical judgments, complex system design and huge data system make this epic software unsurpassed in a short time.


Portal to Intuitive Scenario Designer (ISD)

Maybe you have dreams, but you don't have the time and the technology. Maybe you are building your dream, but are you exhausted by the endless writing and debugging of code. Facing the fast-paced city life and work, was your map project procrastinated again and again?

Warcraft III provides map makers with a series of programming interface functions (APIs). Using these API functions to control almost all elements in the game, naturally writing code is the core of map making. The emergence of Jass NewGen pack (JNGP) and JassHelper enable mapmakers to get a better code editing experience, which is similar to Microsoft Visual Studio. However, although the code editing is free, its disadvantages are obvious. The code still needs you to type into the editor one by one, and it also takes a lot of time to debug. In the meantime, programming techniques determine the length of time. Moreover, it requires users to have considerable programming technology and a lot of time consumption.

Another direction: code generation has been forgotten for a long time. It seems that the thorny road is completely impossible. In fact, there is no corresponding model to establish a connection between user requirements and code. Gex’s map script interpreter (GMSI) is a good attempt. It transforms the editing of map code and object data into an efficient and simple script language. Users need to write simple GSL script code to edit the map data. However, this kind of editing is far from meeting the requirements of map development and map code writing. In addition, users still need to write GSL script code.

Intuitive lab is a novel script compiler development kit, including effect designer, scenario designer, AI designer and UI designer, which aims to reform mapmaking experience and enables mapmakers to edit maps in an incredible way that they cannot ever since. Visual editing makes users need not to know programming such as Jass, Lua, or even Warcraft III. High speed one key code compilation greatly improves the efficiency of mapmaking.

You do not have to write scripts, check and fix syntax errors and debug, just generate optimized standard code in one click. Map makers are left with the task of drawing terrain (no brain), which greatly speeds up the development of the map project. The use of this software suite will make your map development fully visual design, and the efficiency is expected to be more than 800%. If you are a novice, it not only enables you to complete the map function development, but also surpasses the programming expert in efficiency.

Now, if you still choose to write code, you may be out of date. This tool makes it possible for a novice or even a child to surpass a master programmer easily. Have you ever thought that a person can quickly complete the workload that used to take a studio one year to complete in a week. What’s your feeling at this time?

Difference with GUI:
Using GUI is almost equivalent to using BJ API functions. That has essentially no different from writing code. However, although intuitive lab is also a visual editor, it doesn’t behave like GUI which starts from the bottom. It allows users to edit directly according to their desired functions, what you see is what you get.

Time spatial stuff filling (TSSF) model
A complex effect usually contains dynamic and continuous game elements, such as special effects, lightning, vest placement and their kinematics, as well as lens, sound, image, filter, floating text, etc. Script code must be used to play them in chronological order. Therefore, we can encapsulate the things to be done in a period of time, which is called Phase, and the things to be done or each effect to be realized is called Layer. The model uses the time series based spatiotemporal model, time produces spatial coordinates, a phase is the elements of the time series, can contain multiple levels. The layer is the specific effect to be achieved. It contains an initial placement and a motion form (an initial point or plus the motion track), and the elements are filled in under the corresponding time points and coordinate points: units, lightning effects, special effects, and influences. This is similar to 3D modeling, except that (v)Jass or Lua scripting languages are used.

Of course, not all skills need continuous effects. The skills that produce instant effects (static ones) are relatively simple. It can be designed by the options function assistant.

Solemnly declare: TSSF model is original content, and the authorization is required to use the model to write programs or conduct business activities. Without written permission, the release of relevant procedures or related commercial activities will be subject to legal liability. Other uses do not require authorization, but need to indicate the source.

Features

- Efficient and simple one click compilation
By using a visual editor, users can generate script code and instructions with one click through simple editing.

- Logic check
The compiler has built-in logic checker, which can detect logic errors and bugs in the project at compile time.

- Project management
It can store the editing result of skill effect as project file, and open, save and close the project at any time. You can share your projects with friends for free.

- Template project creation
Through the planning module, you can quickly create new projects with templates.

- Effect 3D Preview
Through the built-in 3D previewer, the initialization of visual elements and the visual effect of kinematics can be previewed.

- Export codes to World Editor
You could export scripts or script files to world editor immediately in one click. The trigger will be created for you automatically.

- Formula list management
Allows users to manage the initialization of visual elements and the list of custom formulas for kinematics.

- Custom attributes
It allows users to customize the attributes of units and supports the management of user-defined unit attributes.

- Multilingual support
Both compiler and code editor support Jass, vJass, Lua; support Unicode, syntax indentation and highlighting; support multi language version switching.


Installation requirements
VC runtime:
Check whether Microsoft Visual C++ redistributable 2015 or higher is installed on your system. If not, install vcredist_X86 2015 or higher for 32-bit operating system, 64-bit operating system, please install vcredist_X64 2015 or higher.

OpenGL runtime:
Install Opengl including glaux.dll, glu.dll, glu32.dll, glut32.dll, opengl32.dll, glew32.dll.

How to configure
Configure the language:
When you first open this tool, you may get a warning: Could not find the language file. This is due to the mistach between the language file path and language file entry value in config.ini. The most simple way is to click the menu "Options"->"Language", and then select Chinese or English language. The software will load the specified language file from the current path\lang, and the language file path information will be written into config.ini automatically.
I also recommend you could click the "Load language" menu item and select english language file. Once that step is done, the tool will use the selected language and the language file entry will also be written into config.ini automatically.
View attachment 367895
Another way is to edit the path entry of language file in config.ini. Found languagefile entry under [General] in config.ini, then type into the correct path of language file (current installation path\lang\eng.lang).
View attachment 367836

Configure the theme image:
Click the config button to open the config dialog, then find "Interface theme image" and specify a desired theme image file for you.

How to use
For detailed information, please refer to the user manual.

Quick start
Create a new project:
- Select the appropriate trigger in the main interface.
- Click new phase to add a phase, then select the phase and click new layer.
- Select a layer and click Edit Layer to open the layer editor.
- Click [Add] button to open the material editor, select the desired material, and click OK to return to the layer editor.
- Select the kinematic tab, click Open kinematics, and then quickly select a motion formula. Click OK.
- Click Compile button to generate the corresponding codes.

Tips: If the compilation speed is slow, you can open settings dialog and turn off the options of syntax indentation and syntax highlighting.

Manage your project:
- Click the file menu and select save project. The project is saved in projects in the software directory by default.
- Click the file menu, select open project and open project file.

How to use code:
- Click Copy code to paste the code into the Trigger Editor.
- Click save code to save the code as a code file and use the //! Import command of JassHelper.
- Select the menu of save code - export to world editor to export the code to the world editor with one click.

v1.0.9
- Add reference increment function of object id.
- Add GUI double click layer to open layer editor.
- Fix the issue that the GUI does not prompt to save when closing project after pasting.
- Fix the issue of kinematic initial value of vector of 3D previewer.
- Update the interface layout.

v1.0.8
- Add support for camera motion.
- Fix the support for destructible fill motion.
- The redundant resources are removed and the program file size is greatly reduced.

v1.0.7
- Add all types of reference point support for Z0.
- Unit attributes add support for damage conversion to healing.
- Export to the world editor adds support for WEX.
- Add template mode for scheme to create projects.
- Fixed the problem that rotating rectangle mode can't capture units correctly.
- Fixed the support of kinematics for coordinate transformation.
- Fixed the problem that Gui language is always in English during the add phase.
- Fixed the support of logic check and object group system for destructables.
- Various other minor trims.

v1.0.6
- Added formula parser support for nested function expressions.
- The adaptive import of the unit portrait model by fileimporter is added.
- Fixed a problem where trigger creation was sometimes blocked when exporting to the world editor.
- Fixed the problem of material data interdependence after copying and pasting layers.
- Fixed the default of subsequent layer names caused by deleting layers.
- The user interface of the unit section of the material editor has been rearranged.

v1.0.5
- Added interaction management with the world editor.
- The import and export functions of formula list are added.
- Added support for encoding mode settings.
- Fix the calculation of Jass symbolic function by formula parser.

v1.0.4
- Fix variable definitions that might be lost in some cases.
- The recovery system with unit attributes rebuilt will no longer conflict with motion.
- Unit custom attributes support parameter setting.
- Update the output mode of the formula list of the point command.
- Update the public property setting of parameters. The dependent parameter will not be set to public property now.

v1.0.3
- Model and map pathnames support \\ adaptive conversion.
- Add code compilation of object data for missing command skills.
- Fixed a problem where the 3D previewer sometimes stopped running.

v1.0.2
- Supports the creation of materials - destructables.
- Support to issue unit commands.
- Support intelligent detection of project saving.
- The formula editor supports logical expressions.
- The formula editor supports unit related parameters.
- Add a release command to automatically set unit mana.
- Add an option to hide units when releasing commands.
- Add 3D previewer support for missing getrandomint.
- Fix possible syntax errors caused by random time.
- Fixed possible syntax error caused by unit mark of commands.
- Fix the problem that the circle motion radius is zero.
- Fixed possible incomplete recognition of updated variables by 3D previewer.

v1.0.1
- Add a numeric editor to support random changes of options.
- When adding layer initialization, the number of vector changes supports the defined integer parameters.
- Add a logical warning for material drain conflicts when the layer has multiple materials.
- Add food consumption and unit classification settings for new vest object data.
- Adding association level initialization can support the related parameters of the associated level according to the association options.
- Add unit orientation and bearing to support initialized parameters.
- Add planning dialog box, select area color can be set.
- The length of the text buffer can be set when the added item is opened.
- When adding a project, the GUI of the tree control displays the names of each layer.
- Fixed an issue where the kinematics code at the association level was not compiled.
- Fixed initialization of reference points in common motion.
- Fixed the problem that the quick selection index of layer kinematics could not be updated.
- Fixed location of special effects code in function assistant area.
- Fixed confusion of target filters for feature assistant property items.
- Fixed the target of the function trigger of the function assistant is always the enemy problem.
- Fixed the problem that only special motion will still output coordinate motion.
- Fixed the problem that coordinate updates will not be automatically stored when there are updates to the motion coordinates.
- Fixed a problem with fileimporter target path matching.
- Fixed wrong judgment of kinematic end parameters.
- Fixed a problem where common special movements could not compile properly.
- Fixed data truncation due to fixed data buffer length when opening a project.
- The loop control problem of vectors in the initialization of the repair layer.
- Fixed object data editing of an object with an existing ID.
- Fixed error determination of comment position when syntax indenting.
- Fix the problem that the point in time type will be executed twice in the initialization of the level.
- Fix the problem that the index does not update when the effect is excreted.
- Fixed coordinate calculation errors in 3D previewer caused by the format of real numbers.
- Fixed the problem that the parameter definition could not be detected in whole word.
- Fixed redundancy of parameter update storage in fill motion.
- Fixed reference point conflict when there are multiple levels of association.
- Fixed missing parameter definition when adding binding effect to unit.
- Fixed the problem that external models will not be imported when units are bound to special effects.
- Fixed an issue where an initialized parameter would not be defined if it was not referenced in the motion formula.

v1.0.0
- Release for the first time.

Donate to author
Description of donation: The software is free and you can use all of its functions completely. Donation is voluntary, and donation can not compensate the author for what he has lost and the time and energy he has invested. It can be seen as a little consolation for the author’s hard work, and can also encourage the author to continue to update the software and continue to make other modules of the intuitive lab series.
PayPal.Me

Credits
- Blizzard Entertainment: developed the classic masterpiece - Warcraft III
- OpenGL, a free and open source 3D graphics library
- Jass manual, the complete manual of Jass API
- JassHelper (Vexorian), excellent vjass compiler
- Grimex (PitzerMike), excellent preprocessor
- disruptive_ for help on copyright issues
- Retera for useful discussions on interactions with world editor
Previews
Contents

Intuitive Effect Designer (Binary)

Reviews
eejin
I tried launching the application and got a missing glut32.dll error. Seems like you need to add some DLLs you depend on to the application.

eejin

Tool Moderator
Level 12
Joined
Mar 6, 2017
Messages
221
I tried launching the application and got a missing glut32.dll error. You specify that users should install an OpenGL runtime via a link to Softonic. The .exe at the location is seemingly not compatible with my Windows 10 version nor does it seem to contain the glut32.dll (but I might be wrong on that). I'd recommend bundling the required DLLs with your application instead. You can however safely assume that most users have the VC runtime installed (and the Microsoft downloads are legit links).
 
Level 7
Joined
Jun 5, 2018
Messages
180
@eejin Thanks for your feedback. Opengl is an industry standard graphics library, including glut32.dll. You could choose to install opengl on your computer. I will also bundle the dependent dlls for convenience.
 
Last edited:

eejin

Tool Moderator
Level 12
Joined
Mar 6, 2017
Messages
221
@eejin Thanks for your feedback. Opengl is an industry standard graphics library, including glut32.dll. You could choose to install opengl on your computer. I will also bundle the dependent dlls for convenience.
I have an up to date graphics driver and a lot of other OpenGL applications work fine. Note that glut is not part of newer OpenGL (and if you are using it then you should use freeglut instead such as recommended here). In any case I don't get missing .dll errors anymore, but I do get an error about the language file:
upload_2020-11-9_11-30-36.png

Clicking OK will launch the application, but everything is in Chinese which I'm not that good at.
 
Level 7
Joined
Jun 5, 2018
Messages
180
In any case I don't get missing .dll errors anymore, but I do get an error about the language file:
@eejin The language file locates at the lang folder. The error is due to the mismatch between the location path of language file and the location entry of the specified language in config.ini.

This is a normal situation because everyone has a different installation path that causes a different location of language file. In this case, I recommend you could click the "Load language" menu item and select english language file. Once that step is done, the tool will use the selected language and the language file entry will also be written into config.ini.
1.jpg

Another way is to edit the path entry of language file in config.ini. Found languagefile entry under [General] in config.ini, then type into the correct path of language file (current installation path\lang\eng.lang).
2.jpg

I would also write instructions on how to config this tool some time later.
 
Last edited:

eejin

Tool Moderator
Level 12
Joined
Mar 6, 2017
Messages
221
Normally what you would use for this is relative file paths like so:
upload_2020-11-10_10-30-23.png

I changed the .ini file a little bit and now it doesn't matter where I put the folder, it will always work as it uses relative paths.

Furthermore, there are lots of overlapping widgets. Presumably because the layout is made for Chinese, not English.
upload_2020-11-10_11-10-51.png

You could solve this by using automatic layouts. The UI toolkit you are using probably already has them. They will automatically resize themselves to fit their content. An added benefit of this is that it is then possible for the user to resize windows and have the content automatically scale.

Also if you could change the tool screenshots in the main post to be in English, that would be great.
When you've made these changes I will approve the tool.
 
Level 7
Joined
Jun 5, 2018
Messages
180
@eejin Thanks for your feedback! For the language configuration, the most simple way is to click the menu "Options"->"Language", and then select Chinese or English language. The software will load the specified language file from the current path\lang, and the language file path information will be written into config.ini automatically.

Also if you could change the tool screenshots in the main post to be in English, that would be great.
When you've made these changes I will approve the tool.
All screenshots in the main post are now in English.

Furthermore, there are lots of overlapping widgets. Presumably because the layout is made for Chinese, not English.
upload_2020-11-10_11-10-51-png.367889

You could solve this by using automatic layouts. The UI toolkit you are using probably already has them. They will automatically resize themselves to fit their content. An added benefit of this is that it is then possible for the user to resize windows and have the content automatically scale.
I know the dynamic layout of windows. The content could be resized and repositioned when the user resizes the window. However, for this tool, the situation becomes a bit complicated. Window has border styles of None, Thin, Resize, and Dialog Frame. This tool has lots of child and layered windows as well as dynamic controls. For example, you know, the child windows in the tab control cannot support resize border style because their border should be set to None. Furthermore, Some dynamically created controls also does not support dynamic layout because their size and position should be given when they are dynamically constructed. For these reasons, I eventually quit the use of the "resize" border style for this tool.
 
Last edited:
Level 7
Joined
Jun 5, 2018
Messages
180
@eejin It's well coded. Beautiful user interface, various functions, almost no bugs, I spent several years carefully building it. If not approved, this will be a great pity for all map makers.

Its goal is to usher in a new era of Warcraft map editing, which is just a beginning. The upcoming scenario designer and AI designer will fully achieve this goal. But I know it may be a little late.

I also like hivewe, which is also well coded, because I've seen your source code. It would be great if this tool could be integrated into hivewe. I am looking forward to it!
 
Level 7
Joined
Jun 5, 2018
Messages
180
Updated to v1.0.4
  • Fix variable definitions that might be lost in some cases.
  • The recovery system with unit attributes rebuilt will no longer conflict with motion.
  • Unit custom attributes support parameter setting.
  • Update the output mode of the formula list of the point command.
  • Update the public property setting of parameters. The dependent parameter will not be set to public property now.
 
Level 7
Joined
Jun 5, 2018
Messages
180
Updated to v1.0.5
  • Added interaction management with the world editor.
  • The import and export functions of formula list are added.
  • Added support for encoding mode settings.
  • Fix the calculation of jass symbolic function by formula parser.
 
Level 7
Joined
Jun 5, 2018
Messages
180
Updated to v1.0.6
  • Added formula parser support for nested function expressions.
  • The adaptive import of the unit portrait model by fileimporter is added.
  • Fixed a problem where trigger creation was sometimes blocked when exporting to the world editor.
  • Fixed the problem of material data interdependence after copying and pasting layers.
  • Fixed the default of subsequent layer names caused by deleting layers.
  • The user interface of the unit section of the material editor has been rearranged.
 
Level 18
Joined
Oct 25, 2006
Messages
1,170
Watafuk, what is this, what am I reading. Is this all really true?
Will my dreams of making a wonderful custom campaign eventually come true?
Without requiring me to learn LUA and AI Editor?

I'm halfway through the description... brb.

The upcoming scenario designer and AI designer will fully achieve this goal.
Okay I see!

Well, this is looking completely crazy, I'm looking forward the rest of your stuff. But if everything goes like you say it should, it would indeed by a new era for map making.

An example of this is the rise of "nodal" programmation languages in engines such as Unity and Unreal which created a small revolution there.
 
Last edited:
Level 7
Joined
Jun 5, 2018
Messages
180
Watafuk, what is this, what am I reading. Is this all really true?
Will my dreams of making a wonderful custom campaign eventually come true?
Without requiring me to learn LUA and AI Editor?

I'm halfway through the description... brb.


Okay I see!

Well, this is looking completely crazy, I'm looking forward the rest of your stuff. But if everything goes like you say it should, it would indeed by a new era for map making.

An example of this is the rise of "nodal" programmation languages in engines such as Unity and Unreal which created a small revolution there.
Yeah, it seems that this is really crazy, but it is true. I believe script compilation and visual editing are the future of wc3 mapmaking.
 
Level 18
Joined
Oct 25, 2006
Messages
1,170
Yeah, it seems that this is really crazy, but it is true. I believe script compilation and visual editing are the future of wc3 mapmaking.
I'm really looking forward what you call your "AI editor", I hope it's tailored to be used for custom campaigns as well!
 
Level 3
Joined
Nov 23, 2017
Messages
31
I'm going to test the program, I hope it creates a lot of skills without knowing jass or lua code, thanks
 
Level 21
Joined
May 29, 2013
Messages
1,567
Is it just me or does using this program seem almost as difficult as actually learning a scripting language?

According to the too-good-to-be-true description, users don't need any prior knowledge, but as someone who only ever used basic GUI, I feel like I'd need some kind of manual/tutorial before I could even attempt to do anything with this tool.
I'm going to test the program, I hope it creates a lot of skills without knowing jass or lua code, thanks
Does this mean that you rated the program 5 stars before even trying it out?
 
Level 3
Joined
Nov 23, 2017
Messages
31
Does this mean that you rated the program 5 stars before even trying it out?

I tried it with some super basic spells and it worked, in a certain case if you need some tutorial videos but surely someone else will do it, on the stars so much work is worth something that is not?
 
Level 4
Joined
Feb 23, 2004
Messages
60
This seems really cool, but it looks complicated. The manual is still in Chinese... and maybe it would be good to have some English examples to look at?

I feel bad this isn't getting more attention because of the language barrier
 
Level 6
Joined
Oct 31, 2015
Messages
95
I think you could begin your description straight to the point clarifying in a few lines what this is and what it does. It would help a lot. :)
 
Level 7
Joined
Jun 5, 2018
Messages
180
I think you could begin your description straight to the point clarifying in a few lines what this is and what it does. It would help a lot. :)
Yeah, this tool enables mapmakers to design custom spells in one click more like 3D modeling using an advanced visual editor.

Users need not care about how to achieve the spell using codes. Just need to tell the tool what effects you want to achieve.
 
Top