Skip to content

lolgg313/RayEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 

Repository files navigation

[Ray Engine Editor] - RayTk GameKit

License: MIT A simple, open-source game editor and engine built with Python, Tkinter, and Raylib. Create basic 3D grid-based FPS levels, customize assets and game settings through a user-friendly GUI, and instantly preview your creations.

Table of Contents

Features

  • Graphical Map Editor: Easy-to-use Tkinter-based GUI for level creation.
  • Grid-Based Design: Build levels using walls, ground, player spawn points, and enemy placements on a 20x20 grid (configurable in code).
  • Real-time 3D Preview: Instantly test and play your level using the integrated Raylib-based engine.
  • Asset Customization:
    • Set custom textures for walls and ground.
    • Define handgun sprites for idle and shooting states.
    • Add custom shooting sounds (.wav, .ogg, .mp3 supported via Pygame Mixer).
    • Set custom enemy sprites for idle and 'hit' states.
    • Import custom .obj models for enemies (and potentially walls/ground if default wall.obj is replaced).
  • Environment Configuration: Choose custom colors for the sky and sun.
  • Game Mechanics Configuration:
    • Set game window title.
    • Adjust weapon shot delay.
    • Customize the win message text and color.
  • Customizable Main Menu:
    • Set menu title and button text.
    • Align menu elements (left, middle, right).
    • Choose background (solid color or image).
    • Customize font colors for title and buttons.
  • Player Controls: Standard FPS controls (WASD movement, mouse look, jumping, running).
  • Basic Enemy AI: Enemies are static but react to being shot (displaying a 'hit' texture/state) and are removed after a set number of hits.
  • Simple Collision Detection: Basic player-wall collision handling.
  • Portable Asset Management: A media directory system automatically copies and manages assets, making projects easier to share.
  • Save/Load System: Save and load entire map configurations (grid, assets, settings) and main menu layouts to/from .json files.

Getting Started

Prerequisites

  • Python 3.x: Download from python.org
  • pip: Python package installer (usually included with Python).

Installation

  1. Clone the repository:

    git clone https://github.com/lolgg313/RayEngine.git
    cd RayEngine
    1. Install Dependencies:
    pip install -r requirements.txt
    • Note: You need to create a requirements.txt file with the following content:
      raylib
      numpy
      pygame
      Pillow
    • Alternatively, install manually:
      pip install raylibpy numpy pygame Pillow
  2. (Optional but Recommended) Default Assets: Ensure you have default assets available, especially wall.obj, or the preview might have issues loading models. Consider including basic placeholder assets (textures, sounds, models) in the media directory or elsewhere in the repository for users to get started quickly.

Usage

Run the editor using Python:

python 'RayEngine Ultra Edition.py'

About

An Open Source Game Engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages