Development

Sub Category

3D pong with video paddle tracking
00:03:28
Cornell_Uni
12 Views · 5 years ago

Introduction

POTION is a motion-controlled game system that allows two players to battle head-to-head or one player to compete against AI for ultimate ping pong glory. For the two-player setup, two video feeds from consumer digital cameras are each separately fed into a pair of slave DE2 boards. These inputs are primarily used to detect objects held in players' hands to represent paddles. See:
http://people.ece.cornell.edu/....land/courses/ece5760
and
http://people.ece.cornell.edu/....land/courses/ece5760

video harp on FPGA
00:01:02
Cornell_Uni
38 Views · 5 years ago

Our project is Air String, a synthesized string instrument that can be played in real time by waving fingers with bright green color tips in motion of stroking a string in front of a camcorder. Our implementation is based on Karplus Strong algorithm. See:
http://people.ece.cornell.edu/....land/courses/ece5760
and
http://people.ece.cornell.edu/....land/courses/ece5760

virtual paint on FPGA
00:00:53
Cornell_Uni
14 Views · 5 years ago

A paint program controlled by a video interface tracking fingertips. See:
http://people.ece.cornell.edu/....land/courses/ece5760
and
http://people.ece.cornell.edu/....land/courses/ece5760

Real-time cartoonifier on FPGA
00:00:26
Cornell_Uni
35 Views · 5 years ago

Our project is a real time cartoonifier. It bolds edges and reduces colors to make the video feed look like a cartoon. The colors can be reduced on a per channel basis from 3 bits per color all the way down to grayscale. Cartoonization is the act of modifying an image so it looks as if it were rendered by a computer or sketched by an artist. This includes bolding any edges or contours in the image and making colors brighter and more vibrant. In addition the amount of colors used in the image is reduced and smoothed out. In our implementation the number of possible colors is selectable by the user. See
http://people.ece.cornell.edu/....land/courses/ece5760

Video triggered Drum set on FPGA
00:00:39
Cornell_Uni
14 Views · 5 years ago

http://people.ece.cornell.edu/....land/courses/ece5760
In this project, we built a system that detects the position of fingers on a sheet of paper using a camera and play a sound depending on the position. The camera was used to detect the skin and thus track movement of the fingers on the paper. The output of the camera could be seen on the VGA screen. The keyboard for piano and drum was also displayed on the VGA screen. Depending on the hit position of the finger the appropriate sound would then be played using sound synthesis for piano and drum. Thus we integrated all to give us an "Air Piano and Drum".

BBQ stick game on FPGA
00:00:51
Cornell_Uni
9 Views · 5 years ago

http://people.ece.cornell.edu/....land/courses/ece5760
The central idea behind this video game is to catch the delicious BBQ meat balls with the help of a BBQ stick. The more you catch the fatter you get and the more you score. The BBQ stick is controlled by the USB Mouse, which is connected to the USB port of the Altera DE2 Board. The BBQ stick moves left and right as the mouse moves. The length of the stick can be adjusted by pressing and releasing the left button of the mouse for different time intervals. User has to pick three identical meat balls in a row to score and erase the BBQ meat ball. User can get maximum of seven meat balls on the stick. One more meat ball will make him/her loose. We chose this project because the design of this video game involved lots of resources on the DE2 board from the implementation of USB Mouse interface to the implementation of a VGA controller. The idea is to use all these resources wisely to design a game that plays smoothly. And above all, the idea of designing a video game in hardware was just fascinating.

Face Tracking on FPGA
00:02:00
Cornell_Uni
15 Views · 5 years ago

http://people.ece.cornell.edu/....land/courses/ece5760
In this project, we connected a video camera to the FPGA and determined the location of the user's face in each frame by examining the color content of each pixel and determining which ones could represent human skin. The face's offset from the center of the camera's field of view, as well as its size, was then used to draw the appropriate projection.

Video chroma-key overlay on FPGA
00:01:56
Cornell_Uni
44 Views · 5 years ago

http://people.ece.cornell.edu/....land/courses/ece5760
In this project we turned a Altera Cyclone II FGPA into a simple video production unit with the help of a Sony Handycam and a PC for serial communication. The main focus of the project is the ability to provide a green screen effect, most commonly seen with weather news. We would extract the green regions of the video based on a threshold and display a background image, such as a weather map. This image is able to be transferred to the FPGA over RS-232 serial communication in as fast as 1 second for a black and white image. Other production effects including interfacing a PS/2 keyboard to write titles on top of the image, fade in and outs, and a reverse green screen method. The output of the produced video image is displayed on a VGA compatible monitor at 640x480 resolution.

Hand-tracking using video on FPGA
00:01:18
Cornell_Uni
6 Views · 5 years ago

http://people.ece.cornell.edu/....land/courses/ece5760
Our project derives ideas from the classic breakout game. In the game, there is a layer of bricks located on the top of the screen, a moveable paddle on the bottom, and a ball travelling across the screen. The objective of the game is to use the paddle to bounce the ball back up every time it falls down so that eventually the ball will break all the bricks. In our version, however, the game can be controlled with hand motions. Specifically, the player can move his hand left, right, up, or down to control the paddle accordingly. In addition to this, the player is allowed to accelerate or decelerate the ball by moving his hand up or down, respectively.

Robot Navigation Using Sound Localization
00:05:24
Cornell_Uni
14 Views · 5 years ago

http://people.ece.cornell.edu/....land/courses/ece5760
he result of this project is an AVR powered robot that is completely controlled by the hardware and software running on the Cyclone II FPGA. Wireless data transfer is used to send commands to the robot, which result in it moving to a new location or sending out a sound for the FPGA to interpret. The robot is also able to collect data about its surroundings, which the FPGA is again able to analyze.

Rock Band 2 on FPGA
00:01:45
Cornell_Uni
36 Views · 5 years ago

Three wireless instruments, plus vocal bot.
http://people.ece.cornell.edu/....land/courses/eceproj
Rock Band 2 is a popular video game enjoyed by millions on their Xbox 360 console game systems. However, unlocking all of the available songs is a task that many players do not have time or patience for. In addition, many players wish they had talented players to achieve high scores with. We have designed a system that is able to beat Rock Band songs on any difficulty, playing up to four instruments at a time. Implemented on an FPGA, the design is capable of highly accurate, real-time results. Video is read directly from the Xbox without any external sensors mounted on the TV. Modifications were made to the Rock Band instruments that maintain their original functionality and wireless radios were used to allow users to play the game far away from the Xbox. Advanced detection algorithms allow this device to achieve near-perfect scores and compete with any human.

Keyboard synthesizer on FPGA
00:01:43
Cornell_Uni
18 Views · 5 years ago

http://people.ece.cornell.edu/....land/courses/ece5760
This project is a velocity sensitive hardware based piano synth. We simulated two strings per note using a Karplus Strong algorithm written in Verilog, and coupled it with a Casio electric piano keyboard fitted with custom switches to act as a user interface. On an Altera DE2 board we built a hardware Karplus-Strong synthesizer to simulate a piano key with two strings, along with a hardware timer. The timer was used to determine the key push's velocity, which in turn affected the volume level of the synthesized sound. The keyboard fed into the DE2 using the board's GPIO ports.

Diffusion limited aggregation on FPGA
00:00:52
Cornell_Uni
13 Views · 5 years ago

Three parallel processors sharing memory with each other and a VGA interface to compute the aggregation.
http://people.ece.cornell.edu/....land/courses/ece5760

Falling sand automaton on FPGA
00:02:12
Cornell_Uni
44 Views · 5 years ago

http://people.ece.cornell.edu/....land/courses/ece5760
The Pyro Sand Game is itself only one of many variations of similar falling sand games. It includes 17 different drawable particle types, most of which can be categorized as either an immobile wall-like particle (such as wall, plant, or wax) that ignores both gravity and other forces, or a mobile sand-like particle (such as sand, water, or salt) that does experience a gravity force and can be pushed by other particles.

Portal Problems - Lecture 11 - CS50's Introduction to Game Development
01:41:28
Harvard University
15 Views · 5 years ago

00:00:00 - Introduction
00:01:58 - What is a Portal?
00:04:40 - Rendering
00:04:52 - Texture vs Stencil Tradeoffs
00:09:35 - Rendering Using Stencils
00:15:36 - Duplicate Models
00:16:36 - Clip Planes
00:17:44 - Banana Juice
00:19:44 - Recursion
00:23:19 - Third Person Gotchas
00:24:48 - Pixel Queries
00:26:34 - Design
00:27:45 - Prototyping in 2D
00:28:48 - Training Basics
00:36:22 - Portal Funnels
00:38:51 - Aerial Faith Plates
00:39:34 - Trigger Catapult
00:42:53 - Portal Highlight
00:43:44 - Portal Placement Helper
00:45:01 - Fun Over Accurate Physics
00:46:54 - Gels
00:48:09 - Portal Gel
00:49:25 - Cutting Sticky Gel
00:52:13 - Cutting Portal Through Portal
00:53:02 - Cutting Double Flings
00:54:31 - Energy Ball To Laser
00:56:58 - Combining Elements
00:57:35 - Laser Introduction
00:57:52 - Laser Saturation
00:58:41 - Laser Graduation
00:59:14 - Laser Combination
01:00:25 - Physics
01:00:43 - Volumes, Vectors, and Planes
01:03:41 - Carving Holes
01:07:20 - Collision Lists
01:08:50 - Shadow Clones
01:11:32 - Q&A
01:13:37 - Reduce Rendering Frustum
01:41:05 - In Conclusion

