Adam's Lair Forum

game development and casual madness
It is currently 2017/03/24, 10:08

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 158 posts ]  Go to page Previous  1 ... 12, 13, 14, 15, 16  Next
Author Message
PostPosted: 2016/08/28, 17:41 
Veteran Member
Veteran Member
User avatar

Joined: 2015/10/04, 15:48
Posts: 153
Location: Germany
Role: Hobbyist
Dude, you are crazy!

ImageThats so awesome!Image

_________________
Twitter | GitHub | Join Duality on Discord | itch.io


Top
 Profile  
 
PostPosted: 2016/08/28, 23:26 
Forum Adept
Forum Adept
User avatar

Joined: 2015/03/15, 02:49
Posts: 351
Location: Out there
Role: Hobbyist
This is amazing! :omg:

Now, may I post a request? In the tile palette can we see each tile index either in a tooltip/helper text oras an overlay over each tile?
Is this a reasonable request?

_________________
Hello there! Nice to meet you!
I have github. Apologies in advance for bad coding practices.


Top
 Profile  
 
PostPosted: 2016/08/29, 11:22 
Veteran Member
Veteran Member
User avatar

Joined: 2016/01/10, 10:56
Posts: 140
Location: Budapest
Role: Hobbyist
Looks awesome! Will definitely test this when I have a little time!


Top
 Profile  
 
PostPosted: 2016/08/29, 17:54 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1932
Location: Germany
Role: Professional
Thanks guys ^^ Still having some plans for it :)

eyeliner wrote:
Now, may I post a request? In the tile palette can we see each tile index either in a tooltip/helper text oras an overlay over each tile?
Is this a reasonable request?


Yes! Definitely reasonable.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/09/17, 12:21 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1932
Location: Germany
Role: Professional
Recently released a lot of bugfix package updates, most of them related to Tilemaps. There's also a blue text note that reminds everyon to hit the Apply button after changing things in the Tileset editor ;)

There is also one non-Tilemap change in the OpenGL backend, because I ran into some problems with my laptop after re-installing it. I have one of those dual-GPU setups, where there is one integrated graphics solution (Intel HD 4600) and one game-ready mobile GPU (NVidia Geforce GTX 760M) which switches on when needed. Before the reinstall everything worked just fine, but after the reinstall both of them had some problems with Duality. Now after some research it seems like they're all driver problems, but frustrating nevertheless.

So, let's do the Intel integrated graphics first: Before the update, there was only very crude antialiasing - so far so good. Now, after the update, there suddenly was 8x MSAA that worked about 80% of the time but glitched out heavily in the editor, where there is (which I assume to be related) no constant frame rate and multiple embedded viewports. These artifacts showed mostly in heavy flickering of the Scene Editor grid lines to the point that it was completely unusable. In the end, this was fixed by disabling MSAA in the driver settings altogether.

Next, I tried the NVidia GPU: Rendering fast and nice as usual, but suddenly there is severe diagonal tearing. Imagine you're slicing the window area from top left to bottom right: While the top right half renders perfectly, the bottom left half stutters back and forth between several frames, making the overall appearance unusable as well. I was able to fix this by opening driver settings and setting "Threaded Optimization" from Auto to Disabled. Interestingly, my desktop machine has it set to Auto and has no problems with Duality, but since they have different driver versions and different NVidia GPUs that kind of makes sense.

The overall Google search revealed that these kinds of problems appear to be more common with OpenGL than DirectX, as usual. I have a lot of hope for Vulkan though, but it's a bit too early to seriously consider writing a Vulkan backend.

Anyway! In order to get the Intel fix to work, I've added a new check to the OpenGL backend that verifies the offered and requested MSAA sample count is actually available before switching on Alpha-to-Coverage masking. It should be free of side effects, but just in case someone experiences issues with DrawTechnique.Mask after the update, ping me.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/11/12, 23:03 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1932
Location: Germany
Role: Professional
Working on clearing up GitHub project structure. This will not affect regular users, but everyone who builds Duality from source. You can preview the current WiP state in the project-structure-wip branch.

