Contents:

Learn: The Profession of Game Designer from Scratch to PRO
Learn moreA Brief Overview of PlayStation 1 Architecture
Game developers for the original PlayStation faced numerous technical limitations, including a limited color palette for textures and a low polygon count in models. These limitations forced them to conserve resources, resulting in significant differences between in-game characters and their depictions in CG cutscenes and promotional materials. Because of the minimalist approach, even attractive characters often looked awkward and ungainly. These aspects had a significant impact on the perception of games and formed a unique style that became characteristic of the era of the first PlayStation.

When analyzing the technical characteristics of the PS1 console, you can find that it is equipped 2 MB of RAM. This limitation meant that all game data, including program operations, had to fit within 2048 KB. To solve this problem, the developers used dynamic data loading from a CD. However, it is worth noting that the amount of information processed in real time could not exceed the specified limit, which had a significant impact on game development and optimization.
One significant limitation is related to the amount of video memory, which is only 1 MB. This amount stored the current frame buffer data and textures displayed on the screen. Many games required double buffering, which complicated the task. Therefore, two frame buffers had to be placed in the limited space, leaving only a small portion for textures and the color palette. This limitation significantly impacted the graphics quality and performance of games of the time.
The PlayStation was equipped with two coprocessors, which significantly expanded the capabilities of the central processor. CP0, responsible for system management, and CP2, known as GTE, played a key role in graphics processing. GTE provided 3D perspective projection, performed interpolation, rendered lighting, and performed other operations critical to 3D graphics rendering. These technologies allowed the PlayStation to offer players a more immersive and realistic gaming experience. The PlayStation's GPU was only capable of rendering images in 2D, which meant using pixels. Although 3D objects could be visible on the screen, the coprocessor converted 3D coordinates into 2D images, ignoring depth coordinates. This feature significantly impacted the quality of the final image. We'll look at this in more detail later.
Let's analyze how all of these characteristics of the PlayStation 1 architecture affected the graphics, making it a unique calling card of its time.
PlayStation 1 Graphics Features
Each PS1 game has certain features that make it unique. These features include innovative graphics for its time, a variety of genres, including platformers, RPGs, and racing games, as well as memorable characters and engaging stories. In addition, many PS1 games offered new gameplay mechanics, which contributed to the console's popularity and the creation of iconic franchises. An important feature is also the ability to play multiplayer, which adds interest and a competitive spirit. All these elements made PS1 games a true phenomenon in the world of video games.
Currently, it is difficult to find reliable data on the maximum number of polygons that the PlayStation can render. The Wikipedia article mentions an unconfirmed claim that the console could display up to 90,000 polygons with textures and Gouraud shading. In low-light conditions, this number doubled. Such characteristics highlight the PlayStation's capabilities in graphics rendering, but an accurate estimate requires relying on more reliable sources.
In practice, fixed polygon values did not exist, since much depended on the game format and the coprocessor features used. This limited developers in creating complex models. For example, Lara Croft's model from the first Tomb Raider contained only 250 polygons, while Leon Kennedy's model from Resident Evil 2 had 407 polygons. Compared to modern game consoles, capable of processing scenes with millions of polygons in a single frame, these values seem extremely small. Technological advances in graphics and computing power allow developers to create more detailed and realistic models, significantly increasing immersion in game worlds.
The maximum texture map size for PlayStation 1 was 256x256 pixels. However, developers most often used a format of 128x128 pixels and smaller, reserving 256x256 for texturing key characters to create more detailed images. To optimize resource usage, all UV elements of similar objects were placed on texture atlases. Light sources in levels were placed economically, and shaders were not used at that time. Basic lighting was applied to texture maps, which created a minimal illusion of volume. Shadows and highlights were rendered both on character textures (such as folds in clothing) and on the environment (darkening along the edges of walls or ceilings). This approach allowed developers to create visually appealing game worlds despite the console's limited technical capabilities.

To create dynamic special effects, developers used sprites, and character animation was achieved not with modern skeletal animation, but by shifting vertices or groups of vertices of the model based on keyframes. PlayStation also featured an advanced MIMe Animation system, which allowed developers to customize the coordinates of vertex displacement using various parameters. This system significantly expanded the possibilities of animation and improved the quality of visual effects in games.
One of the distinctive features of the PS1 console is its unique rasterization, which resulted in jagged and flickering images when objects moved on the screen. This is due to the conversion of geometry to 2D using the GTE coprocessor, which limited the accuracy of rasterization due to the lack of subpixel processing. The console worked only with integers, without support for floating values. As a result, the vector calculations needed to display new values were performed using integer pixel coordinates. This created a situation where the edges of triangles could occupy only a fraction of a pixel. When one of the polygon's vertices was moved, a new pixel grid was formed, which caused the jittering effect when three-dimensional objects moved. Thus, rasterization on the PS1 remains an important aspect that shaped the unique visual style of games for this console.

