A Minecraft clone written in python and pyglet.

Overview

PyCraft

DeepSource DeepSource Contribs Repo Size Downloads issues Discussions license commits
social social social

A Minecraft clone written in python and pyglet.

Running PyCraft

To run PyCraft, run the following code:
git clone https://github.com/TheWebCrafters/PyCraft.git
cd PyCraft
python __main__.py

Known issues

  • - Will be fixed soon.
  • 1. The game hangs while generating chunks.
  • 2. All contributors don't appear on the README.

Contributors

(Someone please make all-contributors appear here)
Comments
  • Add your name to the Contributors list!

    Add your name to the Contributors list!

    If You've contributed to this repository in any way, add your name to the contributors list!

    Example usage:

    @all-contributors add @somePythonProgrammer for Code, Ideas

    opened by SubNerd 41
  • The game hangs while loading chunks.

    The game hangs while loading chunks.

    Describe the bug The FPS meter goes lower than 1.0 while loading chunks.

    To Reproduce Steps to reproduce the behavior:

    1. Run the code.
    2. Wait, and keep checking the FPS meter on the bottom left.

    Expected behavior We need to add multiprocessing or threading for efficiency.

    Desktop

    • OS: Windows 10
    • NVIDIA GTX Graphics card: 2GB
    • Processor: intel 11th gen i5: six cores
    • 8GB RAM
    bug help wanted Priority 1 
    opened by SubNerd 20
  • How to execute script?

    How to execute script?

    So, whether I want to contribute, before contributing please make a dep installer (dependinces installer) so we can execute your scripts. After that, If possible, I will contribute. Please help!

    Dep installer for packages

    documentation Priority 2 
    opened by e-coders 11
  • import pyglet, i already import in conda, where else?

    import pyglet, i already import in conda, where else?

    Traceback (most recent call last): File "C:\Users\pdv\PyCraft_main_.py", line 1, in import pyglet ModuleNotFoundError: No module named 'pyglet'

    I already install pyglet in my conda env. what else i do to play the game?

    • OS: windows 10
    • Browser chrome
    • Version v94
    bug Resolved Priority 1 
    opened by GabrielMendesdc 10
  • Suggestion on how to fix the game lagging while displaying chunks

    Suggestion on how to fix the game lagging while displaying chunks

    Hi, I saw on the README that you pointed out the game freezes while loading chunks.

    What I think you should do is add a render distance feature. If you've played Minecraft, you would know that there is a value called render_distance that basically detect the player's position in the world, and then renders a certain number of chunks so that the game does not lag. Else, if the world is infinitely generated, and the render distance is set to infinite (as it is now), it could cause the game to freeze like anything or even crash the game. Please implement this feature so that the game runs as expected.

    Thanks, @Adatta1276

    opened by Adatta1276 6
  • Add cross platform support

    Add cross platform support

    Right now, PyCraft only runs on Windows. We need to make it cross-platform. As @cixtor has pointed out in #54, the game doesn't run on MacOS. We need to add a cross-platform dep installer.

    bug enhancement good first issue help wanted Priority 1 
    opened by SubNerd 2
  • Adding cross-platform support

    Adding cross-platform support

    As @cixtor pointed out in #54, we are adding cross-platform support for PyCraft. It will be able to run on PC environments like windows, mac, linux, etc.

    enhancement Priority 2 
    opened by SubNerd 1
  • The Framerate of the game drops tremendously as the number of chunks increases.

    The Framerate of the game drops tremendously as the number of chunks increases.

    The game's framerate deteriorates as we go further exploring the world.

    Steps to reproduce the behavior:

    1. Run the game
    2. Move around a lot in one direction, allow many chunks to form.

    Expected behavior The game should run smoothly even when we go further into the world.

    Solution We need to remove chunks which are too far away from the memory, maybe even create a separate renderer for each chunk.

    bug help wanted Priority 1 
    opened by SubNerd 1
  • The following packages do not install with dep_installer.bat

    The following packages do not install with dep_installer.bat

    Deps are the following - glfw , PyOpenGL , pillow , pygame

    Suggested fix - add the following code

    python -m pip install --upgrade glfw python -m pip install --upgrade PyOpenGL python -m pip install --upgrade pillow python -m pip install --upgrade pygame

    opened by ghost 1
  • [ImgBot] Optimize images

    [ImgBot] Optimize images

    opened by imgbot[bot] 1
  • Added better efficient chunk generation

    Added better efficient chunk generation

    Before, PyCraft generated chunks and also drew the borders of chunks. This caused HUGE fps drops. This PR fixes the problem by adding 'simulated blocks' to the borders of the chunk, but not rendering them. Also, we have BIOMES!

    opened by SubNerd 0
  • Block shading overlay

    Block shading overlay

    Currently, PyCraft has plain textured blocks. We need to add some kind of shader, or a translucent overlay for shading blocks. We also need to add a new Lighting class in terrain/, which will store all the block shading values when the game is running. The shading value of a face depends on the lighting values of the nearby coordinates.

    enhancement help wanted Priority 2 
    opened by SubNerd 0
  • Use a 3D image storage instead of a texture atlas

    Use a 3D image storage instead of a texture atlas

    Currently, PyCraft uses a texture atlas for all the textures. This causes some limitations. We need to use glTexImage3d and glTexSubImage3d for the TextureManager class.

    bug enhancement good first issue help wanted Priority 3 
    opened by SubNerd 1
  • Texture remake?

    Texture remake?

    The game textures currently are AWFUL. We need better textures for the game. Anyone who is good with textures can open a PR with new textures. Please note that the textures should be 16x16 pixel PNGs.

    enhancement good first issue Priority 4 
    opened by SubNerd 0
