Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411500 Posts in 69373 Topics- by 58428 Members - Latest Member: shelton786

April 25, 2024, 12:10:20 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsA Door to the Mists--[DEMO updated!]--traversal, exploration, puzzles and combat
Pages: 1 ... 7 8 [9] 10 11 ... 32
Print
Author Topic: A Door to the Mists--[DEMO updated!]--traversal, exploration, puzzles and combat  (Read 63833 times)
Thaumaturge
Level 10
*****



View Profile WWW
« Reply #160 on: December 08, 2017, 04:23:06 PM »

Hah, don't worry about it--I realise that they're long! Thank you for trying, nevertheless--I appreciate it. ^_^

A summary might be a good idea, indeed; I'll give it some thought, I intend. To some degree the first paragraph after the screenshot tends to somewhat summarise the contents of the rest of the post, but I don't think that this is consistent.

[edit]
I suppose that a summary of the most recent post might be: "Foliage can be rather expensive in terms of performance; I've ended up scaling back somewhat on the trees. Nevertheless, I've made progress those, the undergrowth, and the forest floor, I believe."
Logged

io3 creations
Level 10
*****



View Profile WWW
« Reply #161 on: December 09, 2017, 10:14:22 AM »


The new foliage is looking good.
Logged

Thaumaturge
Level 10
*****



View Profile WWW
« Reply #162 on: December 09, 2017, 10:18:44 AM »

Thank you! I really appreciate that, given the simplifications involved. ^_^
Logged

Thaumaturge
Level 10
*****



View Profile WWW
« Reply #163 on: December 11, 2017, 07:23:35 AM »

Blog post (11th of December, 2017)
Other Tongues


Greetings and salutations!

Before we begin, it's been suggested to me that I add a summary to these somewhat-long posts. To that end, the section below the weekly screenshot (and any accompanying lines) and above the fold will now serve that purpose, I intend.

For this week's screenshot, a look at localisation support in A Door to the Mists. Lacking an actual translation to use in testing, I... made my own:



Summary: In which is revealed localisation support completed; completion (I hope) of the first level's geometry; a trick discovered that aided in vertex-painting said level's view; and a start on moving to Panda3D 1.10.

To elaborate:

As shown above, one of the biggest changes made in the week just past was in the completion (I hope!) of localisation support. The basis of this had been put in place long ago, as I recall: much of the text in A Door to the Mist was already being drawn from special files in a "language" directory. However, I had been putting off approaching full localisation, in particular of the UI. I wasn't sure of how to go about it, and it seemed like a difficult task.

However, an idea came to me in the week just past that showed that it needn't be so. Simply put, each UI-bearing object in the game has (or can be given) access to all or most of its UI elements, as well as any further such objects that it might control. For example, the "framework" class holds the main menu, as well as the current "world" object.

I can simply then have each relevant object localise its own UI, then inform any relevant objects that it controls to do the same. Starting with the "outer-most" object--the aforementioned "framework"--means that I should reach most, if not all, such objects.

And indeed, this proved to be surprisingly easy for the most part! This is thanks at least in part, I feel, to my already having in place that basis that I described earlier: I suspect that implementing localisation from scratch at this late stage might have been rather more difficult.

A few objects did prove trickier than the rest.

For example, I found that there was no easy access to "books": they loaded their strings when they were created, but were then buried amongst the other game-objects of the level, meaning that a later localisation might miss them. I could search the level for any such objects, but that seems clunky, and prone to missing some. What I did in this case was perhaps clumsy, but it worked, I believe: When loading their text, each book now stores the current language. When next opened, they check this stored language against the current language, and if these are different, they localise themselves.

And in the end, I think that I have all such cases dealt with, each with its own solution. I wouldn't be surprised if bugs turn up later down the line, but for now all seems to work as expected!

Otherwise, work continued on the geometry of the first level's outdoors section. And indeed, I think that I may have this finished!

One thing that I'm particularly happy with in this is my handling of the "view"--the distant terrain surrounding the level:

As with the view in the prologue level, this is geometry, painted by vertex-colours and given some texture by a "paint-stroke" image repeated over it. However, vertex colours in Blender aren't layered as one can easily do in a painting program. This complicates the process: if all work is on one layer, any change affects everything at that spot, making mistakes more costly.

