1 free read left. Create a free account for unlimited reading + AI research.
Create free accounthello today we're gonna create a new 3d art style for our 2d strategy game I'm super excited yesterday we created the Dragons art style today little robots in 3d my dream is using normal maps to render them in the 2d engine to make them look more 3d in case you don't know normal maps are those weird color things and instead of showing the actual color they just show in which direction the surface is facing at a certain position so blue means directly up into the camera everything with a different color is some different direction so maybe we can use those to make a game look cool let's see okay just getting started with blender here just really vibing to the music yeah uh-huh trying to make a normal map shader with sycophant blender
so blender can't just export normal maps but there's a cool node editor cycles node editor that allows you to create your own shaders so with some help from the internet I tried to create a normal map shader that a normal map material more or less that doesn't render any material colors but just the normal of the object and that actually turned out to be pretty damn hard so a lot of I wasted a lot of time on just getting this to work and as you can see the normal map looks pretty weird now I is still trying to get it into game maker here I'm starting to write the shader in game maker because game maker doesn't know what to do with a normal map game makers a 2d engine usually you don't
have normal maps and to the engines that's why I am I have to right my own shader for that but honestly that's not that difficult you just need to find the angle of the surface and then the more the surface is facing the light direction the brighter the color at this point is pretty simple and the cool thing is that when you rotate the sprite and GameMaker the sprite will change to zovut direction I don't know how to explain this you know usually if I just render the colors of a sprite and import that sprite into game maker and I rotate it the light looks off because suddenly the light is coming from a different directions all that sucks what I'm trying to do is creating a shader
that always lights the sprites correctly no matter in which direction they rotate it yeah I'm I'm still trying to figure out how to get a stupid normal map shader to work in blender and at this point I think I try to yeah [Music] I wasn't sure if the problem was in the game maker shader or if the problem was in the blender shader I wrote but it turned out that blender exported the colors a bit wrong maybe I was using the wrong color space or something like that but if I said please render this with 50% red it didn't render it with 50% red but with 70 or something like that so that's why my normal maps were way too bright and I had to use some very weird color
correction curves and blender to get it to work correctly so yeah as you can yeah here I'm using the curve and basically at the position where it's facing up the red value needs to be exactly at half so after a while I found a curve that works and finally I have correct normal maps that I can use in game maker to create my shader it's just a couple of lines in game maker that wasn't really all that big of a deal here you can see it's slowly but surely starting to look all right enlightening [Music] but the robots I'm currently using look very weird they are just some weird strange cars and I realized that I decided to
redo the entire thing I wanted to create something that looks a bit more dangerous and I decided on some sort of helicopter that I'm modeling here adding quite a bit of detail [Music] and this other weird submarine thingy can go to hell so the cool thing is that I can also animate the sprites I can animate the normal Maps just as I would do with a normal sprite so I can also make the helicopter spin that's what I'm doing right here animating it then exporting the animation and importing it into game maker and wha-la there we have
a correctly lit helicopter in game maker as you can see I'm all the time looking up stuff on the internet very often it's very normal that you don't know everything yourself especially if you do something like this I have never really done something like this before so I have to look things up quite frequently how to do stuff here I'm trying to create the background my deal was to create some sort of tile pattern that is lit exactly in the same way as the helicopters and stuff but it honestly looked really weird and stupid so I had to get rid of that and I tried a couple of different backgrounds really it's always the backgrounds the backgrounds
are always the hardest part because they have such a big impact on the look I really struggle with the backgrounds the most so here what my model here I think I'm trying to find a better way to create this helicopter I know I'm creating the X and that's cool so basically the things that spawn the helicopters and I wanted to animate that too so I used blend shapes for that to make it just grow I don't know the correct word so yeah now we have the X and the player helicopters pretty happy with that so far also the darkish background works kind of all right so far [Music] now I'm modeling the projectile as you
can see all the sprites look pretty much the same it's just this normal map look and then I can choose one color one material color maybe I'll make the shader more complicated and at some point so that sprites can have multiple colors but so far just one color is supported because there's no color information on the sprites I can just have one color but what I did is I randomized the color a little bit to give it a more varied look makes it look more interesting here I'm starting to model the enemies another cool thing is that really can have as much triangles and polygons as I want because the sprite is just rendered in 2d so it doesn't really matter how complicated my
three models are obviously this is a pretty simple one though this wouldn't really be a problem this is really low poly but if I wanted I could use at as many pretty much as many polygons as I want because the sprites are pre-rendered they don't need to be rendered in real time just the normal map shading needs to be in real-time so here we get enemies in the game think I'm changing the health bar color to fit the enemies obviously playtesting trying to figure out everything looks alright and now I decided to make the enemies a bit more complicated to make the spies a bit more complicated because the player
sprites are a lot more complicated so I felt like they didn't really fit together the enemies and the player sprites here I'm giving the enemy a bit of a jiggle to make it look even more interesting when they're moving but like snails or something like that here's another experiment with the backgrounds because I suck at choosing got backgrounds this was a really stupid attempt but I what I try to do is animating the background in a cool way didn't work so sighing another attempt with this green dark green background right here and I'm using the same algorithm to animate that due to video compression it will just look like a blurry green background later on but it's actually animated it's actually
moving a bit and looks kind of cool if you see it in-game but in the video yeah it looks a bit blurry here I'm creating the spawners where the enemies spawn enemy portals let's have a look at the new art style I will make a little playthrough if it's good hell yeah so it's pretty minimalistic a little bit a little more abstract than the last parts time which probably fits the game quite well because minimalistic game minimalistic art style probably not a bad idea but drag is very cool truism you shouldn't try to pick one yet because there are
two more to come let's just have a look and enjoy the background I think it turned out ok it's just some scribble which is the X blue things they show you the progress and they have even more simplistic shapes which makes me wonder or maybe I should have made all sprites a little more minimalistic you're the helicopters the players riots as well as the enemies are quite detailed quite complicated and the simplistic blue things are pretty beautiful so maybe I should try the same thing again with even more simplistic shapes or do you
like the sprites what's your opinion and I also like importance they're kind of cool okay here a little bit more challenging let's prep the vault really really nicely no straining them that was not all that difficult and also keep in mind that none of these heart cells are already finished
they are just art style prototypes okay I created this art style in one day there's probably a lot you could improve on this but before we start improving we need to decide on something so that's why I'm doing this this level we can skip because I didn't create the graphics all those enemies [Music] then the s50 a shot we both saved started speaking German accidently that's a focus level team and here's the hardest one it's the hardest one with graphics
[Music] but even the hardest level is easy for somebody like me because I'm just way too good at this game Ebola we're gonna make more artstyles very soon so stay tuned thank you very much for watching have an amazing day make the rodeo playground and zero tomorrow peace
The development process for implementing a fake 3D art style in a 2D strategy game centers on the use of normal maps to simulate depth and dynamic lighting. By rendering 3D models in Blender using a custom shader that outputs surface orientation rather than color, developers can import these normal maps into a 2D engine like GameMaker. This workflow allows for sprites that react to light sources correctly regardless of their rotation, overcoming the common limitation where 2D sprites appear flat or incorrectly lit when turned.
Key technical challenges involve configuring the Blender cycles node editor to export accurate normal data, which often requires manual color space correction to ensure the values align with the game engine’s expectations. Once the shader is established in the 2D engine, the primary advantage is the ability to use high-polygon 3D models for pre-rendered sprites without impacting real-time performance, as the engine only processes the normal map shading during gameplay. This approach enables complex animations, such as spinning helicopters or growing spawn points, to maintain a consistent, lit aesthetic.
The methodology emphasizes rapid prototyping, with the entire art style—including modeling, shader development, and background integration—completed within a single day. The process highlights that while the 3D modeling phase is flexible regarding polygon count, the most significant design hurdles often involve balancing the visual complexity of the sprites with the background environment. The resulting aesthetic provides a minimalistic yet dynamic look, demonstrating that pre-rendered normal maps offer a viable, efficient alternative for indie developers seeking to bridge the gap between 2D gameplay and 3D visual fidelity.
The games and companies this document names on the inner ring, other documents about them on the outer one. Select a cover to see it up close and open it in a new tab; drag to move, pinch or Ctrl + scroll to zoom.
Comments