2012-07-04 01:01:47 (edited by robjoy 2012-07-30 13:21:29)

Hi folks,

Although this was not going as our roadmap promised, with a little delay now we're here with Dragonflame alpha 1, our open gaming engine!

As we said in the other dragonflame topic, this is a very basic release for now, only to gather as much feedback as possible and to start building a community around it which will be quite useful later on, as we add new, exciting features.

Alpha, as we state on the project's website is bleeding code. Features might not fully work as expected, unexpected crashes might happen, but of course no harm will be done to your computer... not because of DFE anyways.

Featurewise, it does not have even one quarter of what itwill contain later on, but you can create quite nice games already, such as Ghorthalon's Scape Skate, etc.

You can download it from DFE's site, which is http://dfe.tdrealms.com

The setup also includes full documentation of the existing features, and 2 example games. On the site we have a tiny example games section, which will have one more example game for you to try in the near future.

Happy gaming, and as always, feedback, in this case even more than usual, is very much appreciated.
Let the dragon roar!

Rob

----------
Robjoy, AKA Erion
Visit my site for all the things I do and to contact me.
You can also stop by for a slice of Pi

2012-07-04 01:07:26

Hi,

I really enjoyed working together on this one. It was my very first team project, and as far as i can tell it went quite well.
My appologies to Rob, since he had to go alone on the later parts ... I was busy working on Road To Rage. But once that's out, I promise to do more!

I'm happy to call parts of the keyboard, audio and UI mine. But hey. No one needs to worry about that. I'm just so excited! big_smile

--
Talon
Wanna play my Games? Listen to my Music? Follow me on Twitter, and say hi~
Code is poetry.

2012-07-04 07:42:06 (edited by brad 2012-07-04 08:32:51)

Hi,
/edit/
there doesn't seem any way you can edit your script.
i got an error but i couldn't edit it.
am i missing something or is it a bug?
it turns out you have to edit it buy going to open with then chooseing notepad.
/edit end/
/edit 2/
hmm this script brings up an error.
here it is.
start of code.
ui.showwindow("test of brads thing")
tts.init()
tts.say("is this a test? hmm wel if it is then its rubbish!")
ui.closewindow()
end of code.
/edit end/
trying this out now.
wow i just had a look at the documentation, and i think it might be easyer than bgt. i'm not sure though since i haven't made a full game in bgt yet.
wow guys you all rule! and this is free to!
I'm going to try a simple tts speaking thing and see how far i get.
thanks again guys for making this great program and working hours and hours on the documentation.

I'm gone for real :)

2012-07-04 08:44:14

Wow. I've only read the small example of the code Brad posted, and it really seems to be easy to handle! I really enjoy reading Philip Bennefals documentation on BGT, but for some annoying and frustrating reason, I can't get used to how BGT works and how to write the code. But this, wow! Seems really easy to learn!

Best regards SLJ.
Feel free to contact me privately if you have something in mind. If you do so, then please send me a mail instead of using the private message on the forum, since I don't check those very often.
Facebook: https://facebook.com/sorenjensen1988
Twitter: https://twitter.com/soerenjensen

2012-07-04 09:22:00

Hi slj,
yeah it is easy but if you try to run that script, it will work fine but it will bring up an error diolog. you no the microsoft error diolog you get when a program isn't working correctly?it says dragon flame has incounted an error and neads to close. send error button or don't send. its something  like that anyway.

I'm gone for real :)

2012-07-04 09:41:26

Hi Brad,

Oops. We were trying to close not the exact window handle we opened. Fixed, please redownload.

Rob

----------
Robjoy, AKA Erion
Visit my site for all the things I do and to contact me.
You can also stop by for a slice of Pi

2012-07-04 09:57:11

hi.
thanks i will download again.
great job on making this!
hmm could one of you guys make a mini side scroller thing. or a basic move left hit wall move rite hit wall thing?
or in sted of hitting walls opening doors?
and if that's too much or is a waste of your time then don't worry but i just thought that people might like to make a side scroller thing as there first game?
thanks again.

I'm gone for real :)

2012-07-04 10:07:00

HI,
i don't understand if i am makinga programing error. coz when ever i try to run my program wich is just a sapi  line of text it doesn't run. oh it opens but closes strate away afterwoods.
here is the little tiny program of 1 kb.
https://dl.dropbox.com/u/2293818/speach%20test.dfs
hope someone can help me.
oo another thing, how about a menu tutorial  thing?
thanks.

I'm gone for real :)

2012-07-04 10:27:32

Hi Brad,
The reason this happens is because you do not wait for the TTS to start. Some voices, especially the Ivona ones, take a bit of time to initialize. Make it sleep for about 5 secs and it will work fine.

A simple side scroller can be done quite easily.
Create a variable that holds your position, e.g.
local position=0

Next, check for key events, for the left and right arrow in particular. Once you detect that they've been pressed or released, it's up to you, check the variables position with an if statement. Choose a positoin, say, 5. Once the position is greater or equal to 5, play a wall hit sound. The same goes for 0. Then you can walk left and right, and you have 6 steps.

DFE will support menus in the near future, both sapi and sound-based ones.

Hth,
Rob

----------
Robjoy, AKA Erion
Visit my site for all the things I do and to contact me.
You can also stop by for a slice of Pi

2012-07-04 10:43:12

Hi rob,
thanks but i don't understand if statments yet.
but thanks for your help.
i have another problem.
here is some code and i wanted to see if it would work.
it seems to work fine till it has to play the sound.
here it is.
start of code
audio.init()
audio.load("coin.wav")
ui.msgbox("oh look", "what is  that?")
ui.msgbox("hert it i must", "super punch of doom i must give!")
audio.play("coin.wav")
end of code
hmm it says i've spelt wav wrong but i don't see the error.
its not spelt  wrong as far as i can see.
if i am getting anoying then sorry.
oh also i didn't no that you neaded to seround the ui.load("...") left and rite parrons with quotes for the file names. hmm maybe i'm stupid but i'm kind of new to this programing thing.
thanks for your help.

