Giving Some Back

Started by
33 comments, last by EDI 20 years ago
Hey all, I just completed what I consider to be a very large feat, and I would like to help give back to the GDNet isometric community by offering advice on the subject and perhaps some source code too, I''ll explain. I''ve just completed a scripting engine, which is being put into my game engine, it uses a semi-modified version of C as it''s language, it compiles down to an instruction based hierarcial object model. While building this I had to overcome some _very_ hard obstacles and I would like to offer my experience and solutions to those who would undertake such a project by fielding questions. This may seem a bit out of place on the Isometric forum, but this forum is really where ''my'' community is and since alot of you know of me it may seem a little more relavant here than somewhere else. Anyway, feel free to post questions here and I will answer them to the best of my ability. Happy Coding, Raymond Jacobs, www.EDIGames.com www.EtherealDarkness.com

Raymond Jacobs, Owner - Ethereal Darkness Interactive
www.EDIGames.com - EDIGamesCompany - @EDIGames

Advertisement
think you could write up a tutorial on your methods of making it? Maybe without being language specific, or you could kinda'' do both. I''m using VB and still learning c++ and I''ve always wondered how I could make one myself. Things that would be useful would be like the techniques used to accomplish the basics such as function calling, loops, variables and mathamatics, etc.
Sidra Headquarters
Game engine is currently at version 0.9.8! Currently Down
I''m wondering why you didn''t end up using lua
as I''m planning to do?

-----------------------------


_____________________________
www.OddGames.comwww.OddGames.com/daniel
JoHnOnIzEr:
I would really like to do that, but at the moment with my current development schedule I dont have the time (job+game=16 hour days).

Herr_O:
the main reason is we wanted C as the scripting language, also I wanted total control over specifics, like, weak or strong typing and variable scope. It is also notable our scripting languge needed somthing we call ''event locking'' that is when the script makes a call to the engine the engine can lock the execution of the script with the contingency of a certain event, when the event is fired execution resumes, i wasnt sure if lua could do this, but again i really didint check.

- could we have used lua?

Probably, but I saw no reason to be dependant on a 3rd party if i didint have to.

e.g.
we need a new language feature, lua cant do it, we now not only have to implement this new feature ourselvs, but construct a whole new scripting engine which is compatible with all the scripts we have written.

while this is probably rare, i''d rather not introduce any problems=)



-was it worth it to write our own scripting engine?

considering it only took me a week to write the Parser,Compiler and Virtual Machine, definetly, the time to gain ratio in this case was excellent. I would imagine though, that most people couldnt write one in such a short period of time, even when time isnt considerd it is a daunting task, and you can easily travel the 90 meters and trip on the last 10.

Raymond Jacobs,

www.EDIGames.com

www.EtherealDarkness.com

Raymond Jacobs, Owner - Ethereal Darkness Interactive
www.EDIGames.com - EDIGamesCompany - @EDIGames

objects!!!
I want to know how do you handle objects!
and if you can show the bitmaps of some objects, how do you know what tiles each object will block and that stuff...
my RTS game is allmost lost because I dont know how to handle objects in game properly
if you can post some of your code, or explain how do you do it, you will make me an happy person :-D
I saw your game, I played a version you released, very nice
TIA
How appropriate, you fight like a cow!
Ilankt:

A little out of scope here but heres what i''ll do for ya,

contact me via AIM, ''EtherealDarknes'' *one s intentional*

and we can talk about it.



Raymond Jacobs,

www.EDIGames.com

www.EtherealDarkness.com

Raymond Jacobs, Owner - Ethereal Darkness Interactive
www.EDIGames.com - EDIGamesCompany - @EDIGames

Hmm ok. I''m pretty new to scripting and I''m still tied up with my editor so I haven''t gotten around seeing what’s possible. Thanks for the reply! =)

-----------------------------


_____________________________
www.OddGames.comwww.OddGames.com/daniel
I''d be interested in the techniques that you used to implement the "locking" feature. I''m currently designing the scripting language for my game and would undoubtedly find the information useful.

I need to be able to:

1) run very small scripts in whole while the game engine waits for them to complete before moving on.

2) execute the global body of a script during the load, and then call part of a function from it each frame based on time slices or priority levels.

3) detect when a function or script is completed so that it can be released.

4) compile and update a list of scripts that will be executed each frame using time slices or priorities.

5) pause execution of a script at any given time and then continue with the script as the need arises.

These issues seem like the same thing that you were having trouble with, so any information that you can provide in the regaurd would be literally invaluable to be.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The only thing better than word-play is playing with words involving word-play. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hey there, Im busy this weekend, but hopefully i will post tomorrow ''monday'' morning.



Raymond Jacobs,

www.EDIGames.com

www.EtherealDarkness.com

Raymond Jacobs, Owner - Ethereal Darkness Interactive
www.EDIGames.com - EDIGamesCompany - @EDIGames

Ok, cool. I''ll check back later then. Thanx man.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The only thing better than word-play is playing with words involving word-play. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This topic is closed to new replies.

Advertisement