Portal - Lecture 10 - CS50's Introduction to Game Development
01:32:23
Harvard University
7 Views · 5 years ago

00:00:00 - Introduction
00:08:10 - Portal Demo
00:16:31 - Portal Demo Unity View
00:18:38 - Holding a Weapon
00:24:04 - Raycasting
00:37:00 - RenderTexture
00:46:00 - Texture Masking
00:52:18 - Teleporting
01:01:07 - ProBuilder and ProGrids
01:25:23 - Shadergraph
01:29:08 - In Conclusion

Dreadhalls - Lecture 9 - CS50's Introduction to Game Development
01:54:30
Harvard University
39 Views · 5 years ago

00:00:00 - Introduction
00:04:13 - Demo
00:14:36 - Texturing
00:20:54 - UV Unwrapping
00:28:27 - Materials
00:32:55 - Lighting
00:33:51 - Point Light
00:34:26 - Spot Light
00:35:07 - Directional Light
00:35:48 - Area Light
00:43:25 - Bump Mapping
00:48:42 - 3D Maze Generation
01:11:39 - Character Controllers
01:32:04 - Multiple Scenes
01:41:44 - Fog
01:44:40 - Unity2D
01:52:34 - In Conclusion

Helicopter Game 3D - Lecture 8 - CS50's Introduction to Game Development
01:56:56
Harvard University
16 Views · 5 years ago

00:00:00 - Introduction
00:07:36 - Unity
00:12:11 - C#
00:17:24 - Blender
00:19:09 - GameObjects
00:29:32 - Components
00:38:28 - Composition vs. Inheritance
00:40:29 - MonoBehaviours
00:56:46 - Colliders and Triggers
01:14:49 - Prefabs and Spawning
01:45:14 - Texture Scrolling
01:49:26 - Audio
01:54:08 - Asset Store
01:55:30 - In Conclusion

Pokémon - Lecture 7 - CS50's Introduction to Game Development
02:00:55
Harvard University
10 Views · 5 years ago

00:00:00 - Introduction
00:04:59 - Pokémon Demo
00:11:33 - StateStack
00:20:32 - StartState
00:23:32 - FadeInState
00:29:22 - DialogueState
00:33:23 - PlayState
00:36:11 - Grid-Aligned Movement
00:42:25 - Dialogue Revisited
00:44:13 - Level
00:46:13 - Triggering Encounters
00:50:09 - GUIs
00:52:36 - 9-Patches
00:55:10 - GUI Widgets
01:01:46 - Panel
01:03:25 - Textbox
01:08:49 - Selection
01:12:16 - Menu
01:12:50 - Party and Pokemon
01:22:19 - BattleSprite
01:23:58 - Shaders
01:28:45 - BattleState
01:37:55 - BattleMenuState
01:43:06 - TakeTurnState
01:56:10 - In Conclusion

Angry Birds - Lecture 6 - CS50's Introduction to Game Development
01:33:25
Harvard University
11 Views · 5 years ago

00:00:00 - Introduction
00:02:28 - Lecture Demo
00:05:45 - Sprites
00:08:38 - The World
00:11:32 - Bodies
00:13:13 - Fixtures
00:16:18 - Body Types
00:17:46 - static
00:23:11 - dynamic
00:23:42 - ground
00:28:07 - kinematic
00:35:07 - ballpit
00:38:14 - Mouse Input
00:42:08 - StartState
00:43:51 - Alien
00:50:43 - Obstacle
00:55:43 - Collision Callbacks
00:59:28 - Level
01:13:32 - AlienLaunchMarker
01:29:25 - In Conclusion

Legend of Zelda - Lecture 5 - CS50's Introduction to Game Development
01:41:59
Harvard University
7 Views · 5 years ago

