I’ve been trying to get a modding/game design core single player base to work from.
I was using Valve’s SDK for a long time,
but it’s expensive if you’re successful, so there’s no profit motive. It’s also got a lot of steps to work with textures.
The deal breaker with Valve was Steam tho.
I would have my dev box working, all set up, in the middle of something, I’d run a test after surfing the net, and Steam would update and reboot.
Then it would refuse to let me work until it had the internet again. Which was really spotty.
I could not work offline consistently with Valve and after about the 10th time of that in 3 years I uninstalled the source SDK and probably will never install it again.
I abandoned that for UDK 2 years ago. When I had A DECENT RIG.
Unreal Development Kit (UDK) from Epic Games is FREE and is here:
It really is fantastic. On a better rig I would actually be using UDK 50% of the time.
I LOVE UDK, BUT…
I have a piece of fucking crap rig that limps. 512 megs of ram feels like I am on acidic time distortion. Press. Wait. Smoke. Look at floor. Drink coffee. Look at monitor…
NOT DONE YET
Drink more coffee, smoke. Wait.
What really kills UDK is that the core SDK won’t install or run on older hardware. We have good hardware perhaps, but 3\4 of the world is still using XP. They really are. I am. Valve Source can be made to run at DX8 level using the orangebox engine from 2009(hl.exe -dx8). Except it has that steam affliction.
That is actually something to consider. That is a huge possible user base (read customers to buy your creation) that has 10 year old machines and they usually play farmville or peggle.
UDK needs pixel shader support so it won’t install on your Grandma’s rig or mine, so I need to go backwards to find an engine that will work, that isn’t like using stone tools to cut steak.
The problem for me and other single player designers, other than the shader mode 3 necessity in UDK is that there is no easily placeable AI entities and no NPC codemonster entities, no patrol guards, snipers, rocket monsters, police. In Valve you would have the entities from the game you own.
You can’t get any from anywhere else, you can’t copy over scripts from previous versions and modify them so you just have BOTS. Bots fight different than monsters and act differently and don’t have good scripting arrangements for cinematics really. In UDK its nodes not scripts.
I look at really popular games from the past that intrigued us with so so 3D. The game was more important. The game. The story about so and so and things you had to find to learn more about what was happening. How many hundreds of hours did I walk around Myst or Planescape or the Forgotton Realms of Baldur-s Gate, skulked along the corridors of System Shock 2 with about 2% health, a jammed weapon, and the knowledge that there were at least 2 of those slow dumb happy kamikaze robots between you and the tiny little health item 2 hallways away. And it was about 4 blocks of virtual backtracking to the nearest health behind you. It was so ugly looking but we were actually engrossed by the activity and the balance of things, the complexity of our tasks and the map of the ship that we began to memorize as we walked through it.
So I don’t care too much, personally about particle effects and procedural shaders.
Textured environments, stories, and simple logical systems really are at the core of single player games.
Dumb AI can be deadly if it’s placed right and has the right animation in a standard campaign game, and for more adventure or mystery there doesn’t even have to be any physical conflict.
Weapons can be replaced with tools and tool actions. The process is well documented.
If you want to create Single Player 3D games, there isn’t a good code/engine/graphics framework to work with unless you go way back to games that were interesting but ugly. Angular characters and spaces, crappy lighting, blocky textures, low color palettes. But many of them are extremely moddable, because it was Quake and Half Life in object oriented c++ that began the whole modding thing, really. That was when it caught on. But the engines suck. You can rip apart all the texture sets in System Shock 2 or Quake2 with Xnview and replace things to your hearts content but you can’t overcome the lighting and mesh limitations of the engines.
IF you have System Shock 2, and you have applied the major texture mods (there is a non illegal torrent of all the mods that are really good combined with inconsistencies between the mods worked out), then I HIGHLY suggest that you go throught the datamods folder with xnview and find the image sequences and place your own 5-10 frame animated image sets in there instead in png format, then play the game.
It is a great and easy introduction to retexturing that is fast since you simple open what is there and replace it with something else you make or just adjust the contrast or colour, put embossed labels on doors, change the med sci animations, etc. Its very easy and fun, and doesn’t require a number of steps in an editor, you simply replace the files with new ones in png 32 bit format, and since they are mostly planar mapped you can resample most of the textures larger if you want to make sharper graphics. Just start up the game and walk around, the monitors will be different, there are lots of small image sequences and textures you can alter.
If you want to do this, copy the datapermmods folder after you’ve fully patched ss2 and applied all the mods or the big modpack. Then open the .crf files in the data\res folder with winzip since they are zips renamed crf. Extract all of those into a new empty datapermmods folder in the main SS2 dir. Delete the crf files.
Then copy the contents of your datapermmods bkp onto that and overwrite. This way you will have one image file per asset, and all of the assets in one place. Trust me. Then you can edit the images to your hearts content. I’m trying to make the von braun look like a geiger bosh jofra nightmare. I think I can ickify the intro to the many cutscene with only image replacement. Its more fun than it sounds like.
To my knowledge no one has succesfully managed to open a SS2 .bin 3d file and change it then resave it and have it appear in game. You can retexture it in minutes though. Just editing the files in Photoshop and anytime you open a .pcx comvert it and save it to PNG and notice that png transparency works fine.
But there is no PNG in UT2K4. Hmmmm.
If you have a pretty good rig, with 4-5 year old graphics, you can use Unreal Tournament 3 and have all the things I am going to talk about next, plus normal and bump mapping, and transparent texture support.
But it is a lot more complex to modify if you are just getting into this. I really like to use UT3 for modding, but it is too laggy on my pathetic box here, even with the smallest of landscapes.
If you REALLY need transparent textures (think chainlink fence texture on a flat plane – 4x3d points and a texture to make a whole fence you can see through) and normal maps, there is a super crappy pair of games that you could use. They use Unreal Engine and the Unreal Editor, and they came out about 2 years after UT2k4. They are Pariah and Warpath. Warpath is a slighty more tweaked engine, and pariah has a bit more single player entities. They use UE2.5+ so they have those two extra things, which, for your particular application may be necessary, as normal mapping and transparent textures are very useful in creating atmospheric scenes with low geometry. These run on my rig but smaller designs are necessary. They both come with the Unreal Editor, and it is the same as in UT2K4 so all your workflow procedures will go back and forth easily. They just let you import transparency and normal maps.
You won’t really be able to release it to any large community since both games tanked, whereas UT2k4 players (millions of them) could potentially play your SP mod/level/game if it is UT2K4 based.
I finally settled on Unreal Tournament 2004. Which is not designed for Single Player, but read on.
It has the graphics with basic uv layered textures (but unfortunately no normal mapping).
A number of cool monster packs based on the monster code from the first Unreal single player games years earlier are available, lots of them, plus there are bots, vehicles, ingame messages triggered by using things*think PDA story parts) and landscape objects with landscape tools. It can also import static meshes of fairly high triangle counts and bitmap textures in 32 bit color. It has a mesh Terrain Object with a really excellent set of landscaping and layered texturing tools for the terrain. Huge terrains and rooms are possible. And you get a bunch of vehicles. I like vehicles for SP games.
It will install on a DX9 gfx card, works with 512 megs of ram.
If you install a mod called the Single Player Framework, and another called Vehicle DM, then you get
xPawns from unreal with updated monster code and reworked monsters from the first unreal game (faster, smarter, better shots), unlocked drivable vehicles , and a number of triggers/objectes/keycard/ingame store/inventory/persistence code for single player stories/activities. These are called Actors, and they are also known as “Entities”. If you add the UT2K4 mega pack with the updated patched engine, and its additional 20+ maps, you get 3 new vehicles which greatly change gameplay. For single player flying missions and modding I prefer the Cicada to the Raptor as a base to work with. You may like it as well, and the Paladin is a good class to base a land vehicle off of. The editor patches in the update are essential though, if you want to use Matinee flying camera scenes. (Hint: in the editor you have to load OnslaughtBP.u if you want to place a Cicada or Paladin or SPMA in your level, BP stands for bonus pack.).
I KNOW there is a Max Cicada file for the bonus pack version, not the UT3 version which is MUCH more complex. I remember it. It was rigged and had all the sockets named correctly in Max. Can’t find it now, email me if you do.
UDK doesn’t come with a lot of that (it does come with a souped up cicada), but it gives you better graphics and realizm. And Complexity. It’s a tradeoff.
The Monster and xPawn entities/actors are c coded with simple behaviors that have been modified over the years, unlike bots, which have a different form of AI that works on a pathnode logic system. If you build a game in UDK your enemy actions are complicated networks of kismet programming nodes. Not my scene really, and they don’t give you any templates or base NPC’s so it’s actually a bonus, the scripted monsters, because you can get tweaked monster code in basic patrol here press alarm then attack flavors..
With the UT2k4 Source from Epic and notepad++ or uncodex (I use notepad++ more, but uncodex is really indispensable) you have a good available base of code you can peruse for your enjoyment if you swing that way. So you could open the different files and read the well commented code, adjust it, and even recompile it. If you have a rudimentary knowledge of object oriented languages and headers or linked dlls you can read the main scripts for each significant actor you want to learn as well as their parents, and you can extend, say, a new weapon/monster/item from a similar existing one and make changes such as a new model/sound/fire animation, etc. without affecting the upstream parents and retaining the qualities of the parent objects that you do not explicitly change with our child object. Keycard can be extended to become MetalKey and be necessary to open a door perhaps.That’s the short version of scripting uses.
The recipe is as follows:
You take the script source
unzip it to a folder that isn’t UT for now to keep yourself from getting confused, as you might “export the scripts” from unrealed later but I suggest you do that in a separate folder and place a different uncodex there.
Place Uncodex in that folder and have the classes folder there, then add the codemasters classes from the spframework which will be in a folder called codemasters in your spframe directory if you installed spframe right, or it will be in your main UT2K4 folder if you did it wrong.
Put the two folders of classes side by side in your development folder somewhere away from UT, they do not have to be but you could end up with 30,000 duplicate classes in your UT2K4 folder if you export the source from unreal ed into the same place. Put those folders in the uncodex settings and let it build the class tree. Install notepad++ and bind it to .u and .uc files.
Browse the classes in uncodex, the blue links in the code browser will take you to that class as you browse through each script. You can open each class that you are browsing into notepad++ and then you can have the upward object tree for any child class all opened at once in tabs there. You can then extend the child classes of the source and modify them, creating new .u scripts which you can test and even compile for your UT system directory later, where they can be loaded as necessary to implement your coded child class and its game representation or effect in a running level.
You don’t need visual c++ installed or any c++ ide and compiler, since you can use a tool called ucc.exe oryou can link a small compile program to uncodex and notepad++.
If you want to you can get an extension for visual studio express that will properly section and highlight UT2K4 code.
Which will make sense to some people, and others just got an immediate migraine. Sorry about that. I shoulda warned you. I had to give the starter code geeks a bone though since I am focused on the story and graphics here mostly, the application of the tools created by the underlying code, and the useage of software applications to create or process original asset and structural content. Somewhere some geek just figured out they can sift UT code with less than 20 megs of space and a set of programs smaller than 10 megs, and have everything they need to manipulate their nasty little code snippets. Grrr. Programming sucks kiddies but there you go.
You then have every tool available in a game like Quake 1/2 or Unreal.
Tools for a single player game. And you actually can do the whole thing without typing any code at all other than names of objects or filenames.
If you go section by section through the two connected example maps called Parser and just try to recreaate each trigger/even setup you will see by the end you have most of what you need to tell most stories.
You can use minus to take the hud away. I’m trying to find out how to set it that way at the start of the game, no hud. They are very short, but the 20 or so objects used can all advance your story nicely.
The only thing that isn’t there is some kind of Deus Ex 2/System Shock 2 inventory system with combineable items. And personally I would like a coop non deathmatch adventure using the SP tools, where in SP mode I could control one of 4 or 6 characters like in the ugly but interesting Project Eden. The source is There. I really would like a fling probe and remote vehicle controls too. Project Eden used Quake 2 c++. If they could accomplish it, it is possible in UT2k4. C++ is C++. There is a way…
Graphics wise, in UT there is a LOT of modding support, which is good for artists because they are NOT coders usually. It takes a different Brain for lines of text than for 3D modelling and level construction usually.
I found an essential tool. For older Rigs.
If you are on XP using Dx9 and you install Dx10, 10 will fubar 9, and max and modtool, which can hold the actor x plugins for mesh and animation export of UT, both choke.
It can be fixed using dxerad.exe (dx eradicator) and only reinstalling dx9c, but some things will never be the same. XSI Modtool will repair itself this way tho.
If that happens then you don’t have max (Max 7 works great and natively supports .ASE mesh format!) or xsi modtool working suddenly and then you NEED an .ASE converter. Or you get no static meshes.
Max/Maya/XSI really are OVERKILL for most needs in your game design adventure.
I gravitate to max a lot. When its accessible. I enjoy working in ModTool more because I started in 3D with LW and Softimage 3.1 (the irix->NT port). There is an actor X plugin for max, maya, xsi, and the xsi works in modtool. All of those tools however will immediately botch and be unuseable if you install direct X 10 on an XP machine that is at DX9c. They will work before that. XPsp3 with DX9c will install and run these 3 applications. If you install DX 10 for any reason on that development box, your DX9 is wratched and all 3 cease to function. DX10 on XPsp3 requires a complete rebuild of the os patched to dx9 and don’t add the dx10 again. If you don’t care what you are building things in as long as you can do it, then you can just move over to a tool that works for you on your crappier rig.
At which point you can use C4D, Lightwave, Silo, Milkshape, etc. LW works on almost anything. Keep in mind these games you love were made with tools from 10+ years ago. The core tools for low poly and uv have been standardized for more than a decade.
So anyway, for UT2K4 I needed this tool.
Nothing else worked.
with it I can model in Silo/c4d/max or anything else and convert to .ASE
It’s called Biturn, and was made for Final Fantasy 7.
Imports Obj and a bunch of other formats, and exports clean .ase files.
This is the guys page:http://mirex.mypage.sk
There is nothing else, other than the max/maya actorx plugins which are picky for just static meshes, and not everyone has max or maya. So now you have this!
With those things you can build a single player game that is graphically superior to at least 20 games that made over 10 million each. So you can’t really bitch about it not being enough. Pretty much everything is tweakable at that point.
Another very useful file utility for me is dragon unpacker, and notepad++ to read uc and u files.
and I HIGHLY suggest you get the Extended Toolbar, which you can customize with the toolbar creator.
Why? Because you can click a button and select all lights, or all actors, or all stat meshes. You can customize your own tool buttons too.
I actually use the toolbar creator alone now because it will actually build the toolbar into UnrealEd once its set right.
All these monsters are available in UT2k4 if you take the time to import them, and you can load them into an editor and look at their design or modify them.
I stick with the ones in the SPFramework first (the original unreal xpawns), some of the packs are twitchy and you have to fix them.
The unreal reference animation sets and meshes are here:
This is the most important one for animators (use google)
as it has all of the base animations for the 5 character types
so it has the dodge ani, the fire ani, the crouch ani, etc.
There is a base mesh too, but you have to detach it from biped as those are max files.
The editor is a bit hard to get into, but for cheap/free level design you can’t really complain. Save lots, don’t push it too hard.
On my crap rig I can work with a 40k terrain and 30 monsters with 6 vehicles on the map and a bunch of interactive items.
I don’t need that much space, but that’s the limit where framerate drops.
If I don’t use a terrain object, and just carve out the world with the BSP builder brush, I can make a set of spaces 10+ kilometers in size connected by hundreds of passages, since the bsp compile will segment the rooms by visibility. That’s more than I need. I can build the Rickenbacker or similar sized ship/complex in one level with different zones to pull the entities out of ram until I enter different zones.
You can build huge complexes that you have to drive around in.
They are hard to light though, so stick with smaller rooms connected at first.
But what more do you need?
Every monster or character mesh made for UT2004 can be modified and reskinned by clearly defined processes. All character animation sets can be loaded tweaked exported reloaded and packaged. All inventory items can be renamed and remeshed. UI elements can be reskinned. Ogg or wave can be triggered at will with stereo placement. Text messages, even small vids or audio can be embedded in consoles. Monsters can be spawned. Bots can be spawned. Keycards and quest items can be gathered. Vehicles (and Turrets) can be placed. Sculptures, models, artwork can all be imported.
You can even build your level corridors using the base Silo/c4d/max cube and extruding faces then exporting, but you have to resize and change the orientation in a very odd way in Silo/c4d/max before making your OBJ for conversion by biturn to ASE. It works, and Silo or c4d have very intuitive face extrusion tools.
You might NEED to flip your normals too. Double sided materials make light do weird things in game engines. I used to dislike C4D. Now I do not. Meshes from it import well in UT, its base scale is close to UT, and most of all it will open old lightwave hypernurb sub-d objects. Which I actually have quite a few of since lightwave was great for spaceships. But nothing else opens them. Lightwave itself is fine for this work in games, though it is usually a film/tv rendering tool, the modeller is great with these meshes, and UV texture display is excellent. Lightwave 9.0, not 9.0c will work after a dx10 in xp botch. Max/Maya/Modtool will not, even if they worked before the dx10 addon to xp. Max 7-9 and modtool will work on most older hardware, and max has a software renderer built in for backup. UT2K4 will import single layer lightwave static meshes as raw .lwo, and they will show nicely with collision and uv mapping and smoothgroups by mat. I don’t know why. I don’t see any mention in the history of Unreal where they specify having used anything but max, maya, or xsi, but there it is in your static mesh import: would you like .ASE or .LWO?
I honestly think you get better speed with standard room squares and corridors by using the BSP Subtract/Add tools and then populating the spaces with Static Meshes (the sculptures and models you make in other packages and import). If you don’t delete the end caps and use the interior, I believe you can also convert a room system to a Brush then use it to Subtract if you are using max.
The main advantage of using builder brushes where the user goes is that wall sections can be selected by rectangular brush face and given a different texture. Static meshes can not be retextured in the editor so you have to texture in Silo/Max/ModTool/etc. and save all your maps as massive TGA files until you can import. If you don’t texture stat meshes with UV you will have to link up every texture on wall faces instead of just to a single UV map. I say this because I have avoided modelling in BSP as I was using UDK which is Additive and supports FBX. UT2k4 is subtractive and only supports triangulated ASE meshes. It affects your texturing flow in the editor, so if you build corridors as stat meshes you have to texture them well before importing and properly uv map them unless they are perfectly planar mapped. In BSP you just select a wall and change the texture. Stat meshes don’t drop and have pretty good auto collision on import, even archways and domes. Faces and the Normal directions matter very much if you use Stat meshes for the corridors, so surround sections with BSP blocks or antiportals.
Zbrush models I’ve made with the default sphere can be very detailed, comparatively, and poly painting/textures exported with the multi map exporter are great, although I didn’t dig auv tiles, they made seams.
The polypaint to texture had no seam. I found meshes at level 2 were enough, 3 caused lag, but textures of 2048 on a level 2 mesh export straight through biturn into ase and are very fluid and interactive. Thats at about 16000 tri’s exported per model for good speed, you could probably go step 3 on a better rig, but 16k is pretty good for a sculptural showpiece in the center of a room or a fairly detailed console or something.
Transparent textures are not supported EXCEPT with TGA,
but you can live with it. You get entities in exchange.
create zrush/max/silo model
in zbrush export multimap tx 2048, mesh exp at level 2
in max/silo/c4d/modtool export a uv mapped .obj mesh and texture
convert obj to ase with bturn
convert zbrush psd or tiff to bmp or tga
import mesh to your meshes testpackage in UT2k4
import textures to your textures testpackage in UT2k4
save both packages
“actor properties -> display -> drawscale” to resize, 400 works good
rotate the model
“actor properties -> display -> skins” add skin
select imported texture or a Shader Material with multiple textures combined in it
the texture appears in the field
and on our model
build all, play
The packages must be saved before you play,
they do not need to be saved before you build.
It is that easy. You could resize and flip in your 3d application. The mesh on import will always flip the same way, so learn to adjust for it and get the origin of your objects right to make rotating/moving easier.
Zbrush is beautiful, but difficult, expensive and a ram user, and BodyPaint I believe costs even more. Sometimes I feel like I’m using a bazooka to create a simple texture map.
This FREE software I offer a link to is tiny and, well, FREEEEEEE.
I can load a 3ds of a ut2k4 vehicle pulled from the package with some extractor, coverted to 3ds, I can load the manta in to this Tattoo prog, both materials are still assigned, I can paint away, save out the textures, it saves png and paints symetrically.
I can then load the 3ds manta into LW/Silo/Zbrush/etc. and have an already applied uv with 2 pngs.
Did I say that it is free?
And 1.2 megs!
It’s called Tattoo:
Save it, pass it around. Good things like that tend to disappear suddenly.
I have 2 backups of it.
This is great for g16 terrain heightmaps
At this point someone might ask why I haven’t extolled the virtues of the mighty Blender.
I have 2 versions, the latest, and one around 2.4 or earlier.
I use them for occasional file conversion.
I can’t stand Blender. Can’t stand it. Big clunky interface or inscrutable blah.
My screen is MINE. Get your damned geeky buttons that mean jack shit off of them. Give me back that big grey blob of wasted space in the corner under and around the boxes with 30 pixel spacings and those huge massive pixel robbing bands of menu that never stop f$%@%@#ing replicating. You bastards.
Blender really makes me mad.
When it has a skinnable interface that we can reorganize and ungibberish I’ll consider it,
until then feel free to jizz in the open source.
One day there will be an alternative. To Blender. I’ve been waitng a decade.
|Yes, before the emergence of the
windows pixel robber at the top of our screens
(not my model of course)
Don’t tell me it is a gem under a turd splash,
I don’t care.
I hand built an NT machine so I could install Softimage 3, and used Lightwave since version 3 on the Video Toaster.
I used a f@%$%@#$%ing Video Toaster, the wierdest Amiga doodad that worked ever.
I can decipher a wierd interface.
Blender isn’t wierd, its an asshole. It doesn’t want you to understand it because you’re not fucking ‘leet enough. Or something.
The things that work they remove and they fill in more crap. No manual you can download? A wiki? f@#$@%. Grrrrrr. Inscrutable geekshit.
That being said, I use it for some kind of conversion or test at least 10 times a year since it came out. I just don’t model in it.
The SMD export works in 2.6 and you can still activate .lwo import, so I do use it for file generation and conversion.
Well. The SMD SORTOF works.
It shows you how great things COULD be, auto importing all meshes from the qc, SOME of the animations import, but then, after being somewhat excited you realize that it doesn’t like the source .bmp’s and so you need to convert all your textures to jpg and replace them in each material.
On the redesigned high def loader that’s 30+ image files that need to be hand linked after conversion.
f%#$$%#ing ‘leet geeks. What do you think people want to use blender for?
They want to mod games. HL1 and UT2K4 hav huge user bases, but we get half cooked tools because all the geeks are jerking off on subsurface scattering and python crap that has no fucking value to 80% of the people who would LIKE to use blender for real production work. Sure milkshape is an ugly piece of shit, but at least it doesn’t make me load 30 f%$%#^ing textures requiring 120 f^%$^ing goddamned mouse clicks to do it with for every f^%&^ing <bleep> model I want to work on.
Milkshape, XSI, Max, even the HMLV will load the fucking textures with its whopping 20 meg size.
Go code us some more high end shit we can’t really fucking care about and we’ll go back to using tools we don’t have to fucking fight with or try to decipher.
I guess that’s mean. But its been 10 years.
Do I sound mad? I hate inefficiency. If I have to repeat a task over and over with multiple mouse clicks then the process is NOT WELL DESIGNED a