Advertisement

Welcome to the AngelCode forum

Started by March 09, 2004 12:15 PM
8 comments, last by WitchLord 20 years, 8 months ago
Dave was good enough to create this forum for me. Because of AngelScript I''m starting to get a lot of questions that I believe would be better tackled in a forum, than by me single handedly. In this forum you can ask about anything game development related (or anything else you might find on my site). I promise that I will do my best to read all the posts here personally, but if the question you have is directed at me personally you might be better of sending it to my e-mail instead. Well, what are you waiting for? Start asking away... - Andreas www.AngelCode.com

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

yay let hope this forum doesnt die


typedef unsigned long long int me;
typedef signed short char you;
Advertisement
Yay, a new forum to moderate, eh? Good luck, and I hope it''ll get only sensible posts
I'll do my best preventing it from dying, but I can't do it alone so keep posting

Yes, a new forum to moderate. Hopefully I'll be able to keep up with this one. I have the advantage of having a personal interest this time so I think it will be ok.

www.AngelCode.com - game development and more...
AngelScript - free scripting library

[edited by - WitchLord on March 9, 2004 1:43:51 PM]

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

As I''m far to lazy to go through all the docs, could you answer a very basic question:

Assuming it can compiles scripts to some form of byte code (which I assume it does for speed unless it goes all the way with JIT), is it possible to execute X cycles on the virtual machine (that is, rather then run an entire script/function in one call, use an incremental function that lets the virtual machine do a little bit of work and then return control to the appliction)? My main problem with almost every all other scripting system is that they make the assumption that all script functions can execution within a reasonable amount of time.

I would also be interested in how much of a sandbox environment is provided, and how dependent the virtual machine is on the source language (is it like Java, or more like .NET)
There are three ways you can execute a script partly. Either use ExecuteStep() which executes one line of the script (approximately) and then returns. Or you could allow the script to call a registered function that suspends the execution, e.g. suspend(), yield(), or wait(). Another way is to have another thread call suspend on the engine if it executes more than a specified amount of time.

I''m not sure what you mean by a sandbox environment. The virtual machine works with a home grown byte code, but it has been designed for use with C/C++ so it calls the registered system functions directly by copying the parameters onto the application call stack and then invoking the function. For languages that doesn''t work this way, you''ll probably have to write a wrapper for the library, or use proxy functions.

Oops, I have to go now. Time''s up. I''ll come back later to tell you some more.

Andreas

www.AngelCode.com - game development and more...
AngelScript - free scripting library

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

Advertisement
A sandbox environment is basically a scripting environment where you can''t create hostile scripts. Basically you can''t crash the program running the virtual machine (or screw up the virtual machine beyond the point of the VM saying a script failed). You can''t DoS the machine by stealing all CPU or memory resources. You can''t run code outside of the virtual machine, etc.
Whew..........a forum is way better than a mailing list. Cant wait to try out 1.6.1.

Jayanth.K
Raptor Entertainment Pvt. Ltd.
Jayanth.KRaptor Entertainment Pvt. Ltd.http://www.raptorentertainment.com---------------------------------------------------------Why Mr. Anderson? Why? ...Why keep fighting? Do you think you're fighting for something - for more than your survival? Can you tell me what it is? Do you even know? Is it freedom, or truth, perhaps peace, could it be for love? Illusions Mr. Anderson, vagaries of perception. Temporary constructs of a feeble human intellect trying desperately to justify an existence without meaning or purpose.
Ah I understand. Well, I''ve thought much about the security with AngelScript, and I try to make it as secure as possible, in that the script writer is only able to do what the application writer wants.

The scripts use pointers, but as a security issue it doesn''t allow manipulation of them, i.e you cannot read or write the memory that the pointer points to, and you cannot move the pointer manually. The only thing the script can do with pointers is accessing object members (those that are registered by the host application). The script cannot take the address of objects by itself either and doesn''t allow conversion of a pointer type to another type. Basically the script writer is very restricted. Of course, the application writer is allowed to register functions for manipulating pointers directly which might compromise the security.

www.AngelCode.com - game development and more...
AngelScript - free scripting library

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

I''m happy you found your way here Jayanth. I was worried that you wasn''t getting the support you needed for AngelScript. Our communication has been a little slow lately.

www.AngelCode.com - game development and more...
AngelScript - free scripting library

AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - Tower - free puzzle game

This topic is closed to new replies.

Advertisement