*New* Panda3D Guide Books

Hello everyone

over the last time I’ve been working on two guide books tailored towards Panda3D and Blender users. For more information on each book, just scroll down and read their description and chapter overview.
Note, both books haven’t been extensively review yet, so expect some flaws and errors in them and that’s also where I’d like you, the readers, to get active. I appreciate any feedback that you can give me for the books to make them better and more useful for P3D newcomers and advanced users alike.
The books are fully open sourced and can be copied and shared. The sources of both books will be available on our website, Grimfang-Studio.org and through github.

Panda3D Game Development

The first book gives an overview and teaches anything regarding game development, starting from the first spark of an idea over designing it all the way through developing it with our most favorite engine, Panda3D, till the end when you’re going to release it to the public and beyond.


116 Pages

Quck chapter Overview:

CHAPTER 1: IMAGINE
The first chapter is about finding ideas and carve them into fully fledged game designs.

CHAPTER 2: PREPARE
This rather short chapter is about getting things ready for you to develop games with all open source tools, it’s about installing and preparing the workspace.

CHAPTER 3: DEVELOP
The 3rd chapter may be the most P3D specific one, here we will write a small game and learn tips and tricks about developing with the engine.

CHAPTER 4: RELEASE
Finally after creating a game you want to release it to the public. So this chapter gives you some insight on how this can be done.

CHAPTER 5: THE NEXT VERSION
Having a finished game doesn’t mean you can lay back long. This chapter gives some notes about what can be done after a successful release.

Get the book: Download book 1
Get the sources: Download sources to book 1
Github: https://github.com/fireclawthefox/panda3d-tutorial

Panda3D Art creation with Blender

My second book is about creating game ready models with Blender. It is not really a step by step guide to create a model but it should give you enough insight on the specific parts that an artist who want to get started with blender or already knows it but want to get started with games, to know enough to get into game model creation. At the end, what and how you create things is a very artistic task and anyone has a different taste, so this book just gives hints and some basic workflow tips and tricks.


69 Pages

Quck chapter Overview:

CHAPTER 1: BASICS
The first chapter is teaching the usage of blender like how to navigate, using the layouts etc. If you already know blender you could skip this one.

CHAPTER 2: CHARACTER CREATION
Chapter 2 will tell you many little things about what’s needed to create a character from modelling and texturing over rigging till animating it.

CHAPTER 3: ASSET CREATION
This chapter is a rather short one, it gives you some information about creating assets that will be used to be put in a greater level.

CHAPTER 4: LEVEL CREATION
The level creation chapter will teach how to get the assets one has done into a level file so blender can be used as a level authoring tool.

CHAPTER 5: EXPORT
This is the most Panda3D specific part of this book, it shows up how to get your models correctly exported with YABEE.

CHAPTER 6: MORE INFORMATION
In chapter 6 I added community blender plugin projects and some useful websites with further extended tutorials that I’ve been learning from myself and which are going deeper into specific areas that would otherwise not fit in a book as short as this.

Get the book: Download book 2
Get the sources: Download sources to book 2
Github: https://github.com/fireclawthefox/panda3d-tutorial2

NOTE: The sources that come with this book aren’t completely done yet, there’s only a model for a new roaming Ralph version. This new Ralph model and the upcoming models shipped with it should better be discussed in this already created thread for new example models: Better models in samples

I hope these books will help you creating awesome Panda3D applications. And as said before I’d appreciate any feedback that you can given on them.

Your’s sincerely
Fireclaw

update1 added git repo for book 2
update2 updated book details
update3 updated links and fixed unsupported old-style formatting
1 Like

This is great! These books cover a wealth of knowledge about game development with Blender and Panda3D. The amount of depth to which these books cover all the information is amazingly useful.

Thanks so much for doing this!

After quite some time I got back to my books again. There are a few bug fixes and changes regarding feedback I got. The new versions also feature some small but important new sub-chapters that may help you to easily enhance your game in almost no time.

Also the PDF files are now added and directly available on the github repositories so you can download the latest version of the book from there whenever new information and fixes get into it.

More feedback and proofreading is still very much welcome.

Hi wolf,
These books are really good! I have been using Panda3d for some years now, and I was looking for some help/tutorial for using DirectGUI, I think you cover all I need. Thanks for your work!
Something I think is not included, is the ppackage feature. I am planning to develop a game in which users could download new characters or courses directly from the game. The packages would be located in a server, and I think ppackages are the solution, as I understand from the manual. The idea is to save some descriptions and screenshots of the packages in a server, so the game can display them, and when selected, the package are downloaded to the local machine (which would include models and python files) and finally imported and used by the game. Am I right? Is this possible? In that case, could you add a chapter explaining this?
Thanks a lot!
Mikel

