Git Product home page Git Product logo

infiland / thecolorfulcreature Goto Github PK

View Code? Open in Web Editor NEW
5.0 1.0 2.0 904.09 MB

Official repository for Infiland's game The Colorful Creature on Steam

Home Page: https://store.steampowered.com/app/1651680/The_Colorful_Creature/

License: Apache License 2.0

Shell 2.20% Java 6.23% Objective-C 0.07% Objective-C++ 1.89% Batchfile 1.56% Game Maker Language 73.32% NSIS 0.21% GLSL 1.13% C++ 13.29% C 0.11%
2d 2d-game desktop game game-development level-editor linux platformer steam steam-game

thecolorfulcreature's Introduction


The Colorful Creature is difficult platformer with puzzle color mechanics, with 350 built in handcrafted levels made by a single indie-dev

Issues License

Explore the docs »

Download · Report Bug · Request Feature

Table of Contents
  1. Key Features
  2. Built with
  3. Getting Started
  4. Info
  5. Contributing
  6. License

Key Features


  • 350 In-game Levels made by Infiland and the community!
  • Built-in Level Editor that has Steam Workshop Support
  • Endless Run with dynamic difficulty
  • Local One-Screen Co-Op Multiplayer up to 4 people.
  • Leaderboard System
  • Achievements System
  • Unlockable Customizations which can be modified

Built With

(back to top)

Getting Started

Note While other IDE's are possible to use for coding, modifying things like rooms, sprites etc is difficult. Developing TCC is preferable using the GameMaker IDE. Here are basic instructions on how to successfully run the game.

  1. Download the latest version of GameMaker on the Official Site or on Steam (2024.6)
  2. Clone this repository
git clone https://github.com/Infiland/TheColorfulCreature.git
  1. Open the project in GameMaker from where you cloned it.
  2. The game requires Steamworks SDK 1.55, put the sdk folder in to
C:\Users\User\Documents\sdk

Note IT MUST BE IN THIS EXACT LOCATION OR THE GAME WILL NOT WORK). If you use Linux or Mac, I don't know, find a way lmao ( ͡° ͜ʖ ͡°)

  1. You have to see if the "Steamworks" extension aligns with the sdk path

Note IT MUST BE 'C:\Users\User\Documents\sdk' TO AVOID CONFLICTS

  1. Click 'Run' or press F5 in GameMaker to test the game 👍 (or F6 for debugging, read more here)

(back to top)

Info

The entire game is made by Infiland, a passionate indie-dev who was working on TCC on and off for the past 6 years (since 2018!), releasing this game on Gamejolt and Itch.io, and eventually Steam in 2021. However in 2024 I decided to open source the game as a thanks, and I want to continue to further support the game by giving the community a chance to contribute and improve the game.

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
check out CONTRIBUTING.md Further info on how to improve and contribute to the game is available in my discord server
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

Game Socials

License

Apache License 2.0

thecolorfulcreature's People

Contributors

infiland avatar rammba avatar sabeer-junaid avatar crimsonnnnn avatar

Stargazers

San2 avatar  avatar  avatar Sophie L avatar  avatar

Watchers

 avatar

thecolorfulcreature's Issues

Fix troop earrape on troop death

When a troop is spawned but instance_destroy is performed, they make a sound, which is a problem if a lot of troops are spawned which creates a loud death sound noise.

Stats code refactor

Stats screen should get a code refactor to make it easier to add new stats to the screen and to calculate stats easier

Steam achievements translation

Currently, Steam achievements are always on English. This can be addressed to support at least same languages as in the game.

Example:
image

Add Serbian Cyrillic Language

Add serbian Cyrillic as it's own seperate language with language id 17, it's easity to implement by just turning latin letters into cyrillic letters

Code Refactoring Challenges

Challenges deserve a code-refactor. Issue is that they are way too hardcoded in a way how they are. Music play is hardcoded, end reward is hardcoded etc. All needs to be fixed in order for custom challenges to be possible

Level Editor Properties System

The idea is to have every object in level editor become manually editable.

Example, cannons currently shoot at the same exact speed, what if you were able to change the cannon's shooting speed in menu? Or scale objects like blocks to become half-block slabs? Or increase spike size?

In order for this to work, the way how the Level Editor saves and loads JSON files needs to be addressed first.

Write translation guide

I've tried to extract my native language as a standalone (#54) but I wasn't sure which and how many files I need to change in order to fully support new language.
It would be great to add some readme file which will specify all the steps for supporting new language.

Local Multiplayer Co-op

Local Multiplayer co-op is a feature where players from 2 to 4 can pick any level/challenge and start playing together.

Some facts need to be kept in mind:

  • Starting locations for players need to differ as players have their own collisions in Local Multiplayer
  • One player is required to complete the level to continue
  • Picked up items can respawn after 1 second after being picked up, this is to prevent softlocking other players. Exceptions are items like coins or keys to open the door.

Tag All Levels

Tagging all levels so that it's easier to categorize them and search them

Quests

Dynamic Daily Quests would be in place where the player has to do certain tasks in order to gain credits. The player can beat 3 quests per day, they rotate differently and the player gets a big reward once completing each quest.

I'm also thinking to make it possible to customize quests, as each quest would have it's own weight value as a chance of how likely they are to appear, and their reward would also be customized

  • Beat X Levels
  • Beat X Endless Run Levels
  • Beat a Daily Level (Boolean)
  • Beat a Calendar Week (Boolean/Rare)
  • Beat a Boss (Boolean)
  • Beat a [X] Difficulty Challenge
  • Beat X Workshop Levels
  • Skin the wheel (Boolean)
  • Jump X times
  • Die X times
  • Change color X times
  • Shoot troops X times
  • Play for X amount of time
  • Find a golden spike (Boolean/Rare)

