Having a few issues with my game

That’s likely an issue of UV-mapping: your walls presumably have UV-coordinates ranging from 0 to 1 on both axes, causing the image to be stretched over the entire polygon. However, if the coordinates were to extend outside of that range, then the image should be repeated accordingly (presuming that the texture is set up appropriately). For example, if I’m not much mistaken, if the U-coordinate extends from 0 to 2, then the image should repeat once on that axis (appearing twice in total on the wall); if both axes extend from 0 to 2, then the image should repeat once on both axes, thus appearing four times in total on the wall.

Two ways of achieving this might be to either edit the model’s UV-map in your 3D modelling program, or to apply a scalar to your object’s texture coordinates in code using one of the versions of the “setTexScale” method. See this page for more information.

As to your collision problem, I’m honestly not sure of where the problem lies–you’re using the collision system in a manner that I’m not familiar with, and there’s a fair chunk of code to comb through there.

One thing that may or may not be an issue in some part of your game’s functioning is a line that I spotted towards the end of the code that you posted:

if (self.keyMap["camera-forward"]!=0):
         self.camera.setFluidPos(self.camera.getPos + 100)

In that call to “setFluidPos”, you appear to be passing the method “getPos” of your camera object, rather than the result of a call to it (in short, you’ve left out the brackets after “getPos”); after that, you’re adding 100 to it–the result of which I’m not sure of.

If that’s just a typo, then I’m not entirely sure that it’s doing what you want it to do; I’m not sure of what the result of adding a single value (100) to a three-element vector would be, or is implemented by Panda to be–perhaps it adds 100 to all of the elements? What are you trying to do there?