Author Archives: DesignJunkie010

VR Work Update

As some of you may have seen on my Twitter feed, about 2 months ago I began a partnership with the Grand Rapids Public Museum. This multi faceted relationship began with a simple conversation. The Museum was interested in working with community partners to design a new way for teens and young adults to experience the museum content and did Wmcat want to help with that. From those conversation have grown internships for Ferris State University’s Digital Animation and Game Design students, a VR project for my Wmcat students, and curriculum for me to teach a college level VR class this summer. It’s been wonderful and I cannot stress enough the power of working with partners and getting to know people. On to the update!

As part of our partnership with GRPM, my high school students at Wmcat have set to work on designing their own 5 minute VR experience. Designed to reach their peers and get them excited about museums again, Woodcraft VR casts the player as a young apprentice furniture maker learning how to create handmade furniture during the heyday of the Furniture City (Grand Rapids MI circa 1878). Follow your Mentor’s training and build as many tables and chairs as you can in 5 minutes.

My students and I have hit a solid Alpha state after 8 weeks of work. All the content you see has been programmed, created, or recorded by the students with me lending a helping hand along the way.

The next 2 months will be used polishing the experience in preparation for the local Maker Faire in August. Then it will be on to a special Education category as part of ArtPrize in September and October. There is a lot of work ahead but the game is very fun even in its current state so I believe we are on the right track. Have a look at our early preview footage!

Upcoming Summer Camps in Grand Rapids, MI!

Hi everyone! I am very excited to announce that I will be teaching several summer camps here at West Michigan Center for Arts and Technology. The camps are geared towards students that will be in grades 7 through 12 in the fall and cover topics ranging from level design with Nintendo Mario Maker to 3d Printing.

My sessions are as follows:

July 10 – 13: Both a Mario Maker and Unreal Engine summer camp are available
July 17 – 20: Both a Mario Maker and Unreal Engine summer camp are available
July 24 – 27: Enjoy sessions on City X: 3d Print the City of the Future
July 31 – Aug 3: Enjoy sessions using Nintendo’s Mario Maker
Aug 7 – 10: Both a Mario Maker and Unreal Engine summer camp are available
Aug 14 – 17: Enjoy sessions on City X: 3d Print the City of the Future and Unreal Engine

Head over to Wmcat’s Summer Arts and Tech Camp site for details!

DisasterSpace (Working Title)

Procedural generation! It seems to be my latest obsession and one of the favorite ways designers create replayability in their designs. Games like Blizzard’s Diablo series used it to create dungeons that varied from playthrough to playthrough, while Hello Games No Man’s Sky tried to generate a whole universe for their players to adventure in. With help from the folks at Pub Games, I was able to get down the basics of procedural generation in Unreal 4 using Blueprint. Their video Procedural Levels in 15 Minutes became the launching off point for developing a system that generates rooms and corridors using arrays and random number generation. This new system has become the cornerstone of my new game idea DisasterSpace

The System

screenshot

The system I currently use has undergone three major iterations and numerous failures, tweaks, and rewrites. It builds on the ideas introduced in the Pub Games video. Arrays store different types of levels. Using random number generation, a room is chosen and then placed in the persistent level using a system of connection points. All this code is stored within the connection points themselves to keep things modular and organized. When the requested number of rooms is created, the system then caps off all the extra connection points so there are no loose ends. I have created a few different kinds of connection points to keep the system flexible and each level is self contained and can have it’s own lighting, effects, and more.

As I developed the system, I was able to test it within a few different scenarios. At first, I used it to build randomly generated towers that might be used in a puzzle game. When I got this to work, I was able to move on to building randomized dungeons. Using different connection points types, I was able to specify whether a room, hallway, or junction was built at a particular doorway. Thus creating some very interesting levels. After further testing, I now feel the system will be perfect for building my newest game idea.

The Game

Klaxons blare. As you climb wearily out of your cryo sleep tube, your wrist mounted computer informs you that several of the ship’s systems have been damaged by an unknown catastrophe. What happened? Is anybody hurt? DisasterSpace is a disaster survival game set among the darkest regions of space. The player takes the role of the ship’s engineer, woken up early from cryogenic suspension to deal with a disaster that has damaged the ship and put it, and the rest of the crew in a life or death struggle for survival. Find out what happened, repair as much as you can, and save as many of the crew as you can before the ship is destroyed.

DisasterSpace utilizes the procedural generation system to vary a ship’s layout and provide enough variety to support multiple playthroughs of the game. Players take on the role of the ship’s engineer. A mystery disaster has befallen the ship and her crew while they all slept in stasis resulting in catastrophic damage. The player must save the crew and repair as many systems as possible before the disaster has a chance to destroy the ship. During play, the level will change based on the scenario and how long the player is taking to reach the end goal of a functional ship. Rooms that were there just moments ago may now be open to the void. Hallways that provided safe routes before, may now have no oxygen or be filled with fire. The environment will change during gameplay and the player must evolve with it to win.

I am currently working out the basic design of the gameplay systems to begin working on a prototype for testing. Once I have a rough, working design I will be sure to post it here!

3d Printing in the Classroom with the CoLiDo 2.0+ Printer

Game design is not the only skill I try to teach my students. I want to impart upon them an awareness of up and coming technology that will impact their lives. So anytime there is an opportunity to give the class hands on experience with something such as VR or 3D Printing, I take it. Which was why I was so glad to be able to receive a CoLiDo 2.0+ 3D printer for my classroom!

img_2732

