Adam_









Level 1 Re: Duality [C#] [OpenGL] [Engine] [Editor] « Reply #63 on: May 27, 2016, 02:06:18 PM »



It's been a while. I brought an update.



Duality And The Lurking Cross-Platform Question



First of all, let's bring up one of the oldest questions in Duality development: Will it run everywhere? No. But apparently it







To be fair though, having a few users report that it works and runs a few of the sample projects isn't anywhere close to actual platform support. It will take a few projects deploying to those platforms to get the rough edges smoothed out and there will certainly still be lots of issues, but I think that this is an excellent starting point. Follow any of the two above links if you want to participate!



Asset Management Improvements



Secondly, the Asset Management system has been improved. You can read the details (and a lot of history) on this in my



Ongoing Work On The Tilemaps Plugin



The Tilemap editing functionality that I previously posted is now finished and I've since tackled Tileset editing, so users can tell the system about collision layers and depth offsets. Some of that progress in video and image form:



Tilemap Editing:



(Click Me, I'm a gif)

Just a fast-forward of me editing a test map to see how well the tilemap editing works out. Except for the fact that that there is no auto-tiling yet, I think it already works quite nicely.



Multi-Column Tile Palette View:



The interesting part on this one is that the tile palette does have an automatic "line break" to layout non-square tilesets on the available area, but it tries to preserve the original tile neighborhood relations as closely as possible, so rectangular selection still makes sense for connected tiles.



Tileset Editing:



(Click Me, I'm a gif)

This is where a Tileset get annotated with data about depth offsets and orientation, as well as collision shapes. Collision data is not yet applied to actual ingame logic, but that's one of the next points on my ToDo list.



Sample Map, Character and Camera Controller:



(Click Me, I'm a gif)

The players walks around rather erratically when using keyboard controls, which I'll have to smooth out a bit at some point. I'm quite happy with the camera though, as it smoothly follows the player but stops right before reaching the map edge.



Anyway. Let me know if you're interested in alpha-testing the tilemapping plugins!

Hey, how have you all been? Good? Good.It's been a while. I brought an update.First of all, let's bring up one of the oldest questions in Duality development: Will it run everywhere? No. But apparently it runs on Linux and MacOS using the awesome Mono implementation of the .Net Framework.To be fair though, having a few users report that it works and runs a few of the sample projects isn't anywhere close to actual platform support. It will take a few projects deploying to those platforms to get the rough edges smoothed out and there will certainly still be lots of issues, but I think that this is an excellent starting point. Follow any of the two above links if you want to participate!Secondly, the Asset Management system has been improved. You can read the details (and a lot of history) on this in my recent blog posting , but it essentially boils down to a big internal refactoring operation and the fact that your custom asset importers can now easily request and access import parameters, which will then be serialized and exposed in the editor. Importing an asset now took one more step towards being a conveniently repeatable and configurable process, and some parts of the editor already took advantage of it.The Tilemap editing functionality that I previously posted is now finished and I've since tackled Tileset editing, so users can tell the system about collision layers and depth offsets. Some of that progress in video and image form:Just a fast-forward of me editing a test map to see how well the tilemap editing works out. Except for the fact that that there is no auto-tiling yet, I think it already works quite nicely.The interesting part on this one is that the tile palette does have an automatic "line break" to layout non-square tilesets on the available area, but it tries to preserve the original tile neighborhood relations as closely as possible, so rectangular selection still makes sense for connected tiles.This is where a Tileset get annotated with data about depth offsets and orientation, as well as collision shapes. Collision data is not yet applied to actual ingame logic, but that's one of the next points on my ToDo list.The players walks around rather erratically when using keyboard controls, which I'll have to smooth out a bit at some point. I'm quite happy with the camera though, as it smoothly follows the player but stops right before reaching the map edge.Anyway. Let me know if you're interested in alpha-testing the tilemapping plugins! Logged Blog | Duality | GitHub | Twitter (@Adams_Lair)

Adam_









Level 1 Re: Duality [C#] [OpenGL] [Engine] [Editor] « Reply #64 on: June 19, 2016, 05:04:29 AM »



There is now a TilemapCollider Component that will transform any amount of input Tilemap-Collisionlayer pairs and mesh them into a set of shapes for an attached RigidBody. This will allow you to create a single RigidBody for world collision and hook it up to the Tilemaps you're using. It also keeps track of the exact shapes it created, so you can also add your own.





(Click Me, I'm a gif)



And here's some editor footage of me walking around in the sample map with the test actor:





(Click Me, I'm a gif)



I've added a raycast in movement direction, so the actor will slow down on its own a bit when approaching a wall. I thought it was a bit immersion-breaking when you can just run head-first into a wall at full force and your character will just do it, so I'm testing this approach to make movement feel more natural.



By the way, if there are any proficient artists reading this who would be willing to join me for a (very) small project, let me know. It's probably going to be something short story / RPG-like / experimental to get a feel for all the new tilemap stuff. Art style doesn't actually have to be pixels. More progress! This time mostly on the tilemaps plugin I'm working on.There is now a TilemapCollider Component that will transform any amount of input Tilemap-Collisionlayer pairs and mesh them into a set of shapes for an attached RigidBody. This will allow you to create a single RigidBody for world collision and hook it up to the Tilemaps you're using. It also keeps track of the exact shapes it created, so you can also add your own.And here's some editor footage of me walking around in the sample map with the test actor:I've added a raycast in movement direction, so the actor will slow down on its own a bit when approaching a wall. I thought it was a bit immersion-breaking when you can just run head-first into a wall at full force and your character will just do it, so I'm testing this approach to make movement feel more natural.By the way, if there are any proficient artists reading this who would be willing to join me for a (very) small project, let me know. It's probably going to be something short story / RPG-like / experimental to get a feel for all the new tilemap stuff. Art style doesn't actually have to be pixels. Logged Blog | Duality | GitHub | Twitter (@Adams_Lair)

Adam_









Level 1 Re: Duality [C#] [OpenGL] [Engine] [Editor] « Reply #65 on: June 26, 2016, 12:17:45 PM »



There was this local game jam recently, and I decided to revive and recycle an old spellcasting system prototype I did back in 2014. What is this prototype about? It's really mostly a crazy game idea, but I like it for its creative potential. Let's say you're playing a retro-ish rpg game where your main character can become a wizard at some point - but rather than getting a fixed list of spells you're slowly populating, you actually have to learn a runic language to express what a spell is supposed to do, and then write your spells in it.



It took a bit to work out the details, and there's quite some unresolved complexity in there, but I kind of just wanted to throw this out there to see what people think. So, here you go!





Ah, and the game jam's theme was "darkness", so I added some pseudo-lighting to the prototype to make it fit a little better.



Download:



After you've downloaded this, run DualityLauncher.exe, open the spell editor with P, hit F1 to load a simple fireball spell, close the spell editor with P and then run around using mouse and WASD while throwing fireballs with your left mouse button. There are more spells on various other F keys and you can write your own as well - though I'm pretty sure I've already pre-written every useful spell that's possible with the limited set of runes so far.



To be continued! Okay, time for a fun prototype.There was this local game jam recently, and I decided to revive and recycle an old spellcasting system prototype I did back in 2014. What is this prototype about? It's really mostly a crazy game idea, but I like it for its creative potential. Let's say you're playing a retro-ish rpg game where your main character can become a wizard at some point - but rather than getting a fixed list of spells you're slowly populating, you actually have to learn a runic language to express what a spell is supposed to do, and then write your spells in it.It took a bit to work out the details, and there's quite some unresolved complexity in there, but I kind of just wanted to throw this out there to see what people think. So, here you go!Ah, and the game jam's theme was "darkness", so I added some pseudo-lighting to the prototype to make it fit a little better.Download: Link After you've downloaded this, run DualityLauncher.exe, open the spell editor with P, hit F1 to load a simple fireball spell, close the spell editor with P and then run around using mouse and WASD while throwing fireballs with your left mouse button. There are more spells on various other F keys and you can write your own as well - though I'm pretty sure I've already pre-written every useful spell that's possible with the limited set of runes so far.To be continued! Logged Blog | Duality | GitHub | Twitter (@Adams_Lair)

Adam_









Level 1 Re: Duality [C#] [OpenGL] [Engine] [Editor] « Reply #67 on: July 24, 2016, 02:39:41 AM » Release: The Tilemaps Plugin



Allright, the tilemaps plugin has been released! You can now grab it in the package manager to get a quick look. For those of you who are still new, here is an illustrated guide on how to start the tilemaps sample you saw in all the animated gifs on your machine:



Step 1: Have a Windows Machine



That's pretty straight-forward. Just get rid of that Linux or MacOSX installation, take a few hours to download and install Windows and a few days to get familiar with your new work environment. See? Simple!







Step 2: Download Duality



Next, quickly







Step 3: Install Duality



Double-click on DualityEditor.exe to fire it up. When you do that for the first time, it will install itself by downloading the latest releases of some required packages. Don't worry about the term installation though: It won't do anything to your system, or even leave the realm of its own folder. You can copy it around, clone or rename it and it won't care. Every Duality installation is completely isolated and 100% portable.







After accepting that you're now in the land of MIT licensed Open Source in a neat UI dialog, you will see something like this:







That's Duality getting comfortable in that folder. Lean back and wait until it's done and restarted itself. A fancy splash screen will wake you up when it's ready.



Step 4: Install the Tilemaps Sample



Shortly after being greeted by the now freshly updated, reborn Duality editor, it will start to look around in its settings and find that it has never run before in that folder and thus, you must be a new user. Here's what this will look like to you:







One of the intro options is to browse the sample packages. That's exactly what we want, right? Click on it to bring up the Package Manager. That's the same guy who just made sure Duality is all updated and well, and he can help us with fetching that Tilemaps sample package all the same.







After it retrieved the list of latest packages from the online repository, select Tilemaps Sample and hit install. After the progress bar reached its end, click Apply to restart and integrate the new package.



Step 5: Run the Game



With the new package, you will now find an area called Project View to be filled with this:







Double-click on the item that says RpgLikeSample to open the scene resource in the editor. You will see a map and various objects in the main area of the editor. Let's see the sample in action!







In the upper left, click on the dropdown that says Scene Editor and change it to Game View, which will provide us with a non-editable 1:1 representation of what the game would look like when rendered in the size of that editor main area. Now hit the Play button in the top toolbar.







You can now walk around with WASD.



Step 6: Be Amazed and Curious



Faced with this sensory overload of new information and amazing content, you are now free to head over to the Allright, the tilemaps plugin has been released! You can now grab it in the package manager to get a quick look. For those of you who are still new, here is an illustrated guide on how to start the tilemaps sample you saw in all the animated gifs on your machine:That's pretty straight-forward. Just get rid of that Linux or MacOSX installation, take a few hours to download and install Windows and a few days to get familiar with your new work environment. See? Simple!Next, quickly follow me to the Duality project page and hit the Download button. You will get a .zip file that you can conveniently place on your new shiny Windows Desktop. Extract the .zip file and open the extracted "Duality" folder. You can rename it if you like.Double-click onto fire it up. When you do that for the first time, it will install itself by downloading the latest releases of some required packages. Don't worry about the term installation though: It won't do anything to your system, or even leave the realm of its own folder. You can copy it around, clone or rename it and it won't care. Every Duality installation is completely isolated and 100% portable.After accepting that you're now in the land of MIT licensed Open Source in a neat UI dialog, you will see something like this:That's Duality getting comfortable in that folder. Lean back and wait until it's done and restarted itself. A fancy splash screen will wake you up when it's ready.Shortly after being greeted by the now freshly updated, reborn Duality editor, it will start to look around in its settings and find that it has never run before in that folder and thus, yoube a new user. Here's what this will look like to you:One of the intro options is to browse the sample packages. That's exactly what we want, right? Click on it to bring up the Package Manager. That's the same guy who just made sure Duality is all updated and well, and he can help us with fetching that Tilemaps sample package all the same.After it retrieved the list of latest packages from the online repository, selectand hit install. After the progress bar reached its end, clickto restart and integrate the new package.With the new package, you will now find an area calledto be filled with this:Double-click on the item that saysto open the scene resource in the editor. You will see a map and various objects in the main area of the editor. Let's see the sample in action!In the upper left, click on the dropdown that saysand change it to, which will provide us with a non-editable 1:1 representation of what the game would look like when rendered in the size of that editor main area. Now hit thebutton in the top toolbar.You can now walk around with WASD.Faced with this sensory overload of new information and amazing content, you are now free to head over to the Getting Started tutorial to get to know Duality, or the Using Tilemaps tutorial if you want to directly pick up where you left off testing while skipping the basics. Logged Blog | Duality | GitHub | Twitter (@Adams_Lair)

Adam_









Level 1 Re: Duality « Reply #69 on: August 07, 2016, 10:00:20 AM »



Anyway, most of the algorithm and editor stuff is still to do, but I've worked out some of the core infrastructure and extended the Tileset editor so you're able to specify AutoTile information:





(Click Me, I'm a gif)



Unlike the RpgMaker approach, where most of the magic happens behind the scenes, you get to specify explicitly what your tileset has to offer, i.e. each tile's role in a certain AutoTile. The core will later use this information to generate all the missing pieces automatically - regardless of the AutoTile layout or type you're using. Overall, it's a little bit less "plug and play", but it offers a lot more freedom with regard to different tileset styles. Unlike planned, I'm working a bit more on the Tilemaps plugin, more specifically: AutoTile support. If you've worked with RpgMaker, you already know what's up. If you've worked with Tiled, it's a bit similar to its Terrains feature, but it feels less "bulky" because AutoTiles won't build matching tiles around your tool, but modify the drawn tile itself to match its surroundings.Anyway, most of the algorithm and editor stuff is still to do, but I've worked out some of the core infrastructure and extended the Tileset editor so you're able to specify AutoTile information:Unlike the RpgMaker approach, where most of the magic happens behind the scenes, you get to specify explicitly what your tileset has to offer, i.e. each tile's role in a certain AutoTile. The core will later use this information to generate all the missing pieces automatically - regardless of the AutoTile layout or type you're using. Overall, it's a little bit less "plug and play", but it offers a lot more freedom with regard to different tileset styles. Logged Blog | Duality | GitHub | Twitter (@Adams_Lair)

Adam_









Level 1 Re: Duality « Reply #70 on: August 13, 2016, 03:12:59 AM »



Themes:

Farm Life

Never Stop Moving

Hack'n'Slash

The jam will run for a month, so there's plenty of time for one, or maybe even two small prototypes.



Also, feel free to use this thread as a jam-related worklog, or take it to twitter with the The themes have been determined and the jam has started!Themes:The jam will run for a month, so there's plenty of time for one, or maybe even two small prototypes. Click here if you want to joinAlso, feel free to use this thread as a jam-related worklog, or take it to twitter with the #Duality2D hashtag. Logged Blog | Duality | GitHub | Twitter (@Adams_Lair)