Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / !! --- emu dynamic scripting engine --- !!

Author
Message
David R
21
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 26th Nov 2005 19:07 Edited at: 26th Nov 2005 19:14




What is it, and what does it do?

The aim of the EMU project is to create a DBP powered scripting
langauge, that will allow users to run code that isn't availible
when the project is compiled (like DBC, where any file can be
included during runtime).

This is done through a DBA file, which contains a function called
EMUCOMMAND(). Simply include the file, and you can run any script
saved in EMU format (which is plain text)

The DBA file is also dynamically created by a program called
EMU-Make (included with download) and therefore allows users to add
commands, or change their meaning (for instance, you could make 'pr'
become the equivalent of 'print')

So, roughly speaking:

Pro's

Dynamic DBA creation means a customizable commandd list
(add new commands), without having to recompile the EMU code!

Ability to support practically any DBP command !

Stupidly easy to understand and code with

Cons

Coded in 24-hours, and has a small command set (so far -
but by adding commands, you can support he project)

Parameters of commands need to be separated by a line
For example:




Supported commands so far (Build 1, 261105)

KEY
-------
in = fully functional (its in the current build)
n/a = not applicable/beyond the scope or purpose of the project
<anything else> = notes about the command and how it runs under EMU



rem = Rem's are read via GetString(), but otherwise ignored
remstart = this command is ignored
remend = this command is ignored
sync on = in
sync off = in
sync = in
sync rate = in
fast sync = in

cls = Works, but needs an extra space after being typed (space for
colour value [optional] )
set cursor = in
print = in
input = works, but stores data to EMU_ReturnString$(1) (array)
dim = currently not possible with the command set
undim = currently not possible with the command set
do = n/a
exit = exit is converted to exitfunction. This is a manual command
and can be changed (held in HEADXXXXXX.ini)
loop = n/a
end = in
goto = !! not supported !!
if = coming soon
else = n/a
endif = n/a
repeat = n/a
until=n/a
while= n/a
endwhile = n/a
for = n/a
next = n/a

load bitmap = in
text = in
suspend for key = in


So...?
Download, and try it out! Here's a small demo (369kb). It includes a
single 'hello world' example (but you can create your own projects
and use EMU with them aswell)

BUT! Please, please read the readme file! The DBA file isn't
included when you download. Why? You need to run the EMU-MAKE program, which creates it (hence dynamic creation)

After that, you can simply include and compile...
Enjoy! (and read the manual!)

Comments, bugs and suggestions wanted!

DOWNLOAD:
http://forum.thegamecreators.com/xt/xt_apollo_download.php?i=715594

Attachments

Login to view attachments
PowerSoft
20
Years of Service
User Offline
Joined: 10th Oct 2004
Location: United Kingdom
Posted: 30th Nov 2005 22:42
So basically your copying me....LMAO



Great work David. Good job.

Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 30th Nov 2005 23:51
Quote: " So basically your copying me....LMAO"

By doing what..?

Tempest - P2P UDP Multiplayer Plugin - 62%
the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 1st Dec 2005 07:53
Quote: "By doing what..?"


By creating yet another scripting language that is pretty much just a wrapper around dbpro commands?
Not knocking his work but I would be much more interested in the various attempts to add a scripting language to dbpro if the script languages made doing things quicker or easier.

Letting me call the sprite commands or image commands from a script isn't all that useful.
Letting me define the behaviour of an enemy and have the scripting language handle everything like image/sprite numbers, moving the sprite every loop etc. would be very useful.
That's just an (probably bad) example but the must be hundreds of things you could add that would make using your script language easier/quicker/better than writing dbpro code.

--
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 1st Dec 2005 10:02
@ The_Winch...Mmmm, if what we heard at the convention is on target, I might be very interested in this month's newsletter!

blanky
20
Years of Service
User Offline
Joined: 3rd Aug 2004
Location: ./
Posted: 1st Dec 2005 16:46 Edited at: 1st Dec 2005 16:49
Huh? Looks nice David R. I'll keep an eye on this, but it doesn't suit my current project as I'm in need of a way to dynamically change what code is running without recompilation (i.e., my FPS has scripting support for each entity...)

