carlini / js13k2019-yet-another-doom-clone Goto Github PK
View Code? Open in Web Editor NEWYet another doom clone (in 13kb of JavaScript)
License: GNU General Public License v3.0
Yet another doom clone (in 13kb of JavaScript)
License: GNU General Public License v3.0
The game is not working on my PC.
I've cloned it on my Windows 10 and opened with Vivaldi browser (also tried FireFox, IE and Edge). After titles and loading it just shows black screen, but the sound is working so the problem is in video.
Browser console shows:
audio.js:20 The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page. https://goo.gl/7K7WLu
(anonymous) @ audio.js:20
webgl.js:398 [Deprecation] 'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead.
(anonymous) @ webgl.js:398
setup @ webgl.js:395
setTimeout (async)
window.onload @ webgl.js:407
load (async)
(anonymous) @ webgl.js:407
graphics.js:111 C:\fakepath(182,24-54): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them
C:\fakepath(90,1): warning X4000: use of potentially uninitialized variable (f_get_shader)
C:\fakepath(114,25-29): error X4576: Input array signature parameter cannot be indexed dynamically.
Warning: D3D shader compilation failed with default flags. (ps_5_0)
Retrying with skip validation
C:\fakepath(182,24-54): warning X3571: pow(f, e) will not work for negative f, use abs(f) or conditionally handle negative values if you expect them
C:\fakepath(90,1): warning X4000: use of potentially uninitialized variable (f_get_shader)
C:\fakepath(114,25-29): error X4576: Input array signature parameter cannot be indexed dynamically.
Warning: D3D shader compilation failed with skip validation flags. (ps_5_0)
Retrying with skip optimization
C:\fakepath(133,7-53): error X3531: can't unroll loops marked with loop attribute
C:\fakepath(133,7-53): error X3511: forced to unroll loop, but unrolling failed.
Warning: D3D shader compilation failed with skip optimization flags. (ps_5_0)
Failed to create D3D Shaders
I was reading your description about how the maps are encoded, and memories of learning logo on an Apple ][e in the 80s flooded back....
It occurs to me that a cool project might be to write a tool that takes a file normally intended as instructions for a 3d printer, (typically huge) and pick a "level" (or filament layer number) and make that into a map for your game. you could walk around inside it.
or it could mean you could drop simple 3d printed objects into a room and walk around them?
here's a clip of part of a gx file (intended for a flashforge printer). is a single layer slice from this maze i mocked up in tinkercad, to do a proof of concept test. i printed a single layer to a file, part of which is readable as a text file:
;layer:0.25
G1 Z0.500 F420
;structure:shell-inner
G1 X-25.60 Y-73.90 F6000
G1 X-25.60 Y21.90 E107.0108 F3360
G1 X-74.40 Y21.90 E109.2223
G1 X-74.40 Y21.10 E109.2586
G1 X-26.40 Y21.10 E111.4338
G1 X-26.40 Y-10.10 E112.8477
G1 X-50.60 Y-10.10 E113.9443
G1 X-50.60 Y-3.10 E114.2615
G1 X-51.40 Y-3.10 E114.2978
G1 X-51.40 Y-11.90 E114.6966
G1 X-26.40 Y-11.90 E115.8295
G1 X-26.40 Y-73.10 E118.6029
G1 X-59.60 Y-73.10 E120.1074
G1 X-59.60 Y-45.90 E121.3400
G1 X-50.60 Y-45.90 E121.7479
G1 X-50.60 Y-45.10 E121.7841
G1 X-60.40 Y-45.10 E122.2283
G1 X-60.40 Y-72.10 E123.4518
G1 X-73.60 Y-72.10 E124.0500
G1 X-73.60 Y-30.90 E125.9170
G1 X-40.40 Y-30.90 E127.4216
G1 X-40.40 Y-62.10 E128.8355
G1 X-49.40 Y-62.10 E129.2433
G1 X-49.40 Y-62.90 E129.2796
G1 X-39.60 Y-62.90 E129.7237
G1 X-39.60 Y-30.10 E131.2101
G1 X-61.60 Y-30.10 E132.2070
G1 X-61.60 Y8.10 E133.9381
G1 X-37.40 Y8.10 E135.0348
G1 X-37.40 Y0.10 E135.3973
G1 X-36.60 Y0.10 E135.4336
G1 X-36.60 Y9.90 E135.8777
G1 X-62.40 Y9.90 E137.0469
G1 X-62.40 Y-29.10 E138.8142
G1 X-74.40 Y-29.10 E139.3580
G1 X-74.40 Y-73.90 E141.3882
G1 X-35.70 Y-73.90 E143.1420
G1 X-33.70 Y-73.90 E143.2326 F2832
G1 X-31.70 Y-73.90 E143.3233 F2304
G1 X-29.70 Y-73.90 E143.4139 F1776
G1 X-27.69 Y-73.90 E143.5050 F1248
G1 X-25.70 Y-73.90 E143.5952 F720
;structure:shell-outer
G1 X-25.20 Y-74.30 E143.5952 F300
G1 X-25.20 Y22.30 E147.9728 F2400
G1 X-74.80 Y22.30 E150.2205
G1 X-74.80 Y-15.30 E151.9245
G1 X-74.20 Y-15.30 E151.9516
G1 X-74.20 Y20.70 E153.5831
G1 X-26.80 Y20.70 E155.7311
G1 X-26.80 Y-9.70 E157.1087
G1 X-50.20 Y-9.70 E158.1691
G1 X-50.20 Y-2.70 E158.4863
G1 X-51.80 Y-2.70 E158.5588
G1 X-51.80 Y-12.30 E158.9939
G1 X-26.80 Y-12.30 E160.1268
G1 X-26.80 Y-72.70 E162.8640
G1 X-59.20 Y-72.70 E164.3322
G1 X-59.20 Y-46.30 E165.5286
G1 X-50.20 Y-46.30 E165.9364
G1 X-50.20 Y-44.70 E166.0089
G1 X-60.80 Y-44.70 E166.4893
G1 X-60.80 Y-71.70 E167.7129
G1 X-73.20 Y-71.70 E168.2748
G1 X-73.20 Y-31.30 E170.1056
G1 X-40.80 Y-31.30 E171.5739
G1 X-40.80 Y-61.70 E172.9515
G1 X-49.80 Y-61.70 E173.3594
G1 X-49.80 Y-63.30 E173.4319
G1 X-39.20 Y-63.30 E173.9122
G1 X-39.20 Y-29.70 E175.4349
G1 X-61.20 Y-29.70 E176.4318
G1 X-61.20 Y7.70 E178.1267
G1 X-37.80 Y7.70 E179.1871
G1 X-37.80 Y-0.30 E179.5497
G1 X-36.20 Y-0.30 E179.6222
G1 X-36.20 Y10.30 E180.1025
G1 X-62.80 Y10.30 E181.3080
G1 X-62.80 Y-28.70 E183.0753
G1 X-74.80 Y-28.70 E183.6191
G1 X-74.80 Y-74.30 E185.6856
G1 X-25.30 Y-74.30 E187.9288
G1 X-25.70 Y-73.90 E187.9373 F300
M107
G1 E185.4373 F1500
G1 Z0.600 F420
G1 X-5.70 Y-73.90 F6000
;end gcode
and a link to a discussion about the format : https://www.simplify3d.com/resources/articles/3d-printing-gcode-tutorial/
any idea if this is a do-able project, and if so do you have any suggestions about where to start?
Would be nice if the readme could explain the code minifier provide some requirements.txt for make.py and add general setup/getting started instructions.
I got it somewhat running with these two commands:
python -m SimpleHTTPServer &
firefox http://localhost:8000/src/webgl.html
But it looked kinda buggy and the view was resizing randomly.
What game engine did you use to make this, if any, and would you mind if I try to make a full game off of this?
I am using your javascript code as a base for a school project (sorry for using it ;) ) but I was wonderdering how I could change the textures and change the looks of the caracters but since you used javascript cilinders without texture and compressed the map code that a bit dificult. ( I'm 14 please go easy on the spelling English is not my native language). If somebody could help in any way that would be fantastic!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.