Skip to content

chrisd149/Cog-Customization

Repository files navigation

Cog Customization v2.0 PRE RELEASE

This is a simple Panda3D program that allows the user to customize a Cog from Toontown and walk around in a demo area.

Tutorial of the functions of the 4 main buttons

Overview of v1.0.1

Table of Contents

Prerequisites

System Info

  • OS: Windows 10/8/7/Vista/XP; Mac OS 10.14; Linux Ubuntu 18.04

  • CPU: 500Mhz< CPU, 1Ghz< Recommended

  • GPU: CPU interal graphics, any Nividia or Radeon GPU recommended

  • Memory: 200mb<, 512mb< recommended

Software Info

  • Engine: Panda3D-1.10.2

  • Programming Language: Python 3.7

  • Language: English, Spanish possibly later.

Installation

How to Install

  1. Download files from the latest release from the releases section.

  2. Install and configure Panda3D-1.10-02 at www.panda3d.org/download/sdk-1-10-2 if not already installed.

  3. Go to www.toontownrewritten.com/play, and install Toontown Rewritten.

  4. If not installed already, get Python 3.7 installed, and properly configure it.

  5. Go to the Toontown Rewritten Folder, and copy/paste the .mf phase files into your Panda3D folder - (For this project, only phase_3 through phase_5.5, and phase_9 through phase_11 files are needed).

  6. Open main.pyw(Windows OS) or main.py(Any OS) to run the application

Installaton Issues and Fixes

  • You may have issues with setting the PATH varriable for Python on your Windows computer. To fix this, watch this video
  • The program may not start due to a few reasons:
    • Panda3D isn't set as the Python interpreter. To fix this, make the default interpreter for main.py Panda3D-1.10.2-x64/python/python.exe. This video helps explain it better image
    • You may not have the phase files in the Panda3D folder
    • The font files may not be in the same folder as the program main.py/main.pyw
  • Download the latest release from the Releases section, since older releases may have more bugs/less features.

Current Features

  • 4 DirectButtons with functions that control the appearance of the Big Cheese cog
  • A help button that opens a help box
  • 3 Actors that have a loop of sequences of animations
  • Music that can be stopped by clicking the key M and restarted by holding down M
  • An exit button that leads to an exit popup window
    • Exit popup with 2 DirectButtons that close the program or exit popup
  • A DirectEntry object that can be closed by clicking the Enter key
  • A DirectButton that opens the Cog Customization Wiki
  • Title of program window with program name and version
  • Default resoulution of 720p to fit most monitors
  • Frame rate meter that displays current frame rate
  • Game log that includes the run time and specs of the program

Goals of Project

Main Goals

  • Sequences of animations of multiple actors

  • GUI buttons with working animations/sounds/functions

  • Functions that change colors, scale, load/delete models, and textures

  • Add a demo area to walk around in after customizing the Big Cheese

Side Goals

  • Update the game regularly with bug fixes and updates

  • Resolve Bugs/Issues when present

  • Allow the user to access help while ingame or online via the wiki

FAQ

Q: Why isn't there an .exe file to make installation easier?

A: I planned on making this project with the intent on making runnable on a majority of systems. .exe is not supported on Mac and Linux systems, so they wouldn't have access to the program. However, .exe update is soon to come in the final release.

Q: Why use Panda3D, an almost 2 decade old game engine, alongside Python, to build a game?

A: Panda3D is very unique in that it uses Python as it's main programming language. Python is top level compared to normal gaming languages, like C++/C#, making it slow to execute. However, it is easier and faster to write Python compared to a C-based language, making updates faster and easier to make. Panda3D is the engine that runs Toontown, meaning I can use Toontown assets as models/actors/sfx in my program without having to make them myself.

Q: Due to the game using Disney assets from Toontown Online, how is this program legal?

A: After Toontown Online closed in 2013, many Toontown servers poped up, using Disney assets and modifing them to make their own free versions of the game. Disney has chosen not to pursure legal action against these servers, which has been spectulated to be due to the large fanbase still present to this day, and the decison to make all servers non-profit. I made my game with this in mind, so it is completly free to access and download, and credit is given to Disney when it is due.

Q: What is the end goal for this project?

A: This project is my first GitHub project I made public, as I wanted to test how to develop a game to give to the public. I also learned many new things with Python and Panda3D that I wouldn't have learned elsewhere. My goal is to constantly update the game when I get new ideas, and to learn more about game devlopment and programming.

Q: What experience is required to make a game like this one?

A: This project took me almost 3 months to make at this point. I can say I was very slow for the first month, mainly due to health issues, but I quickly got back in to coding and learned more about Panda3D. All in all, I would say a few months experience with Python and some experience with Panda3D can give you the mindset and tools to make a game like this one. Much of the code is still very basic, since many functions could be shortened by using loops/dictionaries.

Q: How would one go about learning Panda3D with Python?

A: The easiest way is too learn Python on atleast a beginner level. Then, follow some tutorials on Youtube, that go over setup and basic coding practices specific to Panda3D. I recommend you go to the offical Panda3D Manual to get more detailed lessons on the game engine. The offical Panda3D manual is the most useful tool you will need when using Panda3D.

Q: Why is there inconsistent updates?

A: I am the sole contributor to this project, and as updates are only pushed when I have the time to do so. I've had many medical issues recently that I have caused me to get distracted from updates, and I don't know when I will be able to program more consistently. Updates are expected to speed up until the New Year, as of now.

License

This project is licensed under the a GNU General Public License v3.0 License, which allows private use, commercial use, modification, and distribution of this program, but not sales, and gives me (Christian Diaz) copyright holder status.

This Panda3D game and/or the author(s) are not affiliated with The Walt Disney Company and/or the Disney Interactive Media Group(collectively referred to as "Disney"), and/or Toontown Rewritten. All textures/models/sounds used in this program are not mine, and are allowed to be publicly used and distributed, with the exceptition for profit, which isn't allowed at all. By downloading this game, you agree to release any employees of Disney and/or Toontown Rewritten from any liablity caused to you from the use of Cog Customization.

Please be thankful to Disney and the Toontown Rewritten Team for their efforts in making and maintaing Toontown.

Built With

Authors

Main Author: Christian M Diaz

Contact Info

  • GitHub UserName: @chrisd149

  • Discord Username: Miguel149#7640

  • Twitter: @miguel_TTR

  • Email: christianmigueldiaz@gmail.com

    • Active Hours M-F: 3pm - 11pm EST
    • Active Hours Weekend: 12pm - 2am EST (Some of the time im availiable to 4am on the weekends)

All questions and inquiries must be related to the project in some way, unrelated messages will be ignored

About

Basic user interactive game in Panda3D.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages