small medium large xlarge

21 Feb 2013, 13:47
ron campbell (22 posts)

I just want to first thank you for getting the initial info on the ICE Editor into the Beta book, it was invaluable. Using the edit only mode to back out was so helpful maybe there should be a button for that?

The ICE editor can be challenging, and tends to lock up a lot or quit rendering after more than the slightest of modifications, as well as degrade graphically until you have to restart it in a different window. Even adding variable lines can drop the rendered picture to not come back.

That said, I can recognize how this helps this book progress, and have not immediately found alternatives. Are there alternative Editors to use? What steps would need to be taken to do these exercises on other editors?

I’m an adult, working through these exercises in hopes I can share this with a 10 year old nephew that would probably jump if he couls see these results and connect them with the games he plays. The first few chapters of building a player are a good start for that.

Keep it up\, I’m in.

21 Feb 2013, 21:14
Chris Strom (277 posts)


Thanks for the feedback. I really appreciate you taking the time to help me deliver a better book / experience.

What version of Chrome / OS are you using? I have seen similar problems, though it sounds like you have it worse than what I’ve seen.

It so happens that I am working through some improvements for ICE as we speak. There are a couple of annoyances of my own that I am trying to fix as well as a few improvements.

I have two fixes that should help, if not resolve display issues. Both try to limit the frequency with which the visualization updates. I need to test it a bit more before I push the changes out.

I didn’t make the edit-only feature a button because a button won’t be of much use if the browser is locked up :P

That said, if you want to do a lot of typing without updates, you can uncheck the checkbox in the Update button. Then you’d need to click the Update button to see your changes. It’s probably worth mentioning this feature in the book – I’ve added it to my TODO list.

FWIW the ICE editor is a combination of the ACE Code Editor and a separate frame to hold the Three.js visualizations. I don’t think the problems are ACE (github uses it, so it’s solid). I think it’s just updating webgl / canvas too much (so hopefully my fixes will help).

If you’re curious, the code for it is “available on github”: (it’s all in the gamingjs branch for now).

Sorry for the essay response. I’ll try to push the change out shortly so that you can try it out. Thanks again for the feedback!


23 Feb 2013, 14:52
ron campbell (22 posts)

Thank you very much Chris, I am using the ICE Editor across a few computers, Windows 7 32 bit, Windows 7 64-bit, and Ubuntu 12.10 using Chrome - Version 24.0.1312.70. I believe automatic updating is enabled for both Windows machines so they are on the latest versions.

I seem to have the same issues across them all with the frequent freezing and understand the machinations behind it, thanks for the tip regarding the update check box.

23 Feb 2013, 17:56
Chris Strom (277 posts)

Ah, that might be it then. I’ve been using the dev channel build (25 & 26) while writing the book in the hope that Chrome would be there once the book came out. Not quite, it seems.

In the meantime, I’ve got the beta version available at: You’ll still have access to the same code and can always switch back to the usual version if something goes wrong. I’m going to try it out for a week or so before moving it over to the real location.

If you do try it out, let me know if you notice any improvements. I’ll dig up a machine with 24 on it to test it out myself.

And thanks again for the feedback!

25 Feb 2013, 16:30
ron campbell (22 posts)

Chris, I have used the beta version of ICE with my windows PC and Chrome Version 24.0.1312.57 m and it is much more sturdy in regards to not locking up after changes.


25 Feb 2013, 19:51
Chris Strom (277 posts)

Yay! It’s working for me in 24 as well, but I have yet to use it for a long enough period to convince myself that most / all problems were resolved. Hopefully I can do that tonight or tomorrow.

Huge thanks for your feedback – I really appreciate it!

06 May 2013, 21:29
Mike Wilkes (1 post)

Just bought the book and noticed the Help within ICE doesn’t navigate correctly. It attempts to go to, but that doesn’t exist.

Has the repo been moved?

Looking forward to working through this with my daughter. Thank you for publishing it!

07 May 2013, 21:08
Chris Strom (277 posts)

Thanks, I’ll get ICE updated with the proper Help link. The correct link is: (although it will probably change as well).

Hope you and your daughter have as much fun with the book as I have had with my kids!

In case you’re interested, the long answer…

The original project was Mr.doob’s (the same person behind Threejs). Its original name was code-editor, but he renamed it as htmleditor ( That’s why the link is broken.

I forked the code and did a lot of work to get it ready for the book. Mr.doob wasn’t ready to accept PRs, so our codebases diverged quite a bit.

I am in the process of rewriting the code completely in Dart. The repo for that is at: That is going well, so I hope to have it ready to replace ICE in a month or two (before the first edition). If you are interested in helping with the editor, that is the place to start.

08 Sep 2013, 02:02
Peggy Griffin (1 post)

A computer repair caused saved progress in ICE to be lost. Is there a way to have code pre-loaded up to the current chapter or page without having to start from scratch at the beginning of the book?

08 Sep 2013, 19:10
Chris Strom (277 posts)

@Peggy: currently, the only way to do this is to copy & paste the code from the back of the electronic version of the book (or from the downloadable source code) into an empty project.

Obviously, that is not ideal so I have opened a new Import/Export milestone for ICE to make this easier.

If you or anyone else wants to help out feel free to send a PR or sign-up to #pairwithme at the bottom of the project page :)

19 Oct 2013, 12:39
Garth Williams (1 post)

Just going through the 1st exercise where you change the “chunkiness” of the sphere and my kids broke the ICE editor by setting the second param to 9999, which locks up the browser. And when you reload it goes right back in to attempting to render again, so there’s no way to recover. Had to manually go into local storage and fix the code there, but I don’t think that the kids would have worked that out on their own.

21 Oct 2013, 15:09
Chris Strom (277 posts)

@Garth Yikes! Don’t edit localStorage – that’s just asking for trouble :)

Section 2.6 “Recovering When ICE Is Broken” in the book describes how to get around this. The long and the short of it is to use a different URL to access “Edit Only” mode: (add the ?e at the end).

Your kids are in good company – my son did the exact same thing, which is how “Edit Only” mode was born!

28 Dec 2013, 01:22
Bill Kirtley (1 post)

I gave my nine year old the book for Christmas. He also got an iPad, and immediately downloaded Chrome, super excited he’d be able to do the exercises on his very own device, rather than having to use a shared computer. And it almost works. The sample program comes up with the spinning multisided thing spinning, and the code showing… But the code editor window won’t scroll.
Is there any chance ICE will ever work in Chrome on a tablet?

28 Dec 2013, 16:27
Chris Strom (277 posts)

I had no idea there was a Chrome for the iPad. Cool!

ICE uses Ace ( Cloud9 Editor) for actual editor. Unfortunately, that does not seem to support mobile/tablet editing currently:

In an earlier life, ICE used CodeMirror for its editor. That, I think has better tablet support, but the error reporting is not as nice for beginners. Even if the error messages have improved, I would be hesitant to switch because they would likely be different than screenshots in the book and I wouldn’t want to cause confusion.

It might be possible to hack together a mobile version of ICE that uses CodeMirror that could be made available at m.gamingjs or something along those lines. I’d be curious to explore that if anyone would be willing to #pairwithme (hint, hint). There is a #pairwithme signup button on the ICE Code Editor GitHub page: :D

You must be logged in to comment