**continues to massacre PowerSoft's code for now**...

16-colour PNGs pwn.
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 1st Dec 2005 18:10
Quote: "By creating yet another scripting language that is pretty much just a wrapper around dbpro commands?"

Then hes not exactly copying him, as everyone is doing it..

Tempest - P2P UDP Multiplayer Plugin - 62%
PowerSoft
20
Years of Service
User Offline
Joined: 10th Oct 2004
Location: United Kingdom
Posted: 1st Dec 2005 18:25
Blanky... you mean your using it? w00t!

TEH_CODERER
21
Years of Service
User Offline
Joined: 12th Nov 2003
Location: Right behind you!
Posted: 1st Dec 2005 19:12
Great stuff. Will be mighty useful for many things. Also good because I can't use DB at school so all I have to do is make a generic compiled exe that calls scripts and then I can code in script instead!

[url]andrewneale2004@yahoo.com[/url]
http://www.elbsoftware.dbspot.com
PowerSoft
20
Years of Service
User Offline
Joined: 10th Oct 2004
Location: United Kingdom
Posted: 1st Dec 2005 19:34
Or install on a USB Pen...

David T
Retired Moderator
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: England
Posted: 1st Dec 2005 20:00
Quote: "@ The_Winch...Mmmm, if what we heard at the convention is on target, I might be very interested in this month's newsletter!"


I can assure you will be

"A book. If u know something why cant u make a kool game or prog.
come on now. A book. I hate books. book is stupid. I know that I need codes but I dont know the codes"
the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 1st Dec 2005 20:13
Quote: "Then hes not exactly copying him, as everyone is doing it.."


It just sounded like a nice way to start my post not really a serious point. Probably could have done with a smilie.

By way of demonstration, he emitted a batlike squeak that was indeed bothersome.
Jeku
Moderator
21
Years of Service
User Offline
Joined: 4th Jul 2003
Location: Vancouver, British Columbia, Canada
Posted: 1st Dec 2005 21:22
Quote: "So basically your copying me....LMAO"


So anyone that's making a new IDE is copying you too?

Myself, I still don't see the use in having a scripting language ontop of a BASIC language. And excuse my ignorance, but can't anyone just view the scripting code?

blanky
20
Years of Service
User Offline
Joined: 3rd Aug 2004
Location: ./
Posted: 1st Dec 2005 22:24
Ugh... Dudes, no offence, but the progress of the engine & the current features of this are really similar to PowerSOFT's last complete build of his scripting.

That's all. No one's accusing anyone of copying.

16-colour PNGs pwn.
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 1st Dec 2005 23:05 Edited at: 1st Dec 2005 23:05
Quote: "Myself, I still don't see the use in having a scripting language ontop of a BASIC language"


I struggled with this concept too. But then I thought of a couple of ideas...

Scripting dynamic entities. For example, you build your racing game, and then script stuff like other vehicles behaviours, speeds, and obstacles. Once you have the engine in place, you could rapidly try out faster cars, harder driving, adding oil slicks etc. You could also save the script each time and build up a library of different levels.

Real-time evolution. You could put your living entities into...er...the unnamed engine ( ) which is running it's own thread, and let it change characterisitics over time. Meanwhile, back in your game, you just query the script engine whenever you need an update. Obviously I've assumed this unnamed engine can run a separate thread and interact with DB

David R
21
Years of Service
User Offline
Joined: 9th Sep 2003
Location: 3.14
Posted: 2nd Dec 2005 18:57 Edited at: 2nd Dec 2005 19:01
Quote: "So basically your copying me....LMAO"

I didn't know yours was dynamically created
I also haven't seen PS around for a while. Where'd it go?

Login to post a reply

Server time is: 2024-11-23 11:27:16
Your offset time is: 2024-11-23 11:27:16