Commit graph

62 commits

Author SHA1 Message Date
Phoenix Eliot
8780f335c7 Fix adjusting for whitespace in playercode 2016-09-01 15:57:59 -07:00
Phoenix Eliot
663c220eaf Show wev-dev iFrame error messages like Aether's
This heavily refactors SpellView and adds infrastructure for receiving and reporting Errors raised by the web-dev iFrame. The web-dev error system, the Aether error system, and the Ace html-worker avoid disturbing each others' errors/annotations (though currently Aether+web-dev errors won't coexist), and they clear/update their own asynchronously.

Show web-dev iFrame errors as Ace annotations

Add functional error banners (with poor messages)

Improve error banners, don't allow duplicate Problems

Refactor setAnnotations override

Convert all constructor calls for Problems

Add comments, clean up

Clean up

Don't clear things unnecessarily

Clean up error message sending from iFrame

Add web-dev:error schema

Clarify error message attributes

Refactor displaying AetherProblems

Refactor displaying user problem banners

Refactor onWebDevError

Set ace styles on updating @problems

Clean up, fix off-by-1 error

Add comment

Show stale web-dev errors differently
Some web-dev errors are generated by "stale" code — code that's still running in the iFrame but doesn't have the player's recent changes.
This shows those errors differently than if they weren't "stale", and suggests they re-run their code.

Hook up web-dev event schema

Destroy ignored duplicate problems

Functionalize a bit of stuff

Fix ProblemAlertView never loading
2016-08-31 10:59:06 -07:00
Phoenix Eliot
c33f86768a Translate level wrapper code 2016-08-18 14:09:34 -07:00
Matt Lott
ba6d51659c Show in-game programming language
Closes #3814
2016-08-03 11:08:20 -07:00
Nick Winter
6e65171a83 i18n, comments, misc cleanup 2016-07-17 00:53:17 -07:00
Nick Winter
6ae89e31f1 Add direct link to play game/web-dev creations while coding them 2016-07-15 22:14:25 -07:00
Nick Winter
e3670165e7 Remove code for multiple spells; rename SpellListTabEntryView to SpellTopBarView; remove hero avatar from SpellTopBarView 2016-07-14 22:43:25 -07:00
Nick Winter
ed320a8d9e WebSurfaceView now parsing player code through virtual DOM into iframe 2016-07-14 18:07:36 -07:00
Nick Winter
16b10612b6 Stub WebSurface showing for web-dev levels 2016-07-14 12:34:22 -07:00
Nick Winter
c0a70cb2ab Refactor level type checks for easy greppability (level.isType) 2016-07-14 08:58:43 -07:00
Matt Lott
425115ad37 Remove level type 'hero-practice', use level.practice 2016-06-25 08:38:59 -07:00
Matt Lott
e0170d0339 Add hero-practice level type and threshold to schema
Filtering out hero-practice levels from classrooms until the Ux
supports them.
2016-06-19 20:23:32 -07:00
Scott Erickson
86fc4a3846 Hints v1
Add per-level tips and tricks, available during gameplay to help unstick players.