This phenomenon is best illustrated by examples provided by the programmer and by Cloud Imperium Games designer David Coulson. In the first example, he demonstrates subpixel rasterization of a triangle, and in the second, rasterization on a PS1 console. In both cases, the shape moves at the same speed and rotates at the same angle. However, in the second example, the triangle appears to jitter. This effect can be explained by differences in rasterization algorithms and limitations of the technologies used in older game consoles.


A depth buffer, or Z-buffer, is an array of data that defines the distance between fragments of a scene and the viewer in a 2D image. This buffer is effectively a grayscale image, where each value corresponds to the depth of a specific pixel. The depth buffer plays a key role in rendering, allowing you to determine how far away various elements of a scene are relative to the in-game camera. This provides a realistic perception of spatial relationships between objects and improves the overall graphical quality of images.
The PS1 architecture did not include support for a depth buffer, which created certain difficulties for developers. Without this feature, the responsibility for correctly displaying objects at various distances fell on the shoulders of game creators. To ensure the correct rendering of elements depending on their distance from the camera, special ordering tables were used. These tables played a key role in managing the order in which objects were displayed, thereby avoiding visual artifacts and overlapping.
These tables collected data on groups of primitives, such as polygons, lines, and sprites, which were used to form 3D images. These groups were organized in a hierarchical structure, ensuring their interrelationships. Each group was assigned a depth value, which allowed for the correct management of the drawing order. Primitives located at the greatest distance from the viewpoint were drawn first, followed by closer objects. This approach ensured the correct display of the 3D scene in the game, significantly improving visual perception and player interaction with the game space.
Games often encounter situations where the system is unable to accurately determine which triangle should be drawn first. This leads to glitches on the screen, causing parts of the model to suddenly appear and disappear. Such artifacts can negatively impact the player's experience and cause frustration among players, highlighting the importance of optimizing graphics engines and improving rendering algorithms to ensure a more stable and high-quality visual experience.

A similar defect is also observed in the PlayStation tech demo with the T-Rex, released in 1997. This demo became a landmark for early game graphics technology, demonstrating the capabilities of the platform and attracting the attention of players.
When a dinosaur moves, an artifact can be observed: the polygonal meshes of the legs and body partially intersect, causing some triangles to "fall through" or protrude in inappropriate places. This problem occurs due to incorrect depth calculation, which negatively affects the visual appearance of the model. Correcting these artifacts requires careful adjustment of polygonal meshes and adjustments to rendering algorithms to achieve more realistic movement and appearance of dinosaurs.
Depth Cueing is a method that changes the visibility of an object depending on its distance, focusing on its lighting and shading. This approach helps create the effect of depth by simulating fog, which can have different shades. A striking example of this method can be seen in the game Silent Hill, where the masters developed an atmosphere combining external gloom and darkness inside the premises, which enhances the player's immersion in the game world.

On PlayStation, objects outside the player's line of sight are clipped at their entire primitives. This results in large sections of the scene suddenly disappearing when the character is moving quickly and there are large polygonal structures in the foreground. This rendering approach can negatively impact the game's visual perception and cause discomfort for players. Optimizing object visibility and managing rendering can improve graphical quality and gameplay.
In Tomb Raider, you can observe situations where individual polygonal structures in openings suddenly disappear from the scene, creating empty space. This phenomenon is indicated by arrows in the image, illustrating visual and graphical issues during gameplay. Such errors can negatively impact the player's experience, breaking the immersion in the game.

This phenomenon is observed with a certain polygonal mesh design, an example of which is presented below.

The face of the cube is divided into three triangles: one large and two smaller ones. These smaller triangles have a common vertex located in the center of one of the edges of the large triangle. This geometric structure allows for a better understanding of the cube's properties and symmetry. Dividing a face into triangles is also useful for visualizing and analyzing geometric shapes in various fields, including architecture, design, and mathematics.
When using a static image, the structure remains unchanged. However, in dynamic conditions, the coordinates of the 3D model's vertices are calculated in real time. The PS1 architecture is unable to correctly process the coordinates of the vertices of an edge connected to the vertex of another triangle. This results in the formation of a characteristic gap between adjacent sides. This flaw can significantly affect the quality of visualization and the overall perception of three-dimensional objects in games and applications created on this platform.

