Cuboid Clone

that is a good point I’m interested with as well - if you David could point us with sorta of checklist to follow for make p3d’s, that would be really awesome.

Oh, come on. It’s in the manual, and as easy as pie:
panda3d.org/manual/index.php/Using_packp3d

ah I should have know it - thanks rdb

Sorry for hijacking the thread and staying of topic, but bear with me for a second.
I did found that reference before posting and attempted using it, but failed.
When running exactly what you suggested (customized for my folder structure of course) i get a:

Bad build maybe you recon?

Yes, it’s a build mistake. You can download packp3d.p3d from runtime.panda3d.org/packp3d.p3d , and place it in the bin directory.

I thought I saw something along those lines on a separate thread but couldn’t find it, so thanks.

Anyway, for those in the same situation, you will need the above link without that comma near it to mess it up, so here, use this to right click and “save target as”: http://runtime.panda3d.org/packp3d.p3d

Bad comma! :open_mouth:

May I ask you to explain how to convert levels again?

write a text file like

1113
1111
1111
2111

put it in a file called level_0 and run

python levelconvert.py 0

?
If I do that, I get

$ python levelconvert.py 0
Traceback (most recent call last):
  File "levelconvert.py", line 29, in <module>
    data = data[1].split("=")[1].split("_")
IndexError: list index out of range

ahm. i actually rewrote it trice and each time i made it convert from the previous conversion result to the new one.
if you want a direct conversion try this:

from sys import argv,exit
if len(argv) >1:
    level = int(argv[1])
else:
    print "no level nr supplied"
    exit()

data=open("./level_"+str(level)).read().split("\n")
output = open("./level_"+str(level),"w" )
for x in range(0,len(data)):
    for y in range(0,len(data[x])):
        if data[x][y]=="1":    
            output.write("<Type=tile,Pos=")
        elif data[x][y]=="2":    
            output.write("<Type=start,Pos=")
        elif data[x][y]=="3":    
            output.write("<Type=goal,Pos=")
        elif data[x][y]=="4":    
            output.write("<Type=weaktile,Pos=")
        else:
            continue
        output.write(str(x)+"_"+str(y)+">")
    output.write("\n")
print "converted levelNr:",level
output.close()

This won’t run with Panda3d 1.7.0, unless you comment the lines from cuboid.py which sets some PRC settings…

Hi, the game download link is broken. Could you please reupload? Thanks!

ah… right. i moved the stuff away from my private FTP to the panda3d project space some time ago.
p3dp.com/doku.php?id=thomaseg1:start

Does anyone have the source?

Hello to all,
I’m starting with panda 3 and I would be interested in this game to understand code.
Where can I contact ThomasEgi please ?

Thanks a lot

Sorry that my old links no longer work. The service provider canceled his services years ago. Here’s a fresh copy of the original code from 2009. You may need to make some tweaks to make at python3 compatible. It still runs on the python2 version.

Hi,
A good try for me to improve with Python. I will try to return you a Python 3 version.
Thanks a lot for sharing.

Hello from 2023! I downloaded your game from the above google disc to play it and to explore the panda 3d library, but it does not start, maybe there are updates or some changes and so the game does not start?

The original version is so old it was written for python2. All that was required was to add a few () around print statements and a key-value check inside a dictionary is Sound.py
You can find the python3 compatible version below:

1 Like

I understand, thank you, it’s too late and I go to bed, but I’ll downloadthe game in the morning and try your game, Merry Christmas and Happy New Year!