Giter Site home page Giter Site logo

lttp-old's Introduction

The Legend of Zelda: A Link to the Past (WebGL Edition)

This is a recreation of Nintendo's The Legend of Zelda: A Link to the Past. This is not a port of the game, this is not code conversion, this is not the ROM running in an emulator. This is a complete, written from scratch, recreation of one of my favorite classic games using WebGL in the browser. While I will try my hardest to preserve the spirit of the game, and to come as close to the original as I can; expect slight differences in gameplay, mechanics, and graphics.

This project is in no way endorsed by Nintendo. Most images, logos, characters, dialog, plot, and other assets taken from the original Link to the Past are copyrights of Nintendo; I claim no ownership of any of the assets taken from the original game.

Running the Game

The current state of the game is highly in flux, but you can always run the current state of master by installing Node.js, and running the server.js file:

cd lttp-webgl
npm install express
node server.js

Then point your browser to http://localhost:3001. If you wish to use a gamepad you will need to be running Chrome 24+ or a special build of Firefox.

Dependencies

Here is a list of external dependencies and what they are used for. Each is released under its own respective license:

All of these dependencies are included in this repository and there is no need to download or add them individually. Note that jQuery and jQuery-UI attempt to load from Google CDN, and fallback to the local files if that fails.

Resources

Below is a list of resources I used for game content. This including sprites, sounds, technical data, walkthroughs, mob information, and misc details of the game:

Roadmap

Below is the current TODO list for the project:

  • Enemies (generic npc loading from tmx)
  • Dialog
  • Cutscenes
  • First Dungeon (palace)

License and Legal

This code-base is released under the MIT License.

All dependencies are released under their own respective licenses.

Most images, logos, characters, dialog, plot, and other assets taken from the original The Legend of Zelda: A Link to the Past are copyrights of Nintendo; I claim no ownership of any of the assets taken from the original game.

lttp-old's People

Contributors

englercj 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lttp-old's Issues

Screen Tearing

The current shader causes some screen tearing at certain positions. The issue occurs more often on Linux, and it is more prominent when moving along the Y axis.

Here is a screenshot of the issue:

Screen Tearing

InvalidStateError on xhr

Using 2ca8c1c on Firefox 24

InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable    

xhr.responseType = "text";

gf.js (line 1135)

Map collision clips

Map collision detection will allow clipping through certain 16x16 blocks if the player is moving along both the X axis and Y axis. When moving along only a single axis it works fine.

To Do

Needed to get this off my whiteboard.

First: Upgrade to latest engine version

Then:

  • Fall animation is terrible
  • Dialogs cover link at some positions
  • When taking damage while charging, throw, also throw on fall
  • Item bounce when dropped
  • Water walk animations
  • Small grass walk animations
  • Swim animations
  • Water moving (waves) animations
  • Jumps should go diagonal on sloped sollisions
  • Camera jumping on some movement (grapefruit issue?)
  • Enemies
    • Spawn/Patrol locations (use Tiled object)
  • Item effects and abilities
    • Add each in as needed (not all at once)
  • Heart Pieces
    • Need collection support
    • Need to save a persistent state of items on zone
    • Need to be placed on the maps
  • Refactor different selection menus into their own objects.

Can't play in Linux

Distro - Kubuntu 13.10

Hangs Google Chrome

  • Have to kill process

Crashes in Firefox

  • Console says: "InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable"

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.