Jul 4, 2017

VR - First Person Wall Hacks protection

In Battle Doom, a VR FPS game, in order to keep the player in bounds at all times, the player's position is altered if their head, body or weapons move past a wall. This element surprised me as I thought I was peeking around a corner, but I had actually just left the spawn area and wasn't allowed to go back.

I applaud the idea, but would want to implement it such that the player's avatar is instead prevented from walking into the wall, and the player's vision gets a 1 foot depth fog barrier perpendicular to the wall(s) they have passed. This prevents the player from gaining knowledge of what is on the other side of the wall, and prevents the player from protecting their avatar via wall movement. During this time, the player should be told that they:
1) are separated from their body
2) can activate the normal movement system to return to their body's location
3) perhaps have an arrow pointing in bound near chest height perpendicular to the wall and where their vision is at. If they enter back in bounds within a short distance where their avatar could be, their body snaps back to them. If they wall clipped to a location they didn't have short access to (2 teleports of distance/10 seconds of movement), then I would be tempted to teleport them back (fade out, move their viewpoint, fade in, message "You have been returned to your body.")

Jun 24, 2017

VR Motion - VR Chat

VR Motion extended entry

After loading into a zone, the player is sometime dropped into the avatar's height. 80% of the time when loading into a new zone, there was Room Motion as though the game didn't realize it put me at a different height than they had originally measured me for.

View height is Room Motion adjusted based on nearby stairs. By putting your RL head position over an staircase, ramp or box, the VR position can be shifted up or down to where your avatar's height would be in that position.

System menu gives a glitchy motion view. When paused, the view traveled about 2 to 5 meters in distance in a repeated path in the course of less than a second, repeating as quickly as it could.

Other players are able to cause your avatar's view height to move. I watched a player move a held marker under another player, and their viewpoint was forced up as though they were walking on the marker. The marker player then pulled the marker above her head, and the other player rose up higher up until the marker was no longer under them, at which point they snaped back to the ground.

Normal movement is a modified teleport system, in which you tell your avatar where you want to go, and you watch from your existing position as your avatar moves to the new position. Really nifty way to include travel time without pushing the player's viewpoint.

Jun 14, 2017

Star Trek: Bridge Crew, UPlay

The following is my experience in attempting to launch Star Trek: Bridge Crew.

Upon launch, the game asks what controllers the player wants to use. Controllers are not visible in Vive at this point. These should be visible until the player tells the game that a non-vive controller is going to be used for controls, or the controls are being visually replaced by the avatar's hands.

UPlay. Steam is DRM. A second DRM is unnecessary.

UPlay labels itself as a game launcher. I'm not even interested in Origin, and they have greatly improved since they started.

After installing UPlay and logging into my account, the in game connection error message to UPlay is not cleared nor is there an option to retry connection once UPlay has been installed. The only option is to quit the game. This is also rude.

Upon second launch, the game failed to launch, and put me back in SteamVR Home. My monitor tells me that UPlay threw an error message. The game should have stayed open and notified the player to look at the monitor.

After allowing the game to be bound to my account, UPlay "helpfully" launched the game itself. Since I wasn't prepared to play yet, my headset was still in afk mode, which means it isn't tracking, which makes Star Trek: Bridge Crew throw an error message of hardware error. Restarting the game is the only option to continue.

During this second launch, Source2 gives a warning that only one instance of the game can be running at one time. Since I was already kicked out of the game from the UPlay thrown error message, this suggest that UPlay launched the game twice. Good job.

After connecting to UPlay correctly, I'm greeted with a screen of health information warning that permits me enough time to read most of the first sentence, which I think was along the lines of "Read all" before it cut that screen away. It's not a CYOA if you aren't allowing people to read the shit you ask them to. I imagine I would have to relaunch the game 3 times to read that text.

The main menu gives me motion sickness. A moving background while attempting to read text does this to me. If the menu pod was stationary relative to the stars, this wouldn't be an issue. This has been included in my post about games that give me motion sickness.

