Commit graph

571 commits

Author SHA1 Message Date
Scott Erickson
dbf63e250c Add realtime keyboard events for game dev 2016-08-19 09:44:36 -07:00
Nick Winter
d77625bc77 Game dev levels (#3810)
* Tweak API doc behavior and styling

* Instead of moving to the left during active dialogues, just move to the top
* Allow pointer events
* Adjust close button
* Re-enable pinning API docs for game-dev and web-dev levels

* Make sidebar in PlayGameDevLevelView stretch, better layout columns

* Set up content of PlayGameDevLevelView sidebar to scroll

* Add rest of PlayGameDevLevelView sidebar content, rework what loading looks like

* Finish PlayGameDevLevelView

* Add share area below
* Cover the brown background, paint it gray

* Tweak PlayGameDevLevelView

* Have progress bar show everything
* Fix Surface resize handling

* Fix PlayGameDevLevelView resizing incorrectly when playing

* Add GameDevVictoryModal to PlayGameDevLevelView

* Don't show missing-doctype annotation in Ace

* Hook up GameDevVictoryModal copy button

* Fix onChangeAnnotation runtime error

* Fix onLevelLoaded runtime error

* Have CourseVictoryModal link to /courses when course is done

* Trim, update CourseDetailsView

* Remove last vestiges of teacherMode
* Remove giant navigation buttons at top
* Quick switch to flat style

* Add analytics for game-dev

* Update Analytics events for gamedev

* Prefix event names with context
* Send to Mixpanel
* Include more properties

* Mostly set up indefinite play and autocast for game-dev levels

* Set up cast buttons and shortcut for game-dev

* Add rudimentary instructions when students play game-dev levels

* Couple tweaks

* fix a bit of code that expects frames to always stick around
* have PlayGameDevLevelView render a couple frames on load

* API Docs use 'game' instead of 'hero'

* Move tags to head without combining

* Add HTML comment-start string

Fixes missing entry point arrows

* Fix some whitespace
2016-07-28 13:39:58 -07:00
Nick Winter
c5c831c211 Remove real-time multiplayer prototype code 2016-07-14 10:26:09 -07:00
Scott Erickson
b2bb129cbf Add realTimeInputEvents to world and gameUIState, with just mousedown events 2016-07-08 14:17:07 -07:00
Scott Erickson
fe1598cab2 Implement multi-select, remove click-to-navigate from level editor 2016-06-28 09:20:05 -07:00
Scott Erickson
4dda1b67dd Refactor ThangsTabView to use GameUIState for managing all Surface mouse events
Attempting to use a react-component-like system, where the Surface simply emits everything that
happens through the shared GameUIState, and the parent (in this case the ThangsTabView, but theoretically
anything that uses the surface) handles the events manually, to enforce desired behavior for that particular
context.

It's nice that all the event handling is centralized, but it's still a bit of a mess, and not thoroughly
stateful. But it's a start. This is in preparation for allowing multi-thang selection and manipulation
in the level editor.
2016-06-28 09:19:38 -07:00
Nick Winter
790c0375f1 Increase name label background opacity as per Robin's suggestion 2016-05-31 17:22:37 -07:00
Nick Winter
4160058505 Make skipping real-time playback jump to final frame. Fix #2827. 2016-05-31 08:50:17 -07:00
Nick Winter
6f63de5ec8 Improve contrast of name labels against their backgrounds 2016-05-30 16:45:33 -07:00
Matt Lott
255ebbc048 Ads for free campaign players
Display leaderboard ads on campaign and play views.
Do no show ads in classroom, picoCTF, or to teachers.
Add no ads blurb to subscription features matrix.
Scale game UI for ads on short screens.

Closes #3491
2016-03-18 10:29:31 -07:00
Nick Winter
99acf2d40e Properly skip tweens for shadows we removed during sprite parsing 2016-02-22 13:11:46 -08:00
Nick Winter
da04f9f8a6 Add VR wall to walls list 2016-02-02 08:16:23 -08:00
Nick Winter
aa18e71388 Remove a log 2016-01-26 13:20:04 -08:00
Nick Winter
a7e6c14688 Also recognize classroom and VR floors 2016-01-25 12:35:45 -08:00
Nick Winter
87ceb36a6f Recognize classroom walls as wall obstacles visually 2016-01-25 12:29:22 -08:00
Cat Sync
efbd66a9b1 use thang.labelStyle to configure Labels
This allows level creators to configure the type of dialogue box used
when a thang says a message.
2016-01-20 11:48:09 -05:00
Nick Winter
f8091443e9 Lower the number of rerenderings needed when spritesheets get full. Add a jitSpritesheets query variable option for comparing performance of prerendered spritesheets. 2015-12-18 13:26:47 -08:00
Scott Erickson
31b65ef247 IE9 hacks
* GET params in a url sent through router.navigate are lost on IE9, use document.location.href = url instead
* Temporarily put raster images in the DOM to give them dimensions so they are rendered in the spritesheet correctly
* Add {cache: false} to fetches for /hoc course instances and sessions
2015-12-04 15:50:07 -08:00
Nick Winter
69379fb54f Show floating hero player names in course-ladder levels 2015-11-30 13:05:34 -08:00
Nick Winter
ee6be55a9d Don't load sounds from level while muted 2015-11-29 12:32:04 -08:00
Scott Erickson
b77626b8ee Minor fixes
Making sure LayerAdapter doesn't wait for ThangType to load the image more than once.
LayerAdapter skips rendering if there's a prerendered sprite sheet whose image is not loaded.
2015-10-14 14:48:43 -07:00
Scott Erickson
305cffb5ea Finish hooking up prerendered spritesheets with LayerAdapter 2015-10-14 14:33:26 -07:00
Scott Erickson
39bddb889e Have LayerAdapter use prerendered spritesheets (unfinished) 2015-10-13 16:43:56 -07:00
Scott Erickson
919e0605e9 Add spriteSheets to ThangType, export modal to Thang Editor
Units can be exported as rastered sprite sheets. This is the first part of the project,
the second part will be having the game use them.
2015-10-12 16:47:48 -07:00
Nick Winter
cc255086f1 Cleaned up a couple things in LayerAdapter. 2015-09-09 08:59:33 -07:00
Nick Winter
98b0bcfc75 Fixed playback victory message for spectate mode. Spectate mode now opens in new tabs. 2015-09-03 15:05:10 -07:00
Nick Winter
df60ecd09c Added multiplayer win/loss notice at end of level. 2015-09-03 13:32:20 -07:00
Nick Winter
20c6248dba Added rough army power indicator to DuelStatsView. 2015-08-20 15:21:05 -07:00
Nick Winter
1d81133f24 Possible solution for #2917, needs testing. Added crossbow bolts to missile orientation display logic. 2015-08-09 14:10:32 -07:00
Nick Winter
bb525b0b7f Flags now animate in using the appear action. (Still need to fix it to make it not 'appear' when it's just a cursor change.) 2015-08-08 08:23:02 -07:00
Nick Winter
859627d232 Fixed cliff sprite scaling. 2015-08-07 19:26:47 -07:00
Nick Winter
66212b0559 Don't show victory text for hero levels. New Clans button. Floor stretching support for firn cliff. 2015-08-05 16:17:27 -07:00
Nick Winter
15ecc92abc Adding 'course' type levels. Removing 'campaign' type levels. 2015-07-24 17:37:42 -07:00
Nick Winter
593f7a9dd7 Some improvements for handling new art. 2015-06-16 13:50:33 -07:00
Nick Winter
4e08d453b7 Added some code for the glacier world. 2015-06-08 13:20:54 -07:00
Nick Winter
4c2c896496 Hacky fix for Kithgard Mastery walls not updating properly after dynamically being spawned. 2015-05-18 14:30:17 -07:00
Nick Winter
7dff105cdf Insane hackery for #1777 to give us more code editor space, better use of space with tall screens, and scrolling API properties. Watch out for bugs. 2015-03-25 16:47:31 -07:00
Nick Winter
00245c69ec Actually activated the previous fix. 2015-02-27 14:07:07 -08:00
Nick Winter
8df779b5a3 Fixed issue of level editor getting super low res when resizing the window when not looking at the ThangsTabView. 2015-02-27 13:49:26 -08:00
Nick Winter
1ab8274c43 Added a clear storage button to the campaign editor. 2015-02-25 11:09:15 -08:00
Nick Winter
7d7db5dafe Thang Editor can now drag Thangs to adjust registration points. Fixed missing terrain save property on ThangTypes. Fixed text search test. Added new Talus (mountain floors) to floor ThangType list for proper stretching. 2015-02-22 11:07:56 -08:00
Nick Winter
991a374da2 Fixed up SpectateView for hero ladder games. Addd player names to their heroes in spectate and observation mode. Fixed #1679. 2015-02-12 19:47:57 -08:00
Nick Winter
5decf7ae36 Workaround for #2259, although I haven't been able to reproduce when it happens. 2015-02-09 11:11:52 -08:00
Nick Winter
8ab6f36364 Crude initial version of ASCII representation for blind players. 2015-02-06 16:54:55 -08:00
Nick Winter
45dd6fa9a6 Option to choose between ground and floating layer for AOE circles. Fixed cleave AOEs. 2015-02-05 09:36:11 -08:00
Nick Winter
4b388f2775 Fixed some memory leaks. Fixed a couple minor bugs. 2015-01-31 12:23:44 -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
22070ddff2 Identifying lastLevel to Segment. Added Ogre Headhunter names. 2015-01-28 17:58:56 -08:00
Scott Erickson
3c02f14f95 Reworking PlayHeroesModal to use Lanks and LayerAdapter to control hero animations. 2015-01-14 14:10:33 -08:00
Scott Erickson
1446f77a17 Refactored away from having the underscore string library added to the String prototype. 2015-01-04 08:05:46 -08:00