Greetings from Sarasota, Florida!
Shortly after completing my VR work with my students in Grand Rapids, MI I was given the opportunity to apply for full time employment (YES!) in Sarasota, Florida. A position had opened up at the local magnet school in their Animation, Gaming, and Simulation program. As many an indie developer will tell you, full time employment can free you up to do the projects you want to do if you don’t have to worry about how you will pay bills and eat. This job also combines the two things I love the most, game dev and teaching the next generation. The position was to teach high school freshmen and sophomores basic design elements and digital tools for game development and to reinvent the curriculum from the ground up. I would also get the opportunity to live in the tropics after living in Michigan my entire life. Who doesn’t want that right, after years of winters in the great white north?
Well I couldn’t pass that up. I would also get the opportunity to teach with a long time friend and teaching collaborator who I’ve known for 12 years. She had moved down the year before with her family to help the school begin to transition their program from a fine arts approach to a digital art approach. She primed the pump with the administrators for me so that by the time I had my interview, they had already made their decision. I got the job and moved to Sarasota on the first of July and I haven’t looked back!
So how does this affect my projects in motion? Here is the rundown:
- Masters Thesis and Book Promotion – This is my top priority currently. Completing my thesis is the last loose end from Michigan that needs to finalized and it has been a long time coming. The subject is the book writing process and how the book can be used in high school curriculum. I might know a thing or two about that. Book promotion will be a big part of my plan this year as well. Through my new job, I get the opportunity to attend GDC this coming year and will be looking to connect with other educators at the Education Summit. I am also planning to attend Epic Games education event that they have started holding offsite. Last year, my book was on sale through my publisher at that event and I think it would be great if I was there to help promote it. Are you going to be there? Email me and we can make plans to connect ahead of time!
- Woodcraft VR and the Grand Rapids Public Museum – This project made it difficult for me to leave GR. After completing the beta version with my students at West Michigan Center for Arts and Technology, my students made an excellent showing at the local Maker Faire. The plan was to continue developing the game into this academic year to complete a final version by Christmas. Leaving Wmcat was the hardest thing I had to do in the moving process as I love the organization and their mission. I still miss my Wmcat family! So what does this mean for Woodcraft VR? I will be stopping by the Museum during my upcoming trip in December to install the game in it’s current form so that my former students can see their game in action. I will continue development on the game in partnership with GRPM from down here after I have completed my thesis. I won’t let my kids down!
- Procedural Generation Tutorial – I hated having to put this one on hold since all I have to do is document my process that is currently working in my DisasterSpace Alpha. I have not given up on this as this was a very popular topic on my Twitter feed. Look for it early 2018
- DisasterSpace – With the closing of Visceral Games, DisasterSpace has become my homage to one of my favorite game franchises of all time, Dead Space. The development of Disaster Space will continue over the summer of 2018 during my break from education work.
Since moving, I can honestly say that I love it down here. The sun and temperatures are great and my new school is giving me tons of opportunities t expand my skill. Even Hurricane Irma couldn’t stop me though it certainly gave me some anxiety. My new students are great but I have not forgotten my old students or where I came from. Grand Rapids gave me so much. I learned how to create games there and I learned of my love of teaching there. I will continue to pursue partnerships with GRPM and Wmcat with enthusiasm and connect my new students with these great orgs. But I love my new home in the tropics and look forward to my new adventures here in Sarasota!
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!
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!
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 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.
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!
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!
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.
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.
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.
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!
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!
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:
- 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.
- 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.
Hope this helps!
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!
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.
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!