Advertisement

AS IDE

Started by May 16, 2006 09:49 AM
20 comments, last by Deyja 18 years, 6 months ago
I know there is a similar thread already, but since this is not a technical question, I wanted to start a new thread. I'm working on an IDE for AS. Currently I have an editor, and a basic debugging option (single step, step over, step out, stack frame and variables). I wanted your advice with one issue. I need to find a way to register the user's classes/methods into the engine itself. My idea is for the user to export a function from a dll, and the IDE would call it. extern "C" __declspec(dllexport) void Register(asIScriptEngine* pEngine); When creating the engine, I'll load the dll, call the function, and then execute the script itself. What do you think?
i'm doing exactly as you do. i have prepared an entensible ide with the engine and the ability to load plugins dll. then there is a common standard dll that implements String, File, Stream, URL, Socket, Thread, Graphics, Path, AffineTransform, Image and image manipulation, GUI Components and LLLOT of other things. or you could plug your string and std classes implementation, as you like... maybe our IDEs could share plugins tho if we have the same interface ;)

ah.. the project is calle AngelJuice ;)



ah.. a lot of things are still to be done !

[Edited by - kunitoki on May 16, 2006 12:21:27 PM]
Advertisement
Sure. We can find a common interface to use so users can share our plugins. You can contact me via MSN: gilad_no [AT] hotmail [DOT] com.

This is what I have for now.
aside
goood ;) very interesting...
mmmh i don't use msn too much... maybe we can find alternatives for talking a bit. for sure i would like to contact you as soon as i can...

anyway i though about having a similar interface that wraps out the original AS interface for the engine, and do saving class names. in this way if you use it for registering new types in a plugin dll, the main text editor could know the new classes it could highlight. and for functions as well. it would be a very interesting thing sharing plugins for AS !

[Edited by - kunitoki on May 16, 2006 12:51:46 PM]
If you haven't read it, an article in Game Programming Gems 6 compares Python, LUA, GameMonkey, and... AngelScript! One of it's criticisms of AngelScript (beyond the authors obvious Python bias) was the lack of tools like these.
Not for long :) We are working to solve this issue.
Advertisement
yes. i hope we can bring angelscript addicted coderz new tools. and also hope witchlord still add features to the library !
The article was really rather dissapointing. It disses a bit on LUA's ugly binding code, pimps boost::python, then has a single little mention like 'Oh yeah, you don't need any of this wrapper crap in angelscript'. It also has fond things to say about the other languages built in container types, with no mention of how easy it is to add just about anything to angelscript.

All in all, though, I still think Angelscript has a bit more of a learning curve, mostly do to the 'low level'ness of it's interface. Angelscript deals in void*s and memory blocks. I'm working on that problem myself, though it's proving to be somewhat of an uphill battle against C++s static typing. It's easy to get from C++ to angelscript, much harder to go the other way. But of course, to really use it you have to use my whole library, and everyone seems to prefer doing it the hard way. :(
Any chance you have a link to the article or an online resource?

I've tested several scripting engines, and I think that AS is the best solution. It is very easy to embed it inside your application, syntax is easy to learn (plain C++, no need to learn new syntax), very easy to add new functions (no need to write a wrapper for each function), and the feature that I liked most - There are no build in functions at all. Most of scripting engines already include printing modules, file system access and other stuff. But sometimes, when I need to support other stuff, and I don't the user to access the filesystem (for example), then I need to edit the source code (when using other engines). I prefer a simple engine where you can extend it for your needs, instead of stripping down parts of it. AS is becoming more and more like Java (safe and easy syntax). I just hope WitchLord will keep it small and fast. It should stay an engine and not become a development environment.
i don't know what kind of crap stuff is written on that article, but sure i will not trust even a line, even if is god that have wrote it down. i've talk with other coderz which prefer python all over, gr8 engine, lotsa libraries, used also by nasa (yes and so? i reply...). anyway, i've tried to embed the triad, lua/python/gamemonkey, and even if there are good wrapper bind helpers (boost,swig,gmBind and such) it still is real pain in the ass (and the syntax... hell, who like table based syntax ? or even python crazy tabbed indentation and underscore everywhere sufferings ?). all is mutable, they have sure future programming patterns like fillers, iterators, good, but anything compares to what is possible to achieve with strong typed AS. the most important fact about angelscript: is a language made for C CODERS with background, not for LAZY SCRIPT WRITERS with vb/&#106avascript experiences... i'm going the hard way... i'm going strong typing... as i'm going angelscripting...

This topic is closed to new replies.

Advertisement