
Repl.it GFX: Native graphics development in the browser - starbugs
https://repl.it/site/blog/gfx?ref=updates
======
amasad
Repl.it co-founder here -- happy to answer questions :)

This is just coming out and lots of users are building impressive games; here
is quick small sample of things I found interesting:

\- Super Mario:
[https://repl.it/@JONASRAINS/SMOB3-Python](https://repl.it/@JONASRAINS/SMOB3-Python)

\- Pacman:
[https://repl.it/@argthe1st/Pacman](https://repl.it/@argthe1st/Pacman)

\- Flappy Bird (hold space to fly):
[https://repl.it/@rennecastro/FlappyBird](https://repl.it/@rennecastro/FlappyBird)

\- Dungeon game:
[https://repl.it/@AbrahamTinajero/VOLTHEGAME-V-061](https://repl.it/@AbrahamTinajero/VOLTHEGAME-V-061)

\- LOVE2D Ant:
[https://repl.it/@Essentuan/AntLove](https://repl.it/@Essentuan/AntLove)

\- Evolution simulator:
[https://repl.it/@dumfing/OutpaceEvolution](https://repl.it/@dumfing/OutpaceEvolution)

\- Doom style 3D maze:
[https://repl.it/@KatyaDelaney/GameJam-3DMAZE](https://repl.it/@KatyaDelaney/GameJam-3DMAZE)

I'm personally bullish on Pyxel -- the pico-8-like Python environment. Here is
one of the example games running:
[https://repl.it/@amasad/jumper](https://repl.it/@amasad/jumper) (make sure to
check the sweet asset editor; instructions in the comment).

Also, I forgot to mention in the post but this works great with friends on
Multiplayer -- you'll be able to interact with the same machine and output.
Earlier this morning I watched YouTube with a bunch of random Twitter users:
[https://twitter.com/amasad/status/1108804242393821184](https://twitter.com/amasad/status/1108804242393821184)
^^

~~~
AmIDev
How many people were working on repl.it before the first public release, and
for how long?

I have been following Repl.it since it's first release. We were quite amazed
when repl.it was released. We, a bunch of students, were building a project
very similar to what repl.it was in it's initial days, during the same time
period. we never managed to get our project to an usable stage, and eventually
everyone abandoned it.

~~~
amasad
I started working on the idea behind repl.it in 2009 when I was in college and
had trouble coding because of all the setup. With the help of a friend I
eventually got something usable in 2011 and open sourced. The engine powered
lots if other sited including Codecademy and Udacity.

I got back to working on repl.it in 2016 and my co-founders joined me.

------
dannycastonguay
I just came here to say thank you for doing this team. When I wanted to teach
my 5 year old how to type and do basic math, I did it in clojure using Repl.it

I may have biased it, but she found the experience more engaging than MIT
Scratch (which is also very good).

When kids and newbies engage with a product so easily (think git before
github), you suddenly vastly increase the userbase.

~~~
amasad
Thanks Danny! I think Scratch is probably the most impactful tool in getting
more people into programming. We have nothing but respect for the team.

However, when we talk to some of the kids coming to Repl.it from Scratch they
often say something along the lines of Scratch is an "adult's idea of what
kids might like". I think some kids want to feel like hackers and like they're
doing "the real thing."

To that end we're working on a framework that has similar semantics to Scratch
but is actually Python:
[https://github.com/replit/play](https://github.com/replit/play)

BTW: a 5 year old learning Clojure is fascinating. I hope you write about that
sometime.

~~~
noxToken
> _However, when we talk to some of the kids coming to Repl.it from Scratch
> they often say something along the lines of Scratch is an "adult's idea of
> what kids might like". I think some kids want to feel like hackers and like
> they're doing "the real thing."_

I teach a low-impact, almost impossible to fail programming elective to HS
students. We start with a fork of Scratch, and we eventually move to Python.
The above is generally the response of my students as well. Scratch is a nice,
gentle introduction, but then it becomes more tedious clicking through
categories, dragging-and-dropping, and maintaining an organized environment
with larger assignments. I'm inclined to agree. Also transferring concepts
from Scratch to a terminal language doesn't click for most students. I'm still
working on bettering my lesson plans in that aspect.

I do want to counter with something positive about these visual
implementations though. I think boot strapping the course would be 10 times
harder with just a terminal language.

~~~
Glench
Hey, you should definitely check out Python Play, the games/graphics library
@amasad mentioned:
[https://github.com/replit/play](https://github.com/replit/play)

It's uses similar language and a Scratch-like execution model, so you can do
things like this:

    
    
        face = play.new_text('^.^', font_size=100)
    
        @face.when_clicked
        async def do():
            face.words = '*o*'
            await play.timer(seconds=1)
            face.words = '^.^'

------
snazz
Running the Chromium instance within the Chromium instance within the blog
post worked better than expected!

~~~
amasad
How many levels deep did you get? I got 3 (excluding base reality)
[https://imgur.com/a/Zuh9d78](https://imgur.com/a/Zuh9d78)

~~~
yellowapple
I got to three and was about to try four, but then the second one
spontaneously combusted or something and reloaded itself.

------
Rebelgecko
The screen that says "run your repl to see output" never changes when I hit
run. Anyone else never seeing any actual graphics? I'm using Firefox on OSX
10.12.6.

~~~
kbenson
Are you hitting the differently colored word "run" in the sentence on that
screen, or are you clicking the play button above the code that's above that
screen? I was doing the former at first, until I noticed that button. Also on
Firefox, but Windows 10.

~~~
Rebelgecko
I'm hitting the play button. Something is definitely running, there's lots
output in the little text console (at least initially)

~~~
amasad
Are you behind a firewall that blocks WebScokets? Try this:
[https://www.websocket.org/echo.html](https://www.websocket.org/echo.html)

~~~
Rebelgecko
Interesting. That echo test fails for me in Firefox but works fine in Chrome.
However the repl doesn't give me graphics in either browser.

~~~
amasad
Strange. Any error in devtools?

------
nicbarth
This is awesome! I see you have tkinter, but could you guys add tcl / tk as a
language please! It'd be awesome to have tcl / tk apps on the web.

~~~
amasad
Here you go: [https://repl.it/@amasad/tcl-GUI](https://repl.it/@amasad/tcl-
GUI)

We'll add it as a top-level language soon.

~~~
nicbarth
Woah! This is so cool! Thank you so much! Runs my Tetris clone perfectly
ahaha.

[https://repl.it/@nickbarth/Tk-Tetris](https://repl.it/@nickbarth/Tk-Tetris)

------
sergiotapia
Why do the games run at super low FPS? Seems like 3 FPS or such. Mac Mojave,
Firefox 67.0b3 64bit

~~~
techntoke
This is why cloud development environments are a bad idea, instead companies
should be focused on open source and client-side automated solutions.

~~~
amasad
I think that's a bit of a hastily generalization. We mentioned in the post
(under Technology) that it's still beta quality.

More generally though we have millions of users that don't have the luxury of
running a fancy local developer environment. Either they're on chromebooks or
tablets or they don't have a computer altogether.

~~~
techntoke
You don't need anything fancy to run a developer environment. Why not just
build a local developer IDE app for Android, if you're the development
experts? There are already self-hosted server solutions for development
environments, and mobile developer applications for Android. The first thing
you see on your website is "sign up" or "log in". Most of those "developers"
are just getting started and will resent your products in a couple years. Just
give them time.

~~~
muratsu
For a Linux user, you can already build such a system yourself quite trivially
by getting an FTP account, mounting it locally with curlftpfs, and then using
SVN or CVS on the mounted filesystem. From Windows or Mac, this FTP account
could be accessed through built-in software.

~~~
lpage
Like Dropbox? I’ll just leave this here: [1]. The details are seldom easy.

[1]:
[https://news.ycombinator.com/item?id=9224](https://news.ycombinator.com/item?id=9224)

------
aboutruby
Quite impressive, you can basically run anything on a VNC, this could even be
used for automated browser testing and many other things! Congrats!

~~~
amasad
Yes, I think we preinstall chrome webdriver on the base image too!

~~~
ztratar
Automated browser testing via repl would be awesome... and a pretty sizable
biz model choice

------
miki123211
I'm really impressed by what this team is doing. When will we be running Word
in multi player mode instead of Google Docs? Just half kidding.

~~~
ZeikJT
[https://support.office.com/en-us/article/collaborate-on-
word...](https://support.office.com/en-us/article/collaborate-on-word-
documents-with-real-time-co-authoring-7dd3040c-3f30-4fdd-bab0-8586492a1f1d)

------
williamstein
This reminds me a lot of the new X11 graphics support we have in
[https://CoCalc.com](https://CoCalc.com) \--
[http://blog.sagemath.com/cocalc/2018/11/05/x11.html](http://blog.sagemath.com/cocalc/2018/11/05/x11.html)

------
gjsman-1000
Chromium in Chrome? WTH? AWESOME!

Blew my mind.

~~~
amasad
How many levels deep did you get? I got 3 (excluding base reality)
[https://imgur.com/a/Zuh9d78](https://imgur.com/a/Zuh9d78)

------
hacker_9
This is very cool. Any plans to support Elm lang in the future?

------
VectorLock
Pretty sick! Hows it work? I'd love to be able to have Pygame stuff show up
right in a web browser and not have it be wrapped by repl.it.

~~~
amasad
Coming soon. This will leverage our repl.run product which allows you to ship
any app -- web, terminal, desktop, etc -- as a web page
[https://repl.it/talk/announcements/BetaExplorers-
Announcing-...](https://repl.it/talk/announcements/BetaExplorers-Announcing-
replrun-publish-your-terminal-apps-as-websites/7802)

------
computing
just awesome