The Sony devkit documentation recommends that developers construct geometry so that the sides of one triangle match the sides of others and share vertices at both ends. This is important for optimizing graphics performance and improving visual quality. The diagram below provides a visual example of such a mesh, which allows you to better understand the principles behind the development.

In computer graphics, mipmapping is a texturing technique that involves creating multiple copies of a single texture with varying levels of detail. These copies range from standard resolution to minimum resolution, optimizing rendering performance and improving image quality. MIP mapping helps reduce moiré and aliasing when displaying textures on objects, especially when they are at a significant distance from the camera. This approach is an important tool in game development and 3D modeling, providing a smoother and more realistic visual experience in computer applications.
Some developers solved this problem on the PlayStation 1 using code. For example, in the game Wipeout, MIP levels were stored on the CD, and the game automatically loaded the appropriate textures depending on the distance of the textured fragment of the scene from the player's camera. This approach significantly improved graphics quality and optimized performance, which was especially important for gaming projects of the time. The use of dynamic texture loading has become one of the key solutions in game development on older consoles.

Nintendo 64 supported the technology MIP mapping, which significantly improved the visual quality of games by reducing pixelation on the screen. However, due to the games' limited resolution, textures sometimes appeared too blurry. This led to frequent criticism of the console's graphics. Despite its shortcomings, the Nintendo 64 left a significant mark on video game history and continues to captivate players.
Dithering is a technique used in computer graphics to simulate an expanded color palette. This method is achieved by creating specific patterns from pixels consisting of two primary colors. Dithering visually enriches an image by adding the illusion of additional shades and color transitions, which is especially useful when working with a limited color palette. Using dithering helps avoid visible boundaries between colors and makes images smoother and more natural.

Dithering built into the GPU PlayStation 1, applied to all textured models, despite the console operating at 24-bit color depth and capable of displaying over 16 million colors. However, during the emulation process, modders developed techniques to avoid this problem and improve the visual quality of games. These solutions marked a significant step in the development of emulators, allowing users to enjoy classic games with significantly improved graphics.
PlayStation games experienced texture distortion when changing the camera angle. This was due to the use of Affine Texture Mapping, which interpolated UV coordinates only in two dimensions—X and Y—without taking into account the Z depth, which was responsible for perspective. This meant that all textures remained the same size, and for each triangle in the polygonal mesh, the texture was applied parallel to its two sides. When changing perspective, the triangles were rendered at different sizes, which led to distortion in the center, and the image began to blur. This phenomenon negatively impacted the quality of graphics and the immersion of players in the gameplay, highlighting the importance of proper texture processing to achieve realistic rendering in video games.

In theory, this problem could be solved by dividing the area into more triangles, which would minimize artifacts. However, this method is resource-intensive, since the polygonal mesh for even the simplest objects, such as a floor or ceiling, would become significantly more complex.
In the mid-1990s, computer graphics lacked modern lighting technologies. The PlayStation console supported only two types of shading: flat and Gouraud shading. Flat shading assigned a fixed lighting value to each face, resulting in a less detailed image. In Gouraud shading, lighting values were assigned to each vertex and then interpolated across the entire surface of the face, providing a smoother and more natural transition of light and shadow. However, interpolation in Gouraud shading was performed using the same algorithms as texturing, which sometimes led to distortions in light and shadow. Despite this, such distortions were less noticeable than the texture distortions that occurred when tilting the game at an angle. Advances in lighting technology subsequently led to significant improvements in the quality of graphics in video games.
The PlayStation 1 Aesthetics Today
Creating a game in the style of the original PlayStation doesn't require writing your own engine from scratch in C to achieve complete authenticity. This style is quite undemanding and can be reproduced on any game engine that supports 3D graphics. To achieve maximum similarity to the games on this legendary console, it is worth paying attention to several key aspects. First, use polygonal graphics with a low polygon count, which is typical for games of that era. Second, use low-resolution textures with a limited color palette to create an authentic visual style. Third, pay attention to animation and physics, which should be simple and not too realistic to preserve the spirit of the original games. Fourth, use sound effects and music that evoke the sounds of that era. By following these guidelines, you can create a game that evokes the classic titles of the original PlayStation and will appeal to both new players and retro gamers alike. Various 3D modeling programs are ideal for creating low-poly models, including the free Blender. When creating models, it's recommended to use simple, angular shapes to achieve the desired style and reduce the polygon count. This approach to modeling not only speeds up the process, but also makes texturing and animation easier.