In the week just past, I however, I realised that Blender's custom shader-node system could be used to composite multiple layers of vertex colours, allowing me the safety of layer-based painting. A custom Python script is then used to merge these layers into one for exporting. This seems to work, and has already proven useful, I believe!

I've also begun the process of moving over to Panda3D 1.10. It's still a work-in-progress, including seeking help from the Panda3D forums.

And finally, there were other changes not mentioned above, including bug-fixes, writing, and sound-work.

That's all then for this week--stay well, and thank you for reading! ^_^
Logged

io3 creations
Level 10
*****



View Profile WWW
« Reply #164 on: December 12, 2017, 01:11:16 PM »

In terms of summary, maybe you can make it bold or increase size to be make it more obvious. 
Also, if you are listing summary details, those could be listed as bullet points.
Logged

Thaumaturge
Level 10
*****



View Profile WWW
« Reply #165 on: December 13, 2017, 09:35:25 AM »

Bolding or increasing the font-size isn't a bad idea, I think.

As to bullet points, hmm... I'll give it some thought, I intend, but I'll admit that I like the old-fashioned literary style that I'm attempting to emulate here. It feels a little less... bare, I suppose.

Either way, thank you for the suggestions! ^_^
Logged

io3 creations
Level 10
*****



View Profile WWW
« Reply #166 on: December 13, 2017, 10:07:57 AM »

Bolding or increasing the font-size isn't a bad idea, I think.

As to bullet points, hmm... I'll give it some thought, I intend, but I'll admit that I like the old-fashioned literary style that I'm attempting to emulate here. It feels a little less... bare, I suppose.

Either way, thank you for the suggestions! ^_^
To me, a summary is more like a Table of Contents. Wink  It allows you to quickly get an overview and find what you are looking.  In the case of a devlog post, to see if there's a topic of interest.
Logged

Thaumaturge
Level 10
*****



View Profile WWW
« Reply #167 on: December 14, 2017, 09:22:24 AM »

That's fair enough. I suppose that I think of a summary more like an abstract--or like those aforementioned literary descriptions: a short retelling of the contents. Either way, I think that it can serve much the same purpose--the above summary is only a few lines. Granted that bullet-points are likely more efficient for that, but I just feel that this way has a bit more personality, and is a bit more "me".
Logged

io3 creations
Level 10
*****



View Profile WWW
« Reply #168 on: December 14, 2017, 09:53:38 AM »

That's fair enough. I suppose that I think of a summary more like an abstract--or like those aforementioned literary descriptions: a short retelling of the contents. Either way, I think that it can serve much the same purpose--the above summary is only a few lines. Granted that bullet-points are likely more efficient for that, but I just feel that this way has a bit more personality, and is a bit more "me".
Ultimately, it depends on your blog-reading target audience.  Similar to what @Grhyll mentioned, to me even a long sentence looks like a wall-of-text that I'm less likely to read.  But if there are bullet points, then I can easily scan and see if I find something interesting.  It'd be similar to having to listed to a "long" audio recording that you can't skip vs seeing a few images (almost) instantanously.

and is a bit more "me".
There's plenty of room in the rest of your posts. Wink


p.s. That's what I had in mind when I started my devlog but still ended up with wall-of-texts.  Just to get things rolling but I'll go back and edit them when I get the time to continue the devlog.
Logged

Thaumaturge
Level 10
*****



View Profile WWW
« Reply #169 on: December 15, 2017, 09:41:26 AM »

Ultimately, it depends on your blog-reading target audience.

Fair enough, although I'm not sure that I have one beyond "people interested in A Door to the Mists". ^^;

As to topics of interest, I'm not sure that it's really that sort of blog: I seldom write a post detailing a particular technique or technology. It's more a matter of "this is what was done in the week just past". But then, I'm also not entirely sure that I have a good handle on blogging.

Similar to what @Grhyll mentioned, to me even a long sentence looks like a wall-of-text that I'm less likely to read.

That's... really interesting, actually. You and I are quite different, it seems. (For clarity, I don't at all mean that pejoratively.) ^_^

But if there are bullet points, then I can easily scan and see if I find something interesting.  It'd be similar to having to listed to a "long" audio recording that you can't skip vs seeing a few images (almost) instantanously.

