Avolition Game - Full, Free, Open Source

Some of you might know that I’m working on refreshing this title. The main goals are to make it run smoother, look better, control easier and most of all make the code less rubbish.
It will remain free and open source (even more then it was, dropping GPL in favour of ISC).

I was hoping to get it done by the end of May, but it ain’t gonna happen (got an extra paid gig, and that takes precedence). So for now, here are some work-in-progress video previews to sharpen your appetite:
Flyby:


Backface hole cutting:

Running around with AI test:

Character creation (vfx, gui and animation test):

1 Like

Your work validates Panda3D as a real kickass game engine. I’m really impressed. I’m just learning nuts and bolts of Panda3D and can’t wait to really start working with it. I’ve got an idea for a game. Now “just” learn how to use Panda3D to make it work. Panda3D is no joke. Pretty decent game engine to work with. Plus support for Python 3.

With you it is impossible not to agree, but around Panda3D there was an opinion (it is possible only mine) that without knowledge of shaders, even basic effects can not be done.

I’d like to know if @wezu had help whilst developing his game. Making a game such as his doesn’t take only programming work but also work in Blender. Can’t really imagine making a game alone. Being good at Blender takes a lot of time before you start actually doing something that can be used in production. Best scenerio is to have a bunch of people who wants to do the same project and every single one does its part. One or more does the programming, one or more does the modeling and design in Blender and they put pieces together and test it as they go.

It’s a one man project. I did the coding, made the models and animations, edited the sounds, but the music is by Matthew Pablo. I’ve also used some tools that make things faster or give ready solutions like MakeHuman, FilterForge and ParticleIllusion, and some things right from the net - like motion capture data, stock sounds and some textures.

And yeah, shaders are kind of a must have today, but GLSL ain’t that hard to learn.

Wow (imagine my jaw dropping to the floor) ! So you must’ve been doing programming and modeling for a long time because you can do it yourself. Both. I’m coding but can’t imagine learning how to work with Blender alongside of my programming work. Day has only 24 hours and we also need sleep, right.

I’ve tried looking through the code, but I don’t seem to be finding anything instances of

ShowBase.__init__(self)

How is the game able to run without that? Or is that actually somewhere in there?

I don’t know about this game specifically, but sub-classing ShowBase (and thus calling its “init” method) isn’t the only way to run a Panda3D program. (Although I think that these days it’s the way that’s recommend for general use.)

For example, one can import DirectStart, and then just call “run()”, as “DirectStart” does some initialisation in the background. (I think that this approach is deprecated now, however.)

I used import direct.directbase.DirectStart in the original version. That just imports and creates a ShowBase instance, not recommended. In the newer branch I have base = ShowBase.ShowBase() so composition instead of inheritance, but now I think inheriting from ShowBase and calling super().__init__() is probably better.

Thank you for your great work! I decided to make my own improved version. It has still several bugs, but I’m going to fix them in the near future. Here is the source code GitHub - echo-devim/Avolition2: 3D action-RPG game for Linux/Windows/MacOS written in Python3 based on Panda3D engine

Hoping to bring attention and new users to this awesome game engine :slight_smile: