April 6th, 2018

Research Games of Similar Genre to Coral Invasion

What genre is it?

Wiki Page for Shooter Genre
Shooter Game – Subgenre: Shoot ’em Up

“Shoot ’em ups are a specific subgenre of shooters wherein the player may move up and down and left and right around the screen, typically firing straight forward.”

Top Down Shooter: “(sometimes referred to as twin-stick shooters) where the levels are controlled from an overhead viewpoint”

Game may also benefit from being categorized as strategy, or potentially puzzle. These two genres help drive the idea that the game may not be pushing the limits of speed, and will be played in a slower and more tactical way than a general shoot em up. This can be useful for rounding out another view on the way the core gameplay can be implemented.

Example Games of this Genre

Armed to the Gears Link to steam page
This game has the player move throughout the level/world, shooting many enemies in a top-down fashion. The player is a very strong robot (could use idea that player is very durable/invincible to focus on other parts of gameplay). Has turrets the player can place down to aid them (has light outline of range to show what the turrets can reach at all times). There are many different types of enemies and weapons for the player.

Blacksea Odyssey Link to steam page
Fast paced game that is still focused on the player surviving more than how they use their projectiles. There is some interesting use in the placement of projectiles as shooting boss enemies in certain locations allows you to dismember them (getting into strategic placement of the player’s weapons).

Tactical Link to steam page
Medium/slow paced top down shooting and puzzle/strategy game. The player must kill enemies by shooting them from behind while remaining undetected. Killing an enemy alerts the other enemies and will affect their movement patterns. Player succeeds by killing all of the enemies in the fastest time.

March 25th, 2018

Update on Gear Mesh Generating Toy

Link to Web Build of Prototype Currently

Current Controls
  • Left Mouse Button – Press: Select a gear to make it active
  • Let Mouse Button – Drag: Move selected gear around
  • Left Mouse Button – Drag + Spacebar: Destroy selected gear
  • w : makes the gear spawning object the active object (instead of any gears)
  • Typing in input fields: Changing the number in this input field will alter the corresponding parameter of the currently active (selected) object.

Selecting a gear and changing the value in the input field will immediately change that corresponding parameter on that gear. For example, if you left click a gear, then type the value “1” into the “Body Radius” input field, that gear will have its body radius value immediately change to 1, and its mesh and colliders will update along with it.

There is an invisible gear spawning object (“gear spawner”) that creates a gear when the “Create Gear” button is pressed. The gear created will have values based on whatever the spawner’s current values are. To change the spawner’s values, the spawner must be the active object. This is where the “w” key control comes in. Once the player presses “w”, as long as they don’t left click another gear in the mean time, changes to the input field will become the values of the spawner. Then the next time the “Create Gear” button is pressed, it will use those updated spawner values to create the new gear. This gear can then be altered as any other gear.

Current Issues to Avoid

The input fields do not show the values of an object when it is selected. This can be a bit confusing since it makes it hard to tell what the currently selected object’s values are, unless the player just remembers them. This is something that would be crucial to update as there is currently no way to actually see the current values.

The spawner does initialize at all values of “0”. Just be aware that if you try to create gears before changing the spawner’s parameters, you will be creating invisible empty objects.

When attempting to update the spawner, make sure to press “w” before changing any values in the input fields. This was something I found myself messing up a lot, and would be a feature to improve in the future. Again, make sure to press “w”, and not click any other gears, before changing the input fields to update the spawner’s values.

March 20th, 2018

Current Research Exploring Game Play at Science Center Tom Tits Experiment – Project Experimenta

Tom Tits Experiment Homepage
This was referenced in the research paper “Designing for Transformative Play” by JON BACK, ELENA MA´RQUEZ SEGURA, and ANNIKA WAERN. The basics of it are that there was work done on a project called Experimenta (originally “The Mission”), where designers worked to create a large scale game that visitors of the Tom Tits Experiment science center in Södertälje, Sweden could play while they interacted with the various experiments around the exhibit.

Key Quotes on Details from the Paper
  • “The design has been iteratively developed over two years, and repeatedly studied over the course of the project. It is now installed as a permanent part of the science center’s exhibitions.”
  • “Allen [2004] describes an interactive experiment as typically including: (1) a surprising phenomenon, (2) some way to interact to explore the phenomenon, (3) an explanation of the physics, or biological, principle underlying the experiment, and (4) a connection to everyday phenomena.
  • “Experimenta is constructed by rebuilding and sensor-equipping such classic installations, so that the experiment can measure how ‘well’ the user performs [Bergstr¨om et al. 2014]. The result is translated into a number of “points,” which are saved to a RFID card. The points are then used to drive a big ‘machine’—a toy marble labyrinth mounted close to the entrance of the science center.”
