Tuesday, April 23, 2024

Low-Spec 3D Pixel Art

John B. Marine | 12:04 AM | | Be the first to comment!
Low-polygon, low-resolution 3D is something I have slowly worked towards. Having no real success at hyper-realistic or photo-realistic 3D, I decided to downsize my 3D work. Blockbench was a start. Blender has continued it. Recently, I had the chance to try my hand at low-spec work through making a texture atlas and then using Blender for 3D modeling. I will break down my process here in this blog post.






Low-Spec 3D Pixel Art


I wanted to try doing low-spec pixel art to downsize my 3D art efforts. I never exceled at making realistic 3D; or at least, 3D art that can be seen as "acceptable" to most people. I figure my calling is to try to design 3D art and textures with my own identity. Because I am someone who is about bare essentials instead of making something overly flashy and beautiful, I am slowly moving towards downsizing my work.

What I did recently was design a race track inspired by an Adobe Flash game called "Moja Grand Prix." This game used some very low-spec graphics and textures for design of these 3D tracks. The game had some pseudo 3d sprites (nowadays "billboards") and some basic 3D with the walls, signs, overlays, and grandstands. The point was to design low-spec graphics for a model. A quick map I designed in about 10-20 minutes is what you see below:

low-spec 3D
^ from: (my X/Twitter (@johnbmarine)) - This sample race track is one of my first experiments in building low-spec 3D models even with low-spec textures. (NOTE: This image does not represent any project I am working on.)

While this is not going to win any awards for most beautiful track, it is certainly a better effort than a lot of low-quality models I've seen on certain 3D retailers like Turbosquid. If I were to test it, I'd use my vehicle controllers in Unity3D or program these tracks into Assetto Corsa. I actually intend on making these track models available for games and game engines. I prefer doing mostly original courses. I feel like I wouldn't do real locations justice or respect if I were to 3d model real-world places. So to limit would-be damage, I'm doing my own thing.

One of my inspirations is to design low-spec material as if Mode 7 games were given a more 3D facelift. While not making things hyper-realistic or photo-realistic, I am somewhat trying to balance old-style 3D with a few modern tricks while keeping everything fairly classic. I'm even studying Super Nintendo and Game Boy Advance games that use 3D style modeling for its environments. These will not be impressive 3D models and maps, but I feel I can make low-spec cool. That is even if I want fancy pants, modern, simulation racing games to take advantage of my work. I'm actually serious on making low-spec cool for racing games of the arcade, "simcade," and pure sim variety. If we have (for example) a LEGO race track and Mario Kart series tracks for Assetto Corsa, I can make my own low-spec and low-resolution work to be just as cool as the fancy stuff.

I used a texture atlas for this sample run rather than separate textures. I had to learn how to re-map UV mapping when using the Spin tool. The Spin tool is the most effective way to model curves for race tracks. I once made a practice race track for Assetto Corsa that had elevation changes. I found it was best to bevel the top and bottom of elevation changes to ensure smooth movement when going uphill or downhill. Adding about five segments of beveling spread decently enough will make elevation changes not as sloppy (unless you want sloppy elevation changes). A texture atlas can be effective if you're trying not to have so many smaller images for textures. I seen some of the older mod tracks I had for old Sports Car GT (and a few vehicle mods for SCGT as well) used texture atlases instead of individual bitmaps for textures. However, it can be a bit messy to designate certain faces to one specific part of the texture in a texture atlas.

My original idea was to use a large texture of 1024x1024 or 2048x2048 to design the track, and then subdivide the Image as Plane down to 16x16 tiles. I then would refine the geometry to include 3D models and elevation changes. It was a cool idea, but I feel it would be rather tedious. So I went with a different method. This method was a variation of trying to make Mode 7-style maps to have greater 3D depth. The idea of using a completed race track texture map was inspired by the likes of Super Mario Kart, Wacky Wheels, Skunny Kart, and even the original Turbo Sliders.


Advantages and Disadvantages of This 3D Method.

I can have more control over using the individual tiles and produce some better low-spec 3D using tiles instead of a tile atlas. I do not need to re-create the greatest artwork ever conceived to make quality material. I am not overly cheap, though; so I have to make textures and models to where I have made at least some legit effort at producing everything. This low-spec method means I do not have to produce AAA-quality art or models to be successful. Since I have the idea of giving a unique twist to pixel art and low-res 3D, I want to be able to make it fun. I am thinking of making things 3D but not overwhelming what might have been popular in the 1990s with 3D. Since my current concentration is on race tracks, I want to be able to see my low-style creations be made for different systems and engines. I have no shame in using an advanced simulator like Assetto Corsa to make low-resolution style race tracks. Of course, I will need to make the Assetto Corsa experience interesting to give a modern style to what seems to be low-spec 3D art and low-spec 3D modeling.