Quests quick "Anti-Cheat"

If a player beats a quest that is too easy to beat but gives over 500 credits, the game will enable global.cheats = 1

This is to prevent situations if people accidently add quests that reward them for little effort then it would not account for new change of credits, just requesting them a bit more effort if they wanted to cheat

Cheats should be always available

  • Cheats can be always available to use by the player at any time instead of being just available when the player completes the game
  • Make the debug only appear if cheats are on (So if cheats are on, you can use F3)

Level Select Code-Refactor

  • Make a level select where you can choose any level in level select
  • Make code 'Not' awful (it's too hardcoded in r_levelselectmenu)

Documenting all my code

I need to comment code to clarify what's going on and it's purpose in most scripts/objects.

  • Add CONTRIBUTING.md
  • Comment most of the code
  • Make a pleasant standardized coding style so people can read code

Workshop Challenges

  • Making it possible to post challenges on steam workshop, people can either make challenges from other people or from their own levels.

Rules on workshop challenges:

  • Levels must be already on workshop and must be subscribed by the user.
  • The user can then choose any amount of subscribed levels
  • The user can only provide an title to the challenge, as workshop level diamond time and difficulty is defined.
  • Workshop challenge diamond time is summed by every level time
  • Workshop challenge difficulty is an average to all workshop levels in that challenge
  • For the workshop challenge to be uploaded, the player has to beat the challenge, the player isn't required to get diamond time.

Special Levels

Special Levels are supposed to be 200 altered levels from the main campaign and challenges, giving back to people who have purchased the 2, 3 and 5 euro donation DLCs. Each euro would equal to 20 levels, thus 200 in total.

Levels would show up in endless run for everyone while the special levels campaign is only available to people depending on how much they donated

Skin Trade Ups from Steam's Inventory

Trade ups are combining skins for a higher tier, or using a higher tier to turn them into lower tiers.

  • Having 5 skins of a lower tier can be converted into 1 higher tier
  • Having 1 skin of a higher tier can be converted to 3 random lower tier

Re-introduce colorblind options

Colorblind options have been restricted for quite a while, I need to bring back the following

  • Deuteranopia
  • Protanopia
  • Tritanopia
  • Grayscale (Not a colorblind option but it was included)

Slopes

Slopes make it possible for the player to go upwards or downwards without jumping, there are all 5 colored variants of the slope and it can be rotated by 90 degrees.

For slopes to be possible, player code needs to be changed

Code Refactor for Settings

Settings menu should be remade.

All buttons are no longer sprites, but instead are just similar to buttons.

  • Settings Button spawning should be controlled through code
  • Remade settings buttons are no longer sprites and should be made through code
  • Remade Boolean (yes/no) settings button, sometimes with multiple option it would show the ~ icon
  • Remade Sliders (for volume)

The buttons would not be unique and would work under the same codebase.
Also, when in pause menu, each button will not be individually created

Code-Refactor for badges

Badges are displayed in o_version in the draw event and the code is horrendous, need to code-refactor it inside a function so it works better and also to have badges sorted well

Splash Text inside of a .txt

It would be nice to have splash text to be loaded in .txt

This would unfortunately ruin two achievements "It happened", "Cookie Clicker" and "Jebaited" but I can replace them later
This will also ruin all of the event splashes, but I think that I'll make seperate txt files to fix that

Code Refactor in Skin Menu

Further code refactoring in skin menu:

  • Being able to hold left or right for navigation
  • Holding shift while navigating lets the player navigate quicker through pages
  • Selecting custom hats should appear in the skin menu and on the side while selecting custom hats
  • #47
  • Skin selection and hat selection sprites shouldn't be hardcoded and should display a correct skin/hat depending on the button

Better Readme.md

Improve the look of the repository's readme to be more welcoming and nicer to look at.

Custom Challenges

Custom Challenges are loaded from the game files instead of being built in into the game. These can be later used so that people can make workshop content or for future DLCs

Skin Masteries

Skin masteries check if you have an item in your inventory, if you have a specific quality of skin, it will change its border

Controller Customization

Keybinds are a thing that can be customized, but what about the controller? The player can assign any controller button to any existing input:

  • Right Key
  • Left Key
  • Jump
  • Interact
  • Skip level
  • Restart

Make a better way to exit quests screen

Currently you have to click on the sides of the quests screen to leave or press any button, it's a bit inconsistent and I think adding an X button would help a lot

Boss Healthbars

Each boss in the game should have a health bar (but perhaps change how they lose health because the code is attrotious)

  • Hotdog Boss Healthbar
  • Hammer Boss Healthbar
  • Piano Boss Healthbar
  • Lava Boss Healthbar
  • King Boss Healthbar

Commentary Mode DLC

Commentary Mode lets people see the development process of the game from 2018 up to release, as well as interesting facts for each version of the game.
This is planned to be it's own menu for the player to see and read. There would be images (or videos) showing the process.

Adding all skins in the TCC Store

TCC Store is currently missing all of the skins + graphics for the skins. The functionality to obtain them in game still works but they dont exist in the item pool and it is impossible to purchase them.

Local Multiplayer Player Setup Code Refactor

Local Multiplayer Customization is a mess and hardcoded, as well as choosing controls.
New skins/hats/items should be dynamically added in the menu when a new skin is added

  • Code-Refactor skins in Local Multiplayer
  • Code-Refactor hats in Local Multiplayer
  • Code-Refactor items in Local Multiplayer
  • Code-Refactor controls in Local Multiplayer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.