The three virtues of a programmer: Laziness, Impatience, and Hubris. – Larry Wall
Legacy:Syntax Error/Battletech
Contents
Battletech: Timelines a UT2004 Total Conversion[edit]
This TC(Total Conversion) will impliment mechs as vehicles, as well as having additional vehicles from the Battletech universe such as tanks, repair trucks, and aerofighters. We have recently changed game engines to UT2004. For more info check out our webpage (finding new webspace)
Current Progress, Newest First[edit]
2005/03/25 - I have been able to contact the Leader of the mod team that was working on Timelines again. He said that he would love to see the project back up again if I can start working on it again. Once my computer arrives here in Iraq (about a week from now), I will be finishing the Mini-mod we have planned and starting up an ingame "intro" movie to show off our plans.
2005/02/06 - Lots has changed and happend in the past 4 months. I have shut down my website, trained for 2 moths to get ready to goto Iraq, and now I type this from that very same country. I'm sorry to say that the UT2004 Battletech mod has been offically shut down. It appears no one was willing or able to fill my place as coder.
2004/10/07 - Sorry for the lack of updates, been busy changing duty staitons (see my personal page)and I am currently on a "Field" Op. Mech code is semi-finalized, and I'm beginning to work on the new weapons for Timelines. The pistol has been started and will function basically like the UT99 dual pistols. Additional weapons include: the gyro-slug rifle which fires explosive slugs, Nikita laser sniper rifle, and the LAW. Screens of the weapons are coming soon.
2004/08/15 - While working on recoding and improting the new meshes I have recived, I decided to change which mech I would get working first. The Marauder is now ingame and is walking very much like CIpen's mech. Much tweaking in the params and defaults and such is still needed, but it is basically doing what I want (wootage, i got it :D )
2004/08/10 - After testing CIpen's initial relase of his mech code and vehicle, I have decided to do a complete rewrite of my code, based on his code. I have also recived quite a few more meshes for import, including: Dragon (mech), Pillager(mech), LAW (weapon), and Gyro Slug Rifle (weapon). Import is going smoothly and upon completion of the Panther's recoding everything should fall into place.
2004/08/04 - Added some more animations to the Panther, and have gotten the animation to adjust its rate relative to the speed and direction of the mech. However, some parts of moving around still are not how I want them. The panther will be put on hold for a bit while I work on the latest model completed by the team: the Elemental. This is again a vehicle, but this time it will act almost exactly like a player: same bones and animations and PHYS_Walking will be used.
2004/07/27 - After more digging through forums and what not, I have found some very handy info. First, I think the custom code was meant to be based off ONSHoverBike, not the tank. Going to have to do a bit of recoding then, but shoulden't be TOO bad. Second, I now have the walking anim being looped only after the velocity is over 20 or so. It goes into the anim fairly quickly, so I will try to use the velocity to scale the anim rate. The only problem I forsee is that velocity is positive wether moving forward or back or strafing, and I would like different anims for those directions (no moonwaking.) Current plans are to have the mech move very simmilar to how they move in the Xbox game MechAssault, where strafe functions like the Manta. CIpen, if you are reading this, I would really like to see your source, that one screen I saw in the atari forums is doing EXACTLY what I would like the Panther to do, the feet aligning to the ground is tight.
2004/07/26 - It seems I still cannot use the main code from that post on the beyondunreal forums. I'm still extending ONSHoverTank and the mech is still floating around, sliding like a tank. I changed rep.bHidden to true and I can see that the repulsors are attaching properly, but something is keeping the mech from "bouncing" like it should be if the repulsors are moving like that. I'm also having trouble getting the walkF anim to play only when moving forward. Perhaps I should take a closer look at how Epic coded the tank tracks and work from there. I wonder if I could change the framerate for the anim by the speed.
2004/07/17 - Bleh, wasn't code at all that was messing up the torso, baka me put the yaw bone as 'root,' very bad. Got the mech to move, it needed collision boxes. In addition I was able to add in some animations, walking and starting up. Currently the walking anim is playing whenever the vehicleupdate() function is called. Two things left, finalize repulsor locations, and keep the dang thing from falling over when it runs into walls.
2004/07/15 - A few things have been acomplished since the last update ;) First, the SLDF infantry model was imported and mostly completed. Then I worked on getting the Mauser960, a Pulse Laser rifle with grenade launcher ingame and firing properly. The mauser is complete enough, with minor alignment issues left.
Now for the BIG one, getting the first mech, a 35 ton Panther, into UT, and walking. All models, rigging, and animation (keep in mind I'm terrible at animating) are in UnrealED. The code is extending ONSHoverTank for repulsor placement and turret control. Currently the mech does not move at all, but the torso (turret) can rotate and fire. However, the rotation of the torso is opposite of where I aim. For example, I aim left and the torso turns right. The attachment bones are rotated properly for UT.
Screenshots and Media[edit]
An AVI of the Marauder walkin around in ONS-Torlan (90 megs):
(not enuf webspace yet ><)
Marauder shots 2004-08-15:
(Site shut down, removed)
Here's the screenshot of CIpen's mech mentioned above:
(also removed)
Early Screens of the Panther with SLDF Infatry player model:
Removed for space, see our site
Code[edit]
Here's the section of code used to attach the reuplsors to bones assigned by ThrusterBones(0)='yourbone' and so on
simulated function PostNetBeginPlay() { local vector RotX, RotY, RotZ; local KarmaParams kp; local KRepulsor rep; local int i; GetAxes(Rotation,RotX,RotY,RotZ); // Spawn and assign 'repulsors' to hold bike off the ground kp = KarmaParams(KParams); kp.Repulsors.Length = ThrusterOffsets.Length; for(i=0;i<ThrusterOffsets.Length;i++) { rep = spawn(class'KRepulsor', self,, Location + ThrusterOffsets[i].X * RotX + ThrusterOffsets[i].Y * RotY + ThrusterOffsets[i].Z * RotZ); //rep.SetBase(self); AttachToBone(rep, ThrusterBones[i]); rep.bHidden = false; kp.Repulsors[i] = rep; } Super.PostNetBeginPlay(); }
Discussion[edit]
Syntax_Error: Just started this page up, and also just joined thier team. Currently working on getting the first mech ingame. The model and texture are complete, and I need to rig, animate, and code it. So far I have the upper torso as a turret, and the legs as a karma object, bones going though the legs and one to attach the torso. This looks like a good challenge for me, should keep me occupied for a while.
LegalAssassin: I doubt this page should be here as it's not really an idea. I'd suggest making a developer's journal instead.
Foxpaw: I wouldn't implmement the legs as karma objects if I was you. Simply because a lot of processing is going to be required to make it actually walk without falling down.
Syntax_Error How would you suggest i go about getting the whole "walking vehicle" thing to work? i know im gonna need bones and custom animations, other then that im not sure.
MythOpus: There is a post on the Atari Forums I believe. In that post is a link to a working battlemech's legs. Do a search for it and you'll probably find lots of help on how to accomplish what you want to do.
Syntax Error: Copied the mod ideas page here, gonna go delete it now. Thanks for the STFW reminder MythOpus, found what i needed fairly easily ;)
Foxpaw: Ah, sorry I didn't reply to your last question, I would personally just implement the mechs as giant pawns with PHYS_Walking.
Syntax Error: Thanks for the suggestion Foxpaw, but someone has already gotten a mech type vehicle working with karma on the legs. Karma should work well if I want to implement knockdowns and such. Maybe use PHYS_Walking as a backup.
Mosquito: errr.. what happens when mr big foot steps on a rock with all his karma-ness?
Syntax Error: lol, he falls over on his arse right now XD but forces will be applied to keep it upright, and uprightdamping and stiffness should help too. this is the first time i've dealt with karma, so any helpful hints would be... helpful (also reading up on it here)
Mosquito: Well, First I'd make his center of gravity extremely low (near bottom), which will cause the robot to want to naturally stand straight, remember those inflatible punching bags you played with as a kid, kinda like that, if you put the center of gravity below the robot, it will be impossible to knock down, swinging back into the upright position whenever hit. try putting the C of G just below the knees and tweak from there.
Solid Snake: Personally I wouldn't even use the current vehicle code as a base for mechs. I'd create a new pawn since mechs are really just large people with attachments. The current Onlsaught code has more to do with wheeled vehicles. But that's just a personal opinion of course, whatever works of course.
Syntax_Error: Since CIpen has gotten his mech to work quite nicely, and has actually released his work, it should work for the big mechs, but your method will be used for the Elemental model I'm putting in next. I want a noticable difference between huge walking machines and running around on foot or in Battle Armor/Elemental. I have hit another snag tho >_< While trying to use the "improved" mod support, then deciding not to use it, I seem to have jacked up something. After moving all my files back to the normal folders, the class list no longer updates if I change what my class is extending, making it impossible to place my vehicle in a level. Has anyone dealt with this before? I really have no idea on this one :/
Syntax Error: Never mind, I read up on the new cacheing system and I just need to delete my old .ucl files and do a UCC EXPORTCACHE :P
Syntax Error: Gah and eureka at the same time O_o I ran into the General Protection Fault agin (gah, leave me alone!) After some testing I found it was in my #exec line. For some reason ucc would error out when it was trying to load my anim ukx. The simple fix is to just comment out the line (eureka, i fixed a really annoying problem :D )
Syntax Error: Good news and bad news: Good, I have used IK in the pistol anim to make the slide cock back, looks very cool; Bad, the dual wielding code I used from the assault rifle is only semi-working. I can get the muzzle flash to alternate left and right when dual wielding, but the anim will still play on both weapons, looking very strange (big run-on sentace =P ). Has anyone messed with dual wielding like this before?
Syntax_Error: The dual wielding idea for use in this mod has been canned. I will still try to work on it just to finish what I start, but this mod will use a simple, single pistol.
MythOpus: Better idea, Use Two Pistols instead of one:D Since you could get the 2 anims to play, that won't be too much of a problem :D