Releases(v0.0.4-pre)
  • v0.0.4-pre(Dec 20, 2021)

    What's Changed

    • Remake by @somePythonProgrammer in https://github.com/1upCommunity/PyCraft/pull/48

    Full Changelog: https://github.com/1upCommunity/PyCraft/compare/v0.0.3-pre...v0.0.4-pre

    Source code(tar.gz)
    Source code(zip)
  • v0.0.3-pre(Dec 9, 2021)

    What's Changed

    • Refactor the comparison involving not by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/46
    • [ImgBot] Optimize images by @imgbot in https://github.com/1upCommunity/PyCraft/pull/45
    • Use identity check for comparison to a singleton by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/47

    New Contributors

    • @imgbot made their first contribution in https://github.com/1upCommunity/PyCraft/pull/45

    Full Changelog: https://github.com/1upCommunity/PyCraft/compare/v0.0.2-pre...v0.0.3-pre

    Source code(tar.gz)
    Source code(zip)
  • v0.0.2-pre(Dec 2, 2021)

    What's Changed

    • Remove unnecessary statement by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/29
    • Added and changed docs folder by @Genius398 in https://github.com/1upCommunity/PyCraft/pull/30
    • Change methods not using its bound instance to staticmethods by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/38
    • Change methods not using its bound instance to staticmethods by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/32
    • Change methods not using its bound instance to staticmethods by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/37
    • Use is to compare type of objects by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/34
    • Use is to compare type of objects by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/33
    • Change methods not using its bound instance to staticmethods by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/36
    • Change methods not using its bound instance to staticmethods by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/35
    • Import packages in separate lines by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/39
    • Change methods not using its bound instance to staticmethods by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/40
    • Use hypot method to calculate hypotenuse by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/41
    • Remove duplicate dictionary key(s) by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/42
    • Use is to compare type of objects by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/43
    • Refactor unnecessary else / elif when if block has a return statement by @deepsource-autofix in https://github.com/1upCommunity/PyCraft/pull/44

    Full Changelog: https://github.com/1upCommunity/PyCraft/compare/v0.0.1-pre...v0.0.2-pre

    Source code(tar.gz)
    Source code(zip)
  • v0.0.1-pre(Oct 20, 2021)

    What's Changed

    • Change methods not using its bound instance to staticmethods by @deepsource-autofix in https://github.com/TheWebCrafters/PyCraft/pull/2
    • Change methods not using its bound instance to staticmethods by @deepsource-autofix in https://github.com/TheWebCrafters/PyCraft/pull/1
    • Create CODE_OF_CONDUCT.md by @somePythonProgrammer in https://github.com/TheWebCrafters/PyCraft/pull/3
    • Create LICENSE by @somePythonProgrammer in https://github.com/TheWebCrafters/PyCraft/pull/4
    • docs: add somePythonProgrammer as a contributor for code, ideas by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/6
    • docs: add somePythonProgrammer as a contributor for doc by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/7
    • docs: add somePythonProgrammer as a contributor for infra by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/8
    • docs: add somePythonProgrammer as a contributor for content by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/9
    • docs: add somePythonProgrammer as a contributor for maintenance by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/10
    • docs: add somePythonProgrammer as a contributor for userTesting by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/11
    • docs: add somePythonProgrammer as a contributor for bug by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/12
    • docs: add deepsourcebot as a contributor for code by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/13
    • docs: add Sreehari521 as a contributor for code, test by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/14
    • docs: add e-coders as a contributor for bug, ideas by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/18
    • Website + πŸ›Fixes by @somePythonProgrammer in https://github.com/TheWebCrafters/PyCraft/pull/19
    • Fix INFGEN (a little) by @somePythonProgrammer in https://github.com/TheWebCrafters/PyCraft/pull/21
    • Remove unnecessary statement by @deepsource-autofix in https://github.com/TheWebCrafters/PyCraft/pull/25
    • Remove unnecessary statement by @deepsource-autofix in https://github.com/TheWebCrafters/PyCraft/pull/24
    • Remove unnecessary statement by @deepsource-autofix in https://github.com/TheWebCrafters/PyCraft/pull/23
    • Create pull_request_template.md by @Genius398 in https://github.com/TheWebCrafters/PyCraft/pull/26
    • Revert "Remove unnecessary statement" by @somePythonProgrammer in https://github.com/TheWebCrafters/PyCraft/pull/27

    New Contributors

    • @deepsource-autofix made their first contribution in https://github.com/TheWebCrafters/PyCraft/pull/2
    • @somePythonProgrammer made their first contribution in https://github.com/TheWebCrafters/PyCraft/pull/3
    • @allcontributors made their first contribution in https://github.com/TheWebCrafters/PyCraft/pull/6
    • @Genius398 made their first contribution in https://github.com/TheWebCrafters/PyCraft/pull/26

    Full Changelog: https://github.com/TheWebCrafters/PyCraft/commits/v0.0.1-pre

    What's Changed

    • Change methods not using its bound instance to staticmethods by @deepsource-autofix in https://github.com/TheWebCrafters/PyCraft/pull/2
    • Change methods not using its bound instance to staticmethods by @deepsource-autofix in https://github.com/TheWebCrafters/PyCraft/pull/1
    • Create CODE_OF_CONDUCT.md by @somePythonProgrammer in https://github.com/TheWebCrafters/PyCraft/pull/3
    • Create LICENSE by @somePythonProgrammer in https://github.com/TheWebCrafters/PyCraft/pull/4
    • docs: add somePythonProgrammer as a contributor for code, ideas by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/6
    • docs: add somePythonProgrammer as a contributor for doc by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/7
    • docs: add somePythonProgrammer as a contributor for infra by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/8
    • docs: add somePythonProgrammer as a contributor for content by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/9
    • docs: add somePythonProgrammer as a contributor for maintenance by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/10
    • docs: add somePythonProgrammer as a contributor for userTesting by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/11
    • docs: add somePythonProgrammer as a contributor for bug by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/12
    • docs: add deepsourcebot as a contributor for code by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/13
    • docs: add Sreehari521 as a contributor for code, test by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/14
    • docs: add e-coders as a contributor for bug, ideas by @allcontributors in https://github.com/TheWebCrafters/PyCraft/pull/18
    • Website + πŸ›Fixes by @somePythonProgrammer in https://github.com/TheWebCrafters/PyCraft/pull/19
    • Fix INFGEN (a little) by @somePythonProgrammer in https://github.com/TheWebCrafters/PyCraft/pull/21
    • Remove unnecessary statement by @deepsource-autofix in https://github.com/TheWebCrafters/PyCraft/pull/25
    • Remove unnecessary statement by @deepsource-autofix in https://github.com/TheWebCrafters/PyCraft/pull/24
    • Remove unnecessary statement by @deepsource-autofix in https://github.com/TheWebCrafters/PyCraft/pull/23
    • Create pull_request_template.md by @Genius398 in https://github.com/TheWebCrafters/PyCraft/pull/26
    • Revert "Remove unnecessary statement" by @somePythonProgrammer in https://github.com/TheWebCrafters/PyCraft/pull/27

    New Contributors

    • @somePythonProgrammer made their first contribution in https://github.com/TheWebCrafters/PyCraft/pull/3
    • @allcontributors made their first contribution in https://github.com/TheWebCrafters/PyCraft/pull/6

    Full Changelog: https://github.com/TheWebCrafters/PyCraft/commits/v0.0.1-pre

    Source code(tar.gz)
    Source code(zip)
