hellrok / taylor Goto Github PK
View Code? Open in Web Editor NEWA simple game engine built using raylib and mruby
Home Page: https://www.taylormadetech.dev
License: MIT License
A simple game engine built using raylib and mruby
Home Page: https://www.taylormadetech.dev
License: MIT License
website with playground and tutorials is down.
The web functionality of this library is one of its biggest selling features however its hardly mentioned
On Reddit I am starting to see the taylor name come up more and more often. It would be huge to have the web/wasm support be marketed.
Other competitors status in the ruby/web/wasm space:
If we advocate for Taylor Web/WASM support than that puts Taylor at the top of the pile, being that its both open source and has web/wasm support with mruby.
Mention web/wasm (and other platforms) near top of taylor Github readme.
Mention web/wasm on taylor home page, https://taylor.oequacki.com/
Is there any documentation for taylor-config.json, as seen in the playground, https://github.com/HellRok/TaylorPlayground/blob/main/taylor-config.json
In particular I was interested in the web support that is provided. Would like some more details about it works.
The link to the full documentation (https://taylor.oequacki.com/documentation/taylor/) is broken and returns 403.
The top-level namespace is far too overused. Cons:
This makes for one extremely long documentation page, and the methods are buried 1/4 of the page down because of the excess of constants in the top level namespace. One of the major complaints about DragonRuby was that the documentation is just one giant page. (I cant find this link to this discussion point however I found it to be notable)
This top-level namespace is the least obvious link on the documentation pages, mostly the eyes are gravitated towards clicking on a class. (this was why I was previously unable to find the method get_attribute_from_element
)
Using the top-level namespace so heavily doesnt feel very Ruby like, as such I think many Rubyists could be turned off by this, I think that mostly all methods should be namespaced inside of some class.
An improved example taken from the website:
Window.init(800, 480, "Taylor Example")
Window.set_target_fps(60)
until Window.should_close? # Detect window close button or ESC key
Draw.drawing do
Draw.clear
Draw.text(
"Welcome to your first Taylor application!",
190, 200, 20, Colors::DARKGRAY
)
end
end
Window.close
init_window(800, 480, "Taylor Example")
set_target_fps(60)
until window_should_close? # Detect window close button or ESC key
drawing do
clear
draw_text(
"Welcome to your first Taylor application!",
190, 200, 20, DARKGRAY
)
end
end
close_window
If we did decide to update the namespace. If backwards compatibilty for old games is required then we could have a backwards_compatibilty layer that can be loaded. Ex.
# game.rb
require "backwards_compatibility"
# backwards_compability.rb
def close_window
Window.close
end
def init_window(*args)
Window.init(*args)
end
... etc ...
I found the project via reddit.
The github project I found from the URL for the downloads.
It would be nice if you could add this on the homepage somehow, so people can
report issues and so forth.
The troublesome link("here" on the attached image) points to https://www.taylormadetech.dev/documentation/taylor/
however, the link in the README does work: https://www.taylormadetech.dev/documentation/taylor/latest/
I see that at the time of this issue you're updating all links to your new domain, so I hope I'm not being too dense if you've already thought of updating that link but still didn't for a lack of time.
In the 5th step of the "Compile Yourself" section.
- Take make it easier to run, you can create a
taylor-dev
script and populate
it with:#!/usr/bin/env bash TAYLOR_PATH=/home/sean/code/taylor/ "$TAYLOR_PATH/dist/linux/debug/taylor" "$TAYLOR_PATH/cli-tool/cli.rb" "$@"
It should read "To make it easier to run [...]" shouldn't it?
Are there any plans to update to Raylib 5.0?
As the title says, The platformer and Gestures example can't run on the playground, I'm using Firefox 111 on linux, taking a look on the dev console reveals this error
Uncaught (in promise) Please compile your program with async support in order to use asynchronous operations like emscripten_sleep
After looking on the source code for the platformer example it seemed like there was a chunk of code missing required for running in web as stated in the cheatsheet, so I did the next changes to the platformer source code
# Was until window_should_close?
def main
# do game stuff...
end
# Added this before close_window
if browser?
set_main_loop 'main'
end
doing that, however gave me this error
Uncaught Infinity Taylor Playground.js:225:3
I'm not sure if I'm missing something or not, help is sure appreciated!
Just tried out the new release on a older OSX laptop with Intel chip:
(base) โ Downloads ./taylor --version
zsh: bad CPU type in executable: ./taylor
Didn't find custom shaders support. Are there any plans on integrating them?
Would it be possible to, say, add examples/ or something and add standalone examples there?
I learn best from adapting existing code. I used this for ruby-gtk and gosu for instance.
When I invest time into a new GUI toolkit I try to see what is all possible, so it would help to
see how things could be added (e. g. "how would I add a button-like user element" aka
on mouse click event do something, how to change font, colours and so on).
These examples can be very short, really mostly just focus on one aspect. And a few
more complex examples at a later point. I'll definitely check out taylor in the future; am
just a bit scared about the time investment without knowing that this may be useful. :)
(While I know ruby, C is unfortunately above my head, so I try to stay "within" ruby at
all times.)
Is hot reloading a planned feature? I think it could be really cool to see!
CRuby is generally faster but causes more overhead than MRuby, so was it decided to use MRuby instead?
Does this support any additional functionality over mruby such as require, load, or file io operations?
specifically things like this fork of mruby does? https://github.com/iij/mruby
has some really good features.
I just installed Taylor on Windows 10, but when i try to run taylor new
it returns the following error:
[6] (unknown):0
[5] (unknown):0:in call
[4] (unknown):0:in new
[3] (unknown):0:in initialize
[2] (unknown):0:in call
[1] (unknown):0:in create_directory!
(unknown):0:in mkdir: Permission denied - taylor_game (Errno::EACCES)
Is there something I did wrong, and if so how do I get it to work.
./taylor
./taylor: /usr/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ./taylor)
I am stuck on glibc 2.28 right now. Anyway, this is just to let you know that this may not work for
everyone right now (damn glibc versions...)
Hello! This project looks awesome. As a fan of raylib, using it in ruby just feels natural. I see in the cheatsheet that there's still no support for 3D models or 3D rendering. When are those expected to be added? I would be interested in contributing :)
I just did a git clone checkout and compiled it. It compiled without errors:
./vendor/linux/raylib/include/ build/linux/debug/argv.o build/linux/debug/main.o build/linux/debug/mruby_integration/audio.o build/linux/debug/mruby_integration/audio/device.o build/linux/debug/mruby_integration/audio/music.o build/linux/debug/mruby_integration/audio/sound.o build/linux/debug/mruby_integration/core.o build/linux/debug/mruby_integration/core/cursor.o build/linux/debug/mruby_integration/core/drawing.o build/linux/debug/mruby_integration/core/files.o build/linux/debug/mruby_integration/core/gestures.o build/linux/debug/mruby_integration/core/input.o build/linux/debug/mruby_integration/core/input/gamepad.o build/linux/debug/mruby_integration/core/input/keyboard.o build/linux/debug/mruby_integration/core/input/mouse.o build/linux/debug/mruby_integration/core/input/touch.o build/linux/debug/mruby_integration/core/misc.o build/linux/debug/mruby_integration/core/screen_space.o build/linux/debug/mruby_integration/core/timing.o build/linux/debug/mruby_integration/core/window.o build/linux/debug/mruby_integration/models/camera2d.o build/linux/debug/mruby_integration/models/colour.o build/linux/debug/mruby_integration/models/font.o build/linux/debug/mruby_integration/models/image.o build/linux/debug/mruby_integration/models/music.o build/linux/debug/mruby_integration/models/rectangle.o build/linux/debug/mruby_integration/models/sound.o build/linux/debug/mruby_integration/models/texture2d.o build/linux/debug/mruby_integration/models/vector2.o build/linux/debug/mruby_integration/shapes.o build/linux/debug/mruby_integration/shapes/circle.o build/linux/debug/mruby_integration/shapes/collision.o build/linux/debug/mruby_integration/shapes/ellipse.o build/linux/debug/mruby_integration/shapes/line.o build/linux/debug/mruby_integration/shapes/pixel.o build/linux/debug/mruby_integration/shapes/rectangle.o build/linux/debug/mruby_integration/shapes/ring.o build/linux/debug/mruby_integration/shapes/triangle.o build/linux/debug/mruby_integration/struct_types.o build/linux/debug/mruby_integration/structs.o build/linux/debug/mruby_integration/text.o build/linux/debug/mruby_integration/textures.o build/linux/debug/raygui.o ./vendor/linux/libmruby.a ./vendor/linux/raylib/lib/libraylib.a -l dl -l pthread
However had, I don't quite know what to do next now ... could you perhaps add a bit more content to the main README? Perhaps "next steps" or so? Or the omnipresent "hello world" example after having compiled/installed taylor? Right now I am not sure which way to go next from here ...
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.