The disadvantages are obvious. People are not going to take art seriously if it looks like someone in grade school for a school project created it. There is still some accomplishment in creating something if it turns out being something fun and that you put full effort into. Creative work should be about putting in your best effort to try to impress your audience. You can not impress everyone, but you can still impress just enough people to make something enjoyable.


Lessons Learned and TO DO Notes.

Establishing your own identity and doing creative work in your own way are key to letting yourself be known in any sort of media. While my recent ambitions seem like giving up on realistic 3D, I am also trying to solidify and showcase my own style. You sometimes have to do things your own way to where you are happy with what you produce even if others think you can do better if they don't like your work. While anyone can produce great creative content, you also need to produce content that you can be proud of making. I am therefore happy with what I have produced and think I can do better.

What I might do is maybe design textures into their own separate images rather than put them into a texture atlas. I even thought of doing my texture atlas a different way. I also have to try to learn how to better UV map textures after using Blender's Spin tool. The method I came across is to reset the UV mapping, straighten the UV islands, and then use a Follow Active Quads to properly utilize the 3D space I am using.

I also may want to improve my pixel art skills. I am not adept at things like using a limited palette or using different techniques to produce more amazing pixel art. That will be something else to enhance upon my work. It will help make my low-spec pixel art become liked more even by those more into pixel art.


Future Plans.

When I feel I have done enough making race tracks and other things, I want to then try to design characters in this same style. I also want to try to make scenes and worlds that are not race tracks. Besides my 3D racing ambitions, I even had ideas for action, RPG, fighting, and sports settings (motorsports technically count as sports). I had some ideas for RPG-style worlds using my current methods.


Inspirations.

Click on the links in this section for inspiration on all of the different things I have discussed in this blog post:

• I mentioned Moja Grand Prix. Even though Adobe Flash was discontinued long ago, you can view this site that gives you an idea of Moja Grand Prix: Moja Grand Prix on BeautiFl (WARNING: Site is not entirely in English). If you have Adobe Flash Player, you can play this game in that program if you download the SWF to your device. There was also a sequel called Moja Grand Prix 2, but I don't think there is too much difference from the game except for more Chinese text.

• If you don't know what Mode 7 is with games, mostly from Super Nintendo and Game Boy Advance, learn more about Mode 7 in this Wikipedia entry: Mode 7 - Wikipedia. What I have planned previously was adding more 3D depth to Mode 7-style 3D.

? Assetto Corsa for non-realistic tracks is what I made mention to. To give you insight on fantasy tracks that are unrealistic in nature, here are two videos for you to watch (thank the uploaders for making their videos public):


^ [Assetto Corsa] LEGO Speed Champions - 1:12:779

^ Mario Kart in Assetto Corsa Track List!

Hopefully this all gives you an idea of the low-spec work I plan to do in the 3D art realm.





This concludes my breakdown of my low-spec 3D art. Maybe this inspires you to try some low-spec 3D models and textures. Stay tuned to this blog and my social media to see my latest works! Subscribe/Follow my blog(s) in any capacity if you love my work. Share my blog post(s) with others if you enjoy my work. Support me further by connecting with me on social media; and if you are inclined, feel free to donate to me (donations are voluntary but would be appreciated). Thank you for reading! Take care and be well.

Visit my JohnMarineDesigns Weebly site, subscribe to My Blog(s), and/or Follow on Bloglovin! Let's connect:
Contact Me via E-Mail Contact Me via Discord

(donations are voluntary)
Visit and Subscribe to My Blogs...
Subscribe to John's Blog Space (JBS) Subscribe to John's Creative Space (JCS) Subscribe to John's Race Space (JRS) Subscribe to StyleSpace (SS) Subscribe to John's Life Space (JLS)
Get Social With Me!
Facebook (Friends) Facebook (Fans) Twitter YouTube
Pinterest LinkedIn (professionals only) Discord ???
Support My Creative Works!
JMDesigns John on Envato
Patreon Soundcloud Bandcamp
Twitch OpenGameArt TurboSquid
read more...

Thursday, February 29, 2024

3D Modeling Asset Breakthrough

John B. Marine | 4:56 PM | | | | Be the first to comment!
Of late, I had a breakthrough in testing 3D assets for games. Using GZDOOM for DOOM and JFDuke3D for Duke Nukem 3D, I finally found a way to test out my 3D assets. I learned to import my creations into these ports. The impact from my first successful 3D model importing is me trying to make more models to replace some of the sprites in such games. This blog post is a look at some of the creations I made and what I replaced some graphics with.






3D Modeling Asset Breakthrough


Most of what I have created was done in GZDOOM. I used Duke Nukem 3D also because it is my favorite first-person shooter. GZDOOM, though, was easier to import and implement my creations. JFDuke3D was more of a pain to get my models into the game. I still succeeded.


Model Showcase.

Here are samples of the 3D models I worked on...

3d canteen DOOM
^ from: (my X/Twitter) - Carry around a canteen to hydrate while on duty.

