Tuesday, December 2, 2014

Yellow Brick Road

It's been more than a month since my last update, but interesting research has been going on behind scenes. Yesterday I gave a shot at using real world terrain data to generate height maps, from SRTM data. Thanks NASA! The data is nearly 15 years old, and the accuracy isn't top of the line these days, but it is exciting to see real world terrain in UE4! There are a few companies which sell higher quality images. Nasa's data is accurate to 90m per pixel. New terrain data being sold is accurate to sub meter accuracy. Although, these options are pricey and will remain out of reach for the time being. Perhaps in the future it will be possible to map the UK far beyond this video, but at least we have a start!

Thursday, October 23, 2014

Sorting Out Rendering Bugs

I have started focusing some of my time sorting out some of the bugs that were causing ugly graphics. Screen space reflections are an integral part of UE4's reflection system. It's starting to become a common tool in the industry, but the system still has a few bugs. When applied to dynamic objects, a distracting ghosting effect renders on screen. Thankfully, I spent a great deal of time developing the car paint shader. It is capable of rendering realistic chrome with realtime reflections. Using my own materials it is possible to retain SSR, by use of the environment assets, and assigning my material to anything dynamic.

There were also a couple other features in UE4 that needed some attention, to be better behaved. After all the tweaking, I found a level of quality which I am happy with. Here is a look at one of my test levels:

Monday, October 13, 2014

Rust and Grime

One of the last features I wanted to implement into the car paint shader, before submitting it to Epic, was rust. Now it's finished! The rust is driven through vertex colors, which means you can paint where you want the rust to form. It's still using parameters to affect the look. Which means changes can still be made at run-time! Here is an example of what an instance of the shader is now capable of. 

Sunday, October 5, 2014

A Couple New Shaders

I'm currently working on putting together a package for the UE4 marketplace, which includes the car paint shader. UE4 requires a minimum of 5 unique assets. I decided to build a carbon fiber material and a glass material which both take advantage of my reflections system. Take a look at the results! I am planning to have all the assets ready for submission by next weekend.

Saturday, October 4, 2014

Testing Out Vehicle Physics

Using Unreal's own vehicle physics simulator, I have put together a very rough blueprint to drive the bike. Because the physics engine is optimized for four wheeled vehicles, I will have to do a lot of tinkering to get the desired effect of riding a motorcycle. 

I've also discovered a bug within UE4. While using a scene capture actor with the highest render settings, there is a distracting ghosting effect. In a previous youtube video, I demonstrated the problem and since then, a quick fix hasn't surfaced. It is likely that the problem is hardware related. For now, using the medium detail settings within the editor removes the ghosting, which allows for my carpaint shader to function properly.


Monday, September 29, 2014

Car Paint Shader Improvements

I'm am finishing up the final features of the car paint material. Already, there is a functioning masking system and the added ability to use custom normal maps which affect all layers! The last couple of features I would like to add are: grunge/rust based on either mask or vertex colors, and maybe a rain layer. As soon as I implement a feature, there is another good idea around the corner. 

Here is a little preview of what's now possible with the system. 

Teaching a College Course

This news is slightly belated, but I am teaching a course in 3D composition for video games at Columbia College Chicago! It's really exciting to be back at Columbia, where students are learning the skills it takes to be a part of the industry. 

If you yourself are an aspiring artist, or maybe a developer who wants to learn their way around Maya, you can follow the tutorial series I give my students. You can find them on my youtube page: Asset Creation Playlist

Monday, August 25, 2014

Car Paint Shader - Tutorial

Over the summer I spent some of my free time developing the car paint shader which I plan on using in Cafe Races. Initially, it started out as a simple idea, but it quickly evolved into a massive project. It grew in complexity and the graphic qualities also grew. Now I have a system which can simulate hundreds of different types of car paints, and if you are a UE4 developer, I want to share it with you! The tutorial is being hosted here at CafeRaces.com you can find the specific page here: tutorial 

If you give it a shot, I wish you luck. The effort is certainly worth it!

Saturday, August 2, 2014

A few 4K captures

I have spent the day creating a few images to help drum up excitement for Café Races. These images represent the final quality of the motorcycle assets. The final car paint shader has been applied and I used more complex lighting methods in UE4 to render the scene. All together, it adds up to images of a bike that I want to hop on and ride into the distance. 

Link to full quality images: http://imgur.com/a/f8tnM

Monday, July 7, 2014

A Newlywed

At 4:30 PM on June 28th I was wed to my best friend and girlfriend of nearly five years.

