April 18th, 2018
Useful Online Resources for Developing Engineering Games – Statics
General Forces and Statics Learning Resource
Covers a lot of basics on forces all the way up to shear force and bending moment diagrams.
Covers a lot of basics on forces all the way up to shear force and bending moment diagrams.
By: Shaker, Sarhan, Naameh, Shaker, Togelius
By: Proulx, Romero, Arnab
By:Callaghan, Savin-Baden, McShaneEguiluz
Above is the link to Circuit Warz, the game created for the research paper on “Mapping Learning and Game Mechanics for Serious Games Analysis in Engineering Education”. This game attempts to teach some advanced electrical/circuit theories through a first person action game.
This site has a lot of basic information on how sound works, especially underwater with sea animals.
This is a link to the frankenpokemon github files. Want to look into this more later.
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.
Armed to the Gears Link to steam pageThis 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 pageFast 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 pageMedium/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.
Link to Web Build of Prototype Currently
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.
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.
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.
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.
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.