3D canteen DN3D Duke Nukem 3D
^ from: (my X/Twitter) - My Canteen, in Duke Nukem 3D.

classic DOOM asset collage
^ from: (my X/Twitter) - This is a collage of assets in DOOM I developed. From left to right, top to bottom: canteen, small sci-fi healing kit, large sci-fi healing kit, pistol clip, ammo box, and four shotgun shells.

small health kit
^ from: (my X/Twitter) - This is a small healing kit. It will recover minimal health in a game.

large health kit and berserk (DOOM only)
^ from: (my X/Twitter) - On the left is a large health kit, and on the right is a berserk health kit meant to be used in DOOM. The large health kit will recover a moderate amount of health. The berserk operates as it does in DOOM- full health and a damage increase.

paramedic bag
^ from: (my X/Twitter) - This is a Paramedic bag. Depending on the game, this item restores a massive amount of health, grants full health, or takes your health a level above full health.

These are only a handful of game assets I developed. I may go back and edit some of the other game assets I worked on previously.


My Workflow Explained.

My workflow consists of using Blender to make the topology for my models. I use GIMP for texturing my models. I export a map (as well as a UV layout) from Blender to aid in trying to develop UV mapping for my models. Once that is done, I export my models to FBX.

I only exported selected objects and the animation and geometry data. From what Blender considers forward (-Y), I change Forward to "-X Forward" and Up to "Y Up." Other options: Apply Unit enabled, Use Space Transforms enabled, Apply Transforms enabled, triangulate objects, and bake animations.

I use a program called Noesis to convert my FBX to either MD2 or MD3. I had some better luck with MD3, so that is what I use for my exported format from FBX. What I do in Noesis is rotate the model 90 degrees. If exporting to GZDOOM, I use an Advanced Command of "-scale 0.5") or something so the model doesn't look massive in GZDOOM. The original FBX size of my models seem just fine for Duke Nukem 3D in most circumstances.


Struggles Implementing Models.

GZDOOM has been rather simple to implement models into. The one problem I run into is forgetting to put my creations into my own custom PK3 file. I realize why I don't see updated material because I fail to update my PK3! So if you're importing 3D models and textures into GZDOOM, remember to implement them into the PK3. It is recommended you use SLADE for editing PK3s, and also get ZDL to load up DOOM or DOOM2 using a custom 3D PK3.

I struggled so much with Duke Nukem 3D because I had trouble setting things up in DEF files. What makes DN3D easier, though, is that while you have the High Resolution Pack (HRP) installed, you do not need to compile everything into one file like with GZDOOM. The big problem with me is that the MD3 files I've used do not have animation frames to use. So when you define a model, you have to leave the part blank about certain animation frames (the "definemodelframe" property) if you're using a static model.

While I haven't tried out importing models for "Cube Engine" or "Cube 2 Sauerbraten," they were two other options I considered for making 3D models for. The process is rather difficult doing so. I also considered trying out my 3D assets in "Quake 3 Arena" or "OpenArena."


Future Plans.

I hope to be able to develop models that can be animated. I am looking at GZDOOM, Duke Nukem 3D, and even Cube 2 Sauerbraten for animation of MD3 models. GZDOOM seems the easiest to implement animated models, so most of my early attempts could be with GZDOOM. I am going to offer models anyways that will not be rigged or have any animations for those who want to use Mixamo or something for animating models. They will be offered in Blender format along with GIMP's XCF files. The benefit to this? You save money! That is... unless you prefer to subscribe to an *industry standard* at exorbitant prices...





That's all for this blog post. Thanks for checking out my creative work blog, John's Creative Space! Subscribe/Follow my blog(s) in any capacity if you love my work. Share my blog post(s) with others if you enjoy my work. Support me further by connecting with me on social media; and if you are inclined, feel free to donate to me (donations are voluntary but would be appreciated). Thank you for reading! Take care and be well.

Visit my JohnMarineDesigns Weebly site, subscribe to My Blog(s), and/or Follow on Bloglovin! Let's connect:
Contact Me via E-Mail Contact Me via Discord

(donations are voluntary)
Visit and Subscribe to My Blogs...
Subscribe to John's Blog Space (JBS) Subscribe to John's Creative Space (JCS) Subscribe to John's Race Space (JRS) Subscribe to StyleSpace (SS) Subscribe to John's Life Space (JLS)
Get Social With Me!
Facebook (Friends) Facebook (Fans) Twitter YouTube
Pinterest LinkedIn (professionals only) TikTok Discord
Support My Creative Works!
JMDesigns John on Envato
Patreon Soundcloud Bandcamp
Twitch OpenGameArt TurboSquid
read more...
JohnMarineDesigns on TurboSquid

Would you like to donate to support my creative work? If so, please show your support using this PayPal item:
I am now on Patreon! Support my creative work on Patreon today at: www.patreon.com/johnbmarine!
 
Copyright © 2015 John's Creative Space • All Rights Reserved.
Template Design by BTDesigner • Powered by Blogger