GithubHelp home page GithubHelp logo

tiagosilvapereira / simple-3d-fps Goto Github PK

View Code? Open in Web Editor NEW
54.0 6.0 18.0 57.23 MB

A simple FPS game with BabylonJS engine following Clean Code principles

HTML 0.02% JavaScript 99.98%
babylonjs-game babylonjs javascript 3d 3d-game game game-development first-person-shooter

simple-3d-fps's Introduction

Introduction

Simple 3D FPS is a 3D game built with BabylonJS engine on top of WebGL and HTML5 technologies.

If you want, you can see a live preview here:

Live Preview - Simple 3D FPS

Image of the game

Documentation

All documentation is inside the /docs folder. Only open index.html on your preferred browser to see the complete documentation.

Licenses

The Source Code

The source code is distributed under MIT license.

The Music

All the music in this game was made by Eric Matyas from https://soundimage.org/.

If you want to keep the music for free on your published game, you need to keep the credits for Eric Matyas, on the format specified on his website.

If you want to keep the music, but don't want to attribute Eric Matyas, then you will need to purchase a non-attribution license from he for $30 per track. Please contact him at [email protected] or access his website for more details.

The Sounds

All the sound effects included are totally free and distributed under CC0 1.0, then you don't need to credit the authors about the sounds.

The sounds are from Freesound Website.

Other Credits

Rifle 3D Model

By 3DMaesen (bumstrum) under CC BY 4.0 (CC Attribution License).

Skybox Textures

The skybox textures are based on textures from BabylonJS Playground Textures available here.

Skull 3D Model

The Skull 3D model is based on a free model from TurboSquid website, available here.

If you want to redistribute this model, please check the license here.

simple-3d-fps's People

Contributors

kingofcodecompany avatar tiagosilvapereira avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

simple-3d-fps's Issues

Question about Implementation

First of all thank, you for sharing this implementation. Coming from Unity this is a very good example of implementing a similar base structure within BJS.
I hope It is ok to ask a question using the issue section.

Within your Game.js: startRenderLoop-Method (line 194), you have a 50ms timeout set.

    startRenderLoop() {
        setTimeout(() => {
            this.engine.runRenderLoop(() => {
                this.currentLevel.scene.render();
            });
        }, 50);
    }

I'm not sure why this is needed, but in my own implementation adding a similar timeout solved the Error of "Active camera not set" when disposing the old scene after loading a new one. Is this also the reason you need this timeout? Do you know why this may be needed before disposing the old scene?

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.