Sep 15, 2016


This work in progress list is ordered by date.

 Red Faction - Level Design

Red Faction gave a great tool to create levels in. I previously wrote an article about my time using their tool.

 RED Level Editor
 June '03

 Text based UNO

During CIS115, I needed something to work on while finished with the provided assignments, and UNO was it. It was enjoyable to figure out card shuffling, game management, and a simple weak AI.

 May '06

 FFX-2 Sphere Break

Sphere Break is a math mini game within Final Fantasy X-2 While creating this project, I learned about dynamic control creation.

 C#, Forms
 Aug '06

 Student Success System

For my Senior Project at DeVry, I got the opportunity to develop a Student Retention Management system for use by DeVry Westminster. I wrote a blog during the development of SSS.

 VB.NET, SQL Server
 Feb '08

 Blank EVE Character Generator

EVE Online is a MMO in space. Where most MMOs separate large groups of players into separate servers, EVE has a single server for all players. There is a tool for EVE Online that helps players track their training within the game called EVEMon, short for EVE Monitor. At the time I wrote a blank template generator for EVEMon, it provided a means of importing data as a new character to edit. I utilized publicly available data to know what a base character would based on multiple options, and gave an XML output for users to import into EVEMon.

Around five years after I wrote this generator, EVE greatly changed how new characters work in order to improve new player experience.

 Nov '08

 DBAO - Database Access Object

This tool creates code based on a template for a given database table. I estimate that each time we used this at Pyramedium, we saved two days of work.

 C#, Forms, XML
 June '10

 Shortcut Manipulation tool

Many games alter the resolution of a monitor as they launch. Each time this happened, all my neatly organized icons on my desktop would be shoved to one side. This was quite annoying to fix each time, so I figured out how to move shortcuts on a desktop, filtered them by file type and specific names to allow single button press organization of my icons. Alas, it no longer worked once I finally left Windows XP.

 C#, Forms, XML
 March '11

Super Sudoku

My father enjoys making puzzles. In 2012, he started making 3D Sudoku by hand (9*9*9 puzzles). Finding his tools primitive, I created a viewer to help him continue his craft.  Since he had a stronger tool, he began working on more complicated setups. As he advanced his craft, I enhanced the tool. By the end, the tool had a basic solver that helped answer a question we had, "How few clues could be required to solve a Super Sudoku?"
In regular sudoku, 17 clues has been found to be the minimum or about 21% of the 81 cell puzzle. With Super Sudoku, the minimum appears to be 43 or just 6% of the 729 cells. - Roy Watts
July '12


A Match 3 prototype in GameMaker. I last worked on this in November 2015. I wanted the game to be modable, and found GameMaker's lack of nested objects a hindrance.

I put effort into making multi-move interactions work well, which is useless if the game was a turn based "only get 2 turns in a row if you match 4+" style. 
Video talking about and showing off this project.
 GameMaker Studio
 Sept '15

A Particle Helper for Game Maker

I have yet to see a particle system that didn't need to be played with. I wanted an easy way to alter the settings of a particle, allowing for exploration of possibilities. All of the particles used in my Match 3 prototype came from this tool.
Video talking about and showing off this project.
 Oct '15

Game of Life simulator

This project began as a tool to create a strong setup for Botania's Dandelifeon. Here is a video showing this Minecraft mod in action.
While creating the simulator, I quickly lost sight of my objective and enjoyed adding more features to the simulator. It supports dynamically changing rules (who are valid neighbors, born/survive neighbor counts), has genetics in the form of cell color, and tracks lineage (cell family age) and cell age (important values for the Dandelifeon).

 Jan '16


Todo: Continue adding projects that have been made.

