I noticed that TIC-80 supports JS in addition to Lua, does that mean there is a fairly decent interface for adding new languages? I've been extremely intersted in Wren http://wren.io/ but it's new enough that there's not really any viable ways to do anything graphical or game related with it yet.
I can understand not wanting to support yet another thing officially (although I'm not opposed if you like the idea!), but I'm curious how long it'd take for someone new to dive into the code and add support for something else as a private fork.
I know the Wren language, is a new language that uses imperative OOP programming (wrong?) I do not think it's useful for the project. I prefer to see a Python variant (similar to GDScript with explicit data type statement). is my personal opinion, but Wrent is a language that does not simplify development with TIC-80 (my opinion).
Squirrel as script language is much more suitable for TIC-80. I vote for a Python-like language :)
I know a man who is trying to add Wren support (https://github.com/RudenkoArts/TIC-80/commit/fa40bf336087fbf483fb8375cba83e072580d99e)
As I know, the main problem is how to make Wren workable in a browser
Thank you very much, this is perfect! I'm kind of surprised about hearing about browser problems, I thought it was supposed to compile more or less out of the box with Emscripten. There's a JS sandbox at https://github.com/ppvk/wrenjs that might be useful to crib notes from.
@nesbox TIC-80 serves to create mini-games in the 80s style. In the 80's the most used language was Basic. Does not make sense to use modern languages ​​(especially OOP languages) in TIC-80 Do not you also believe it? is out of place for this retro style tool. It would be great to have a Basic version (similar to QBasic and QB64) to play games with TIC-80.
Basic is very easy, powerful enough to make games with TIC-80 (they do not need performance for this, they are very light mini games). It makes this project even more beautiful and faithful to the style of the era, and many people will love programming in Basic.
I do not think it's a bad idea. I hope that you have developers over 40 years ago, because they will definitely agree with me.
Nesbox has achieved a far better project at Pico-8 and all other clones. Only so much documentation (also integrated with the Tic-80 shell) is needed, and make the use of this tool easy for anyone, not just for experienced and modern programmers :)
Another interesting language would be C (simplified standardized C, with an API that allows to write projects with little code). C is the mother of all languages, the TIC-80 is very useful for learning for students and enthusiasts. So a C-Like is a good choice.
The TIC-80 also uses Js, but as I wrote above I find it out of place for a toll that simulates the 80s retro-computer. A procedural and functional script language without OOP and modern features is the best long-term choice.
Sorry if my english is not good. I sincerely thank you for the great work you are doing and will be happy to make donations to the project and to collaborate in the future to spread TIC-80 to all users who still do not know this wonderful tool. Thank you all <3
Emscripten works now, but need some tests, also need to make wren work for other platforms too.
About language, i agree that lua is good choice, maybe even best, but not for all, some people may prefer different paradigms and languages.
I've made this bindings to see, how wren will be in engine, and also for fantasy console game jams :)
Yes, wren is using OOP, but also it is very easy to learn, small and fast.
I agree that language must be simple, maybe with basic style.
Anyway, its up to TIC users.
For anyone else curious, I've started to mess around with a basic platformer written with TIC-80 and Wren. It's been a really fantastic language to work in so far, I'm really loving it. I haven't compared it to TIC-80's Duktape implementation, but as someone who dislikes the choices of how Lua works, it is a very exciting alternative.
https://github.com/sponge/tic80game
You'll need to build your own version of TIC-80 (although the ability to load languages from a DLL some day might be an awesome feature if it's not out of scope!)
It's a little tough to follow since everything is in one file, and no syntax highlighting for Wren on Github, Tried to write relatively well organized code, but it's also in progress still.
I merged _Wren_ support (https://github.com/RudenkoArts/TIC-80/tree/dev) to _master branch_ 4ff6f92
Big thanks to @RudenkoArts for the well-done job
changed default demo a bit
// title: game title
// author: game developer
// desc: short description
// script: wren
class Game is TIC{
construct new(){
_t=0
_x=96
_y=24
}
TIC(){
if(TIC.btn(0)){
_y=_y-1
}
if(TIC.btn(1)){
_y=_y+1
}
if(TIC.btn(2)){
_x=_x-1
}
if(TIC.btn(3)){
_x=_x+1
}
TIC.cls(13)
TIC.spr(1+((_t%60)/30|0)*2,_x,_y,14,3,0,0,2,2)
TIC.print("HELLO WORLD!",84,84)
_t=_t+1
}
}
Oh great, it's official now! I was just about to try and merge all the 0.70.0 changes with GetScriptConfig and such, but now I don't have to! :)
I haven't tried it with the official merged in version yet, but I've written a non-trivial example game in Wren, if anyone else stumbling on this is curious for an example:
@AnastasiaDunbar will do with .70 release
updated spec
Most helpful comment
Emscripten works now, but need some tests, also need to make wren work for other platforms too.
About language, i agree that lua is good choice, maybe even best, but not for all, some people may prefer different paradigms and languages.
I've made this bindings to see, how wren will be in engine, and also for fantasy console game jams :)
Yes, wren is using OOP, but also it is very easy to learn, small and fast.
I agree that language must be simple, maybe with basic style.
Anyway, its up to TIC users.