Recreating Retro Electronic Devices in 3D

Cem Tezcan talked about designing and modeling Commodore consoles and handheld computers for his Retro Computer Desk scene.

Introduction

Hi, my name is Cem Tezcan, I'm a Technical Designer.

As a technical artist, I sometimes work on environment design for some concepts, especially about the 80s and 90s. That’s the time of my childhood so I feel attached to the computers, products, lifestyle, even furniture, and decoration of that time. There are not many survived personal photos or products of those times, so creating something like that requires intense searching, studying, and mostly imagining to fill the missing references. That helps to advance creative skills.

Recently, I've recreated the apartment room of my childhood. Creating furniture, toys, and devices with limited references was a challenge, but the work was both fun and nostalgic for me.

1 of 3

As a product designer, I also love modeling retro devices because every detail of those products is the primitive version of today’s technology. Working on such concepts makes it easier to understand today’s electronics. For example, 1-2 years ago, I couldn’t solder a single cable, but today, I can create simple electronic devices and print 3D housing for them to create prototypes as a hobby. Here's my Firepad64 controller project:

Retro Computer Desk: How It Was Born

I created the first version of the Retro Computer Desk scene a year ago. I started to create the Commodore brand electronic devices with Solidworks and made some product visualizations. After showing two of them to the community, I decided to present all of them in a scene with a nice composition. I modeled a Commodore 64 PC, then I added Cassette Player, Disk Drives, then Monitor and so on. After I gathered all the devices, I modeled vintage furniture settings to place the products around. I disassembled some of them to create a “technical service” or “professional 8-bit gamer” look of the space. After placing the game disks and cassettes around, the concept was completed.

The main purpose of creating this scene was to catch the old photo feeling when looking at it. The best way to achieve it is to use the “flash photography” approach because most of the photos in the 90s were always taken with flash. I don't really know why it was like that - maybe it was done to get the best lighting as you had to print those shots later. 

Anyway, after catching a nice mood, I revised the same scene by changing the placement of the accessories a little bit and putting the HX-64 product into the scene as the main portable personal computer.

Since the flash photography is a bit disturbing like Silent Hill games, this time I went for warm natural light and a little haze to show off the device.

The second version of the scene

Modeling Old Devices

All of the objects in the scene are from the 8-bit computers’ era, which I’m a fan of. I still hold my old C64 from my childhood. Surprisingly, it still works.

Starting with Quickjoy Turbo joystick, I modeled those products with an approach I called “inside out modeling”. I did the modeling in Solidworks according to the exact dimensions. When I modeled the piece, I took measures of the real hardware I have with calipers and made the angles, fillets and other details. After modeling the outer case, I modeled the whole PCB with all electronic components attached.

The same was done for Commodore 64. It allowed me to practice modeling and texturing, plus modeling a device this way lets me own that device virtually too and protect it from the impact of time. These devices are more than 35 years old and they won’t last long. I think, seeing something from your past in 3D on your monitor is a good use of skills and memories. If put roughly, I believe that creating something serves two main purposes: either to create something that does not exist yet or create something that has existed before and (optionally) has been lost. I focused on the second purpose for a while.

Technically speaking, CAD models are hard to handle when converting them to polygon models. Even if you succeed, the UV process will bring new troubles in most cases. Hence, most of the CAD models are hard to visualize. On the other hand, CAD modeling is the best modeling style for designing or referencing manufactured products with correct dimensions because they were all modeled in CAD before the release. All the details of those devices have the integrity of dimensions, geometric relations, and product limitations. When modeling a thing according to the measurements and making sure all the design elements comply with the rest of the model it feels like solving a Sudoku puzzle. Harder at the start and easier at the near end.

Here you can follow the process of modeling Commodore 64:

 

When modeling old products or devices, I ask myself: “How can this be manufactured and is it useful?” This is the key element for creating realistic models. I always check if plastic injection molding is possible for making the case. Can it be assembled by shrink-fitting or do I need screws? Are those screws intercepting any electronic part inside? What the seams on the case should look like? Is this device ergonomic? Those concerns should be paid attention to when designing a new thing.

After the model is convincing enough, I go for texturing by adding simple variations in the material’s roughness values. There is not much work here. However, for a CRT screen, I recreated the whole effect to mimic reality. That is an important detail. Creating a plastic material may be easy but I can’t create a CRT screen material that looks like an LCD screen. Therefore, I always check the references from the real world and match them with my concepts.

Animated CRT filter in Unreal Engine:

HX-64