... It may be worth mentioning at this point that the game has a fair bit of text in it. Tongue

(It's probably possible to get far--perhaps even complete the game--without reading anything (other than the translation minigame, of course, which naturally involves text). It would make life difficult I daresay, however.)

There's plenty of room in the rest of your posts. Wink

Hah, touché! :D

One thing that I might do is move the summary to sit above the greeting line--that should make it easier to spot, and thus skim, I suspect.

p.s. That's what I had in mind when I started my devlog but still ended up with wall-of-texts.  Just to get things rolling but I'll go back and edit them when I get the time to continue the devlog.

Fair enough--good luck with it, then! ^_^
Logged

Devi Ever
Level 2
**



View Profile WWW
« Reply #170 on: December 15, 2017, 10:16:55 AM »

I really like the feel of adventuring puzzler with moments of combat!  Reminds me a bit of the original DOS Alone in the Dark!
Logged

Thaumaturge
Level 10
*****



View Profile WWW
« Reply #171 on: December 16, 2017, 09:20:02 AM »

Thank you very much! I really appreciate that. ^_^

It hadn't occurred to me to compare A Door to the Mists to Alone in the Dark, although now that you mention it the comparison does make sense.

(Although A Door to the Mists is of course not horror.
 
...I mean, it does involve a fair bit of tomb-raiding and ruin-exploration, and several undead beings (not to mention stranger fare), and is generally fairly desolate... but it's not horror! Honest! XD; )

Anyway, a comparison with such a classic is a flattering one! (Although I can hope that A Door to the Mists is a little less frustrating than I recall that being! ^^; )
Logged

Thaumaturge
Level 10
*****



View Profile WWW
« Reply #172 on: December 18, 2017, 08:31:10 AM »



Blog post (18th of December, 2017)
Sounds Unbalanced


Summary: In which the summary is moved; holiday plans are revealed; the travails of transitioning engine-versions continue; cutscenes gain sounds; sound-panning proves tricky; and I do some painting.

Greetings and salutations!

First of all, in response to feedback on my previous summary, I've decided to move the summary section to the start of the post (before the greeting), and to bold it. This should hopefully make it much easier to spot and to quickly skim.

Second, a quick announcement regarding blog posts for the next few weeks: I intend to take about a week off over Christmas. This means that this new week and the week after will both be somewhat short. I'm not yet sure of when I'll post the next blog-entry, but it will likely be either at the start of my "holiday" (partway through this week), or after it (partway through next week).

For this week's screenshot--well, it's not a screenshot, technically. Instead, it's a scaled-down version of a new wallpaper that I've made for the game:



The week just past was a bit of a slow one, I feel, but several things did get done:

First of all, work continues on the transition from the 1.9 version of Panda3D to 1.10. It's proving tricky in some cases--right now I'm facing mysterious memory-access issues. Once again, I've asked help on the Panda3D forum!

As to the game itself, perhaps the most salient change was the addition of sound effects to some of the extant cutscenes. I'm not sure that I'm quite happy with all of them, but I am happy with the addition overall, I do feel.

Doing so also called for a little work on supporting such sounds. For the most part this was fairly straightforward (as far as it wasn't already in place). The one issue that I did encounter was in the left-right balance of sounds:

You see, it occurred to me that in two-dimensional cutscenes it might be beneficial to allow sounds to shift to either the left or right to follow the action. This seemed pretty straightforward: the "AudioSound" class has a method that allows one to specify the desired balance. So I included a conditional call to this in my implementation.

However, while testing some sounds, I felt that I wasn't hearing the panning that I expected. I first made sure that the values were being set appropriately--which, with a minor adjustment, they were.

Doing some research, I discovered the issue: the aforementioned sound-balancing method is unimplemented when using OpenAL! However, I also discovered a solution: fake it using 3D sound, which does work under OpenAL! This was pretty simple to implement, I'm glad to say, and seems to work well. ^_^

On the visual side, I did some work on images for the game. As shown above, one of these is a new wallpaper (and I have another in-progress). I also added an icon and page-image for one of the lore-entries, and did some touching-up on some (non-in-game) title art.

That's all for this week--stay well, and thank you for reading! ^_^
Logged

Thaumaturge
Level 10
*****



View Profile WWW
« Reply #173 on: December 21, 2017, 04:24:00 PM »

Blog post (22nd of December, 2017)
Leap!


Summary: A short post, in which another wallpaper is made; engine trouble continues; and a seasonal well-wish is given.

Greetings and salutations!

This week's screenshot is once again not a screenshot at all, but rather a scaled-down version of another new wallpaper:



As noted in my previous post, I believe, this week was somewhat of a short one. Indeed, I believe that I have only two things to report this time:

First, as shown above, I've made another wallpaper. Where the previous one was intended to lean more towards the emotional, this is intended to be somewhat more action-oriented, and to depict a little of the action of the game. I'm not yet sure that it's quite done, but I think that I'm happy with it overall!

Second, work continued on getting Panda3D version 1.10 up and running. In short, at the moment we seem to be experiencing odd memory-related crashes that aren't showing up on the side of the Panda-developer who has been helping me. :/

Finally, if you observe, celebrate, or attend something during this period (or have just recently done so), then I hope that it is (or was) happy for you! ^_^

That's all for this week--stay well, and thank you for reading! ^_^
Logged

Thaumaturge
Level 10
*****



View Profile WWW
« Reply #174 on: January 01, 2018, 06:46:15 AM »

Blog post (1st of January, 2018)
When is a Cutscene not a Cutscene?


Summary: In which a new-year's greeting is given; an AI bug is addressed; leaf-litter is added; a return is made to the prologue; and there is talk of a demo, and a cutscene that is not a cutscene.

Greetings and salutations!

First of all, a happy new year to all of you reading this! ^_^

For this week's screenshots, a tree from the prologue level, revised to use the approach to foliage developed for the first level:




My Christmas holiday ended on Thursday, and as such the work-week just past was a somewhat short one. Still, a few things did get done!

To start with, I did some touching-up in the logic behind the combat AI's use of defences. Previously, there was a bug that could result in the AI parrying an attack, but without apparently playing the relevant animation--which of course looked and felt somewhat iffy.

As far as I can tell, this seems to have resulted from the AI being allowed to initiate an attack while defending: if the attack started very quickly after the defence, the defence animation would be overridden, and so not appear to play, while nevertheless leaving the AI character defended.

The solution that I have right now is to simply not allow the AI to do this: it may no longer attack while maintaining a defence. This does mean that it can be locked into defending itself via a series of rapid attacks--but this generally results only in a stalemate. Once the player stops attacking, there's an opportunity to the AI to take action. Furthermore, I'd made the AI more inclined to dodge when its attempts to attack are thus frustrated.

Further adjustments may still be called for (it occurs to me that I should check the mummies, which can't afford to stand and block indefinitely), but thus far I think that it's an improvement!

I also realised at some point that I had forgotten to cover a noticeable seam in the first level, the line at which the leafy ground of the woodland meets the grass of the "courtyard". This was fixed by adding a patch of leaves covering that line, representing leaf-litter that has fallen or drifted in.

As I believe that I've mentioned, I'm fairly happy with the effect that I've found for the trees of the first level. It's not perfect, but I think that it works--and works better than what I had for the prologue level. So, after a little deliberation, I decided to go back to the prologue and replace the foliage of certain parts. Specifically, these are the three standalone trees, and the bit of detailed foliage at the gate. The result (for one of the trees, at least) is shown above, and I think that it's an improvement.

With all of that done, I moved on to what follows the first level--but not truly to the second level just yet. I have it in mind to make a demo of the game, comprising the prologue and first level. The addition made in the week just past, then, is the screen that I intend to show once the demo has concluded, announcing that the player has reached the end, hinting at the story ahead, and offering links to follow.

It's effectively a cutscene, but not technically one: my cutscenes are intended to be skippable by a button-press, but this screen is intended to have buttons for the player to click on. On top of this, the first level expects to move on to a second level--which doesn't yet exist. Thus, what I have is a dummy "second level" that shows a custom menu-screen containing the relevant text, links, etc., fading them in via a timer system. At the moment it's still very much a work-in-progress--hence the lack of screenshots.

And finally, I did a little bug-fixing and tinkering.

That's all then for this week--stay well, and thank you for reading! ^_^
Logged

Thaumaturge
Level 10
*****



View Profile WWW
« Reply #175 on: January 08, 2018, 07:08:22 AM »

Blog post (8th of January, 2018)
The Hunt for the Troublesome Commit


Summary: In which Panda3D 1.10 no longer crashes; the hunting through commits that enabled this; difficulties with frame-rates are revealed; how a filtering algorithm improved Bullet's performance; what actually improved level 1's performance; and what else I did in the week.

Greetings and salutations!

For this week's screenshot, a small box that was touched-up in the week just past:



I took another short holiday in the week just past (just two days this time), so the week was once again slightly short. Nevertheless, a number of things were done--including the resolution of a fairly major issue, I believe!

First of all, the "major issue" mentioned above: we have Panda3D 1.10 working, I do believe!

I realised in the week just past that I had, some time before, installed a version of 1.10 that hadn't crashed as the newer ones did. This suggested that the problem had been introduced somewhere between the two points--and thus that it might, perhaps, be tracked down by finding the first version that exhibited it.

Using that old version as a reference point (and confirming first that it did work, I believe) I set about trying various commits between that version and the most recent at the time.

It was a somewhat long and slow process. I had a bit of a scare at one point, as I recall: I encountered a version that didn't build successfully. Had more than that one version failed, it might have cast a shadow over a section of the engine's history into which I could not see, preventing me from finding the one version that I sought.

But it was only that one (that I found), and at last I found a version that exhibited the issue in question, directly after one that didn't. I reported it, and doing so led, I believe, to the discovery (or confirmation; I'm not sure which) of the source of the problem, and ultimately a fix to it.

This did lead in turn to the discovery of an issue with the GUI (it was stretched when the window was resized), but this proved fairly easy to hunt down and fix as I recall.

Before I move on, then, let me say: many thanks to "rdb" of Panda3D for all of their work and aid in finding and fixing these problems! ^_^

With that issue solved, I moved on to a number of other matters.

Perhaps most salient (to me, at least) was work on improving performance. While the prologue level now runs at a very pleasing frame-rate, I found that the first level struggled to maintain sixty frames per second in some views, perhaps most notably the view from the starting position of the level.

Running Panda3D's performance tool, it seemed that Bullet (the physics engine being used) might be the problem. Research and experimentation at first yielded little, other than the suggestion that there might be irrelevant interactions being calculated.

That suggestion, however, led me to consider switching the filtering algorithm being used by Bullet. (That is, the means by which the system first checks whether a given pair of objects should be physically simulated at all before actually doing so.)

The default algorithm uses "masks"--in short, each object has a set of bits that act as flags. If two objects share at least one such bit, they're included for simulation. This is fairly straightforward, but it can be somewhat inclusive. For example, all objects that have the bit that identifies "scenery" potentially interact with each other, as they all share that bit.

But there's another algorithm available: "groups". In short, this similarly uses a set of bits for each object, here identifying their "groups". However, it additionally stores a map of which groups should interact with which others. Thus one can specify that a group does not interact with itself, or certain others, potentially allowing great swathes of objects to be excluded.

I switched over to this, and it did indeed seem to significantly reduce the time taken by Bullet!

It didn't, however, significantly impact the level's overall performance.

Still, it is an improvement, and may well prove valuable in later levels.

Eventually, I decided to try combining the outdoor portal-culling cells of the first level--and this does seem to have helped! It's not a huge improvement, but I'm now seeing above sixty frames per second in the aforementioned problematic view! :D

Other than those technical matters, I made a variety of bug-fixes, touch-ups, changes, and additions. I even worked a little on the game's "pitch"! But this post is getting long enough as it is, so I'll close here, I think.

That's all for this week, then--so stay well, and thank you for reading! ^_^
Logged

io3 creations
Level 10
*****



View Profile WWW
« Reply #176 on: January 09, 2018, 05:19:45 PM »

Similar to what @Grhyll mentioned, to me even a long sentence looks like a wall-of-text that I'm less likely to read.

That's... really interesting, actually. You and I are quite different, it seems. (For clarity, I don't at all mean that pejoratively.) ^_^
Yes, I only have 2 eyes  Blink o Blink.  I'm guessing you have:  Blink Blink Blink   Grin


But if there are bullet points, then I can easily scan and see if I find something interesting.  It'd be similar to having to listed to a "long" audio recording that you can't skip vs seeing a few images (almost) instantanously.

... It may be worth mentioning at this point that the game has a fair bit of text in it. Tongue
Based on the length of your blog posts ... I had a "feeling" you'd say that. Grin


(It's probably possible to get far--perhaps even complete the game--without reading anything (other than the translation minigame, of course, which naturally involves text). It would make life difficult I daresay, however.)
In a game it's somewhat different, since people who like to explore are probably more open to reading  i.e. exploring the game further.  Of course, it's good to communicate that in the trailer and game description so people are not "surprised".  Some tend to prefer listening, but it your budged doesn't allow it, there's not much you can do about it.  Unless you have willing "friends" who could do that. Grin

Also, if there is something important, it's good to make sure that the player "can't miss it".
Logged

Ian_A
Level 2
**


Indie Artist & Designer


View Profile WWW
« Reply #177 on: January 10, 2018, 03:22:36 AM »

I like the UI work you've done so far, the language elements of the game look intriguing. Keep it up!  Cool
Logged

CRIMSON KEEP - First Person Action Roguelite
Pixel Noise
Level 10
*****



View Profile WWW
« Reply #178 on: January 10, 2018, 05:44:48 AM »

I just want to say that I read every word of every post, but since I know nothing of the technical side of things (programming, etc) I rarely have anything constructive to say.  Shrug

But your devlog is a storehouse of technical problem solving info! I have it bookmarked in case I ever get into dev and end up working on a similar project  Beer!
Logged

Pixel Noise - professional composition/sound design studio.
 https://soundcloud.com/pixel-noise
 https://twitter.com/PixelNoiseMusic
 https://pixelnoisemusic.bandcamp.com/

Recently completed the ReallyGoodBattle OST!  https://www.youtube.com/watch?time_continue=2&v=vgf-4DjU5q
Thaumaturge
Level 10
*****



View Profile WWW
« Reply #179 on: January 10, 2018, 10:23:49 AM »

Yes, I only have 2 eyes  Blink o Blink.  I'm guessing you have:  Blink Blink Blink   Grin


Three eyes? o_0    

                               Blink
          Blink      Blink                       Blink
 WhY DO you SeLl mE so ShooOrT?    Blink
                Blink         Blink
                                          Blink

*ahem*
I mean, uh three eyes, yes, just like any human! :D

;P

Based on the length of your blog posts ... I had a "feeling" you'd say that. Grin

I might also add that I have it in mind to include with downloads a (PDF or other e-book) short story written in the setting--albeit that the plot is unconnected. Tongue

(The short story actually came first, funnily enough.)

In a game it's somewhat different, since people who like to explore are probably more open to reading  i.e. exploring the game further.  Of course, it's good to communicate that in the trailer and game description so people are not "surprised".  Some tend to prefer listening, but it your budged doesn't allow it, there's not much you can do about it.  Unless you have willing "friends" who could do that. Grin

Also, if there is something important, it's good to make sure that the player "can't miss it".

Good points, all, I think! I should make a point of showing some of the text, of at least both the document and "character thought" types, I think. (Not as opening moments--I currently have it in mind to have a jump for the first shot of the first trailer, I think.)

(As to voicing, I want to do a crowdfunding campaign for overall funding--but even if that does raise some money for voices, it's likely that I'd stick to just adding voice-work to cutscenes and those rare conversations that occur. Documents and "character thoughts" would likely remain unvoiced, simply because there are a lot of them.)

I like the UI work you've done so far, the language elements of the game look intriguing. Keep it up!  Cool

Thank you very much--I really appreciate that, both points! :D

I just want to say that I read every word of every post, but since I know nothing of the technical side of things (programming, etc) I rarely have anything constructive to say.  Shrug

But your devlog is a storehouse of technical problem solving info! I have it bookmarked in case I ever get into dev and end up working on a similar project  Beer!

That's really encouraging to read! I've wondered sometimes whether anyone does read these entries in their entirety. I'm glad to know that someone does, and that they might perhaps even be of some use to someone! ^___^
Logged

Pages: 1 ... 7 8 [9] 10 11 ... 32
Print
Jump to:  

Theme orange-lt created by panic