Intel Depot

Interview with CrashDome

Sep
23
2007

 scriptedit
fsmedit

In OFPEC's quest to learn more about our beloved community, we have a chat with Crashdome about the software he created called FSM Edit and Script Edit.

Hoz: Can you tell us a bit about yourself, perhaps some of your OFP/ArmA related achievements?

CrashDome: Well, I don't want to get too in-depth because I'm not good at talking without straying off-topic (or in this case, writing OT). I am a programmer working for a graphics company, but I wasn’t always a programmer. I’ve done a large share of manual labor (12 hour work days operating very large machinery) and being stuck to a desk all day is actually one of the drawbacks for me. I am not married yet, but I have a fiancé. No kids.

    I've been with the community since the first version OFP. I had a chance to play the first release at my friend's house. He brought a copy back from when he was stationed on a boat in the Mediterranean. When it finally hit the US, I had it immediately. We played a lot of LAN back then and the community was small. I didn’t really get involved in editing until much later.

    As far as gaming goes, I grew up with role-playing games. Paper and pen somewhat, but mostly board-game, table-top, and computer RPGs. I’m not that into role-playing but I like the premise because it is virtually simulation and imagination mixed together in some sort of weird balance. I am also a big fan of sims and they occupy about 95% of my gaming now.

Hoz:  Can you give me some background/history of sinewsofwar, for the most part it looks like a closed site except the FSM tutorial and FSM editor?

CrashDome: This is a long story. You can read a bit about the history of SoW on the BIS wiki. I created a page there early on, mostly to give some of the other SoW members some credit. As the face of SoW, I often get more credit than I deserve.

    The SoW website was born out of the idea of the script mod. Basically track things between missions in MP. The concept was solid for OFP, but sadly ArmA does not have the same exploit to provide saving data (in MP) in the same fashion. I’ve had many people help me out throughout SoW development, mostly in the form of play-testing and giving me ideas. We were really just a bunch of guys with the same idea of what type of game we wanted to play.

    Prior to ArmA, we all split up and went different ways. Real-life and all that. The website itself is not really “closed” as much as it is very vacant lately. I’ve had problems with web hosts and bounced from host to host trying to keep it cheap enough and without too much maintenance needed. I may be a programmer, but I dislike web development. It’s not my avenue. After failing to secure a reliable CMS, I ended up going to a Windows-based host because I could work with it and tweak it more myself… but that ended up being more work than I wanted. That and my website seems to be inaccessible about 30% of the time. I really cannot find a good host.


Long and short, I am going to bring my website home or to another place so I will have something I can bring back to life. I really want to bring back the fun we had editing OFP. I want to take that social aspect of a lot of modern websites (blogging and sharing) and give ArmA editors that ability. We’ll see though… I’m not usually one to get offers of help and I know I could never do it on my own. My biggest mistake was probably going to a Windows-based host though.. lol.. not a lot of .NET developers in the community to help me out I guess.

Biki link to Sinews of War

Hoz:  You wrote a FSM editor for ArmA called FSM Edit, what interested you in making a FSM editor?

CrashDome:  Well, I develop business applications. .NET is huge in the business world and I can find a lot of third-party controls which cuts development time enormously. The problem is licensing, but I’ll get into that later. One of the apps I am making for my company involved drag-and-drop workflow. So a customer service representative would get an order and they would drag these rectangles for different processes into what amounts to a rudimentary flow-chart. When I saw the VBS2 vids and heard about the FSM developments, I put two and two together and decided to make a graphical editor for FSM editing.

FSM Edit 

FSM Tutorial

Hoz:  Do you feel its being used to its potential, I don't see any FSM scripts available?

CrashDome: Well, that is the problem we have. Rune put a lot of work into his tutorial and spent a lot of time testing. Much of what we know was completely pulled from our own theories. There is zero documentation from BIS on this subject and the community has dabbled here and there but little than a few hints or clues to the behavior were found. People don’t like it though because as with all things script-related, if it doesn’t have immediate results they move onto something else. FSMs will really shine in large projects. I don’t think anyone can write a FSM script and say “Hey! I made this and it does XYZ, use it in your projects” because FSMs I think will be more project specific.

    I really think it has potential. It can do many things which are otherwise done via brute-force scripting. I would say that many CPU-intensive resources lost to scripts could be cut down by FSM usage, but the main problem is that a lot about FSMs are still unknown.

Hoz:  How big a project would one start seeing the usefulness of FSM or is it the full MOD level or addon makers may find them useful? Maybe some day scripter's may find a use for them?