Hi Mikel,

the ppackage feature is not included as I haven’t used it myself yet. Though from what I read it may not fit your specific needs. For me it sounds like the packages which are hosted on the server will all be automatically downloaded and put on the local machine. If you want to give your users the choice for specific downloads you probably have to create your own plugin and download system.
For this you may be able to use parts of ppackage though like the contents.xml file to see which files are available on the server. For the download part, you can use functions from the python standard libraries like urllib.

If I get to work with ppackage sometime I’ll probably include it in the books. And as your use case could also be used for the tutorial game of book 1 I could imagine adding a new section describing how to get it done in more detail. Though that may take some time. If you need it sooner or more help on it, you should think about creating a separate post or get in contact with me and other devs over on the Panda3D irc chat.

Fireclaw

Hi wolf,
Thanks for your answer. I will try to contact you on the irc chat.
//Mikel

I registered to this forum just to thank you for your great job. I’m learning Python and I am interested in game development. So your books will be great help. Especially now, when it is really hard for newbie to find good recent tutorials. Again thank you! I cannot believe this is for free!

Hello Wolf, Thanks for your books. I am new to panda3D, I am using your book 1. I have a problem that I had not being able to solve by my own. The problem is that the starting game menu does not responds to my mouse selections at all. This happens on code that I typed following the steps in your book 1 as well as in the code in the depository, which is an indication that the issues is related to my system but I run some examples in the Panda distribuition which uses the mouse and they work. without a problem.
I am using a MAC High Sierra 10.13. Any suggestion on how to solve my issue will be very much appreciated.
Thanks in advance.
Lorenzo Ramirez

There could be a few reasons why mouse input isn’t working as expected. Could you also specify in more detail what’s not working like, do you see the buttons look respond to hovering or clicking with the mouse or does it do nothing at all? To narrow it down could you:

  1. Show the code you used so I can check it
  2. Check by yourself again if there are any kind of mistakes in your typed code like missing connections between the buttons and the to be executed commands or typos while setting up the buttons or even just faulty values in the buttons size.
  3. Try another example using directGUI like from the bottom of this manual page https://www.panda3d.org/manual/?title=DirectButton and see if it works

Wolf
Thanks for taking the time to reply to my question. The following are corresponding answers to your 3 points:
I aplogize because the long reply.

Additional requested details:
I am able to see the buttons and full screen, the buttons does not respond to hovering or clicking with the mouse at all.

Since I wrote my initial question, I found a similar problem with another application (FreeCAD). If I launch FreeCAD from a terminal the mouse does not work on the menues od FreeCAD, I found a workaround by selecting my Safary browser and then return to the FreeCAD application and then the mouse works in FreeCAD. I being trying to use the same workaround for the Panda3D but your game screen initially shows full screen and I am not able to acces my Safary browser becasue the icon bottom bar is not accesible.
Abusing of your valuable time, can you please guide waht changes can perform in order to launch you game at not full screen?

ANSWERS:

  1. The source code was taken from your book links]
    -> //discourse.panda3d.org/t/new-panda3d-guide-books/15387

  2. Before I downlaod your source code (see answer point 1 above), I typed (and checked) all the commands following your book 1 with the same result -> menu does not responds to the mouse.

  3. I tried the suggested example https://www.panda3d.org/manual/?title=DirectButton and the mouse works, i am able to see the changes when the mouse click, rollover, etc.

Thanks for the time dedicated to this question.
Have a nice weekend.

Lorenzo Ramirez

Hmm, sounds like a strange but either on your OS (as it also appear in freeCAD) our in the engine. Maybe @rdb knows more about things like that. Anyways, ro disable fullscreens to test if your workaround works here too, you can either change it in the config file that should be located in a subdirectory in your home folder (just print the prcFile variable in main.py). There should be a line stating fullscreen 1 or similar, just change it to 0 then it should start in windowed mode.

Wolf
Thanks for the prompt response!
I am happy to report that when I changed from full screen to windowed, the mouse worked on the menus and I was finally able to go though the complete game. I do not what is the problem. I will keep trying to find the root cause; if I ever find it, I will let you know.
Once again many thanks!

Lorenzo Ramirez

It might be good to ensure that you are on the latest version; I know that there was an issue with mouse input in fullscreen in an older version, but I don’t know off the top of my head which version that issue was fixed in.

rdb

Thanks for your input. I will check what version I have and then I will see if I need to update and if I do, then I will test with the ne version to see if that would be the root cause.
Take care!
Lorenzo Ramirez

A great resource. Thank you so much for making it available !