Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trigger Rally is down :o #76

Open
jareiko opened this issue Jan 17, 2016 · 43 comments

Comments

@jareiko
Copy link
Contributor

commented Jan 17, 2016

After more than 6 months of broken login, I tried to test #73 today but due to a combination of old, stale out of date OS and packages, the whole system broke down and now I can't even get the game running.

Maintaining the Trigger Rally server and database has been difficult, and although I could try to rebuild the server with fresh versions of everything, I would prefer to try a new approach: host everything on github pages. This would have the benefit of making it super easy for people to fork and modify the game, but I don't know how to support the track editor in that environment. Suggestions welcome!

I will try to work on this new approach but can't make any promises about timeline.

@parkerlreed

This comment has been minimized.

Copy link

commented Jan 17, 2016

D: Hope you get everything worked out

@jareiko

This comment has been minimized.

Copy link
Contributor Author

commented Jan 17, 2016

Update: I have the basics running here:
http://codeartemis.github.io/TriggerRally/server/public/

Next I need to fix the base path for client-side routing, and then start replacing the server API calls with local data.

@jhonphilipps

This comment has been minimized.

Copy link

commented Jan 19, 2016

Mais c'est la meilleur nouvelle que je puisse entendre !! ce serait un réel plaisir si je pouvais aider au développement, c'est dommage que depuis quelques temps le jeux sois cassé. ce serait bien aussi d'avoir un contrôle de modérateur éventuellement pour les chronos à cause des cheaters :) je suis impatient de refaire un challenge à la sauce triggerrally ;) ce serait bien aussi pour la prochaine release que les trois type de véhicules deviennent accessibles genre étapes après étapes en réussissant des challenges? Garder le système de donation c'est évident mais aussi pourquoi ne pas ouvrir une boutique de contenu additionnel (skin, effect, decor object)? j'ai encore plein d'idées si besoin et je me défends sur blender :) ... toujours un plaisir de te lire , salutations et bon courage J.
But it's the best news I could hear !! it would be a pleasure if I could help in development, it's a shame that for some time the games be broken. it would be nice also to have a moderator to control the times possibly because of cheaters :) I can not wait to make another challenge to triggerrally sauce ) it would be good also for the next release that the three types of vehicles become available such steps after steps by completing challenges? Keep the donation system that is obvious but why not open a store additional content (skin , effect , decor object) ? I still have lots of ideas and if necessary I defend myself on blender :) ... always a pleasure to read you , greetings and good luck J.

@SuperScratch

This comment has been minimized.

Copy link

commented Feb 8, 2016

