CodeArtemis / TriggerRally

Trigger Rally Online Edition - fast arcade rally racing
Other
322 stars 132 forks source link

Trigger Rally is down :o #76

Closed jareiko closed 3 years ago

jareiko commented 8 years ago

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 commented 8 years ago

D: Hope you get everything worked out

jareiko commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

:( I loved trigger raly

jareiko commented 8 years ago

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

SuperScratch commented 8 years ago

Its okay ican wait

wangyapeng commented 8 years ago

its crazy

imjasonmiller commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

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 commented 8 years ago

can we see the update?

jareiko commented 8 years ago

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 commented 8 years ago

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/CodeArtemis/TriggerRally/issues/76#issuecomment-223719571, or mute the threadhttps://github.com/notifications/unsubscribe/AFXDiXHOBOeKYFuvAtaJi07bZ2NkWlQEks5qILu6gaJpZM4HGjD7.

jude802 commented 7 years ago

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 commented 6 years ago

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

Tomoli75 commented 6 years ago

still down

parkerlreed commented 6 years ago

@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 commented 5 years ago

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 https://github.com/CodeArtemis/TriggerRally/pull/78

parkerlreed commented 5 years ago

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

jareiko commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

I DID NEED TO START MONGODB :D image

parkerlreed commented 5 years ago

Ok so next up would be patching out the car check :wink:

image

parkerlreed commented 5 years ago

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

parkerlreed commented 5 years ago

Video https://www.youtube.com/watch?v=rDJ9OhJDkZk

jareiko commented 5 years ago

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

parkerlreed commented 5 years ago

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

DVLP commented 5 years ago

@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 commented 5 years ago

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 commented 5 years ago

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. https://github.com/BadCityGame/TriggerRally/commit/d3292b784f0050d95554a0237f3a7894871ef5da

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 commented 5 years ago

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 commented 5 years ago

Shaders(terrain with shadows, dust, skybox) updated for THREE 101. Dust points geometry updated to BufferGeometry with flat array attributes. https://github.com/BadCityGame/TriggerRally/commit/f3825cb6600d38ae5f27b1ea12b4be6460ac9210

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 commented 5 years ago

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

image

Thanks!

parkerlreed commented 5 years ago

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

DVLP commented 5 years ago

@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 commented 5 years ago

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 https://github.com/CodeArtemis/TriggerRally/pull/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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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!

RallyFan2020 commented 4 years ago

and there goes a game that I played years ago, and it marked me a lot, goodbye trigger rally I hope that one day the guys will revive this game or the developers will return this game to active because I'm upset today, nothing new about the trigger rally , this is already a sign that the game died :(

gre commented 4 years ago

Internet moves fast

DVLP commented 3 years ago

Not down anymore! https://github.com/CodeArtemis/TriggerRally/pull/85

parkerlreed commented 3 years ago

:O YESSSS. Thank you

Tomoli75 commented 3 years ago

This is marvellous news!

wrencherd commented 3 years ago

🙌👍


From: Tomoli75 @.> Sent: Wednesday, March 17, 2021 5:16 PM To: CodeArtemis/TriggerRally @.> Cc: wrencherd @.>; Manual @.> Subject: Re: [CodeArtemis/TriggerRally] Trigger Rally is down :o (#76)

This is marvellous news!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/CodeArtemis/TriggerRally/issues/76#issuecomment-801477662, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAY6R65BBZCH7TUSZBBC7G3TEES3DANCNFSM4BY2GD5Q.

jareiko commented 3 years ago

Thank you @DVLP !! :heart:

https://codeartemis.github.io/TriggerRally/server/public/