Projects to be added:
NUnit: TimeSandbox - A tool for testing 1-9 variants of code for speed of execution by running each sample for a given number of seconds or cycles.
Fallout Caravan - Recreation of the Fallout: New Vegas mini-game as both a website correspondence game, and a text bot game.
Altitude Ladder site - Altitude Community contribution for displaying results of competitive gameplay.
Altitude chat parser - Tool to view chat log files.
IRCBot, TwitchBot
TwitterBot - @AkiBot_ post a daily Name That Abbreviation
Alti Level generator - Layered image manipulation to create levels for a 2d game.
Wave Mountain - Algorithm art generation

Todo: Create more projects.
Todo: Add them too.
Hi. This is a copy paste of the template used above that was suppose to be hidden from you.



Aug 1, 2016

Games That Give Me Motion Sickness

About four years ago I first noticed that scrolling screens that were not controlled by the player caused me motion sickness. This seems to be worsened by a need to read text on or near the scrolling image.


The title screen of Terraria is a scrolling screen that is moving leftward. This moving background is the same that is within the game, but because the background only moves based on the character's actions, I've only been bothered by the title screen. Generally I can navigate the menu quickly enough to avoid much sickness.

Card City Nights

In deck editing screens, deck selection, and victory screens, the background scrolls diagonally. When I originally played this game, I wrote an email to the developer Friday night, and continued playing. The game was interesting enough to grin and bear it thought the sickness. Within a business day of receiving my email, the developer added a setting to their settings file that disables background movement.
In: C:\Users\[USERNAME]\AppData\LocalLow\Ludosity\CardCityNights\Profile.txt

Cthulhu Realms

In July 2016, the title screen had a scrolling background. In September 2016 they upgraded the look of the title screen to be in a significantly decorated room. Alas, this room is navigated by a floating camera that moves from place to place in the room as a loop.

Magic 2014

I'm not certain which year of Magic, but at least one screen had a rotation around an object view which I think was a victory screen.

Bloodline Champions

The victory screen rotates around the playfield. (last tested in 2012 iirc)

Free Fall - Maleficent

In the Moors questline, level 200 (start of chapter 11) introduces a water character with flowing water around them. This is presented as a scrolling background. 

Star Trek: Bridge Crew

After spending 20 minutes fighting with UPlay, the main menu is inside of a pod orbiting a ship. While looking at the menu options, stars are moving in the background. 

Room Motion via VR

Room Motion is when a Virtual Reality (VR) room moves differently than the Real Life (RL) room does. This can be seen in elevators, games with vehicle movement (at least when the player is inside the vehicle, but not if the player is 3rd person controlling the vehicle), or forced movement.

Apr 22, 2016


It was the third day of class. The teacher had taught the class how to use if else statements, while and for loops, multiple methods, and today added switch statements and classes.  One of the students completed their assignment in a fraction of the time allotted for the day.

"So far, I've given you a box of crayons with just a few colors inside of it and asked you to color in the lines as best as you can. You have completed that assignment, and perhaps you are done for the day. Or, you can use those crayons to draw your own picture, or perhaps find more colors to make more elaborate art."

Sep 18, 2015

Game Maker Particle tool

A Particle Helper for Game Maker

This tool/toy aims to help developers quickly manipulate particle emitters and see the outcome of various changes.  Use Ctrl+C to copy the current emitter to your clipboard. Use Ctrl+V to paste a clipboard particle into here.

Mouse over the sliders on the left to see what that slider alters.
Left click and drag a slider to alter it's value.
Scroll wheel can be used to increment/decrement a value that is moused over.
Middle click resets a slider back to it's starting state.
Right clicking a moused over slider sets it to a random position.
The R key resets all sliders.
The T key randomizes all the sliders
The number keys each set the sliders to a preset option. Find a nifty emitter? Send it to me so it can be included.

Some options of emitters apply to all pieces right away, some options only apply to new emissions. What you see while changing sliders live could be done programmatically to achieve the same effect.

I found Sonny Bone's tutorial useful for making this project: http://goo.gl/1fNA57