To create the character's torso, you can use a cube, which should then be slightly modified to fit its edges to the desired shape of the torso. For the arms, you can use a hexagonal cylinder or cube as a base, which will form the upper arm and forearm. It is important to maintain a simple mesh structure, avoiding deep details and the use of Smoothing Groups, which are typical for high-poly modeling. The mesh should remain simple and clear. It is recommended to use character images from PlayStation games as references and ensure that the total polygon count does not exceed 500. The fewer polygons, the better for creating an optimized model.
When creating the UV map, it is important to follow established standards for indicating seams, placing them at the expected joints. For example, for the head, seams should be placed along the back of the head or on the sides. Later, on this UV island, you can slightly enlarge the area intended for the face and apply a texture to it. This will create the effect of a flat mask, typical of many characters in PS1 games. This approach helps preserve the model's geometry and improve the visual perception of textures, which is especially important in the gaming industry.
We recommend considering tile-based 3D modeling programs such as Crocotile 3D and Blockbench. These tools allow for efficient development and visualization of 3D objects, making them ideal for game and animation creation. Crocotile 3D offers ease of use and flexibility, while Blockbench provides powerful features for creating and editing models, making both programs popular among developers.
UV unwrapping is the basis for creating textures, which can be developed in graphic editors such as Photoshop, GIMP, or similar 2D image editing programs. These tools allow you to adjust important parameters such as resolution and color palette, which significantly impacts the quality of the final result. To texturize objects, you can use either ready-made photorealistic textures that should be carefully distributed over UV segments, or hand-painted textures that are applied to the UV island mesh. The right approach to texturing allows you to achieve a high level of detail and realism in your models.
To export a UV map to Blender as an editable image, open the UV Editing mode. In this mode, go to the UV tab and select the Export UV Layout option. This will allow you to save the UV layout in the required format for further work.
Each artist uses a unique set of tools and techniques to achieve the desired PS1-style texture. When creating content in this style, several key stages of the work can be distinguished. First, the artist defines the overall concept and style, after which they select the appropriate modeling tools. Next comes the texturing stage, which uses specific methods for creating pixel art typical of PS1 games. After this, the models and textures are optimized for maximum performance on older systems. The final stage involves testing and making adjustments to achieve the desired visual result. This pipeline allows for the creation of an authentic and high-quality image, true to the spirit of the PS1 era.
A UV island map is loaded into the editor, allowing you to manually create the desired images or transfer existing layers and adapt them to the UV shape. For example, a photo of a face can be placed in the central area of the head's UV island, adjusting it to the shape of the faces. Similar actions can be performed with other UV shells. If necessary, you can add original details, such as shadows and highlights on folds of clothing or on areas of the body, which will give the image realism and depth. Optimizing UV mapping and texturing will significantly improve the quality of the final 3D modeling result.
After completing all the necessary actions, the image size should be reduced to 128x128 pixels. For more detailed textures, a size of 256x256 pixels can be used. In Photoshop, the Image Resizing dialog box is opened by pressing Alt + Ctrl + I. You can also access this dialog box through the menu: Image - Image Size.
After determining the image dimensions, it is important to select an interpolation method for resizing to control the level of pixelation. In Photoshop, this setting is made through the Resample function, where the Automatic option is set by default, which visually smooths the image. To achieve the grainy (pixelated) effect typical of PS1 games, you should select the Nearest Neighbor (hard edges) option. This will preserve the clarity and sharpness of the edges, which is important for recreating the aesthetic of retro graphics.

It is necessary to add restrictions for the color palette, since the PS1 console has a limited color depth. To do this, open the Save for Web (Legacy) window using the keyboard shortcut Alt + Shift + Ctrl + S. This option is also available through the File - Export menu.
In the window, you need to select the file format, changing the setting from GIF to PNG-8 in the top right tab. Most PS1 games used 15 bits per pixel, which corresponds to 32,768 colors. To reproduce such color palette limitations, it is worth setting the value to "16" in the Colors section. To improve the image's authenticity, you can use dithering. To do this, open the fourth tab on the left and select the Diffusion option.

