Git Product home page Git Product logo

wegtek3d's Introduction

NOTE: Low color & FPS recording (game runs Real Smoof™!)


https://github.com/WelfzTwingoFurs/WegTek3D
###################################################################################
########### Godot raycaster-like engine!! . . . . WEGTEK-3D, Version 14 ###########
###################### written by Welfz Twingo Furs, aka Weg ######################
###################################################################################
 [created using Godot Engine v3.3.2-stable Win64, at https://www.godotengine.org/]

FEATURES:
-Moving up & down, looking up & down;
-Polygon world with height;
-Field of view (FOV), draw distance options;
-Clipping (vertices behind camera don't distort);
-Z_Index sorting (Polygons in front of polygons behind);
-One-sided polygon option;
-Depth-shading, adjustable;
-Polygons are colorable, 'darkable', texturable as unmoving-plaid or UV;
-Mono sound system;
-WIP Whole-polygon culling (if entirely outside screen, don't render) option;
-Sprite objects with height, & any amount of rotation frames;
-Sprite ground-shadows/reflections;
-Basic 'dynamic' darkness system for sprites, darken as floor is;
-Flat floor, triangular diagonal floor, & flat wall collision;
-Mouse & keyboard control;
-Viewbobbing, viewrolling options;
-Screen resizable to any size without stretching;
-Scrolling sky sprite & stretch options, floor sprite;
-Animated weapon & feet sprites;
-All changeable textures support any resolution;
-Map using draw_line, 2D & 3D options, zoom option;
-Convenient map-making options;
-Basic weapon inventory;
-Driveable cars, dynamic suspension, manual gears, customizeable base;
-Third and first person camera, with dashboard, steering wheel, Km/h and RPM gauges;
-Basic pedestrians that wander, get hurt, fight back or run away, and die.

IMPERFECTIONS:
-No diagonal wall collision;
-No shared vertices;
-Heavy texture distortion up-close;
-Clipping intervenes with UV-texturing;
-No camera-edge clipping (polys pieces outside screen still render);
-No screen clipping (polygons pieces behind others still render);
-Cull on + "Both bad neighbours" deletes polygon if the OK Vertex's index is over 0
(comparing to resized instead of original?);
-Draw distance innacurate to value depending on Angles FOV;
-Floor-sprite position slightly innacurate to aspect ratio;
-Mouselook different sensitivity for X and Y;
-No in-game options (all settings in editor);
-The car is infinitely tall for walls and other cars;
-Cars' polygons distort when clipping;
-NPCs can't dodge things, only follow targets.


###################################################################################

CONTROL KEYS:
-WASD / Arrows:   Move, rotate;
- Shift (hold):         Strafe;
-PGup & PGdown: Look up & down;
- Space & Ctrl:  Fly up & down;
-            L:   Mouse toggle;
-     [/], O/P:  Weapon select;
-     Mouse1/2:   Shoot weapon;
-            F: Enter/exit car;
-            C:  Change camera:
-          Q/E:   Look, in car;
-             M: Radio, in car;
-Shift (+Move):    Change gear;
-   Alt (hold):       View map;
-    Alt & +/-:       Zoom map;
-            X:  Noclip toggle.


DEBUG KEYS:
- Quote ('):    Console toggle;
- Scroll-lock (+Move):   Angle;
- Home:            Look center;
-  End:             Fly center;
-   F1:         /2 screen-size;
-   F2:         *2 screen-size;
-   F3:      Reset/Fill screen;
-   F4:        Pixelize screen;
-    +:                Zoom in;
-    -:               Zoom out;
-   F5:            Reset scene;
-   F8:             Close game;
-   F9 (hold):    Time-scale -;
-  F10 (hold):    Time-scale +;
-  F11:          Time-scale =1;
-  F12:          Time-scale =0.

###################################################################################

SPECIAL THANKS:
-JJoeyay, for teaching me Godot and inspiring me to make games;
-3DSage's 'Make Your Own Raycaster' series on YouTube;
-Kofybrek's 'Writing my First Ray Casting Game using C++ and SFML - SFML Tutorial';
-javidx9's 'Code-It-Yourself! 3D Graphics Engine' series on YouTube;
-Nic from college, for helping understand the polygon processing logic;
-Theraot from Stackoverflow, for making the slope collision for me.

8)

Old raycaster versions, & others
available at "older-versions".

wegtek3d's People

Contributors

welfztwingofurs avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

boyquotes

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.