New development blog posts

Yay for touch events! That will come in handy once deploy-ng can be used to pack Android apk… one day… right? Soon…-ish?

No ‘Games Released This Month’ section ? What about this one (hint, hint): The Dollar Game (THG)

Sorry, we totally forgot about that game release. There also weren’t that many releases lately (guys do release more of your p3d games, we want to write about them ^^). As for the Android apk, I guess first the Android support of the engine in general needs to be stable before it lands in deploy-ng.

Listen up, the new October blog post has seen the light of day! Bringing you news from PyWeek and the latest engine development.

Enjoy reading!

1 Like

I’m interested in this image of the wrong render of trees, on top of everything? This is a trick or bug.

Oops, that’s an old screenshot. I had fixed that in the final version. You can play it yourself if you want:
(Or grab the source code at GitHub)

I think I had messed something up in the depth write settings while making that screenshot.

That was an interesting read! Thank you for sharing it. :slight_smile:

Congratulations, rdb and wezu, on your placements in PyWeek–well done! :slight_smile:

It’s interesting to note the enthusiasm here for intervals when I’ll confess that, with rare exceptions, it’s a feature that I’ve generally eschewed.

As to the inclusion of Assimp, ah, that somewhat explains the warning that I’ve been seeing of late, indicating that the engine was unable to load “”. Since I only really load egg- and bam- models, I presume that this can be safely ignored?

Which precise build of Panda3D did you install?

I think that I’ve seen it over a few versions, but my current one is this:

(Running under Ubuntu 18.04.1 (“Bionic”).)

@Thaumaturge Would you mind upgrading, using a command like this one, and let me know whether the problem still occurs?

pip install -U --pre --extra-index-url= panda3d

Alas, it seems that the problem is still there on my end. :/

Looking up at my earlier post, I’m annoyed with myself that, for some reason, I didn’t post the full error message. >_<; Here’s what I’m seeing at the moment:

:loader(warning): Unable to load /usr/local/lib/python2.7/dist-packages/panda3d/ undefined symbol: _ZN3irr2io18createIrrXMLReaderEPNS0_17IFileReadCallBackE

Sorry for the omission!

Despite some very busy weeks, the novembers’ Blogpost is out now! Go check it out over here: Blog

Enjoy reading!


I’m wondering when we simple users can use different combinations of shaders in the same scene? Water, shadows, light, multi-layered terrein, fog, and more. Like, for example, a separate wezu project - Auto Deferred Shader, it would not be bad if this were at the level of the Panda3d code.

I think the closest we can reasonably get to that is by providing a library of shader functions you can include in your own shaders so that you can easily produce shaders with any combination of effects.

Wow, I’m impressed! You seem to have made some pretty solid advancements in the period reported in this post! The new input-handling system seems especially exciting. :slight_smile:

Regarding that framework, I have two questions:

First, how does it mesh with “ButtonThrower”'s “setButton[Up/Down]Event” methods? Will those events be thrown for controller keys?

You see, I’m wondering whether it will “just work” with my extant key-rebinding code. Specifically, that code uses “ButtonThrower.setButtonDownEvent” and “ButtonThrower.setButtonUpEvent” to intercept button-presses, and thus detect what key the user wants to bind a given action to.

(I could test this myself, but I don’t have a controller to hand, I fear.)

Second, is the following warning to be expected on a (laptop) PC, running Ubuntu 18.04?

:device(warning): /dev/input/event9 is not readable, some features will be unavailable.

(I’m guessing that it’s indicating a lack of touch-screen support.)

You should try the sample in the samples directory:

The quick answer is that the additional devices aren’t part of the same ButtonThrower but part of additional ButtonThrower objects that are created when you call base.attachInputDevice in response to a device connection event. You can access those via base.deviceButtonThrowers and then you can call setButtonDownEvent on the one for the device you are interested in.

As for the warning, it probably shouldn’t be a warning message; it just indicates a device that your system is restricting access to one particular detected device, probably for security reasons. If your system’s udev rules are configured properly, the gamepad input devices will be marked readable, but input devices like your laptop’s power switch or keyboard will probably not be readable.

Regarding key-mapping, fair enough. Hmm… Based on a very quick skim of that sample, it looks like it’s doing fundamentally the same thing, but with additional logic to handle multiple devices and additional types of input (like thumb-stick axes).

(Is there anything specific in there that you think I should pay especial attention to?)

So, I think that it should be feasible to modify my key-mapping code to work with this new system, using that sample as a reference. It’ll likely call for some additional UI-space (so that players can pick a device, if desired), and some extra logic to handle multiple default mappings (one for keyboard-and-mouse and one for controllers, at the least). It looks like a bit of a pain (largely because it involves going back and shoe-horning new logic and UI stuff into long-extant code), but doable.

As to the warning, fair enough–that makes sense!

Thank you for the responses. :slight_smile:

Great! Do open a thread if you run into anything, or you run into any papercuts with the API while integrating it into your game.

Fair enough! :slight_smile:

Presuming that I get everything working properly, I might post the updated KeyMapper in the “Code Snippets” section; I seem to recall that it didn’t gain much interest when I posted it previously, but with the new input handling it might prove more useful to others than it was back then.

New blog posts (I notice the release announcement for 1.10.0 hadn’t been mentioned in this thread yet, so I’m including it as well):

1 Like