Catrobat in javascript

233 views
Skip to first unread message

Navpreet Devpuri

unread,
May 25, 2020, 9:49:47 PM5/25/20
to catrobat
Creating Catrobat in javascript will be very beneficial 
  • It can easily use on any platform linux, ios, android, windows..etc in any platform because every platform contains a webview that can run javascript. there are so many successfully projects like sugarlabsbabylon js ..etc
  • It can be use on a website and users can view and play other's games on website or can download offline html file to play game.
  • After game converts from "Pocket Code" to pure javascript code working with canvas, User can see how the game is looks in javascript.
  • Sharing of project is very user friendly because it contains a html file and a javascript files and assets, which is very attractive.
  • No need to develope big projects for very platform beacuse it is going to be "Cross-platform software".
  • There are so many graphics libraries in javascript and we can think about 3d graphis also by using babylonjs.
  • Javascript is very easy as compair to java.
  • Easy to improve beacuse for developement we just need a text-editor and a browser.
  • Easy to use because its just a website or a html offline file.



Navpreet Devpuri

unread,
May 25, 2020, 10:22:22 PM5/25/20
to catrobat
Most important point is missing that "We don't need to build game engine from scrach, We can use babylon js"
Message has been deleted
Message has been deleted
Message has been deleted

Navpreet Devpuri

unread,
May 26, 2020, 4:16:35 PM5/26/20
to catrobat

i am going to create catrobat.js which is a combination of babylonjsscratch and catrobat

Navpreet Devpuri

unread,
May 26, 2020, 4:49:18 PM5/26/20
to catrobat
can anyone pleaase suggest name for the project is it ok to be "Catrobat.js" or something like "babycatrobat" or "catbabybat" "babycat" "catrobatlon" ..etc ?

Navpreet Devpuri

unread,
May 26, 2020, 5:03:35 PM5/26/20
to catrobat
Or BabyScratch

Navpreet Devpuri

unread,
May 26, 2020, 5:06:11 PM5/26/20
to catrobat
Or catrobaby
Message has been deleted

Navpreet Devpuri

unread,
May 28, 2020, 12:07:55 AM5/28/20
to catrobat

Wolfgang Slany

unread,
May 28, 2020, 12:32:16 AM5/28/20
to catrobat
Hi,

Thank you for your nice suggestion. I agree it would be awesome, and we actually started doing something like this already once, see https://github.com/Catrobat/ended2019-HTML5 for the existing code base for it. It is not exactly what you are proposing, but there are some similarities. Basically, Catrobat projects could be executed in Javascript on a large browser with it, including access to any sensors, even on mobile devices, e.g., acceleration or magnetic sensors on phones etc. 

However, we stopped the development of this project last year, after many years of developing it, and spending a large amount of development time on it, from many persons. Several reasons, one being that since our iPhone version of Pocket Code was accepted in the Apple store last year, all major phone platforms are now supported by the native Android and iOS versions of our apps. And firefox OS and phones stopped being developed, so there is no need anymore for a browser-based version of Catrobat for phones. 

Running Catrobat projects on a PC already works well in other ways, see, e.g., https://wiki.catrobat.org/bin/view/FAQ/How%20can%20I%20project%20Catrobat%20apps%20on%20a%20large%20screen

So, basically we think that a) there's no need for a new JavaScript version, and b) it would be a HUGE amount of work, see e.g., https://github.com/Catrobat/ended2019-HTML5/graphs/code-frequency, with little additional value for our users. 

So, of course you are welcome to try, but be aware that you would probably spend many many years (decades!) of your life on it, and still would always be back behind our Android and iOS code base in terms of functionality. See for instance https://www.openhub.net/p/catroid --- that's just the Android code base for Pocket Code, without the paint application in it (in the center of the page):

In a Nutshell, Catroid...
...
has had 11,743 commits made by 262 contributors
representing 244,372 lines of code

and below that:

...
took an estimated 63 years of effort (COCOMO model)

So, like one person working for 63 years... According to https://www.openhub.net/p/catroid/estimated_cost, for fairly low salaries, this corresponds to 3.5 million US$.

For the whole Catrobat project, see https://www.openhub.net/p/catrobat --- almost 1000 person-years of effort, and estimated costs of 50 million US$ (again, with a very low salary as a basis for the calculation). 

So, reimplementing our apps in JavaScript, even if it will be less work since a lot has already been done, will be a huge (HUGE!!!) project.

Let me know whether you nevertheless would like to proceed.

Kind regards,
Wolfgang
Message has been deleted

Navpreet Devpuri

unread,
May 28, 2020, 3:55:42 AM5/28/20
to catrobat
BabyCatrobat is just a combination of Babylon.js, Blockly, Scratch and Catrobat.
Most important components are already made, we just need to combine those awsome tools.
I think combining those tools will takes very less time as compair to build those tools from scratch.
  • Babylon.js - Game engine 
  • Blockly - handles bricks (blocks) convert those into javascript code
  • Scratch - UI + Drawing tool 

Navpreet Devpuri

unread,
May 28, 2020, 4:01:44 AM5/28/20
to catrobat
For now i am learning about those tools and some source codes 
May be when i deeply undertood those tools or may be some source codes, i hope i will able to combine those tools. 

Wolfgang Slany

unread,
May 28, 2020, 4:45:47 AM5/28/20
to catrobat
We have two projects that are somewhat related:
  • Catblocks, which is based on Blockly, especially the Scratch flavor of Blockly, and is being currently being integrated into several places in Catrobat. Code base: https://github.com/Catrobat/Catblocks --- all written in JavaScript.

  • Scratch to Catrobat Converter --- this allows to translate Scratch projects into Catrobat projects. Code base: https://github.com/Catrobat/ScratchToCatrobat --- developed in Jython (mix of Java and Python) plus partly in Java.
If you are interested, you could work with us on one of these projects. Let me know if that would be something that could be of interest for you.

Kind regards,
Wolfgang
Reply all
Reply to author
Forward
0 new messages