The printer could not have come at a better time. My design students were right in the middle of creating and prototyping their own original board game designs and were thrilled to have the opportunity to print custom game pieces as well. Since working with 3d modeling software is a skill taught later in the year, my students took to the Web to find close approximations of the pieces they were seeing in their imaginations. The students were able to discover files STL files that would allow them to print masks, trees, house ruins, dragons inside eggs, and even a campfire to use in their designs.

img_2794

Using the machine was simple. A technician came and setup the machine for us, calibrating the temperature and nozzle height ahead of time but also taking the time to show me how to do it if anything needed changing. A quick download from the CoLiDo web site gave me a free copy of the software needed to turn our STL files into printable data for the printer. We had our first print, a prop from a popular video game, printed in about two hours. I was able to turn it into a complete learning experience by talking with the students about how the printer could be easily used to create promotional or demo material for our later projects. The looks of amazement that we had pretty much just created something from nothing was all it took to get me wanting more.

img_2789

Not everything was fun and games though. I did experience a few issues. During one print, the nozzle that the PLA plastic material is squeezed through became clogged, requiring a reprint of the current project. However, I was easily able to clear the clog using the simple instructions located directly on the front of the machine. My technician was surprised that I was able to do it so easily having had no previous experience with the printer. Another time, I had several prints that would mess up partially through the print and require that the project be restarted. After observing the piece in question being printed alone, I was able to see that during one portion of the process the nozzle would be a bit too low and would become covered in melted material. A quick trip back into the CoLiDo software on my computer was all it took to get me working again. Each time I have had an issue, I was able to figure things out on my own without a problem. However, if I was unable to solve the problem, my CoLiDo technician is simply phone call away.

img_2791

Having the printer in my classroom has allowed me to open doors for my students in ways I simply couldn’t before. The printer can be used for sculpture, game props, maker activities, custom parts for robotics projects, and so much more. The possibilities are only limited by the classroom’s imagination. Due to our success introducing the printer in the class, we are working on plans to expand our capability to include a 3d Printing lab that will be available to our students for projects in the future. I can’t wait to see what they come up with next!

Wmcat Honored by the White House!

As you may be aware, I am a Teaching Artist at West Michigan Center for Arts and Technology (www.wmcat.org), a fantastic after school youth program where I teach game design and development using Unreal Engine 4 and recently started teaching game programming using Python. It is hands down the most rewarding work I have ever done and I enjoy every day I go there.

Well, I can now put on my resume that Wmcat is one of the TOP 12 youth programs in the entire nation, as recognized by the Committee on the Arts and Humanities. This committee is a signature program of President Obama and the award will be presented by First Lady Michelle Obama.

I could not be more proud to be part of this award winning program and see us garner recognition on a national level!

See the press release here.

Chapter 2 Errata

For those of you who have picked up my book already, thank you. I hope the book is as fun to read as it was for me to write and good luck on your future UE4 projects.

A special thank you to to reader Lukas in Germany, he caught a bit of an error on my part in Chapter 2. Please utilize the following on page 24:

  1. Everything working? You may have noticed that when the door opens, it slides away forever. Not very useful. This is due to the player triggering the door multiple times by standing in the box trigger. To fix this, we need to change the math in our Blueprint to add the initial location of the door to our Timeline value, rather than getting the door’s location repeatedly. To do that first grab an Event Begin Play node from the Palette. This can be from the Find a Node search box or it is marked in the Favorites section in the top portion of the panel. Next, create a Variable by clicking the + button in the Variables section of the My Blueprint panel and name it Door 1 Initial. Variables in Blueprint work just like they do in everyday math, they store information. However, variables in Blueprint can store much more than just numbers, they can hold almost anything. This variable will store the initial position of our door so that we can add it to our value that is animated by the Timeline. With our new variable selected, head down to the Details panel in the lower left portion of the screen and change the Variable Type to Vector.
  1. Time to wire it up! Drag the Door 1 Initial variable into the Blueprint and place it next to the Event Begin Play node. It will ask you whether you would like to Get or Set our variable, use Set. Grab a Get Actor Location node and plug that into the vector value on the left side of the Set node. Finally, set the door as its Target. Now just replace the Get Actor Location in the Door sequence with a Get version of our variable and we are all set! Make sure to follow the process again for the second door at the other end of the hallway.

Chapter 2 Errata

Hope this helps!

The Book is Out!

My book has been completed and has finally made it into the digital wild. A huge thank you to the folks at Packt Publishing for making it all possible. You can currently find it at both Packt and Amazon.

The book is a great beginner guide to using Blender with Unreal Engine 4 and is packed from cover to cover with 3d modeling and level design tips. This title is great for those of you who are just starting out with game development.

With this project wrapped up, it is time to move back in to completing the Base Game project I started earlier. Onward!

A Book Deal

I’m very excited to announce that I have been approached by a publisher to write a game development book using Unreal 4! The book will focus on using Unreal and other free and open source programs to create assets and assemble a level. The goal is to introduce UE4 developers that might not be familiar with the art pipeline to the process of creating custom assets and characters for their games.

I’m very excited for this opportunity and will be sure to update everyone as I move forward.

Site Redesign and New Purpose

BaseGameInv

Welcome back to the Gaming Bootcamp.

As you can see, the site has undergone a bit of a change. I was in need of site to promote myself and so change was needed. Tutorials will still be posted in the links section, such as my UE4 Blueprint Ladder Volume Tutorial. My Professional Portfolio page contains my current projects, past projects, tutorials, and samples of curriculum from the classes I teach. Feel free to have a look around and contact me if there is anything you would like to talk about.

This time around I won’t be trying to stick to any update schedule in particular. When new project updates or tutorials are finished, I will post about it.

Once again, welcome back and enjoy!