Paper Citation
[1] J. Back, E. M. Segura, and A. Waern, “Designing for Transformative Play,” ACM Transactions on Computer-Human Interaction, vol. 24, no. 3, pp. 1–28, Apr. 2017.

March 19th, 2018

Real Time Updating Gear Mesh – PROTOTYPE

Prototype – Real Time Gear Mesh Editor

This example build shows the real time updating capabilities of the current scripting behind the gear mesh creator. This also has some of the functionality of the original build, but that part is buggy when trying to tie it in to this current build. This build is solely to show that the real time editing of the mesh does work with the current script structure.

There is still significant work needed to combine this real time updating feature with the effective gear generation coding to create a single, cohesive build of all the elements.

March 15th, 2018

Coding Conventions – Write Better C# Code

Some practices to write better C#/.NET code

As I teach myself more about C# for scripting games, it becomes more apparent that it would be beneficial to learn some of the general conventions for coding to help stream line my process. Things as simple as deciding where to list out types of variables in classes can take a small amount of time that adds up over many projects, but can be eliminated by having committed to hard set conventions. This will provide resources to look to to help with the organization of code in my scripting, and increasing its efficiency.

Book on Proper Coding for Game Development

http://gameprogrammingpatterns.com/

March 12th, 2018

Prototype of Gear Mesh Creator in Unity

Gear Mesh Creator Protoype

This is a very bare bones version of the gear mesh generator in Unity. Enter values into all of the parameters on the left side of the screen, then press “Create Gear” to generate a gear with those parameters. Clicking and dragging a gear allows you to move it around on the xy-plane. While dragging a gear, press space bar to delete it.

The scripting allows for the functionality of real time updates to the mesh and colliders of the gears, but I was unable to implement a player based way to use that that. While editing the values in the Unity editor, it will change the shape in real time. This action just needs to be translated to the build side. I will be looking at something where clicking a gear selects it, then the parameters of that gear will fill the boxes on the side, and when the player edits them, they will see the changes immediately on that gear. Then there will be a separate way to access the parameters when needing to create an entirely new gear.

March 10th, 2018

Working with Meshes Via Scripting in Unity

Creating a Game Object and Mesh at Runtime
Tutorial Series – Moving Mesh Vertices at Runtime

This short video shows a very basic way to manipulate existing vertices. It simply moves a few vertices along their normals in a sine wave type pattern.

Writing to .CSV Files with Unity Scripting

How to write data to CSV file in UNITY

Printing out arrays of data to .CSV files can be useful when creating large arrays of data for things such as vertices and tris as it can give you a better way to figure out where errors are occurring.

Using InputFields with C# Unity 5.4 (Basic Tutorial)

This video shows the most basic use of input fields in Unity. This may be a direction to take to connect the player to the variables in the gear mesh editor.

Basic UI Functionality – Interacting Directly with Game Objects Unity

Unity 5 UI Tutorial – Input field and event handlers

This video is in the middle of a series by this author on some basic UI functions within Unity. These UI elements focus on types which the player can interact with, and they will cause some change in the game (as opposed to more static UI elements that just show values for things such as score or lives). This can prove useful as a simple way to give users access to the parameters of the gear mesh objects.

March 10th, 2018

Adding Fog of War Effects – Unity

Some full asset tools created that can create fog of war effects

RPG Map Editor – Fog Of War – Youtube

This tool looks to setup a fog effect on a grid based tile system in a 2D game/environment.

Tutorial 3 : Fog of War – Fog of War 3D Effect – Youtube

This tool looks like it uses light to emphasize the fog of war effect, which it can do since it’s set in a 3D environment, which is more commonly associated with lighting in Unity.

March 9th, 2018

Creating Interesting Particle Effects in Unity

Ripple Effects | Unity Particle Effects | Visual FX Tutorial – Youtube

This video is a tutorial on setting up a basic ripple effect using the particle effects given in Unity. This serves as a basic introduction to some of the different parameters of particle systems. This was useful in setting up the visuals for the projectile in our DIGM 530 project Coral Invasion.

Images and Video of Use as Projectile for Project

Video of Projectile in Motion with Audio

Some Useful Notes:
  • As a projectile effect, it was important to make sure to edit the parameter to have the particle gameObject destroy itself once all the particles died.
  • Editing the parameters of lifetime, rate, scaling size/color all useful to fit the particle between two circle colliders.
  • Was able to attach the particle system prefab to the player script exactly like would normally be done for a generic gameObject used as a projectile. Can instantiate particle systems.