00:00:00 - Introduction
00:06:04 - Legend of Zelda Demo
00:08:24 - Zelda Sprites
00:15:48 - Top-Down Perspective
00:17:52 - Dungeon Generation
00:24:08 - World Classes
00:32:18 - Infinite Dungeon Algorithm
00:38:30 - Room
00:44:48 - Entities and Game Objects as Data
00:56:03 - Stenciling
01:03:29 - Hitboxes and Hurtboxes
01:12:23 - Events
01:15:26 - Knife Event Library
01:23:57 - Screen Scrolling
01:24:06 - Stenciling Revisited
01:28:18 - Game Design with Data
01:32:16 - NES Homebrew and Programming
01:39:02 - In Conclusion

Super Mario Bros. - Lecture 4 - CS50's Introduction to Game Development
01:54:21
Harvard University
7 Views · 5 years ago

00:00:00 - Introduction
00:04:20 - Super Mario Bros. Demo
00:07:13 - Tilemaps
00:08:34 - tiles0
00:13:46 - tiles1
00:21:29 - character0
00:23:57 - character1
00:26:38 - character2
00:30:07 - character3
00:30:46 - Animation
00:38:48 - character4
00:45:12 - Procedural Level Generation
00:52:44 - level0
01:02:40 - level1
01:07:28 - level2
01:09:50 - Tile Collision
01:31:36 - Entities
01:37:45 - Game Objects
01:53:09 - In Conclusion

Match 3 - Lecture 3 - CS50's Introduction to Game Development
01:54:13
Harvard University
12 Views · 5 years ago

00:00:00 - Introduction
00:03:29 - Match-3 Demo
00:06:16 - timer0
00:09:40 - timer1
00:12:05 - timer2
00:16:50 - tween0
00:21:59 - tween1
00:30:52 - Knife Library
00:32:08 - tween2
00:43:04 - chain0
00:49:57 - chain1
00:55:35 - swap0
01:06:51 - swap1
01:18:02 - swap2
01:19:51 - Calculating Matches
01:30:25 - Removing Matches
01:40:39 - Replacing Tiles
01:46:46 - Palettes
01:49:56 - Palette Swapping
01:50:46 - In Conclusion

Breakout - Lecture 2 - CS50's Introduction to Game Development
01:52:20
Harvard University
13 Views · 5 years ago

00:00:00 - Introduction
00:03:44 - Breakout Demo
00:06:04 - Lecture Goal
00:06:54 - Breakout State Flow
00:08:27 - The Day-0 Update
00:08:42 - Project Organization
00:16:40 - The Quad Update
00:16:52 - Sprite Sheets and Quads
00:30:56 - The Brick Update
00:34:14 - The Bounce Update
00:49:14 - LevelMaker
00:51:04 - The Collision Update
00:52:12 - Paddle Collision
00:52:55 - Brick Collision
01:02:20 - The Hearts Update
01:10:21 - The Pretty Colors Update
01:16:28 - The Tier Update
01:20:45 - The Particle Update
01:27:50 - The Progression Update
01:32:17 - The High Scores Update
01:40:56 - The Entry Update
01:46:03 - The Paddle Select Update
01:49:07 - Next Time

Flappy Bird - Lecture 1 - CS50's Introduction to Game Development
02:05:24
Harvard University
14 Views · 5 years ago

00:00:00 - Introduction
00:04:04 - The Day-0 Update
00:12:49 - The Parallax Update
00:26:53 - Games Are Illusions
00:31:05 - The Bird Update
00:36:51 - The Gravity Update
00:41:51 - The Anti-Gravity Update
00:52:52 - The Infinite Pipe Update
01:13:12 - The PipePair Update
01:34:43 - The Collision Update
01:43:27 - The State Machine Update
01:57:17 - The Countdown Update
01:59:52 - The Audio Update
02:02:42 - The Mouse Update

Pong - Lecture 0 - CS50's Introduction to Game Development
01:37:03
Harvard University
30 Views · 5 years ago

00:00:00 - Introduction
00:04:10 - Lecture Topics
00:07:35 - What is Lua?
00:09:20 - LÖVE2D
00:10:08 - Game Loops
00:11:06 - 2D Coordinate System
00:11:47 - Lecture Scope
00:13:01 - The Day-0 Update
00:18:55 - The Low-Res Update
00:21:02 - Texture Filtering
00:25:10 - The Rectangle Update
00:30:42 - The Paddle Update
00:35:42 - The Ball Update
00:45:37 - The Class Update
00:55:51 - The FPS Update
00:59:35 - The Collision Update
00:59:51 - AABB Collision Detection
01:12:37 - The Score Update
01:14:40 - State Machine
01:21:18 - The Victory Update
01:27:57 - The Audio Update
01:26:44 - bfxr
01:33:54 - The Resize Update