:( I loved trigger raly

@jareiko

This comment has been minimized.

Copy link
Contributor Author

commented Feb 9, 2016

I'm very sorry, but it's heartening that someone did notice that it's down!

@SuperScratch

This comment has been minimized.

Copy link

commented Feb 11, 2016

Its okay ican wait

@wangyapeng

This comment has been minimized.

Copy link

commented Feb 13, 2016

its crazy

@imjasonmiller

This comment has been minimized.

Copy link

commented Feb 23, 2016

I just watched your talk and was excited to try it out again after having played it before quite some time ago. I wish I could be of help, but unfortunately I just started out with Three.js.

@QwertzyK

This comment has been minimized.

Copy link

commented Mar 15, 2016

Is it possible for you to add a mode into the game where there isnt a time limit in the new version u made?

@R3c0nf1gur3d

This comment has been minimized.

Copy link

commented Mar 29, 2016

My friends and I used to play this all of the time at school. Loads of fun. When you get it up and running again, can you get the logins for gmail working again? Can't wait to play it again. 3d rendering is incredible.

@Kyl3lrod

This comment has been minimized.

Copy link

commented May 9, 2016

Oh man its been 4 months! I miss trigger rally! I laugh so hard at that game because of the funny glitches! Hows it been going?

@Kyl3lrod

This comment has been minimized.

Copy link

commented Jun 3, 2016

can we see the update?

@jareiko

This comment has been minimized.

Copy link
Contributor Author

commented Jun 3, 2016

The work in progress as of January is here:

http://codeartemis.github.io/TriggerRally/

But you can see that only the sky is loading, and if you open the JavaScript console there are some errors, and I haven't had time to fix them.

If anyone is able to take a look I'd really appreciate it. Otherwise, still no ETA for this, sorry.

@jhonphilipps

This comment has been minimized.

Copy link

commented Jun 3, 2016

sorry i can't help :( i prey for you to fix it ;)

Le 04/06/2016 à 01:41, Jasmine Kent a écrit :

The work in progress as of January is here:

http://codeartemis.github.io/TriggerRally/

But you can see that only the sky is loading, and if you open the JavaScript console there are some errors, and I haven't had time to fix them.

If anyone is able to take a look I'd really appreciate it. Otherwise, still no ETA for this, sorry.


You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com//issues/76#issuecomment-223719571, or mute the threadhttps://github.com/notifications/unsubscribe/AFXDiXHOBOeKYFuvAtaJi07bZ2NkWlQEks5qILu6gaJpZM4HGjD7.

@jude802

This comment has been minimized.

Copy link

commented May 13, 2017

This was my favorite game last year, I had so many coins... I tried to get #1 on every popular course that was uploaded, and i came damn close to getting them at one point. Rip game ;-;

@HarryTench

This comment has been minimized.

Copy link

commented Nov 28, 2017

Its bad that we haven't heard a update from the creator in over a year...

@Tomoli75

This comment has been minimized.

Copy link

commented May 20, 2018

still down

@parkerlreed

This comment has been minimized.

Copy link

commented May 21, 2018

@Tomoli75 I think it's safe to assume this isn't coming back. WebGL has progressed over the years and the codebase might not be in any shape worth fixing. It was a fun game but always remember, it's based on another FOSS piece of software you can still use. http://trigger-rally.sourceforge.net/

@DVLP

This comment has been minimized.

Copy link
Contributor

commented Feb 24, 2019

image

What I wanted was just to reverse engineer part of the terrain editor for my own game and engine https://bad.city but ended up resurrecting TriggerRally because it's one of the best Three.js and WebGL examples available. Not just an experiment but a real product.

I never used coffee script before and just spent all night and day to get this to work but slowly managed to breakpoint and console.log my way through. Found missing assets online(car JSON model, demo track from some old website dump https://github.com/sqliu/TriggerRally/tree/master/ ), found compatible packages version, I updated some and updated the code.

Ignore this error, it's automatically loading a fallback: Error: Cannot find module '../build/Release/bson'

It appears to work again!

branch "resurrect" in my fork https://github.com/BadCityGame/TriggerRally/tree/resurrect
PR #78

@parkerlreed

This comment has been minimized.

Copy link

commented Feb 25, 2019

:D sweet. Is this hosted anywhere at the moment? (About to try the local server)

@jareiko

This comment has been minimized.

Copy link
Contributor Author

commented Feb 26, 2019

Wow, fantastic! Thank you @DVLP! @parkerlreed: did you get it to work? I don't have time to test it myself right now.

I think it would be amazing if this could run off GitHub Pages, but I'm not sure how to handle the need for a backend database.

@parkerlreed

This comment has been minimized.

Copy link

commented Feb 26, 2019

Naah, I got some errors spat back.

[parker@stealth server]$ npm start

> trigger-server@0.0.1 start /home/parker/build/TriggerRally/server
> coffee app.coffee

{ Error: Cannot find module '../build/Release/bson'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/mongoose/node_modules/bson/ext/index.js:15:10)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/mongoose/node_modules/bson/lib/bson/index.js:3:24)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/index.js:2:22)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/mongoose/lib/utils.js:5:16)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/mongoose/lib/schema.js:7:13)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/mongoose/lib/index.js:7:14)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/mongoose/index.js:7:18)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/register.js:45:36)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/app.coffee:14:21)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/app.coffee:1:1)
    at Module._compile (module.js:653:30)
    at Object.exports.run (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/coffee-script.js:173:23)
    at compileScript (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/command.js:224:29)
    at compilePath (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/command.js:174:14)
    at Object.exports.run (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/command.js:98:20)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/coffee-script/bin/coffee:15:45)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3
 code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
