1 (edited by robjoy 2012-07-30 12: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

Thumbs up +1

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

Thumbs up

3 (edited by brad 2012-07-04 07: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.

Thumbs up

[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!

Thumbs up

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.

Thumbs up

Hi Brad,

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

Rob

Thumbs up

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.

Thumbs up

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.

Thumbs up

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

Thumbs up

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.

Thumbs up

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)

Thumbs up

hi,
thanks rob.

Thumbs up

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

Thumbs up

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.

Thumbs up

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

Thumbs up

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

Thumbs up

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

Thumbs up

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.

Thumbs up

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.

Thumbs up

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.

Thumbs up

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

Thumbs up

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.

Thumbs up

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

Thumbs up

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.

Thumbs up

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

Thumbs up