CrashDome: I’ll use Grouplink II as an example of something I would expect to be minimum size. I use that also as an example because it is entirely a script mod. If someone were undertaking a project of about that size or larger and it is script related, you probably want to explore FSMs at least as a possibility.

    A lot of people thought it was the answer to changing the AI completely. This is just simply not true nor is it even really feasible. A lot of people expected FSMs to control everything from ground up. In reality, it is simply a method to write a script which has some AI credibility. For example, you might write a script that has a crowd of people chanting and holding signs like a demonstration. Perhaps they walk in a circle. Any script (SQS or SQF) would suffice, but an FSM would be slicker and more adept at dealing with things like if combat breaks out. With a script, you need to do a lot of status checking and IF-THEN statements. With an FSM, it is very cut and dry.

Hoz:  In trying to think about a good example to demonstrate the usefulness of a FSM script, I think it would be neat to apply a FSM script to a seagull and make them dive into the water occasionally like it's diving for fish. Is something like this possible?

CrashDome:  Yes, in fact, I had many ideas for an example FSM to show how neat in can be. The problem has been that I cannot think of something simple when I sit down to do it! I’ve also had a bad case of developers-block lately and even if I think of a good idea, I sit down to do it and suddenly start to think it’s a bad idea.

    One of my good ideas was to modify formation behavior based on assigned team color. I thought it would be really neat to use something like those color assignments to give units specific tasks within the formation. For example, imagine you assign a unit as Team Blue and he becomes like the point-man. You assign an Automatic Rifleman and a Rifleman as Team Yellow and they take right flank. I got so excited about the idea I began to create all kinds of neat possibilities. We have the commands to modify team color now and change them and disband them if needed, BUT we do not have a command to query a unit to see what team color they are on! BIS strikes again!

    A lot of my ideas fall apart at the last moment like that because of some minor and seemingly insignificant possibility turns into a major limitation by the commands we are given.

Hoz:  Did you develop FSM Edit by yourself?

CrashDome:  Yes. It was initially very basic. It is getting more complex, but I haven’t visited it much because the demand really isn’t there.

Hoz:  Did BI leave any limitations to using FSM scripts or did they provide everything needed to do anything your imagination desires?

CrashDome:  I think the limitations are no different than any other tool we use in scripting. When BIS introduced the ability to do functions, it broadened our capabilities but they were definitely not instant problem-solvers. They were certainly not very popular when introduced either. Same for FSM scripts.

Hoz: You also wrote an ArmA scripting editor called Script Edit - can you tell us a bit about Script Edit, some of the key things that may interest budding mission and scripting designers. I spoke with some scripting gurus, many were impressed by Script Edit's interface, but no-one was using it as their full time editor, they stated that slower load times were problematic, is this something you have addressed?

CrashDome:  Ah yes, well… at the time there was no official/unofficial ArmA script editor. One day I was working on finding a solution to do reliable and efficient color coding for FSM edit when I came across another third-party control that is used for making some serious intelligent programming editors. The control is made by Actipro Software. It is .NET based and VERY powerful. I decided it might be nice to make an IDE for ArmA.

    I worked very hard getting the foundation down. The problem is that most scriptors are very used to simple editors. I say “simple” because what I mean is that there is little intelligence designed in most of them. I, in my business development, use Visual Studio and have experience using others. These tools do almost everything I need. They go beyond just editing text. I wanted that for ArmA.  Before development, I asked around at what people use and compared features of what they use and what I could get out of Actipro’s control. I then filled the gaps with my own code.

    The truth is that Script Edit can become a very powerful tool. It already can do many things even editors like Notepad++ cannot do. The problem is as you mentioned, the little things. Load times are increased because it does more. It is new and not fully optimized yet. A lot of features I intend to create are not in it yet either.

   I am still working on things. I fully expected to be finished with the whole project by September, but the past 3-4 months I have done virtually about 3-4 days work. RL threw some nasty curveballs at me and I swung and missed. Since I am the lone developer, the project has fallen very far behind what I wanted.

Script Edit 
  
Hoz:  One of the things that drives me nuts is when building weapon pools or adding ammo to crates can be a tedious task,  will future enhancements include easy to build lists?