Owner
The WebCrafters
We make cool games!
The WebCrafters
A simple hangman game for beginners trying to learn python

Hangman Game This is a simple hangman game for beginners trying to learn python. I have tried to keep it as simply as possible. Sample output Here is

1 Oct 13, 2021
Deep Running

Deep Running 1. Install $ pip install --user deep_running 2. Lap N Lap. Name Remarks Citation Meta 1 Mario Deeeeeep Running I was born to run. dannyso

karaage 69 Jan 31, 2022
A simple log-frequency helper for solving Wordle puzzles

A Simple Helper for Wordle Basic Usage Clone the repo and run python play.py Select a word from the list, or type your own choice of word Type the sam

Christian Casey 2 Feb 14, 2022
Repository containing documentation about the Minecraft Legacy FUI file structure

Repository containing documentation about the Minecraft Legacy FUI file structure

Miku-666 6 Dec 29, 2022
A DDQN that learned to play tic tac toe by playing against itself

TicTacToeAI A DDQN that learned to play tic tac toe by playing against itself Cu

Anik Patel 3 Apr 09, 2022
An exploration of a fantasy world, to autobattle your way to ruling the demesne.

Not Quite Paradise 2 (no relation to NQP, I just like the name enough to want to keep it.) Badges! Current position: Quality of last commit: Who dunni