I'm gone for real :)

2012-07-04 10:54:25

Hi,
As the manual says, audio.load returns a sound handle. That means you have to catch audio.load's return value and use it in the subsequent function calls. You also need to wait until the sound finishes playing, because this way your script closes before it has a chance to play the sound.
Your code would look like this:

audio.init()
local coin_sound=audio.load("coin.wav")
ui.msgbox("oh look", "what is  that?")
ui.msgbox("hert it i must", "super punch of doom i must give!")
audio.play(coin_sound)
dfe.sleep(1000)
----------
Robjoy, AKA Erion
Visit my site for all the things I do and to contact me.
You can also stop by for a slice of Pi

2012-07-04 11:02:52

hi,
thanks rob.

I'm gone for real :)

2012-07-04 12:06:05

Hi,

I'll write a simpel side scroller once I get back from His dudeness's place. smile

And yepp, I'll post it in the example games section. and yepp, you may use code from it! smile

Glad ya'll like the engine so far. And always take into ocnsideration that it's in Alpha, so it's not even a beta! smile

--
Talon
Wanna play my Games? Listen to my Music? Follow me on Twitter, and say hi~
Code is poetry.

2012-07-04 14:11:02

I have been truly pumped about this release for a while now. Finally an alternative to BGT that can most likely be just as fun to learn. You guys are great and i am going to try and write some code with this now.

2012-07-04 14:22:54

Hi,

I've just fixed a little problem where, if you chose to open a script through the engine's open dialog, it wouldn't set the current working directory but instead use the directory of the engine. This lead to some problems when trying to run a script. This has been fixed. smile

Just re-download the engine. smile

I'm glad you all like it! I hope to see a lot of games produced with the engine! smile

--
Talon
Wanna play my Games? Listen to my Music? Follow me on Twitter, and say hi~
Code is poetry.

2012-07-04 14:52:06

Hi,
definitely giving this a go.
i tried looking at bgt documentation before, but for some reason, nvda wouldn't read all the punctuation so i had to go over letter by letter, which wasn't exactly ideal. tongue

2012-07-04 15:04:33

Hi,

Well, good luck! I can say that our documentation won't magically fix exactly that problem, but we don't have braces and semicolons, so ... big_smile

--
Talon
Wanna play my Games? Listen to my Music? Follow me on Twitter, and say hi~
Code is poetry.

2012-07-04 15:25:38

At gorthalon: for that reason, no braces or semicollins, i'm really drawn to this language. I think the only thing that looks a bit confusing at this moment is using sapi, but i'm sure i'll figure it out.

2012-07-04 16:36:29

well i really want a hobby for my time off, so i'm hoping this will be it. big_smile
also i've always wanted to have a crack at programming so i'm looking forward to playing around with this.

2012-07-04 19:08:06

I seem to be having issues with the tts object. Loading tts brings up an error whatever I do. I have tried this peace of code:

tts.init()
tts.say(@This is a test@)
dfe.sleep(2000)

it brings up a standard error dialog.

Deep in the human unconscious is a pervasive need for a logical universe that makes sense. But the real universe is always one step beyond logic.

2012-07-04 19:17:46

Hello,
You have to use quotes for tts.say, e.g.:
tts.say("Hello, world!")

In case that was a typo, what is your default voice? It might cause problems, so we'd need to investigate this a bit more.

Rob

----------
Robjoy, AKA Erion
Visit my site for all the things I do and to contact me.
You can also stop by for a slice of Pi

2012-07-04 19:58:03

Could one of you perhaps offer some suggestions on map making, say for example a map for a sidescroller? I always seemed to have trouble grasping the concepts of arrays in BGT and VB6, any advice on understanding this concept better? Perhaps this could be easy in dragonflame? Thanks for any advice.

2012-07-04 22:30:57

Hi,
The concept of arrays in general is this:
Suppose you would like to store many many values. Since you know already that you could do that in variables, placeholders in memory, you could store lots of info in separate variables. Var1, var2, var3, etc.
However this gets tedious quicker than you realize, not to mention that there are times when you will have to check or compare these stored values in your program. You can either write repetitive code, say, as many branching statements as the number of variables you defined, or you could use arrays. This would allow you to do a number of things, for example compare, sort, modify  a value, adding a new one, removing values, write them out into a file, reading them back in, etc, etc.
In side scrollers, arrays often represent the map.
There are many ways to do this, but the simplest is to have a value for each position of the player. And since the player can move one footstep at a time, you can check this in the array.

For example: The player is at position 5. You check, whats the 5th element of the array. Did you store there a number, say, 0, meaning that that square is empty? Or did you store a 1, which is a monster and so if your game was mario, he'd die?

As you see it is pretty easy and practical to use arrays. The book we recommend in the Hatchling Manual has a very nice chapter about this, with all the extra functions a Lua array provides.

Hth,
Rob

----------
Robjoy, AKA Erion
Visit my site for all the things I do and to contact me.
You can also stop by for a slice of Pi

2012-07-04 22:51:44

Although I would strongly, strongly disrecommend storing AI position like that. Always! make a seperate Array for this.

In my game, Road to Rage, I use a 2 dimentional array to store the basic elements of the map. This is just what surface the ground will have, or if it's a wall etc etc. The rest has it's own
information variables.

--
Talon
Wanna play my Games? Listen to my Music? Follow me on Twitter, and say hi~
Code is poetry.

2012-07-04 22:58:44

Thanks guys. Well, i guess i have some reading and testing to do.