The night was the bet of my life. Every preparation and every handmade craft was well worth the effort. Our wedding was classic video game themed. We spent countless nights creating centerpieces, invitations, a miniature arcade machine, and in secret; my wife's wedding ring.

Now that the special day has passed I will have my free time back, which enables me to develop my game at a much quicker pace. I will be publishing a tutorial on my process for developing a car paint shader soon, to give back to the UE4 community, which has been so helpful to me so far.

I will be adding some footage of early, early in-process game play physics as well. And I will be finally putting together a kickstarter to gain the funding which will enable me to work full time on the game. It's going to be a very busy couple of months as everything begins to get underway. I will also update this blog much more frequently! So keep a close eye!


Tuesday, June 3, 2014

Showcasing My Shader / Vehicle Movement

While working on my current goal, developing the dynamic metallic paint shader, I have continually posted my progress on the UE4 forums. The forums are extremely useful for sharing techniques for development. My posts have received some attention from the guys who develop the engine at Epic, and they decided to showcase it on their new list: "Seen And Heard In The Forums"

A link for the list is highlighted in the UE4 launcher, so I am thrilled! I have had little time for production work these past few months, but I am proud that my passion for developing this game is enough to produce results worth highlighting by the guys at Epic.

I have a lot more work ahead of me but Epic's updates shrink my task list all the time! In the next release of UE4, Epic is releasing code for their custom vehicle physics system. Although it is not optimized for motorcycles, it will work as an excellent base for my own system. I believe it is going to save me weeks, if not months of development time. It also means that the game will be playable much sooner!

If you are interested in being one of the first to play test my game, please send me an email at caferacesgame@gmail.com

Wednesday, May 21, 2014

More work with the paint shaders!

I have been spending some time putting together a fully dynamic car paint shader. It now handles reflection with added flake effect.

Take a look!

Thursday, April 24, 2014

Metallic Flake Paint shader

After testing a few methods, I have developed a pretty decent car paint shader. There is a lot more work to be done for it. It's not particularly adaptable. It takes a very specific environment to make it look this way. Its also not very well optimized. These shortcomings ironed out in the next couple of weeks while I start work on the first phase of the playable portion of the project. The customization garage. 

Base Coat Shader

Base Coat + Clear Coat

Flake + Clear Coat

Full Shader with All Layers

Friday, April 11, 2014

Getting Familiar with UE4

I have been loving UE4 so far! The UI makes life easy, the tools are powerful, and the documentation has been incredibly useful so far. I wish I had every hour of every day to spend learning the system better and building Cafe Races.

Here are a test for the new shader systems. I'm still developing the base shaders which will be used for all the bikes. Reflections which used to cause weeks of work and countless headaches in Unreal 3, are all integrated perfectly this time around, so I can spend a lot more of my time focusing on other aspects.

Better car paint and flake coming soon! Just as soon as I can construct a multi-layered, multi-functional shader.

Sunday, March 30, 2014

Upgrading to UE4!

It has been a long, long, very long wait but it is finally available to the public - Unreal Engine 4

All of my previous work was implemented inside Unreal 3. Unreal 4 is going to cut development time down, by a huge margin, despite having to learn its new features. In the next few days, I am going to use whatever free time I can scrounge up to import the CB750 asset into UE4, to illustrate the difference in visual quality.

UE4 is also going to allow me to develop all of the programming with its new node based visual scripting system, blueprints. This means less time wasted on programming, more iterations, easier bug fixing - which results in a much more playable experience, more time for experimenting and polish.  

Tuesday, February 18, 2014

The Bikes

One of the most important features of this demo will be the ability to race several, distinctly different motorcycles. Another essential mechanic is the use of tuning to get the best performance out of a bike. The demo will have a taste of customization and tuning. The actual process of tuning will be done through simple "mini games." There are a lot of features that I would like to implement and I hope to get as many as I can into the demo.

Bike One: The Starter Bike

The 1961 Norton ES2, wi
th the featherbed frame was legendary for its handling ability. It could out perform almost any other bike in the corners. Its single cylinder and single carburetor setup was also easy to tune, and light. Although the ES2 did not have the most power, it was a quick bike.

 photo 4_zps7feb5e35.png
Created by Vince

Bike Two: The Powerhouse

Triumph was making arguably the best motorcycle engines in the 1960s. The Bonneville T120 had a 649cc twin cylinder, twin carbureted engine producing 50% more horsepower than the ES2. Although it was a little harder to tune, it was capable of handling a lot of extra power. The T120 engine was reliable and sophisticated. The twin cylinder also made the Triumph a little heavier than the ES2.

 photo T120_zps8a460d8f.png

Created by Vince

Bike Three: The Superbike