Speaking of the revisited version of the scene, at some point, I replaced the main element, Commodore 64, by moving it to the shelf and putting an imaginary handheld Commodore 64 computer named HX-64 instead.

The HX-64 started with the question “How a handheld device that runs as C64 would be manufactured in the late 80s?” As a result, I created a product that supports cassette players and disk drives of that time and runs as a portable hand computer. It went viral in many retro computer communities and, as a retro gamer myself, I’d pay so much money to purchase something like this if it existed today.

The modeling workflow was based on my previous 3D printing and elementary electronics projects I worked on as a hobby (a joystick replacement for Commodore 64 and some Raspberry Pi cases). Since the system is the same, I put some electronic boards into a plastic case and connected the elements. The interface parts like buttons and connection ports should be considered in both plastic and electronic parts of a device to make it feel “usable”.

The hardest part was the CRT curviness because the ratio should be correct and the frame should comply with the seams. The rest was relatively easier.

When designing this device, I already had some knowledge of Commodore's products but I studied more. I knew I had to relate to those devices to make my model similar to the company’s designs. The screen is inspired by their 1702 monitor model. The sides of the housing refer to Commodore 64's new case. Colors, labels, and the power light are inspired by the Commodore 64's old case (called Breadbin), membrane keyboard - by the Commodore Max. And finally, the whole concept is inspired by the Commodore SX-64 which is a portable version of the Commodore 64.

Texturing

For the materials and texturing, I use Substance Painter. If a pattern or a material can’t be created with Substance Painter’s tools, I move to Substance Designer.

To be honest, I am bad at hand painting which forced me to make parametric controls and build a non-destructive workflow for material creation. I don’t like using static images or paint stationary details on my textures because they are hard to revise. So, I just paint custom masks with a few strokes or polygon painting to blend materials and textures. The rest of the details are achieved by combining procedural textures.

I put much effort to make the texturing process as non-destructive as possible so that I could move forward and backward between modeling, texturing, and rendering. When I don’t like something in the final render, I can easily change UVs or geometry and see the changes without doing the same texturing work again. Flexibility is the key if you want to make near-perfect content. Otherwise, you will have to accept the result as it is after 2-3 overwhelming revisions.

For the grainy plastic, I mostly used white noise and a warp filter to disturb the noise slightly. After assigning a few low roughness values for the white bumpy areas, the material is ready to use.

A CRT screen is not an easy thing to recreate with a simple texture because CRT screens have a phosphor pattern and scanlines that need to be blended with the original image. The input image should be pixel-perfect to match the scanlines and the pattern as well. For that purpose, I created a CRT filter in Substance Designer some time ago. You can download it for free here (check out the project page here).

Rendering in Octane

Octane is an impressive GPU rendering engine that I use for about 3 years. It creates amazingly realistic results in terms of ray tracing and colors. Also, any adjustment can be done within the post process section in the engine. Some people might find it weird, but in 95% of the cases, I use the Octane Render output file as the final image. I don’t need to do any adjustments in external software - this is a great benefit and time saver.

The way Octane handles the metallic roughness maps of the PBR textures exported from Substance Painter is gorgeous. Mixing different materials with emitter masks is a real deal to get the screen effects.

Screens, especially CRT screens are a bit problematic even when taking photos of them because their intensity is very high. When adjusting the exposure level of a scene, screens may still have a high level of intensity. When you adjust the exposure of both of them, it may be hard to show the red LED of the device because it’s both too small in size and low in intensity (lower than the rest of the light sources). The best way to handle this kind of problem is to use light sampling rates if adjusting the intensity is not working. The light sampling rate influences the raytracing calculations and is used to balance the importance and contribution of different lights in the scene. When I want a light to be bright but it also has to illuminate the surrounding objects less, I change the sampling rate of that light and it's calculated less. This is a nice trick for controlling the raytracing behavior of multiple emitters in a scene.

In this example, two spheres have the same light intensity. The right sphere has 1 sampling rate, the left one - 0.2. This means the left light source will be calculated less than the right one. As a result, even if they have the same intensity, the left light source can't event illuminate its shadow on the wall.

Conclusion

I designed and modeled the handheld HX-64 device in a week. It was an easy process as I simply took my old ideas and visualized them. It was, however, challenging to create the composition of the scene. Cables often needed to be reorganized when one of the devices changed its position. When the objects are placed properly, this time the camera is wrong, so you change the angle and need to rearrange the accessories and the cables again. That was a pain! But other than that, it was a really straightforward project for me since many details were already created beforehand.

Cem Tezcan, Technical Designer

Interview conducted by Kirill Tokarev

Keep reading

You may find this article interesting

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more