Note: The text you are reading contains important information that must be taken into account. Pay attention to the details and follow the directions for best results. Be aware of changes and updates, as they may affect your work or project. If you have any questions, do not hesitate to ask for clarification. Proper understanding and application of the information presented will help you avoid mistakes and achieve success.
Dithering in the PS1 is a characteristic feature of this console's rendering, while the textures themselves are noise-free. If you are developing assets for a game, and not for visualizations or artwork, it is worth paying attention to specialized post-processing filters that can be used in game engines or frameworks. These solutions will help improve graphics quality and create a more appealing visual style that meets the demands of modern games.
In games of the past, character movements often appeared simple and sometimes even jerky and unnatural due to the nature of vertex manipulation. This is important to consider when developing character animation for your project. To create smoother and more realistic movements, it's worth considering modern animation techniques that will improve the perception of the gameplay and make it more engaging for users. The right approach to character animation will not only improve the quality of the game but also enhance the overall gaming experience.
To create a human-like character, a simple skeletal rig and a set of basic animations based on keyframes are typically used. It's worth noting that characters from PS1 games typically move their limbs entirely. This means that when a leg moves, the entire mesh representing the leg moves simultaneously. Therefore, for a human rig, three bones per leg are quite sufficient: one for the thigh, one for the shin, and one for the foot. For some animals, one bone per paw may be sufficient. This approach allows for the creation of animations that preserve the style and atmosphere of games of the era, while ensuring smooth and realistic movements.
To simulate distortion, texture flickering, geometry clipping, and other key elements of PlayStation's visual style, framework programming is required. However, ready-made solutions, including shaders and post-processing methods, are available on specialized portals and marketplaces. In this context, it is worth considering the following available developments:
- PSX Shader Kit for Unity;
- PSX Retro Shader for Unity;
- PS1 Shader for Godot;
- Retro Shader Pack for Unreal Engine 4;
- Retro Graphics for Unreal Engine 5;
- Drips PSX EFX toolset for Blender;
- custom renderers like Polybox.
It is important to keep in mind that there are no universal recommendations in the field of 3D modeling, since each engine and program has its own unique specifics. For the successful implementation of each project, you will need to search for solutions on developer forums or develop your own methods. Don't forget the opportunity to get creative, for example, by applying a VHS filter in post-processing, which will add interesting visual distortions and help your project stand out from the crowd.
Let's summarize
The unique visual style of the original PlayStation represents an interesting compromise between innovative graphics and the limitations of the technology of the time. The fusion of low-poly models, pixel art, and artifacts has become an iconic phenomenon in the history of video games. This style continues to appeal to both nostalgic gamers and modern indie developers and designers. Restored demakes, 3D art, and new games inspired by the PS1 aesthetic confirm that this style continues to exert significant influence, bridging different eras and technologies. This continued popularity shows how the legacy of the original PlayStation lives on and thrives in the modern gaming space.

Successfully developing a PS1-style project requires more than just a creative approach and copying certain technical standards. The game must fit harmoniously into the modern gaming industry. This requires a rethinking of the console's legacy and a commitment to integrating these elements with current gameplay trends. As a result, you can create something original that will successfully combine elements of nostalgia and modern technology.

Reading is an important aspect of personal and professional development. It not only broadens your horizons but also helps develop critical thinking. Regularly reading books, articles, and other materials helps improve communication skills and increase overall awareness. It's important to choose a variety of sources to gain a more comprehensive understanding of the world. If you want to improve your skills and knowledge, start by reading literature on topics that interest you.
The development history of Bloodborne and the gameplay features of Doom 4 are important topics of discussion in the world of video games. Developed by FromSoftware, Bloodborne immerses players in a dark and atmospheric world filled with puzzles and challenging enemies. The game has received recognition for its unique style, deep story, and engaging gameplay that requires players to use high concentration and strategy.
On the other hand, Doom 4, also known as Doom (2016), is a reboot of the classic series while maintaining fast-paced and aggressive gameplay. The game offers players an immersive experience with an emphasis on fast-paced shooting and a variety of weapons, making every battle exciting and tense.
Both games demonstrate different approaches to development, but they share a desire to provide players with unforgettable experiences. For video game enthusiasts and game developers, studying these projects will be a great way to immerse yourself in current trends and innovations in the industry.
Useful links with resources about PlayStation 1
- A technical overview of the PS1 architecture from developer Rodrigo Copetti.
- A detailed analysis of the PS1 visual style and technical recommendations for its implementation, based on a personal project by programmer and designer David Coulson.
- Developing PS1-style animation using Cinema 4D (pwnisher YouTube channel).
- A guide to recreating the PS1 stylization in Blender (Miziziziz YouTube channel).
- Creating thematic assets in 3ds Max (Aaron Young YouTube channel). This channel also contains a lot of useful materials on developing a PS1-style game using Unreal Engine.
- A Unity forum thread dedicated to developing PlayStation-style games.
Game Designer Profession from Scratch to PRO
A game designer creates the structure of a game. They develop the concept, rules, and gameplay, and decide what emotions the story will evoke in players. You'll master game design principles from scratch and learn how to work with popular engines like Unity and Unreal Engine. You'll learn how to retain player interest and monetize your games. And we will help you start a career in the gaming industry.
Find out more
