Porting Dagon to Unity


#41

My plans for Dagonity is to deliver a complete environment tailored for Dagon projects, no just a simple drop down menu. This means custom inspectors and eventually scene views. You won’t need to fiddle with assets if you don’t wish so — it would be perfectly fine to stick to our visual editors and forget about the rest (of course, you still have to copy your resource files to a folder structure just as you did with Dagon++).

There’s an important distinction between assets and resources in Unity: in very simple terms, assets are immediately loaded to a scene, whereas resources are loaded programatically. For Dagonity, we’ll be sticking to resources only.

As for the workflow, that will be up to you, but here’s something to consider:

You can create your entire game via script-only, just like in Dagon++. Like Imari said, those scripts can be loaded in our custom inspector, in which case you will be able to visualize all the data. But! Here’s the catch: any changes you make can’t be saved in script format. It’s like this: you can go from script to editor, but there’s no way back from the editor.

That said, I’m looking into a technique called serialization, which means saving all the game world information into an intermediary format. It would be possible to, for example, create all the game via editor only and then load the binary data with a script. This would make sense for someone who wants to use the visual editor in Unity but aims to run the game in the standalone version of Dagon.

As you can see, I’m trying to offer as many options as possible :slight_smile:


#42

Agustin, why I’m reading this as “sorry guys, but we need some more time, because we’re porting Asylum to Unity” ? :smiley:


#43

Thanks for the clarification, Agustin. I didn’t catch the difference between resources and assets, but I’ll try to read about it. Thanks for trying to make it easier for us.


#44

Correct, but we’re quickly getting there :smiley:

In fact, the new scripting language works beautifully, Quake-style console included, and I’m in the process of quickly putting everything back together (node linking, feedbacks, etc). Definitely sharing a preview code this weekend!


#45

you could always say… “yes its ready! but you’ll have to come and get it!”


#46

Real quick update: I did not upload a build yet because there’s been exciting developments. First, a new programmer (Francisco) has joined the team and has been reworking the entire engine. Dagon is more solid, consistent, and flexible than ever – hands down, the definitive adventure game engine :slight_smile:

Major news since last time I posted:

  • After much deliberation, we’re coming back to Lua. It took a while to get it running but it works, so current scripts will work (hopefully) as-is in Dagonity! Fret not, Python lovers, we’re planning to support your favorite language with an optional add-on.

  • SERIALIZE EVERYTHING! Dagon is now strongly tied to JSON. Every object you create (nodes, rooms, etc) can be saved and loaded from a JSON file. Same with feedback strings and other data. Even savegames will be JSON files. This is big, and you’ll see why as soon as we document the rationale behind this design.

  • Introducing THINGS. Perhaps the single biggest change since the last Dagon scripts is the new Thing object. Basically, the idea is to decouple the data pertaining to interactions from the Spots, which are a mere visual representation now. This is a decision I made after testing the scripting language with Serena and you’ll see how powerful this new object is (think states such as opened, closed, reactions with other things, etc). We are damn proud of it :nod:

  • Everything we’re doing works with Unity Free. All of it.

I promise a build and a public repo soon. Dagonity is about to debut with a huge bang!


#47

Great news Agustin. Can’t wait for it :clapping:


#48

Do you suppose that in the early days of object-oriented programming people would talk about an ‘Object thing’? :stuck_out_tongue:


#49

Thanks for the update, Agustin.


#50

I’m still curious about the video side of things; seems like a major crippling in an otherwise promising new engine.


#51

Why? I don’t recall what I said about the videos but everything is working now. And utterly perfect: no seams or color variations in video patches :slight_smile:


#52

I’m a little confused. Sorry. :wink:

What’s the difference between Dagon and Dagonity? Which one do I use?


#53

Basically, it’s like this: plain Dagon (or Dagon++) is the standalone version of the engine that runs on its own. That is, no additional requirements; it’s just you and Dagon. It’s mostly feature complete but it’s still missing things such as saving/loading.

Dagon for Unity (or Dagonity) is a new version of the engine that closely integrates with Unity. It supports the same features found in Dagon++, but also allows you to extend the engine in many ways with the feature set of Unity. For example, 3D objects of characters (which Dagon++ does not support).

This main branch of the engine is Dagon++, and it’s briefly in hiatus as we’re focusing on Dagonity right now. However, we expect that both branches will be feature complete and ready for production early next year. They’re going to remain free and open source :slight_smile:

In short: if you want to do a game like Scratches or Serena, you can stick to Dagon++. If you need more powerful features and complex things, such as 3D characters like Asylum, you may need to look into Dagonity.


#54

Dagon is a stand alone engine and Dagonity is being build as a module for the Unity engine. Dagon is the engine used to create [I]Serena[/I], but Dagon is temporarily on hold while Senscape works on [I]Asylum[/I]. Asylum has been ported to Dagonity in Unity. A test version of Dagonity has not yet been released.

Agustin has said that games made in Dagon can be ported to Dagonity, once Dagonity is released. So, if you want to get started, you could download Serena or the [I]Asylum[/I] demo that was released earlier. You build a game by swapping out your assets and scripts for the once in the demo. If you don’t want to port from Dagon to Dagonity, and if you can code, then you could potentially finish your game directly in Dagon. For information on using Dagon, check out the earlier posts in this section of the forum, check the wiki, or ask your questions here.

Hope this helps. :slight_smile:

Edit: Like Agustin said… :stuck_out_tongue:


#55

Also what Imari said :stuck_out_tongue:


#56

Thanks for what you both said. :wink:

So, basically, I can download Serena, swap out the art, alter the scripts, and make a game of my own? What about saving/loading and some kind of main menu? Has anyone done this? Or will this only come early next year?

Also, is the version of Serena on IndieDB, the lastest version of the engine?

Thanks. :slight_smile:


#57

You can do menus with a slide and the overlay system which supports buttons. It’s very straightforward. As for saving, I’m afraid that will be available next year :frowning:


#58

Cool. I probably don’t need any saving anyway for what I have planned. :slight_smile:

How do I make sure I have the latest version to work with though? Is the Asylum teaser or Serena enough, or do I need to get it from somewhere else?


#59

Ah yes, sorry. You could start with the Serena version, or keep an eye on the GitHub repo: https://github.com/Senscape/Dagon

The Serena code is rather messy, though. You might want to download the Asylum teaser as well, which is further commented :slight_smile:


#60

Thanks. :smiley:

I’m checking it all out now. Excited to get started and make something. :slight_smile: