Code Monkey home page Code Monkey logo

openmap-gta's Introduction

openmap-gta

Originally thought to be an old styled GTA game. now with 3D graphics using open map data and much more in the future updates to come!

WebGL demo: http://140.184.137.122:8081/indexGL.html

New Direction: Open-World

Glavin001 has forked this project to Open-World, differentiating between the original concept of this project and what he envisions it to be; for those who wish to contribute please let him know: https://github.com/Glavin001/open-world

openmap-gta's People

Contributors

danlock avatar glavin001 avatar markmurphy avatar tim-speed avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

Forkers

haycc

openmap-gta's Issues

Implement Parallel.js

Description:

Parallel.js is a tiny library for multi-core processing in Javascript. It was created to take full advantage of the ever-maturing web-workers API. Javascript is fast, no doubt, but lacks the parallel computing capabilites of its peer languages due to its single-threaded computing model. In a world where the numbers of cores on a CPU are increasing faster than the speed of the cores themselves, isn't it a shame that we can't take advantage of this raw parallelism?
Parallel.js solves that problem by giving you high level access to multicore processing using web workers. It runs in your browser (as long as it supports web workers). Check it out.

http://adambom.github.com/parallel.js/

Roads drawn like walls

The roads are being draw to the scene as Line object; See http://mrdoob.github.com/three.js/docs/57/#Reference/Objects/Line
This creates the problem that the line for the roads appear to be drawn on the canvas upwards/vertical, instead of as a road should be, horizontally.

Solution is to use create a geometric object in the form of a rectangle with all of the Vector points defined precisely.

TODO:

  • Flatten roads using rectangles.
  • Blend rectangles together such that the roads are fluid and can curve/turn and not be choppy and be thinner than the desired road thickness.

Work on Player Movement & Controls

Using the camera.position you can place the player's camera at any position, and fairly easily. What is not easy is using camera.lookAt because you must specify a point that the player's camera is looking at -- which is difficult, as there really is no absolute point. However, this can be calculated by simply imaging the lookAt point on an imaginary sphere around the camera.position. For varying mouse-speeds you can imagine a sphere with a larger/smaller radius.

camera-view
view2
view3

Example project with code with draggable camera views:
http://www.mrdoob.com/projects/voxels/#A/

Draw Labels/Street Signs

It would be nice, at least for testing and debugging purposes to have a floating text label of what street is just below. That way, navigating from known location to another location and tracking how successful it was displayed can be qualitatively, but precisely, determined.

Add 3D Buildings to Scene

Initially only use the vertices given from the Open Street Maps data and then a fixed height for all building walls. Worry about realistic / dynamic buildings later, once more data is accumulated.

  • Add Buildings to Scene (with fixed height)
  • Roofs
  • Lighting
  • Shadows

Start using tQuery

tQuery description:

tQuery API : three.js + jQuery
Three.js Power + jQuery API Usability
tQuery API is a thin library on top of three.js It is an extension system for people to write > plugins. To help them share their code and build on top of each other. It mimics jquery api, > well know for its usuability. tQuery API aims for "it should not be harder than playing with > lego bricks."

See http://jeromeetienne.github.com/tquery/
Tutorials: http://learningthreejs.com/blog/categories/tquery/

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.