[2019-02-26T16:26:08.597Z] Base directory: /home/parker/build/TriggerRally/server
[2019-02-26T16:26:08.628Z] Server listening on port 80 in development mode
Option log level is not valid. Please refer to the README.
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: listen EACCES 0.0.0.0:80
    at Server.setupListenHandle [as _listen2] (net.js:1343:19)
    at listenInCluster (net.js:1401:12)
    at Server.listen (net.js:1485:7)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/app.coffee:528:8)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/app.coffee:1:1)
    at Module._compile (module.js:653:30)
    at Object.exports.run (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/coffee-script.js:173:23)
    at compileScript (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/command.js:224:29)
    at compilePath (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/command.js:174:14)
    at Object.exports.run (/home/parker/build/TriggerRally/server/node_modules/coffee-script/lib/coffee-script/command.js:98:20)
    at Object.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/coffee-script/bin/coffee:15:45)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! trigger-server@0.0.1 start: `coffee app.coffee`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the trigger-server@0.0.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/parker/.npm/_logs/2019-02-26T16_26_08_637Z-debug.log
@parkerlreed

This comment has been minimized.

Copy link

commented Feb 26, 2019

Ok that bson not found wasn't the bailing error. The error was it was trying to start on port 80 as normal user... I changed it to 8080 but now it bails at not finding the mongodb server running. @DVLP Do I need to start the database separately?

Error: failed to connect to [localhost:27017]
    at exports.ConnectionPool.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:556:25)
    at emitThree (events.js:136:13)
    at exports.ConnectionPool.emit (events.js:217:7)
    at exports.Connection.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:156:15)
    at emitTwo (events.js:126:13)
    at exports.Connection.emit (events.js:214:7)
    at Socket.<anonymous> (/home/parker/build/TriggerRally/server/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:534:10)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:66:8)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! trigger-server@0.0.1 start: `coffee app.coffee`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the trigger-server@0.0.1 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/parker/.npm/_logs/2019-02-26T16_27_52_189Z-debug.log
@parkerlreed

This comment has been minimized.

Copy link

commented Feb 26, 2019

I DID NEED TO START MONGODB :D
image

@parkerlreed

This comment has been minimized.

Copy link

commented Feb 26, 2019

Ok so next up would be patching out the car check 😉

image

@parkerlreed

This comment has been minimized.

Copy link

commented Feb 26, 2019

And yeah only has that single track. Still amazing. Thanks @DVLP

@parkerlreed

This comment has been minimized.

@jareiko

This comment has been minimized.

Copy link
Contributor Author

commented Feb 26, 2019

Yayyy! Okay I'm going to merge this from sheer enthusiasm.

@parkerlreed

This comment has been minimized.

Copy link

commented Feb 26, 2019

@jareiko Do you still have all the old user created levels? Would be kinda cool to get those going.

@DVLP

This comment has been minimized.

Copy link
Contributor

commented Feb 26, 2019

@jareiko I'm glad you're happy and don't mind merging these assets in. I guess in the past it was important to keep them separately because that was part of the potential business. If you still want to keep them separately in the future I have some other terrain map which I can add under MIT license, and the car shouldn't be difficult to make because it's just one solid mesh without moving parts(except of the wheel).
@parkerlreed yay!

@jareiko

This comment has been minimized.

Copy link
Contributor Author

commented Feb 26, 2019

Yes, that was the idea. But I don't intend to pursue the game as a business anymore, and am happy if it can be a useful learning resource for others.

I don't remember what the licensing situation is for the assets. I guess the cars and terrain might be proprietary, so it would be good to switch them out for truly free ones at some point.

Thank you for doing this - it makes me very happy to see it running again!

@DVLP

This comment has been minimized.

Copy link
Contributor

commented Feb 27, 2019

It is fun to restore a project which is using now-outdated versions of packages and coffee script. It feels like archeology work but at the same time it's a nicely written and polished code with many interesting and relevant elements so with some work can be updated to the latest features of desktop Trigger Rally and beyond.

The first step I see here is updating THREE to the latest version. Here's a commit with broken render but at least things are working and not throwing errors. BadCityGame@d3292b7

Things are rendering in black because I commented out the materials for now, updating them might be more difficult than updating the API because Chrome's debugger is not too specific for WebGL errors i.e. "syntax error" and entire shader printed out

No miracles yet but this is THREE 101 version!
image

@DVLP

This comment has been minimized.

Copy link
Contributor

commented Feb 28, 2019

Getting there, the terrain shader works with some small lighting issue, the car is loaded but invisible for some reason
image