9 Mar 12, 2022
Termordle - a terminal based wordle clone in python

Termordle - a terminal based wordle clone in python

2 Feb 08, 2022
Snake game made in python with the pygame library.

Pygame snake Snake game made in python with the pygame library. Requirements pip pygame Pygame Installation On the command line, type: pip install pyg

Ayza 3 Oct 02, 2022
Just a simple Tic Tac Toe game, built with Python

TicTacToe Author: Gabriel Lima Table of Contents About Getting Started Linux Windows About This is one of the first projects I built when I first star

1 Nov 28, 2021
MCTS (among other things) for 2048

2048 Created by Chad Palmer for CPSC 474, Fall 2021 Overview: This is an application which can play 2048 and simulate games of 2048 with a variety of

Chad Palmer 1 Dec 16, 2021
This is simple minesweeper-like Telegram game

This is simple minesweeper-like Telegram game. You need to open all "free" squares and put flags on squares with bombs on them. If you open a cell with a bomb, the game is over.

Aleksandr 32 Dec 31, 2022
Snake Game in Python

Snake game is one of the most popular arcade games of all time. In this game, the main objective of the player is to catch the maximum number of fruits without hitting the wall or itself.

Pavan Ananth Sharma 4 Jul 05, 2022
A game that depicts a real astronaut's struggles

Interstel-quickscooping-game Right from the beginning of our (i.e, me and me alone) journey in the creation of this game, our goal was to give a game

Sharath V 3 Jul 12, 2021
Abandoned plan for a clone of the old Flash game Star Relic

space-grid When I was in middle school, I was a fan of the Flash game Star Relic (no longer playable in modern browsers, but it works alright in Flash

Radon Rosborough 3 Aug 23, 2021
A pure-Python Wordle and Absurdle solver

Pyrdle A pure-Python Wordle and Absurdle solver Find the originals here: Wordle Absurdle Basic solving: Wordle To solve today's Wordle, simply run: ./

3 Feb 09, 2022
This repository has the lessons of the gamming programming course

learning-python-game-programming This repository has the lessons of the gamming programming course Na faculdade, estou fazendo a disciplina de program

Mateus Faustino 1 Nov 16, 2021
Disables the chat in League of Legends for Windows.

Disables the chat in League of Legends for Windows. If you simply can't stop yourself from typing LeagueStop will play KEKW.mp3 each time you try. The sound will stack & becomes horribly annoying.

1 Nov 24, 2021
πŸ₯•Try and keep da carrot alive or else . . .

Carrot πŸ₯• Warning πŸ’₯ : I am not a botanist. I do not study carrots or plant life. I am a noob programmer :P. So don't belive anything you see in this

1 Jan 03, 2022
A Street Fighter game in Pygame

What is Street Fighter? Street Fighter, commonly abbreviated as SF or γ‚Ήγƒˆ, is a Japanese competitive fighting video game franchise developed and publis

Sameer Sahu 3 Aug 20, 2022
A python project to help you solve the Wordle game.

A python project to help you solve the Wordle game.

Jia Ping Chu 2 Feb 06, 2022