Long-term, I hope that the tidier look and feel of the new structure will make it easier for new users to find things and more appealing to potential contributors. If you have thoughts on the current design, feel free to post them here or directly in the GitHub issue on this. Thanks! ^^

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/11/13, 14:17 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1932
Location: Germany
Role: Professional
Done! The new project structure is live. Please report any issues that might come up, especially:

  • Broken wiki links
  • Package installation or updating issues
  • Build issues with a fresh Duality repo checkout

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/11/20, 14:49 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1932
Location: Germany
Role: Professional
The two plugins DynamicLighting and Steering are no longer plugins, but have been converted to sample projects. Instead of getting a compiled binary with limited customization options, their packages now contain their full source code for you to review and modify.

Aside from that, I have removed all post-build steps from projects in the Duality source code repository, and replaced them with a shared output directory in the Build/Output folder. This should make it a lot more straightforward to build the Duality core on Linux and Mac, using MonoDevelop or just plain xbuild.

I'd also like to encourage everyone to take a look at the growing list of planned v3.0 changes to Duality. Most of them will contribute to making framework and public API cleaner and more streamlined, some will increase performance and a big part of the changes has to do with the Duality render pipeline. If you have thoughts on one of the issues, feel free to comment on them and let me know what you think! Slowly getting excited about the upcoming v3.0 branch :)

But first, more documentation. If there are topics you'd like to see documented with a wiki article, write a posting in the docs request thread!

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/12/04, 19:20 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1932
Location: Germany
Role: Professional
The development of the v3.0 milestone has started this weekend and so far, I'm 34 commits and three closed issues in. This won't be a pace that I'll be able to keep up, but it's a start! Also, really enjoy having a bigger goal towards improvement of Duality as a whole again, which isn't just "more stuff" in some regard.

So far, it's been mostly removing obsolete API and functionality, cleaning up the legacy bits of Font resource (and simplifying them internally in the process), and some renaming. The biggest improvement so far happend to the logging system.

The big old Log class has been split up into Log, the actual log instance, LogFormat, a static class with all the formatting helpers, and Logs, a static class that manages global log instances.

Code:
// The old way
Log.Game.Write("Hey! Here, have a beer: {0}", Log.Type(typeof(Beer)));
// The new way
Logs.Game.Write("Hey! Here, have a beer: {0}", LogFormat.Type(typeof(Beer)));

All logs have now been made thread-safe, so you can safely write from whichever amount of threads you like and be sure that your messages will arrive safely at their destination.

It is now also possible to define your own custom global logs, which can be especially useful in bigger or infrastructure plugin projects. To define one, implement a class deriving from CustomLogInfo like this:

Code:
// Optional: Tag your log info with an icon to use in the editor
[EditorHintImage("YourMainNamespace.EmbeddedResources.LogIcon.png")]
public class TestLog : CustomLogInfo
{
   // Provide an empty constructor that sets the logs name and ID
   public TestLog() : base("Test Log", "Test") { }

   // If you want to tag your log instance with additional info, define it here.
}

This is done once anywhere in your project, or any of the dependencies of your project. Afterwards, you can use your custom global log like this:

Code:
// Your custom log
Logs.Get<TestLog>().Write("Test");
// For reference: One of the default logs
Logs.Game.Write("Test");

By using a class definition for identifying your custom log, we can solve multiple problems at once: The log info class can provide configuration parameters for the log, we get all the advantages of type safety for our log identifiers and don't have to deal with strings that will fail silently when the identifier changes. If you're trying to access a custom log that doesn't exist, your code will simply not compile. No chance for errors to creep in!

Additionally, the static generic getter uses an internal trick to achieve static binding performance, rather than doing a dictionary TryGetValue. There simply is no lookup - the compiler knows exactly where to look for your log instance based on the type.

To complete the custom log support, the editor log view has been extended to recognize custom logs and provide source filter buttons for them, just the same as it does for the three predefined logs:

Image

Finally, the API for Logs and VisualLogs has been adjusted to mimic each other, so the learning curve should be a little easier on the two.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/12/27, 21:03 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 1932
Location: Germany
Role: Professional
Among other things, I moved the whole smooth animation stuff out of Duality and into a sample project. Simplifies a lot in the core and, after v3.0 will be released, you get to install a complete sample with content and everything. Here's how it looks compared to regular sprite animation:

Gfycat Video - Click to Play. [Source]


Super simple, but especially neat for slowmo effects.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 158 posts ]  Go to page Previous  1 ... 12, 13, 14, 15, 16  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group