Factorio Mod Creator Studio [IN DEVELOPMENT]
Factorio Mod Creator Studio [IN DEVELOPMENT]
Hey Factorio Community!
I'm currently working on an IDE for mod creators.
The target of the software is to make it as easy as possible to create mods for Factorio.
I will use this topic as a little dev-blog and changelog.
Once I finished version 0.1.0 of the Factorio Mod Creator Studio I will create a GitHub repo so others can help the development.
(It's developed in Java with an extension of the Swing libraries called WebLAF)
The layout of the software is based on big IDEs like Eclipse or NetBeans.
It will contain "forms" with fixed fields for technologies, items, entities etc.
To that it will have a Lua Editor with auto-completion.
You will be able to export the mod as a ZIP with a simple click on the "Export" button.
On top of that it will have project management.
This is my progress so far:
I'm currently working on an IDE for mod creators.
The target of the software is to make it as easy as possible to create mods for Factorio.
I will use this topic as a little dev-blog and changelog.
Once I finished version 0.1.0 of the Factorio Mod Creator Studio I will create a GitHub repo so others can help the development.
(It's developed in Java with an extension of the Swing libraries called WebLAF)
The layout of the software is based on big IDEs like Eclipse or NetBeans.
It will contain "forms" with fixed fields for technologies, items, entities etc.
To that it will have a Lua Editor with auto-completion.
You will be able to export the mod as a ZIP with a simple click on the "Export" button.
On top of that it will have project management.
This is my progress so far:
- Attachments
-
- Current progress
- fmcs-001.jpg (143.87 KiB) Viewed 15406 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
I already set up the basics for the Lua Editor.
- Attachments
-
- fmcs-002.jpg (169.4 KiB) Viewed 15423 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
You already want to help the development of Factorio Mod Creator Studio?
Nice! I have a problem which you can probably solve.
For the Lua Editor I use a Java library called RSyntaxTextArea.
I have no possibility to check for Lua syntax errors yet. the library has no built in parser for Lua.
BUT it has an abstract interface which can be implemented to write your own parser.
If you want to help the development, write a parser for Lua 5.2 and attach it to this topic.
If you give me a name I can add it to the contributors list.
Links:
https://www.lua.org/manual/5.2/manual.html
https://github.com/bobbylight/RSyntaxTextArea
Nice! I have a problem which you can probably solve.
For the Lua Editor I use a Java library called RSyntaxTextArea.
I have no possibility to check for Lua syntax errors yet. the library has no built in parser for Lua.
BUT it has an abstract interface which can be implemented to write your own parser.
If you want to help the development, write a parser for Lua 5.2 and attach it to this topic.
If you give me a name I can add it to the contributors list.
Links:
https://www.lua.org/manual/5.2/manual.html
https://github.com/bobbylight/RSyntaxTextArea
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
I now have a working tab system and started the item editor.
the editors will always have one properties tab and a source tab. the properties tab will have forms, fields, checkboxes etc. and the source tab will be the location where you can edit the source code of the prototype that you are currently editing.
I also embedded the LUaGameScript class now in the auto completion.
the editors will always have one properties tab and a source tab. the properties tab will have forms, fields, checkboxes etc. and the source tab will be the location where you can edit the source code of the prototype that you are currently editing.
I also embedded the LUaGameScript class now in the auto completion.
- Attachments
-
- fmcs-003.jpg (248.97 KiB) Viewed 15477 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
The basis for the project management is now implemented.
- Attachments
-
- fmcs-004.jpg (115.39 KiB) Viewed 15503 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
So. Today I replaced the old "New"-Dialog system with a wizard system.
What now happens when someone clicks on the "New"-button is that a wizard selection is opened in which you define of what you want something new.
After you selcted the wizard you want it pops up.
The first and currently only wizard is the "New Project"-wizard.
It is an improved version of the "New Mod"-Dialog.
if you type in the project name it automatically fills out the mod name and mod title fields. To that it also removes all invalid characters from the mod name automatically.
The most recent game version will be set as the target game version automatically.
And it will automatically fill out the Author field with your system user name.
I also plan on adding a second page for the wizard in which you can set the dependencies of the mod.
What now happens when someone clicks on the "New"-button is that a wizard selection is opened in which you define of what you want something new.
After you selcted the wizard you want it pops up.
The first and currently only wizard is the "New Project"-wizard.
It is an improved version of the "New Mod"-Dialog.
if you type in the project name it automatically fills out the mod name and mod title fields. To that it also removes all invalid characters from the mod name automatically.
The most recent game version will be set as the target game version automatically.
And it will automatically fill out the Author field with your system user name.
I also plan on adding a second page for the wizard in which you can set the dependencies of the mod.
- Attachments
-
- fmcs-005.jpg (349.3 KiB) Viewed 15504 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
Ok I now have implemented the basis for the dependency page in the "New Project"-wizard.
I also forgot to include a screenshot of the wizard selection so I include it here.
I also forgot to include a screenshot of the wizard selection so I include it here.
- Attachments
-
- fmcs-007.jpg (46.73 KiB) Viewed 15532 times
-
- fmcs-006.jpg (52.69 KiB) Viewed 15532 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
Just found this tool through the Development Tools forum: http://draeton.github.io/stitches/
I will probably implement something like this into FMCS.
Now I ask you if a sprite sheet generator tool should have any special features?
I will probably implement something like this into FMCS.
Now I ask you if a sprite sheet generator tool should have any special features?
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
This will be the GitHub-Repo in which the code for the Factorio Mod Creator Studio can be found after I finished the alpha 0.1.0 version of the software.
https://github.com/RalleYTN/Factorio-Mod-Creator-Studio
https://github.com/RalleYTN/Factorio-Mod-Creator-Studio
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
The dependencies are now fully functional.
I made sure that you can't add mods with invalid characters in the name or duplicate mods.
also you cannot edit or delete the base mod dependency. you can change the version of the base mod dependency through the target game field on the firt tab of the "New Project"-wizard.
Next thing I will do is making the wizard in itself functional. so creating a project file and register it in the project tree on the left.
I made sure that you can't add mods with invalid characters in the name or duplicate mods.
also you cannot edit or delete the base mod dependency. you can change the version of the base mod dependency through the target game field on the firt tab of the "New Project"-wizard.
Next thing I will do is making the wizard in itself functional. so creating a project file and register it in the project tree on the left.
- Attachments
-
- fmcs-008.jpg (76.65 KiB) Viewed 15594 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
Mods are not required to depend on the base mod. You can make a total conversion if you want to.RalleYTN wrote:also you cannot edit or delete the base mod dependency.
Automatic Belt (and pipe) Planner—Automate yet another aspect of constructing your factory!
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
what can I understand under a "total conversion"?prg wrote:Mods are not required to depend on the base mod. You can make a total conversion if you want to.RalleYTN wrote:also you cannot edit or delete the base mod dependency.
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
https://en.wikipedia.org/wiki/Mod_%28vi ... conversionRalleYTN wrote:what can I understand under a "total conversion"?
Automatic Belt (and pipe) Planner—Automate yet another aspect of constructing your factory!
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
OK. I will find another solution then.prg wrote:https://en.wikipedia.org/wiki/Mod_%28vi ... conversionRalleYTN wrote:what can I understand under a "total conversion"?
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
I think I found a not-complex solution.prg wrote:Mods are not required to depend on the base mod. You can make a total conversion if you want to.RalleYTN wrote:also you cannot edit or delete the base mod dependency.
a simple checkbox.
checked = like it is now
unchecked = no base mod dependency
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
K. Added the checkbox
now to the project management
now to the project management
- Attachments
-
- fmcs-009.jpg (48.62 KiB) Viewed 15575 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
The "New Project" Wizard is now fully functional.
Project files are created by clicking on the finish button and automatically loaded on startup.
Now I will clean the code a bit and start documenting it to this point. (It already gets pretty messy)
Project files are created by clicking on the finish button and automatically loaded on startup.
Now I will clean the code a bit and start documenting it to this point. (It already gets pretty messy)
- Attachments
-
- fmcs-010.jpg (95.73 KiB) Viewed 15562 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
OK I thought about the custom libraries.
I think I know how I will do that.
Step 1: Pack all the LUA files into a ZIP.
Step 2: Create an autocomplete definition for FMCS(not needed but you wont get auto completion otherwise)
The definition is a JSON file with the name "autocomplete.json".
It contains an array with objects that are built like this:
Classes:
Functions:
Variables:
Shorthand Completion (like "sysout" in eclipse)
Step 3: Put the autocomplete.json into the ZIP file too.
Step 4: Open the "New Custom Library"-wizard and select the ZIP.
Step 5: done!
I think I know how I will do that.
Step 1: Pack all the LUA files into a ZIP.
Step 2: Create an autocomplete definition for FMCS(not needed but you wont get auto completion otherwise)
The definition is a JSON file with the name "autocomplete.json".
It contains an array with objects that are built like this:
Classes:
Code: Select all
{
"type":"class",
"name":"name of the class",
"short_description":"little gray text at the right side of the name",
"summary":"Big HTML formatted text that goes into detail"
}
Code: Select all
{
"type":"function",
"name":"name of the function",
"summary":"Big HTML formatted text that goes into detail"
"return_type":"type that this function returns (table, int, uint, etc.)",
"return_value_description":"Description for the returned value",
"defined_in":"class in which this function is defined in or 'null'"
"heads": [
[
{
"type":"Type of the parameter value",
"name":"Parameter name"
"description":"Parameter description"
},
...
],
...
]
}
Code: Select all
{
"type":"var",
"name":"Name of the variable",
"description":"Variable description",
"return_type":"Type of the variable (table, int, etc.)",
"defined_in":"Class in which this variable is defined in"
}
Code: Select all
{
"type":"shorthand",
"input_text":"text you have to type",
"replacement_text":"The template",
"short_description":"Text shown at the right side of the input_text",
"summary":"Big HTML formatted text that goes into detail."
}
Step 4: Open the "New Custom Library"-wizard and select the ZIP.
Step 5: done!
- Attachments
-
- example.zip
- (773 Bytes) Downloaded 262 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
So I cleaned the code of the wizard system a bit and abstracted many parts out to do much of the stuff automatically.
For example I can now connect the "Finish" button to textfields. if one of the textfields is empty the button is disabled.
Now with the new wizard system I re-did the "New Project"-wizard.
For example I can now connect the "Finish" button to textfields. if one of the textfields is empty the button is disabled.
Now with the new wizard system I re-did the "New Project"-wizard.
- Attachments
-
- fmcs-014.jpg (62.5 KiB) Viewed 15511 times
-
- fmcs-013.jpg (55.61 KiB) Viewed 15511 times
-
- fmcs-012.jpg (43.62 KiB) Viewed 15511 times
-
- fmcs-011.jpg (90.32 KiB) Viewed 15511 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.
Re: Factorio Mod Creator Studio [IN DEVELOPMENT]
OK. now I have improved the tree system.
I dont have to check every node for what it is just to assign an icon anymore. I just extended the responsible class and added a parameter "iconName".
with this parameter the node searches its icon by itself.
I also implemented the settings now.
not much until now, but at least the window now remembers the state it was left in.
so if you maximize it and leave, it will start up maximized. it also remebers the exact width and height.
Now I only have to clean the old Dialogs and UI elements. Then redo the lua editor and afterwards document the code.
then I will continue with the big things. next will be adding custom Lua libraries. the biggest problem with them was the auto completion stuff. but I think I solved it with the method I proposed earlier today. I will create the files for the standard Lua libraries and Factorio API myself. maybe even the file of the stdlib-0.8.0.
I dont have to check every node for what it is just to assign an icon anymore. I just extended the responsible class and added a parameter "iconName".
with this parameter the node searches its icon by itself.
I also implemented the settings now.
not much until now, but at least the window now remembers the state it was left in.
so if you maximize it and leave, it will start up maximized. it also remebers the exact width and height.
Now I only have to clean the old Dialogs and UI elements. Then redo the lua editor and afterwards document the code.
then I will continue with the big things. next will be adding custom Lua libraries. the biggest problem with them was the auto completion stuff. but I think I solved it with the method I proposed earlier today. I will create the files for the standard Lua libraries and Factorio API myself. maybe even the file of the stdlib-0.8.0.
- Attachments
-
- fmcs-015.jpg (531.22 KiB) Viewed 15495 times
I'm currently working on a tool that will allow everyone to create mods for Factorio without having to learn any of the complicated stuff.
Follow the development here: viewtopic.php?f=137&t=40830.
Follow the development here: viewtopic.php?f=137&t=40830.