The Honda CB750 is one of the most significant motorcycles in the history of fast bikes. When it was released in 1969 it showed the world that innovation can come from anywhere. Originally designed for the American market, Honda quickly showed the world that it was possible to develop a bike with cutting edge race components, and make it affordable to the average rider. It was faster, stopped quicker, and more reliable than any other bike before it.

 photo CB750_zps9654c982.png

Created by Vince

Concept Illustrations

Over the past few weeks I have had the opportunity to work with Eddie Einikis, a talented concept artist, to produce a few concept pieces that express the mood and visual feel of the game. The environment for the demo will consist of narrow country roads lit by moonlight, and the occasional streetlight. Brush and trees are thick in the English countryside, which mask some of the dangers of riding the roads. 

Shadows hide curves, bumps, and other obstacles. Those obstacles never stopped the hardened racers, but the dangers were very real.

 photo sketches_wip1_zps32d81ab1.jpg
Created by Eddie

Usually you could bet that the fastest Café Racers of the day would be the quickest to a coffin. English roads in the 1950s and 60s were not ideal for motorcycle racing. Roads were dimly lit, spilled truck oil was common, as were discarded and lost automobile parts. The countryside had even more danger: animals, leaves and gravel. Racing a bike fast on these roads took the kind of courage only a young adult possessed, that feeling of invincibility. Many riders paid the price for their attraction to speed.

 photo VincesBikeGame_Crash_HR_zps15a618cd.jpg
Created by Eddie

The thrills of the Café Racer were unmatched. These bikes were specially tuned to be the fastest vehicles on the road, and they were. If your bike wasn't capable of doing the ton (100 mph) then you weren't in the same league.

 photo VincesBikeGame_Jump_HR_zps1e8a0eba.jpg
Created by Eddie

The Café Racer boys had a culture all their own. Each night they would get together at the local cafés to sample new music: Rock and Roll. Cafés were just about the only place where a young adult could listen to the new genre. Cafés were the hubs for their culture, and they will be the racing hub for this game.

 photo VincesBikeGame_Rockers_HR_zpsa4cbd7bd.jpg
Created by Eddie

While listening to the Rock and Roll at the cafés, the boys would bet each other who had the fastest bike, and who had the resolve to race them. A new sport emerged. Racers would bet that they could start a song on the jukebox, hop on their bike, race to the next café and back before the song ended. This will make up the primary mechanics of the game. Players will select a course, pick a song, make a wager, and then race! The more bets they win, the more money they have to spend on tuning their bikes. The players will also be able to earn enough money to purchase new bikes.

 photo CafeCharacter_zps12fa3e6d.png
Created by Vince

Friday, February 14, 2014

Real Time Showcase

The project is in its infancy. The visual showcase of the CB750 was completed on January 1st. The purpose of the showcase was a proof of concept. I wanted to know if it was possible to get an extremely detailed model of a vintage motorcycle running, with animations and complex shaders, in UDK.

I posted the video on reddit and found that there was a large number of people that were excited to see this high level of detail. Because of those reactions, I decided to go ahead an commit all of my effort into continuing this project. The scope of the full title is ambitious and will take a lot of work and help from others to complete. The demo's purpose is to reach out to the entire gaming community and find its audience. Motorcycle enthusiasts can already see the potential of a vintage motorcycle racing game. My current task is to prove to everyone else, that it will be a unforgettable gaming experience.

Old Work and Stepping Stones

These images are from the development of the CB750 showcase. Some of you may be wondering why I chose to create the CB750 first. I created this bike because it is my first motorcycle. It is a bike I have been restoring for the past year. I had exact measurements, easy reference, and most importantly a platform to record audio. The Honda is the first of three bikes for the demo. 

The game will be primarily focused on British bikes from the 1950s and 60s but CB750 was the beginning of the end of British motorcycle superiority when it was released in 1969. It was responsible for the creation of a new term to describe its speed and abilities: Super Bike. Many love it, but some consider it to be tame, without soul. It will provide contrast between the British bikes and illustrate the difference between them.  

This image is pulled straight from the showcase. The game demo is being developed for a first person experience. Despite not having any rendered character assets, this image closely represents the visual quality that the demo will posses. 

 photo 2_zpsa2167387.png

All the camera animation and audio was entirely in engine. 

 photo 1_zps56657a4b.png

These images are from the middle of developing the showcase, the first time most of the shaders were in place, in a simple form. There were many tweaks and added features to the shaders before the showcase was completed.

p3d.in is a great new platform for viewing 3D models online. After uploading the CB750, I was asked if it could be used to showcase some of their new features. That article can be found here: p3d.in/b/8