• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Lioirc

ctor arguments and JIT compiler

5 posts in this topic

Hi I think the ability of passing arguments to the constructor wrapper class of the regeistered objects (class) is a good addition, that way we can register class factories. CObject* _objectCosntructor(int type, CObject* thisPointer) { return new(thisPointer) registeredObject(type); } i will try to modify the library in the next days (unless there is a specific limitation in the anglescript library to this ctor method), or if i dont have time, i will do it via a preprocesor , anyway, i let you know that passing arguments to constructors can be a good feature to add About the JIT compilation (to improve the execution speed), is there any study going on to implement JIT compilation to angelscript? Here are some links to JIT compilers for bytecode executed on VMs http://www.southern-storm.com.au/libjit.html "The libjit library implements Just-In-Time compilation functionality. Unlike other JIT's, this one is designed to be independent of any particular virtual machine bytecode format or language. The hope is that Free Software projects can get a leg-up on proprietry VM vendors by using this library rather than spending large amounts of time writing their own JIT from scratch" http://softwire.sourceforge.net/ "SoftWire is a run-time x86 assembler, written in C++. It can be used as a JIT compiler back-end for scripting languages, or for dynamic code generation of optimized inner loops." great library you have here (angelScript), im testing it right now, and so far its very good, (implementing in a game framework), but im a little concerned about the speed, im targeting at controlling the game runtime via scripts, so they will be executed every frame and for the game logic, not GUIS or simple functionality Lioric
0

Share this post


Link to post
Share on other sites
Hi

i did a little more research and there are very confronted opinions about jit and bytecode copmpiled scripts

but here there is a scripting library that has as addon a jit compiler with source code

http://www.compuphase.com/small.htm

Lioric

0

Share this post


Link to post
Share on other sites
Passing arguments in the constructor is indeed a useful feature, as is the copy constructor. I have plans for both of these, but haven't started working on either yet. If you should implement constructors with arguments it would be a great contribution to the library.

I have plans on allowing plugin JIT for AngelScript, but I haven't started studying how that should be implemented. I'm instead spending my time on implementing needed language features. Once the library has matured more I will start looking at JIT.

I already knew about SoftWire, but hadn't heard about libjit. Thanks for the tip.

I don't think you'll have any problems with the performance of the scripting language. Raptor Entertainment is using AngelScript for just about everything in their game and haven't complained about the speed yet. However, I was told in another thread that AngelScript is 2.3 times slower than Lua, so I've spend the last few days trying to improve the performance. I've already managed to improve it quite a lot, but I will do more. AngelScript has potential to be faster than Lua, since its interface with C++ is more direct (same datatypes, no wrapper functions, etc).

I'm very pleased to hear that you like AngelScript and I hope you'll continue to use AngelScript for your projects. I'm sure you will find that it improves very quickly.

Regards,
Andreas


0

Share this post


Link to post
Share on other sites
We are using AS for AI descision making as well as of now, and I dont seem to have too much problems, the CPU cycles for AI and other AS calculations are about 0.01 Secs, which is okay by far, i guess we could use a bit more speed though.......

[Edited by - EddHead on September 7, 2004 12:45:01 AM]
0

Share this post


Link to post
Share on other sites
Hi WitchLord,

Im happy to see that you will implement these features in the angelscript future

If modifying the library to pass arguments to constructors doent tak more than a day or a couple of days, i will do it , but if not (the project is a little overtime by now), i will go for the proprocessor way

parse the script for the object declaration:

CObject* _obj = new "sphere"; ( or CObject _obj(OBJECT_TYPE_SPHERE); )

add the object types to a deque of types in the order they are declarated
replace the script lines where the object are declarated with the object pointer declaration only (CObject* _obj;)
compile the script, and whe the registered constructor is called do construct the derived objects

CObject* _objectConstructor(CObject* thisPointer) {
ObjectType type = type_deque.front();
type_deque.pop_front();

return new(thisPointer) registeredObjectClass(type);
}

Im still concerned about the speed of the library (or to be fair with the speed of bytecode execution in general), i know that the new unreal engine uses bytecode scripts (probably a highly optimized compiler and vm).
But as my project is a game framework, the user will have control on the execution or what the game does, so the more speed i can give the end users, the less complains and messages to my tech support guys

I want to let you know that i really want to use your library, i have the angelscript homepage bookmarked for about 6 months by now, and finally the project is in the "implement scripting feature because its a good feature and because the competition has it and its very fast" stage, but overall because angelscript its very good coded and have good features, but i still have some scripting libraries left to try.

About the speed, i saw on the raptorentertaiment page some screenshots, and they report a very low fps, 10.40 in the frist screenshot i saw, and 17.some in the second, but im sure its because they are debug screenshots

best regards,

Lioric

0

Share this post


Link to post
Share on other sites
You're right about the FPS, we had to take them on a DEBUG build, and since we just needed to show our art capabilities. right now we're getting over 50 fps average. as of AngelScript, the speed is pretty good, not seen any bottlenecks. i will come up with a full report so that we can all confirm when i have time.
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0