Edit: now it's visible, for some bizarre reason setting transparency to something else than 0.0 in it's JSON file makes it appear
image

@DVLP

This comment has been minimized.

Copy link
Contributor

commented Mar 4, 2019

Shaders(terrain with shadows, dust, skybox) updated for THREE 101. Dust points geometry updated to BufferGeometry with flat array attributes.
BadCityGame@f3825cb

Still on todo's list:
-Transpile to ES6
-Fix dust from under the wheels is only visible when reversing
-Fix scenery objects(gates, road signs, trees) not loading in Chrome

image

@parkerlreed

This comment has been minimized.

Copy link

commented Mar 5, 2019

I got so excited to play a level without trees, until I realized they are there just not rendered lol

image

Thanks!

@parkerlreed

This comment has been minimized.

Copy link

commented Mar 5, 2019

Also FWIW it doesn't render those objects in Firefox either. Is it rendering them anywhere?

@DVLP

This comment has been minimized.

Copy link
Contributor

commented Mar 15, 2019

@jareiko If you want I can make a PR for this now. Now only the dust effect is missing. Dust particles are visible only during reversing so this must be a one liner fix which may take a few hours to debug.
@parkerlreed I didn't have time to work on this until the last night and now the objects are all loading in the branch
image

@DVLP

This comment has been minimized.

Copy link
Contributor

commented Mar 21, 2019

As CoffeeScript didn't stand the trial of time and JavaScript caught up with all the cool features I converted the whole thing(client and server) to JavaScript. It should be easier for other enthusiasts to pick up and modify the project now #79
This shows the power of https://github.com/decaffeinate/decaffeinate project. With just a few hours of additional manual work it's all converted and working.

I left the suggestions generated by decaffeinate in the code, they will be useful during conversion to JS modules

@DVLP

This comment has been minimized.

Copy link
Contributor

commented Apr 28, 2019

Finally I managed to find some time to extract the terrain renderer. I barely managed to understand and remove quiver which is some kind of streams/pubsub like RxJS with many to many relationships but without documentation it was really difficult to follow. For now I replaced it with good old window globals :) Event emitter and callbacks should be enough to make this work properly without going into streams world so beginners who want to learn from the code won't get lost.
https://codesandbox.io/s/jl630vozl9

I'm going to reimplement this into the game when I'll find some time to turn everything into ES6 modules

Broken textures are not a problem but I'm having problems with the layers having gaps between them:
image

@jareiko

This comment has been minimized.

Copy link
Contributor Author

commented Apr 28, 2019

Wow, this is so cool! At first glance, it looks like there is no morphing happening at the edges of the terrain. I think this was computed in the vertex shader. Maybe it's missing from this sandbox?

@DVLP

This comment has been minimized.

Copy link
Contributor

commented Apr 28, 2019

Vertex shader is the problem and I can see that playing with numLayers and ringWidth params in renderTerrain.js is making the gaps more/less noticeable. Except of modifying the shader to adapt it the latest Three version I haven't invested much time into understanding how the tiles system works because GLSL is not my strongest side yet. The whole thing might also be caused by the plane lying on XZ axis instead of XY like originally in TR. It's worth mentioning that OrbitCamera is being used here and it's position is relative to it's target.

@DVLP

This comment has been minimized.

Copy link
Contributor

commented Apr 28, 2019

image
just like suspected. I'm using default Three coordinates where Y is up and Z goes towards the camera. In the game Z is up and Y away from the camera. For now I hardcoded a fix

before:

    // Work out how much morphing we need to do.
    vec3 manhattan = abs(worldPosition - cameraPosition);

after:

    vec3 cameraPosYUp = vec3(cameraPosition.x, -cameraPosition.z, cameraPosition.y);
    // Work out how much morphing we need to do.
    vec3 manhattan = abs(worldPosition - cameraPosYUp);

Probably this could be happening automatically by multiplying one of the values by one of the view matrices. I tried that but it doesn't seem to work

https://codesandbox.io/s/48mxrwz2j4

@Good51038

This comment has been minimized.

Copy link

commented May 2, 2019

Hi. Iam from Russia and I was playing in this game before it crashed a couple years ago. I would to know, could i play it now? Or it does not fixed yet? And if game is Ok, what I need to do, to play it?
P.S.: Ty, for yours reply!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.