Frontiers in Education

Frontiers in Education
This week I attended the Frontiers in Education conference (October 23-26) in Oklahoma City, Oklahoma, where I presented my work on A Community College Blended Learning Classroom Experience through Artificial Intelligence in Games. This is my first Computer Science Education paper.

The paper reports on the experience of teaching an industry-validated course on Artificial Intelligence in Computer Games within the Simulation and Game Design department at a two-year community college during a 16-week semester. The course format used a blended learning just-in-time teaching approach, which included active learning programming exercises and one-on-one student interactions.

ACT-R Models of the Concentration Game

Our paper on Speed/Accuracy Tradeoff in ACT-R Models of the Concentration Game Game has appeared in the 2013 International Conference on Cognitive Modeling.

This paper describes the development of subsymbolic ACT-R models for the Concentration game. Performance data is taken from an experiment in which participants played the game under two conditions: minimizing the number of mismatches/turns during a game, and minimizing the time to complete a game. Conflict resolution and parameter tuning are used to implement an accuracy model and a speed model that capture the differences for the two conditions. Visual attention drives exploration of the game board in the models. Modeling results are generally consistent with human performance, though some systematic differences can be seen. Modeling decisions, model limitations, and open issues are discussed.

GPG Key Updated

After nearly a decade, I have generated a new 4096-bit RSA PGP/GPG key. The new key reflects the latest OpenPGP best practices. You can also view my key transition announcement for instructions on obtaining this key. The transition announcement has been signed by both the old and new (replacement) key.

If you are using gpg, you may want to add the following to your ~/.gnupg/gpg.conf configuration:

personal-digest-preferences SHA512
cert-digest-algo SHA512

in order to prepare for the eventual migration off of SHA-1 in OpenPGP.

Bot Detection in Casual Games

An article on our work in using low-level input characteristics as a mechanism for bot detection has appeared in The Abstract, the official blog of the NC State Newsroom. Bot detection is one of many possible applications in the broader research context of how computational approaches to evaluating input interactions can be leveraged in order to better understand and predict the underlying cognitive processes of a user.

If you’re interested in contributing to a related follow-up work, then please take a moment to participate in my newest research study, the Concentration Game.

Emacs AUCTeX and PDF Synchronization on Windows

In this technical note, we’d like to setup [GNU Emacs]([ G) and AUCTeX so that it can do both forward searches (using Emacs to control the PDF Viewer) and inverse searches (using the PDF Viewer to control Emacs). This work is based on William’s instructions, but with some additional modifications from Miguel Frasson that remove the dependency on sumatra-forward.el, as long you primarily use pdflatex as your LaTeX target. The technique uses the command line rather than DDE to interface with Sumatra PDF.

  • Unlike on the Mac, TeX tool support on Windows is quite a challenge. With the exception of Sumatra PDF, there are basically no PDF viewers that support source synchronization. Be sure to use the full installer, and not the portable apps version of Sumatra PDF.
  • To get PDF synchronization to work, you’ll need to set a few AUCTeX variables in Emacs (M-x customize-variable). The first is TeX-view-program-list, which is perhaps the most complicated. The Name should read as Sumatra PDF, and the Choice should be set to Command parts. Then, you will need to insert (INS) two Command parts:
  1. The first Command part has a value of "C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance, adjusting accordingly for your actual path.
  2. The second part is a Predicate and command part with a Predicate of mode-io-correlate and a Command part of ␣-forward-search %b %n. The character ␣ is meant to represent a leading whitespace character.
  3. The third part is a Command part with ␣%o. Once again, don’t forget the leading whitespace character.

* Since the last step isn’t entirely obvious, the following screen capture should help you with this variable (click to enlarge). And if you’re curious about what %o, %n and so on do, then check the variable TeX-expand-list.

* Select Save for future sessions and then restart Emacs; otherwise the next step won’t work without knowing some Emacs tricks. For the remaining variables in this recipe, remember to Save for future sessions as well.
* The next variable is TeX-view-program-selection, where the Viewer for output-pdf should be set to Sumatra PDF.
* Similarly, find TeX-source-correlate-mode and set this to On. Finally, set TeX-source-correlate-method to synctex.
* You’ll probably want to setup Emacs with (server-start) ahead of time, so add this to your init.el. On Windows in particular, (server-start) is problematic and can fail by default with something like: error: The directory

Playing Fallout in a Window


This article describes the process for playing Fallout and Fallout 2 in windowed mode (that is, not full screen) successfully on Windows 7. The modifications to both Fallout and Fallout 2 apply to the non-DRM versions available at GOG.

  • For Fallout 1, you will need to use D3DWindower. Unfortunately, the program and Geocities site (surprise!) are in Korean or Japanese, but a badly ported English version is available if you look hard enough. Extract the files and copy them directly into the Fallout installation directory.
  • For Fallout 2, use sfall.


Because these files have been difficult to track down, I’ve mirrored them on my own site below (the MD5 hash is indicated in parentheses):

Fallout 1: DirectX Windower

Fallout running inside of a window.

For Fallout 1, it’s not entirely obvious how to get the DirectX Windower to function, so use the following steps:

  1. Open D3DWindower-English.exe. You can hover over a toolbar item to get its name.
  2. Click the Add Program toolbar item and add falloutw.exe.
  3. Click falloutw, then open the Settings toolbar.
  4. Set Height and Width to something appropriate, such as 1024 (H) and 768 (W) (the original game is 640×480). The English translation here is in error and the parameters are named in reverse.
  5. Enable Window Mode. Under Window Mode, uncheck DirectX 1-7 and check DirectX 8-9. Otherwise, the game will mysteriously crash.
  6. The remaining items can be left in their default state.
  7. Use the Run program icon to run the game.

Fallout 2: sfall

Fallout 2 running inside of a window.

Copy ddraw.ini and ddraw.dll in your Fallout 2 directory. Edit ddraw.ini as desired. Most of settings that need to be tweaked can be found under [Graphics].

Contrary to popular belief, the window can actually be moved from the top left of the screen by setting the WindowScrollKey property in ddraw.ini. Then, holding down the appropriate key and moving the mouse will move the window.

If you find newer versions of these files, please let me know and I’ll happily update this page.