Closes #3736
2016-06-15 16:12:41 -07:00
Nick Winter
a96d5df78e Don't protect APIs in game-dev levels 2016-06-13 16:21:22 -07:00
Nick Winter
d2634e63ed Fix #3642: AIs using aiSource now don't need API protection (with new Aether) 2016-06-09 17:59:19 -07:00
Nick Winter
b0fcddac68 Add game-dev level type (#3725)
* Initial pass adding new game-dev level type.

* Fix a failing test with updated LevelSystem required properties

* Bring back normal Angel worker timeout times

* Fix another failing LevelSystem test since removing propertyDocumentation
2016-06-08 16:57:00 -07:00
Nick Winter
dd08a8bd64 Fix always using JavaScript for enemy AI in multiplayer 2016-05-24 13:54:49 -07:00
Nick Winter
8fce97aad3 Fully remove Clojure and Io. Use new Aether 0.5.0. 2016-05-24 12:00:04 -07:00
Nick Winter
e4c904463c No more transpiledCode 2016-05-05 13:22:30 -07:00
Nick Winter
22007fff9b Make multiplayer work in esper mode 2016-05-03 22:26:48 -07:00
phoenixeliot
66f99dd834 Add translation tooltips for code
Tweak tooltips, add some translation keys

Fixed not showing translations for English-speakers

Remove comment
2016-04-26 16:37:07 -07:00
Nick Winter
59e8c42ddb Client-side support for beating picoCTF levels 2016-03-03 17:18:24 -08:00
Nick Winter
b5bb662ed2 Add picoCTF problem descriptions to levels; streamline picoCTF flows more 2016-02-17 11:33:56 -08:00
Nick Winter
95c703a7df Simulate games in background while playing levels if we think there's extra compute power 2015-11-29 12:30:19 -08:00
Nick Winter
cb101c7905 Replace simple loops while while True in course level sample code 2015-11-12 11:00:51 -08:00
Matt Lott
3ed755076b Enable while True auto yielding for all level types 2015-10-20 06:42:46 -07:00
Matt Lott
cc642e7254 Auto yield while True loops for course levels 2015-10-19 16:46:53 -07:00
Nick Winter
35ef48b108 Mirror ladder levels now copy source code to other side, too, not just transpiled code. Mirror sessions don't submit if there's a user code error. 2015-09-08 16:34:20 -07:00
Nick Winter
15ecc92abc Adding 'course' type levels. Removing 'campaign' type levels. 2015-07-24 17:37:42 -07:00
Nick Winter
e21360127d Polls! 2015-03-08 16:36:17 -07:00
Nick Winter
1aa738b256 Fixed up headless client, I hope. 2015-02-12 16:07:19 -08:00
Nick Winter
c977ecc16f Adding easy observing of leaderboard matches (except top 5). 2015-01-31 10:04:11 -08:00
Nick Winter
77cca7189f Updated a bunch of code that got busted with CoffeeScript 1.9.0. 2015-01-30 07:51:57 -08:00
Nick Winter
706b2ca930 Don't includeFlow for Thangs with skipProtectAPI on, because we don't care about their flow anyway (non-read-write custom Programmables). 2015-01-16 18:47:30 -08:00
Scott Erickson
31214e854e Wabam. Refactored a bunch of stuff into 'core' folders so that it's clearer which files are being loaded first thing, and which are not. Also reworked a bunch of the anymatch things in config.coffee, cause there were better ways. 2014-11-28 17:49:41 -08:00
Matt Lott
c16b0f97bf Update sync PVP to use transpiledCode 2014-11-22 20:48:07 -08:00
Matt Lott
f56d01419f Update sync pvp teams and real-time playback
-Non-creator will switch teams upon joining a sync pvp game, if creator
is on same team
-Team swapping should only affect level session
-Real-time multiplayer submit now reloads PlayLevelView to ease loading
both player’s latest level sessions, and then automatically starts
real-time playback.
2014-11-17 15:07:10 -08:00
Nick Winter
ad06000ceb Fixed three big memory leaks: LevelSetupManagers never being destroyed, wall grid closures retaining Lanks, and real-time-multiplayer:new-opponent-code retaining Spells. 2014-11-09 16:19:18 -08:00
Nick Winter
2e3afa989b Handling some missing comment template errors better. Fixed equipping builder's hammer before Kithgard Gates. Fixed next level branch button linking. 2014-10-29 12:08:03 -07:00
Nick Winter
5ba1f61abe Added i18n support for level code comments. 2014-10-28 21:15:47 -07:00
Nick Winter
440e1700b1 Using aiSource now for enemy AIs in multiplayer, separate from sample code source. 2014-10-19 12:44:58 -07:00
Nick Winter
56a80e3615 Started getting hero-ladder level type working. 2014-10-18 14:51:49 -07:00
Nick Winter
5c40f99d99 Hide guide and select-a-thang message when not needed. Updated commonThisMethods. Restricted script IDs a bit. 2014-10-14 22:38:22 -07:00
Matt Lott
7cbb5ac45d Pass common 'this' methods to Aether 2014-10-14 17:53:17 -07:00
Matt Lott
ce14f92979 Pass problem context to Aether
So Aether can craft better error messages.
Bumping Aether to v0.2.39
2014-10-14 14:02:34 -07:00
Nick Winter
fcd174ed22 Re-enabled line-by-line highlighting through brute force for hero levels. 2014-10-07 22:28:53 -07:00
Matt Lott
136af8a0b4 Fixes for world simulation without Web Workers
Primarily for IE9, which is still blocked by box2d issues with these
changes.

Forcing vendor.js instead of vendor_with_box2d.js in main.html allows
you to load a level in IE9, but without Collision-based movement.

Work in progress.
2014-09-28 23:24:18 -07:00
Nick Winter
73d6261b5d Hide run shortcut (shift+enter) for first few levels so as not to distract. Don't show beautification button in Python mode. Don't show maximize editor button in hero levels. Don't show method selector if there's only one method. Renamed some spells to methods. Added a bit of i18n. 2014-09-24 16:29:28 -07:00
Nick Winter
e109cbbbdc Hid world map level icons for now. Hid play counts when fewer than 20 players. Disabled Zatanna for now until it can stop doing this.this.moveRight()(). Disabled hover debugger for new hero levels for now. Fixed bug with victory modal not allowing replay of completed non-hero levels. 2014-09-23 11:39:56 -07:00
Nick Winter
00e2fc99a2 Fixed some issues with the sample code. 2014-09-23 08:58:23 -07:00