CrashDome:  I planned on it, but then Chris Henderson came back with ArmA Edit. Most people might immediately think “competition” but instead I thought of the opportunity it gives me. He’s managed to create something that gives instant and simple help to a lot of new guys. I can now focus on more advanced behaviors. For example, I am currently using a build which features the ability to change markers and triggers in the mission from within Script Edit. For example, with a trigger you will see the activation, deactivation, etc.. and the code within. It does, of course, also have the Intelliprompt editing available for the code. You can change some mission stuff without opening the mission in the editor or being limited by lack of the UI being intuitive. Another example, is that I’m working towards the ability to edit unit names directly and even rename whole groups to avoid that problem you get with all the “_1_1_1”s when pasting new units in the editor. The idea being you pick something like “Alpha” and it will name them “Alpha1”,”Alpha2”,etc.. automatically according to the users parameters. I’ve also added regular text file support and started on CSV. I expect to have all that publicly available soon. I really want to add a lot more, but alas I am just one man and these things take time to do correctly with minimal bugs.

    In the meantime, there is some ability to customize Script Edit and create some pre-defined code snippets. They can be used to create code that might be tedious, but the advantage of a real Crate Builder wizard is the built in list of weapons. This list is something Script Edit will have in the future, however, right now I am focusing on some other features.

    I am revamping the “mission folder project” concept and looking to save layouts and open files directly related to the mission folder rather than one global layout. This means you can close one mission and open another and see different layout of the different panes and different files will open automatically according to last save. Also, I am looking to consolidate and remake the variable list. It wasn’t until I began using it myself that I saw how cluttered it can become. You get 5 or more files open and the list is almost too long to use effectively. I also don’t like how global variables don’t show up in all files. I am thinking about these things as I use it and sure there are some wizards I’d like to see, but my first goal is to streamline the advanced stuff you don’t find in other editors like the variable lists and Intelliprompt features.

Hoz:  Do you receive any feedback on the Script Editor from the community? Where can people contact you for suggestions/bugs?

CrashDome:  Yes, I have received a lot of feedback. Sickboy was my “main man” on the outside really because he did not use it and openly admitted he would like to, but it isn’t good enough yet. You might say I built Script Edit towards him in the sense that whatever I could do to get him to switch to Script Edit would mean I really built something the community could use. Other than him, I’ve received a lot more suggestions from other people that do use it or would like to use it. The JadeGear website sure looks empty and barren, but it really is deceiving. I get a lot of PMs and emails. I also have friends that use it and talk to me directly. Any way I am contacted (website or otherwise) I do see the feedback. I check it every day even if I am just checking how many people have downloaded it for the day.

    The built in bug sending feature has helped a lot. That was something I lifted from one of my business applications. I was sick of getting weird emails from my company employees about bugs and not hearing specifics. I wrote something that sends me all the info I need automatically. I basically altered it to make sure as to not send any personal PC info (there is nothing sent via the built in bug-sending system other than code exception detail and possibly a filename of the problem file) and dropped it into Script Edit. The information is beyond helpful and I can see why major companies would include such a feature in a game itself. The main difference is that I am not concerned about hardware. My main concern is what line of code did the program break on and what data caused it to break.

    Speaking of which, I am getting a ton of errors via email about the “Dummy Content” bug and I want to assure everyone it is being fixed (if not already). The problem was that I save a layout of the last open files and if one of those files is moved or does not exist on the machine anymore, I am supposed to pass a null value to say “don’t recreate this window” but it likes to open some dummy content form instead – which doesn’t work. It doesn’t break the program and you can continue working despite the error. The good news is that is about the only true “bug” I hear about. This means that it is relatively stable compared to what I expected.

    I’ve just began editing missions myself again and I of course use it as my main editor. So if someone is having problems, I am very likely having the same problems and can sympathize.
I love hearing from people and when I do it encourages me to keep working on it. So please do not stop or think I am not paying attention anymore. Truth is that I check the website and my email almost every day. I wish I could pump out new builds more regularly to show how people’s feedback is getting back into the product, but without help I am limited in that regard.

Thanks for sitting down with us and answering our questions.

OFPEC FAQ

Everything you need to know about what the Intel Depot can do for you...

Search the Intel Depot

Search OFPEC Intel Depot


News Archives

2024
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2023
Jan
Feb
Mar
Apr
May
Jun
Aug
Sep
Oct
2022
Jan
Feb
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2021
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Nov
Dec
2020
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2019
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2018
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2017
Feb
Mar
Apr
May
Jun
Oct
Nov
Dec
2016
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
2015
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
2014
Jan
Mar
Apr
May
Jul
Aug
Sep
Oct
Nov
Dec
2013
Apr
May
Jun
Jul
Sep
Oct
Nov
Dec
2007
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
2006
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Oct
Nov
Dec

RSS

OFPEC offers multiple RSS feeds to help you stay updated on the latest releases...

We like to keep up to date with what's happening in the Community. If you have a story to tell or an event you want to advertise, get in touch...

Advertisement