|
Spaces home Byron's quasi profession...PhotosProfileFriendsMore ![]() | ![]() |
Byron's quasi professional space
Thanks for visiting!
|
|||||||||||
Public foldersFolders shared with the world |
|||||||||||
|
April 04 Learning Game version 1 revisitedI was backing up my stack of 3.5 floppys on my hard drive and got a big blast of nostalgia when I discovered the source code to my first video learning game. I've located the source of my second, but I don't have a ready way to edit it and it will be looking for an analog joystick. It also uses assembly language and I suspect windows will promptly kill it. Here is a picture of the opening screen for the second, complete with my romulan warbird constructed in the POV scene language entirely with csg.
Intro screen to the Learning Game, ver 2
The first one, shown below, was written in Turbo Pascal. It took some work with Dosbox and turbo pascal to get a new .exe that would run in Vista 64, but here it is. This first figure shows the user shooting the Romulan who, of course, has a shield. The next picture shows the Romulan shooting the user. The game was written in turbo pascal using the BGI (borland graphics interface). It ran in full glorious 640 x 480 resolution. I drew the Romulan using a combination of lines and setpixels, then copied the image from the screen to a memblock and used it like a sprite from then on. A portion of the stars in the background were animated.
Screens from the first learning game
Here is a screenshot of the third version of the game, written with Borland C++ builder 1 to run in windows. April 02 Game slowdownWork on the game has slowed. I'm hung on creating a laserbolt. I am rendering an ellipsoid through my shader. I fade the intensity of a color from white to the color, and add alpha as I go. That creates a nice looking laserbolt, hot white down the middle and faded color on the edges.
The problem is defining the middle and keeping it oriented toward the viewer. Imagine the cylinder in the picture is my laserbolt. The stripe would be the white hotspot.
I have to figure out a way to keep the stripe (the right/left vectors of its world matrix) oriented so that they point toward the camera.
Now, the camera sets at the origin (0,0,0), so the task is to imagine a plane running through the cylinder with the plane defined by the forward and right vectors with Up as the normal.
What has to happen is that once the cylinder/laser bolt is pointed so that "forward" is pointing at the target, I need to rotate it about its own z axis (changing right and up while keeping them perpendicular to each other and Forward) until the plane passes through the camera at 000. I've not figured it out yet. The XNA forum hasn't been able to help, so the problem is either A: Not stated well, B: So easy I should be able to see the answer, or C: Relatively difficult. Its a function of both the position of the cylinder and the rotation about its own Y axis.
So, research with the the game as a method is going to have to wait a while longer.
In the meantime, I am diverging a bit into particle systems and preparing an overdue literature review and paper on "Renewal" in human subjects and about to collect some more data with my older "Spacebird" game.
[edit] as usual, once you write about it a few times, the answer comes to you. To make it work, set forward to the target, cross the direction from the camera to the laser to get UP, then cross up with forward to get right. That puts the vector from the camera to the middle of the laser on the plane that goes through forward / left/right so the hotspot is always centered along the width of the laserbolt.
March 09 Learning Game Version 4In my work on "context" and how it interacts with learning about events embedded within it, I needed to have a method where participants could associate a single cue with multiple outcomes, at the same time, and express that knowledge. Initially, I did not have good ideas how to do this with a behavioral task, so I used a task where they simply told me about the probability of things happening. For example, they might first learn that the "gold protector" garden product causes weeds to grow. Later, they learn that it causes weeds to grow and bug infestations. All the subject does is answer simple questions about the probability of weeds growing and the probability of a bug infestation given the cue. This method worked out ok, and I published one paper with it that determined an important set of conditions that are necessary for determining when and how context interacts with events embedded within it. Nevertheless, the method, and others like it presently in use, was much too introspective for my tastes, thus the motivation for my present method that I am developing using C# and Microsoft's XNA Game Studio Express language.
The method is modelled after an appetitive conditioning procedure with rats. In that procedure a rat is put in a skinner box and taught to run over and eat food in a recessed food cup at the sound of the food being delivered. Then, we instantiate conditions that should produce associative learning for study by pairing tones and lights and other stimuli with the delivery of food. As the rat learns to expect the food given the stimulus, it runs over and sticks its head in and out of the foodcup when the stimulus comes on. So, the training is in two stages. First, they get some training on how to respond to one stimulus. Then, when that stimulus is predicted by a second, they naturally come to respond to the second in the way they would respond to the first.
In this game, participants will first learn to use a particular weapon to drive away a particular invader in an intial training phase. A spaceship, the "Millerians," will appear with a distinct form and color and the participant is instructed to use the SOP cannon to drive them away. They will press the space bar repeatedly until the SOP cannon is charged and begins firing SOP Torpedos at the Millerians. The torpedos will impact the ship, which will then turn and flee. Participants will receive several trials like that until they come to respond with the SOP cannon quickly and vigorously at the appearance of the Millerians. At that point, they will then be transported out of the training facility to the field where they must defend memebers of "The Establishment" from invaders. Here, colored sensors will be used to predict the appearance of invaders. A Red sensor might predict that a Millerian will appear in 5 seconds. As participants learn this, they should begin charging the SOP cannon when the sensor appears so that it will be ready the moment they appear.
So, the method is analogous to appetitive conditioning in rats. Rats first learn how to respond to and consume food. Participants first learn to reliably repsond in a particular way to the appearance of a particular type spaceship. Later, rats learn that particular stimuli predict food, and they respond to these stimuli as if food were either present or immediately forthcoming. Participants will learn that particular stimuli predict particular ships and will hopefully respond appropriately.
This method is being designed so that, hopefully, I can pair a single cue with up to two different outcomes and measure those associations somewhat independently. For example, they might need to press the spacebar to activate the SOP Cannon for the Millerians, but use the "E" key to use the "Extinction Blaster" to drive away the "Gallistellarians" A red sensor can indicate that both the millerians and the gallistellarians are about to invade, and the participant can respond by pressing the spacebar with one hand and the "E" key with the other. With proper counterbalancing, these two simple responses should not interfere with each other.
The participant has only to set and observe events, and press the appropriate keys or manipulanda at the appropriate times, so the game can be boring. To combat this, I am using C# and the XNA Game Stuido to develop the game so that it will have impressive and pleasing graphics as well as very good sound and sound effects. Sound cues can also be used as CSs in this game. All intructions will be presented on screen and verbally through headphones. Ideally, I will have this configured where an experimenter can meet with a participant, instruct them to sit at the computer, put on the headphones and press the "S" key and have no further interactions. The computer will provide instructions, conducte the experiment, and debreif the participant.
The Learning Game, Versions 1, 2, and 3.Sometime around 1995 I began to want to conducte research on associative learning with humans. Work with rats was, and is, time consuming and tedious. To do so, I needed a method by which people could associate simple events. Rather than take what I believe is an overly introspective approach and ask people questions about the events (e.g., to what degree does one predict the other etc..) I prefered to have a behavioral task where their behavior could tell me what they had learned.
The first game I wrote was "Romulans." It was written in Turbo Pascal 6 using the Borland Graphics Interface. I hard-coded the drawing of the relevant images, then use memcopy to get a copy of the final image for animation. It was visually much like an arcade game, and a bit cartoonish. The premise wasn't very simple either. Participants observed a spaceship appear and were instructed that they should attack it if it was safe. The set of rules I used to determine if it was safe was overly complex, though participants ultimately had little difficulty learning that colored sensors indicated when it was safe to attack or not and behaved appropriately. The game did not parallel classical conditioning procedures as well as I wanted it to. In those procedures, two events occur where one typically bears a predictive relationship with the other. If the CS (conditioned stimulus) occurs, the US (Unconditioned stimulus) follows, regardless of what the participant does. In my early task, if participants did not attack the ship, it was unclear as to whether or not it would have been safe. Thus, though the sensor was paired with saftey, that knowledge was not independent of the participants behavior.
The next game was called "Warbirds." This game was written in C, ran in DOS, and used EMM386 to get enough memory for the graphics. It featured a 3d romulan warbird that I created with the Povray scene description language. I rendered out about 360 images showing the ship at various rotations about X and Y. I used a lookup table to grab the image during gametime. The universe was a full spherical universe with backgrounds created by a star-trek screensaver. The participant used a joystick to chase the romulan around the space and colored sensors indicated when missles launched by the participant would imact with the romulan. This was a farily successful mehtod, but the pairing of the sensor with the ability to shoot the romulan depended on the participant actually shooting at it. If they, for whatever reason, sat and did nothing, they would never experience a pariring, so again, it really wasn't what I wanted.
Round 3 was a game my wife (a Basque) named "Spacebird." It again used a huge database of rendered romulan worbirds at which the participant fired torpedos. This game was written with Borland C++ Builder Ver 1 and ran in Windows. Sensors lit up which indicated that the romulan was about to attack. Participants were instructed to conserve their power when they believed they were about to be attacked and stop shooting. So, participants sat and clicked a mouse firing torpedos at the romulan and a sensor came on and a few seconds later the romulan attacked and damaged the participants spaceship. So, this did what I wanted. The paring of the sensor was independent of the participants behavior. Yet, participants were motivated to respond to the sensor. When it came on, they would stop shooting to save their power for the upcoming attack. The method was analogous to the conditioned emotional response procedure in animal work. Rats press a lever for food, a tone comes on which is followed by a brief mild shock on the feet. As rats learn that association, they come to "freeze" when the tone comes on in preparation for the shock, so they stop lever pressing. Likewise, my participants tell me about what they have learned by suppressing their mouse clicking (torpedo firing) when the sensor comes on. It proved to be a robust method for studying associative learning and I've published two papers with it.
Learning papersOver in the files section there you should find a folder called "Learning Papers" where my published works are available.
Nelson, J. B., & Callejas-Aguillera, J.E. (2007). The role of interference produced by conflicting associations in contextual control. Journal of Experimental Psychology: Animal Behavior Processes (in press).
Nelson, J. B., & Sanjuan, M. C. (2006). A context-specific latent-inhibition effect in a human conditioned-suppression task. Quarterly Journal of Experimental Psychology, 59, 1003-1020.
Sanjuan, M.C., Alonso, G., & Nelson, J. B., (2006).The contribution of latent inhibition to reduced generalization after pre-exposure to the test stimulus. Behavioural Processes, 71, 21-28.
García-Gutiérrez, A , Rosas, J.M., & Nelson, J.B., (2005). Effects of the number of interfering trials on reinstatement in causal learning, International Journal of Comparative Psychology, 18, 240-248.
Sanjuan, M.C, Alonso, G., & Nelson, J.B. (2004). Blocked and test-stimulus exposure effects in perceptual learning re-examined. Behavioural Processes, 66, 23-33.
Nelson, J. B. (2002). Context specificity of excitation and inhibition in ambiguous stimuli. Learning and Motivation, 33, 284-310.
Nelson, J. B. (2000). Models of action [Review of Models of Action]. Quarterly Journal of Experimental Psychology B, 53, 87-89.
Bouton, M. E., Nelson, J. B., & Rosas, J. M. (1999). Resolution now! Psychological Bulletin, 125, 190-192.
Bouton, M. E., Nelson, J. B., & Rosas, J. M. (1999). Stimulus generalization, context change, and forgetting. Psychological Bulletin, 125, 171-186.
Nelson, J. B., & Bouton, M. E. (1997). The effects of a context switch following serial and simultaneous feature-negative discriminations. Learning and Motivation, 28, 56-84.
Brooks, D. C., Hale, B., Nelson, J. B., & Bouton, M. E. (1995). Reinstatement after counterconditioning. Animal Learning & Behavior, 23, 383-390.
Bouton, M. E., & Nelson, J. B. (1994). Context-specificity of target vs. feature inhibition in a feature-negative discrimination. Journal of Experimental Psychology: Animal Behavior Processes, 20, 51-65.
Book Chapters
Nelson, J. B., & Bouton, M.E. (2002). Extinction, inhibition, and emotional intelligence. In L. Feldman-Barrett and P. Salovey (Eds.) The Wisdom in Feeling: Psychological Processes in Emotional Intelligence. (pp. 60-85). New York: Guilford Press.
Bouton, M. E., & Nelson, J. B (1998). The role of context in classical conditioning: Some implications for cognitive behavior therapy. In W. O'Donohue (Ed.), Learning and behavior therapy. (pp. 59-84). Needham Heights, MA: Allyn & Bacon.
Bouton, M. E., & Nelson, J. B. (1998). Mechanisms of feature-positive and feature-negative discrimination learning in an appetitive conditioning paradigm. In N. Schmajuk & P. Holland (Eds.). Associative Learning and Cognition in Animals: Occasion Setting. (pp. 69-112). Washington: APA Publications |
|||||||||||
|
|