Friday, 16 December 2011

Reflux isn't done.

I started working on Reflux today, and ever since I properly repacked everything, the shaders worked perfectly fine. What didn't work, however, was the bsp.

In CPMA, the func_rotating in the middle of the map jams up, which is bug #1. Then all the acid is almost invisible, and I can't fix it: bug #2. Then there's the techfloor_kc shaders which don't work properly, but I half-fixed to make them more bearable. They work in mme though, and with default (or near default) configs, which makes me think it's some setting. Bug #3. But the shaders are weird, and I think they're decals, but the shader doesn't work for decals, and so they're on the same level as the floor, and glitch partially in and out of view, which is bug #3b.

I don't know how to fix any of these properly, so I uploaded the map as-is, in case someone else wants to take a shot.

HERE is the link.

The map looks amazing, though, and plays well in cpm.1!

Sunday, 11 December 2011

SILENTNIGHT IS DONE!

That is all.

Not really: the map doesn't work with sv_pure 1. It crashes to the main menu, so be careful. I'm trying to figure out the cause and fix it.

Saturday, 10 December 2011

Moar bloggering!

This blog has been lonely again, so I'm here to cheer it up... again!

I've been doing some more work on my movie list, and it got an awesome mirror on Maverick's site, which I've already mentioned here before. What I didn't mention, however, was that people are starting to use it. On Maverick's distribution page, you can see where the person came from (where they clicked the link or whatever), and a few people have been coming from my movie list, which is nice.

He's been trying to make a form for me to enter the movie info, to make everything easier (I just throw the info into some form and everything is done for me), but it's over-complicated the whole process a bit, and I don't really like it. It also makes me less likely to edit the styling and everything, because I'm not inside, playing with the code. It is a cool idea, though, and it seems like it would make me feel all pro if I were to use his thing. It's just that this is supposed to be my own sandbox, where I put all videos that I have on my harddrive, so having an input form just doesn't make much sense. If I were just adding info on EVERY MOVIE EVER, then an input form would make perfect sense.

Castor Fiber is still badass.

ESReality.com and Hexus have separated, so Maverick is now hosting the site. He's everywhere these days. I should get own-age to talk to him and try salvaging his site and getting Maverick to host it... probably won't happen, but would be nice.

----

I'm still working on "QL2Q3" map conversions, but I've gotten stuck on these invisible portals. I know that it's caused by r_vertexlight, which also messes with terrain blending, but what I don't know is WHY. I can't fix it, and it turns out the same problem appears in QuakeZero, and hasn't been fixed. Since it only appears with r_vertexlight 1, and it's related to the "portal" shader parm, I might just use an alternate shader for actually playing, but use the original if the map were to be used in a movie (nobody uses vertex light in MME). The only problem is that they're actual portal views, and removing them would hamper gameplay somewhat, but since they're invisible now, it's not a loss at all.

I still need ideas for the next map. Reflux is evil, and I want to conquer this demon and claim the title of "Master of Awesome" for myself, but this is one particularly challenging foe, and I'm not confident enough in my inner awesome to defeat it. I might try xmas...

Tuesday, 6 December 2011

Maverick|FTP finalized

I finally got my FTP. It's still being set-up fully, but I can upload things, which is really nice. I have my crappy movies page on it, but he also made some form where I can submit info for a movie and it adds it to... somewhere. I don't even know. But it's cool.

I also finally got the latest version of Kleftogiannis, mccormic's movie. Each time I watch it, I try and find new things, like in a feature movie made by a director known for adding little Easter-eggs all over the place. And I do.

He even wants to add anything he can to make it easier for me to add movies and info to my list, which makes me so happy :D

Anyway, HERE is the link.

I'm going to be moving my movie list to Maverick's site. The link is: movies.msgftw.com.

My blog is getting lonely

So it's time to make some posts!

Lately, I've been looking for really big Q3 maps with lots of intense freestyle potential, but Q3 isn't really where you go for big maps, so I may have to get into more advanced map conversion if I want REALLY big maps (maps that break Q3 from the sheer entity/brush numbers). Until then, I'm looking at Urban Terror, but those have already been repacked and uploaded to Worldspawn. I may repack them myself, because I don't want to have to download them all, and repacking from a different mod is always an experience. More importantly, though, I might start repacking maps FROM Q3 for Urban Terror, because it's completely standalone, with its own textures and everything, which means it doesn't have many of the baseq3 shaders or textures.

Other than that, I've been beta testing some stuff for mccormic, and proofreading other stuff, also for mccormic. His English is pretty shit, so he sends me stuff and I make it less shit. He also sends me videos and I try and point out the shit-ness so he can fix it. It's really great being friends with the best Quake editors, because it means I get to beta test all sorts of awesome stuff, and see it early. Then, obviously, I miss the final release because I'm forced to go to work, but that's another story...

So far, I've only beta tested 2 videos that I can remember: It's Pekka 2 and Kleftogiannis (mccormic's Dreamhack video). They were both awesome, of course, but with Kleftogiannis, it was especially so because I was the only one who was watching it before its release, which made me feel important.

That's about it. I'll repack more maps and that kind of stuff, and add them to THIS page. In the "parent directory", there are a few other pages with other goodies, but all in all the maps page is the only one really worth looking at.

I also got a haircut, and now resemble an egg.

Monday, 28 November 2011

And I thought HEKTIK was bad!

I've been working on reflux for the past couple hours, and I don't think it can get any worse than this.

There are missing textures, missing shaders, missing EVERYTHING, and most of it is broken even in wolfcam, but it somehow manages to work perfectly in Quake Live. This baffles me. The only explanation I can come up with is that id decided to break all their maps so that they're just barely useable in QL, but won't work at all in any other game (Q3 conversions such as this, for example). It's stupid, and probably untrue, but I honestly have no other idea.

I'm re-repacking all of my QL paks, in hopes that something was missed, but I'm positive that my current resources are all from the latest QL version. This is so stupid, I'm probably going to give up on this map if Muffin doesn't come online in the next couple of hours.

HERE's a list of all the missing textures on reflux, with no fixes. That's almost 200 shaders! And only about 100 of them EXIST in QL! I haven't done the chunky bunch yet: se_industrial, but I expect most of those to not have any shaders either.

Aside from all this stupid shit, something that bugs the hell out of me is the messed-up decals. An example is the weapon marker:

Hektik and shader BS

I finished converting Hektik to Q3, but there was a strange parm in one of the shaders: "novlcollapse" in "textures/sfx/portal_new_nonsolid". It didn't work in Q3, and it looks like the Wolfcam code just brushes it off (doesn't do anything, but was made to not output an error), so I deleted it. This was a relatively smooth conversion, which I'm very happy about, because it means that my technique works perfectly, aside from things like this that can't really be fixed.

This is good, but I want to make sure that the shader parm really is just a compiler setting and doesn't affect the look of the texture, so I might open QL with some HQ config and check it out. Or I could get someone else to do it for me...

Anyway, here's a DL link: hektik.pk3

Sunday, 27 November 2011

I wrote a guide for repacking QL maps

I spent the last half-hour writing a short, step-by-step guide on how to convert and repack QL maps so they work in Q3, like I did with Furious Heights, Siberia and Ironworks. It's probably full of flaws and nonsense, so if any of the TWO FUCKING PEOPLE who read this blog care, go check it out and tell me what needs to be added/changed/clarified/etc.

Read it HERE!

Updates on stuff and things

I suppose I should write more stuff here, since that's what blogs are for.

Today (about 10 minutes ago), I talked to Shio, who is a mapping GENIUS, and super über pro defragger, about the problems I'd been having with Quake Live maps. What had happened was, some entities on ironworks and furiousheights were "mis-linked" to their targets, and others were changed. For example, one of the jumppads on ironworks was changed from trigger_push to trigger_teleport, and linked to one of the tele_dest entities. I wasn't sure what the cause of this was, but after talking to Shio for a bit, I had an idea: it was because the entities were linked to other entity numbers (example: entity 45, a trigger_push, was linked to entity 120, a target_location), and I had changed the advertisements from advertisement to func_static, which rearranged the list. This means that entity 45, which was previously linked to entity 120, was now linked to entity 118, which was "pushed up" 2 positions because I had changed 2 advertisements.

This made a whole lot of messes, and the ads didn't even work, which made it almost completely fruitless. But in the end, I was right, and justice prevailed once again.

What this all means is that I now know everything I should need to know to convert maps from QL to Q3, without any flaws (aside from Team Arena maps, which I don't want to keep the entities for because they create errors, and nobody plays TA anyway). Fully-functional advertisements, shaders, entities, and lights. A lot of this is because Shio is such a genius and is awesome. He showed me the -onlyents trigger, and sort-of showed me how to use it (I figured out how to use it literally 10 seconds before he told me how to use it, and we had both come to the same conclusion), and let me brainstorm by spamming him in IRC.

Enough ass-kissing: I'm going to be working on some more maps over the next few days. Toxicity and Reflux will probably be next. I might even make "fps" versions of the ones with intense shaders, like Siberia's snow, that don't have any of those details. The only downside is that they won't work on pure servers, and they might even require different bsps (if I remove the func_static on Sibera, I would have to make a new bsp, but if I only change the shader, it might not work as it should).

Here are some download links, plus some bonus fun stuff:

Furious Heights
Siberia
Ironworks

BONUS:
A broken/buggy version of Furious Heights
A broken/buggy version of Ironworks
Confetti Siberia override shader

Play more promode ;)

Friday, 25 November 2011

Siberia in Quake 3!

I asked the dudes in #tricking.eh what QL map they would like to see in Q3, and we all agreed on Siberia.

It was really easy, seeing as how I'm now an experienced repacker. There were a couple shader complications but it was all done in under half an hour (remember that I do everything by hand, plus every time I get onto a map to test it, I end up running around for quite a while sometimes).

I also decided to take this opportunity to play with a couple shader ideas I had a while ago, and they worked... somewhat. Here's a screenshot:



CONFETTI SIBERIA!

Thursday, 24 November 2011

Today is an historic day!

Today is the day that I first converted a demo from defrag to Quake Live properly. No middle-ground demos recorded from wolfcam, no buggy sounds or events that crash the demo, no wolfcam-only playback. This works as a normal Quake Live demo should!

This is also part two of my three-part project, but I'm not going to tell what part three is ;)

If you want to watch the demo, you can download it HERE!

For some reason, the demo doesn't play in QLDT (I have some suspicions as to what could be causing it), but it works fine in QL and wolfcam. There are also a bunch of imperfections, such as the time being wrong, and the configstrings being Q3's and not QL's (that's what might be causing QLDT to not play the demo). I'll play with the configstrings and try to make the demo playable in QLDT, but it's fine as-is, IMO.

nebuLa needs to learn to not add spaces to his filenames, because they really do mess with autocomplete, and all those %20's in the URL are just plain ugly.

Furious Heights in Quake 3!

I decided to play around with some map conversion, because I wanted to do yet another experiment. My pick was Furious Heights.

After an hour or two of on-and-off work, I got it 95% working. All the shaders and textures are there, but the advertisements don't work. This map isn't that big a deal; there's just a big empty frame on the wall. But some maps, like Campgrounds, have the advertisements being part of the actual map structure, so if the ad doesn't show up, there's a big hole in the wall, plus some massive HOM effects.

I tried a few things to get the advertisements working: I tried changing the classname from "advertisement" to "func_static", deleting them altogether, and changing a few other parameters in a few different ways. I couldn't get them working, so I'll have to consult my experts as soon as I can.

They're available for download, but I'm not sure if I should actually publish them (lol nobody reads this fucking blog anyway)...

----

In other news, DREAMHACK!!! Along with the duel finals, mccormic's latest movie, "Kleftogiannis", will be shown. He's taking a very unique approach to this, and I love talking about it. He's making a CPMA/OSP/QL movie, which in itself is very weird, but he's also essentially showing a "beta" version at Dreamhack. What I mean by that, is that because he was strapped for time, his vision isn't quite complete. He will be fixing a lot of transitions and minor bugs after the showing at Dreamhack, as well as adding a whole second track (the first track is just brilliant. It's amazing, and I can't stress that enough. It's a DnB remix of some song that I'm not allowed to name).

It's gonna be the tits!

Tuesday, 22 November 2011

Editing, other things.

I fixed Aerowalk (there were three missing textures, plus a broken shader), and finally captured my video, only to realize that I didn't add enough time to the end of it for proper transitioning, so I had to redo everything. And because I'm stupid, I deleted all the .ct3d files, so I have to restart from scratch. At least I figured out how to do everything (mostly), and won't have as many hindrances along the way.

This is an opportunity to fix everything that was wrong with the first instance, and make it all better in general. I know a few techniques I can use to make the whole process a lot smoother. Remaking the Aerowalk cam is really annoying, though, for many reasons, and so I stopped for today (or yesterday, by real logic), but will hopefully finish this whole thing tomorrow (or today, by real logic).

I'm also in the process of fixing all the texture bugs I can find. There are problems, of course, but I will have a fully-functional map pack soon, with absolutely no texture bugs, and possibly some improvements.

Looking a little bit at the way bsps work, I realized some cool things that are actually good to know: there is always a specific amount of room before/after a shader name when it's called in a bsp, which means that you can safely add/remove characters from the shader inside the hex editor. What it also means is that the character limit for shaders is easy to find. I haven't counted, but it's only about 30 characters or so.

I went through all the maps and fixed one bug in particular on every map that it appeared: telex. Instead of using the shader, which had proper blendfuncs, QL decided to use the raw texture, which looked like crap. So I overwrote the texture name with the shader name, and now it's all good. I had to also fix the shader, though, because it was stupidly done, and didn't work at all.

After I've fixed all the maps, and after Maverick gets off his lazy, vacationing ass and gives me an FTP, I might upload my fix.pk3 for other people to use, because I know I'm not the only one with this problem.

The last thing I'm doing is some more of my stupid demo modding/stitching. I have a basic plan, and nothing more. It will be more of a hobby that I can do whenever. It's stealing all of Mazu's cpm3a jumps from HERE. Basically, I'll be doing all his jumps, and stitching them together into one big demo full of awesome, with some clever chat thrown in wherever it fits. The way I see me doing it is, I land a jump in CPMA (and record a demo obviously), then get the pos from the end of that demo and load it in defrag, then just run to wherever the next trick starts, and transition from there. I'll have to figure some clever way to go from defrag to CPMA, because there is no savepos in CPMA (otherwise I wouldn't need to make "interim" demos in defrag). Someone with real knowledge and skill could finish this in a couple days, but I'll be doing it over the course of X days/weeks/months. I'll figure something out, or this will just be another worthwhile project sent to the scrapyard.

Movies have been slow lately. Not many new releases, and not many old movies to download. I've downloaded pretty much every worthwhile movie that's already out, plus/minus around 5. There is one in particular that I would like to get my hands on, but have no way of downloading: anti-conformist, a staged fragvideo by the same guy who made deception. Wussie has it, but he hasn't uploaded it anywhere, and own-age.com is dead so I can't get it there. It's been bugging me ever since I learnt of its existence.

That's pretty much it, aside from oranje having his own $10 VPS with massive lag spikes but an average ping of about 15ms (for both of us since it's practically right beside us both).

Sunday, 20 November 2011

Maverick|FTP

The other FTP I got was kinda suck, but Maverick might get me one, which would be awesome. Hopefully it won't be all weird and buggy and with a super long URL, in which case I'll use the shit out of it.

In other news, my family sucks. And I hit 50gb of Quake movies.

Thursday, 17 November 2011

100 get!

I reached 100 movies, and it's still climbing! My hundredth movie was "Get Quaked" by JoKa, but by far the highlight of this little package was Cristal's movie, "Castor Fiber". Cristal is one of the most unique editors I've ever seen, and his editing is always over-the-top, but still amazing. Out of the couple movies of his I've seen, they tend to focus more on third person than first person sequences, and heavy editing, color corrections, filters, and effects.

I hope it's a he, anyway...

Check out my awesome movie list HERE!

Monday, 14 November 2011

90 get!

I just reached 90 movies on my list/harddrive. The 90th movie was ZhoreZ by LovEmE. Not too bad; not my style, but still pretty good quality. I don't like that a lot of people just throw massive amounts of framerate and bitrate at their movies without thinking. One of my friends actually rendered a movie at 100fps! He didn't even know what he was doing; he just wanted the best quality he could get. His bitrate wasn't high enough to handle that sort of framerate, and his input wasn't even 100fps, so it didn't look like 100, but still ran at that rate.

When I hit 100, I might do something, like... watch more movies. I need my mentor to log onto IRC so he can teach me how to do the things I want to do, like make a legend, and fix a few things, and other miscellaneous what-have-you that I want added to my page.

The fact that my project is a list of movies isn't really significant; I just wanted a "sandbox" to play around with, and this was the result. I learn as much from making a list of movies as I would from almost anything else, since it's all the same thing at the core.

HTML coding is the only thing that's kept my attention for this long, which is really good. I might end up doing web coding for a living: who knows?

Friday, 11 November 2011

Partway done

I finished capturing the "first" (second) part of this video, after figuring out how I'm going to do everything. The cameras are quite nicely done, and I think everything is pretty smooth.

The only problem I'm facing right now is the broken textures on aerowalk. The second clip was on bloodrun, which is perfectly fine, but aerowalk has missing shaders. Just like when I repacked sidrialdm1, it seems as if there are shaders that just don't exist ANYWHERE in use here. I can't find the images or the shaders, and it just makes no sense to me at all.

I'll probably be finished this tomorrow (or today, whatever). I fell asleep, but I forget if it was an accident or not. I slept for a few hours, so hopefully I'll be able to stay up all day instead of sleeping again, so I can go to bed at night, like a normal person.

I'm capping at a ridiculously high resolution, because I have no anti-aliasing or other filters on my GPU. It'll have to be down-scaled from 3840x2160 to 1280x720, which is quite a large difference (3x!), but there will be virtually no aliasing or anything of that sort.

Timing the normal aerowalk and the mask layer will be tough because I'm using 120fps (120fps at such a high resolution is crazy. The bloodrun sequence was 17gb, which is higher than anything I've ever done in Quake!). I'll have to line both tracks up perfectly, and if they're off by even one frame, it'll look weird.

Lastly, the demo I'm using is really good. The quality of the frag is really good. It's not a super nice shot or anything, but more of an amazing technique/strategy.


P.S. On an unrelated note, I'm playing with these .fs files. I have no idea what they do, but I'm going to break them and change some values and see what happens. Could be fun!

Thursday, 10 November 2011

Back editing/making crappy videos!

Yesterday and today, I've been getting ready for a short little video I'm making. This is probably as close to real editing as I'm going to get, at least for now.

Basically, it's inspired by dorftrottel. I have a camera path that goes in a circle around the platform, and a custom .bsp with a green clip at one point, and everything else red. The idea is that I'll capture the same camera path on each map, then turn the green into a mask for transitioning to another map. I'll be cutting out the last 2-3 camera points and adding them to the beginning of a cam on another map, so I can transition smoothly from map to map, without the need for tracking or any kind of editing.

So far, I have the camera path for aerowalk, and that's about it. I somehow let myself capture it on the map while it was full of missing and broken textures, but I'm not sure how to fix them, so I'll have to wait for someone else to fix them for me :P Until then, however, the second map's camera will be in production. I have actually captured the path on each aerowalk, so I can test those in Vegas and figure out how to do this, then work on the second camera, then maybe fix the textures and capture this.

Hopefully, I'll also be able to play around with some video compression and make this even more fruitful.

Sunday, 6 November 2011

Quake 3 Entity Plus

I played some dude's E+ map, and it was quite fun, albeit buggy. This mod has huge potential, and some impressive entities (to be expected, since it's a mod based around entities). Basically, it's a single-player map where you fight a bunch of dudes, get some keycards, and beat a boss. It's simple, Q2-style, fun. There are balancing issues, along with general bugs, but overall it's surprisingly NOT buggy, considering what's being worked with.

Get it here!

Friday, 4 November 2011

League of Legends

I'm going to be playing some LoL, along with Terraria, Quake 3, and hopefully Baldur's Gate/2 over the next little while. Should be fun, since I'll be playing most of them with friends, and if not, there's always pubs/pugs!

The Pando Media Booster thing for LoL was a bitch to get working, but after I did, the download was pretty smooth I guess. I'm horrible at this game, so I'll be raged at and carried for a while, but hopefully I'll become competent after a few games. Only time will tell.

I feel like I'm using this blog like it were Twitter, but without character limitations. I should stop doing that.

Baldur's Gate TuTu

I was bored today, with nothing to do, so I decided to fire up TuTu (it's basically Baldur's Gate 1 inside the Baldur's Gate 2 engine, which is funny because I have a mod that returns a lot of the BG1 functionality to it), and start a new game.

I read through some of the class descriptions, and almost considered playing a Lathander Cleric, but instead read up on a few more classes. This was a great choice in the end, because I found out about the fucking amazing Monk class. They're pretty shit early-game, but my god are their bonuses amazing when they get to level 10+.

Anyway, I rolled some badass stats, made my character, and started playing. Monks move much faster than any other class, so I breezed through Candlekeep with ease. I met up with Imoen to start kicking some ass, but on the very first group of monsters, I got two-shotted. Four times. I figured something must be wrong, so I checked my settings, and sure enough, the difficulty was set to "Insane". I moved the slider down to "Normal", and tried again. This time, I died in only one hit, so I just closed the game and read some forums.

I've since read a tiny bit more about monks and how their full potential as badasses can be achieved, so I'll try again later. Monks are awesome, though I still think spellcasters trump them.

Thursday, 3 November 2011

I just keep adding!

This has been probably the only project that I've stuck with for this long: a measly 3 days. I keep downloading movies and updating this page, changing things, making it look slightly better.

It's so fun!

Tuesday, 1 November 2011

My list of movies, updated!

I wanted to do something with this page, so I asked my good friend TaTooKa, who has helped me out with HTML coding a few times in the past, to walk me through this one as well.

Sure enough, he agree, and we embarked on an epic quest to make my page not suck balls. Basically, all I did was add mouse-over dropdown menus for each of the items, so you can see more detailed info on the movie. It took about half an hour to fix a bug in our code, and then a bunch more time for it all to actually be written. The page is only about 1/4 done right now, because I'm writing everything by hand, and it's not very fast this way.

The only thing to be wary of is that these filesizes are the sizes of the movie files ONLY, so if the download is a .rar or .zip, it's probably bigger than what's written on my page, because there are other files inside. Or, it could be up to a few megabytes smaller, because there's only one file, and it's been compressed (although most of these use incredible compression, so there isn't much more space to be saved).

I'm thinking of adding the MD5 and editor's names to the info sections, but I don't know if that's the best idea. Editor's name, sure, but MD5 seems pointless for most of these because you won't know if your file is broken or anything unless you extract the archive, but if you extract it without errors, then your file isn't broken. Even if they weren't pointless in that respect, it just seems like an unnecessary waste of space. Nobody really cares, anyway. If the video doesn't play, or gives an error, then try fixing it, or re-download it.

Also, all of these files are hosted by Maverick, and they will continue to be. Every update I make to the list will be hosted only by Maverick himself, that means no megaupload, no youtube, no fileshare, nothing. This is best for everyone, though, because his site is "ad-free", he doesn't encrypt the URLs, and he has incredible speeds.

Any movie I download and consider high enough quality to add to this list, I will add. If any of the TWO or THREE people reading this even CARE, then suggest what sorts of things I should add to the info sections, or what I should add to the page itself. I might not replace the download buttons, just because they're so $$. I might add a stream one, though, and if the file isn't on youtube, I could upload it, or get Maverick to upload it (it would be nice to have both a stream and download available for all movies).

Since I now have limited access to Maverick's file tree, I might take a look at what movies he has there, and download any that look interesting.

This seems almost like a substitute for own-age.com! HA! AS IF! Still, it's pretty nice if I do say so myself.

HERE YOU GO!

I made a list of all my Quake videos :D

I just spent about half an hour organizing all my Quake videos in a nice list, which I'm hosting on my dropbox (because dropbox is amazing, and I'm too poor to rent a site). It's a very crude list, with only the basics, and no nice styling.

Here it is!

All of them are alphabetical, although they use their filenames, rather than "actual" names. I might address that.

I've added download links where I can, most of which are from Maverick Servers and Gaming. There are a couple from megaupload, one from hotfile, and only one youtube link. I also only added the max quality versions of the videos, so if you download anything from that list, be aware.

Maverick has hosted a lot of movies on his servers, and his speeds are incredible. He also doesn't believe in "hiding" the URL, so all his downloads are download manager-friendly. By far the best file hosting I've yet to come across, and a great site as well. That's enough ass kissing for now, though.

UPDATE: Maverick has been completely and utterly badass enough to host ALL of these movies, immediately after I gave him a link to this list. The man is truly a wizard.

maverickservers file hosting

A new project!

This one is similar to the cross-map cams that I've been trying to do over the past week or so, with an added twist: I'm going to be using 3ds Max as well. It might be easier, it might be harder, but I don't really know what I'll be doing.

I'm going to be using Camtrace 3D for my cameras, as usual, but I'm going to be using the camera script importer for 3ds Max 7/8, as well. The only problem is that I have 3ds Max 2012, so I need to get the earlier version, or find some way to make it compatible with the current version. The latter will definitely not happen, sadly.

What my plan right now is, is something like this: I make a camera on a number of maps (the camera is going to be about 30-40 seconds long, which is probably almost 5 times as long as any one I've made before), export/import it to 3ds Max, add the rocket .md3, then try and animate it (all I have to do is a slow rotation so it shouldn't be too hard), all the while keeping it in line with the camera in such a way that it doesn't turn or do anything strange.

Because I'm very inexperienced with anything to do with 3d modeling and animation, I'm going to need a lot of help, especially with the effects I'll be using. I know a lot of people who are very experienced in this, but their willingness to help might not be too high. That would mean lots of tutorials and imperfect work.

The other part of this project is the filters/effects I'll be using. I don't quite know what they will be yet, but it will be something like cel shading, or outlines/shapes only (sort-of like shadow art?). I might use some weird colors as well, who knows?

I really hope this project finishes, because it's the most inclusive one I've started (3d modeling, scripting, configging, and a couple other things), and it also doesn't seem like it will have many complications, at least not in-game, which is really nice.

To be honest, the only main problem I can see right now is lining up the rocket with the dude who shoots it, if it will even start like that. I only have a vague image of it in my head that needs refinement. I don't even know if I will need to animate the rocket in Max, if that's possible, or if I will even want to. I don't know what sort of demos I'll be using, if it will be through some action (that would be really nice), or just empty maps (pretty lame, but this whole thing is pretty lame), or what. With a bunch of players running around, making the effects properly will be a huge challenge, but without any action, it would be a boring video to watch.

The more I think about it, the more ideas pop into my head. For instance, I might try and incorporate my map-to-map airrocket thing, and have the video end with the rocket hitting a Keel. If I pull this off properly, it would be a really, really sweet video. I can't wait!

I also know what song I'm going to be using.

Monday, 31 October 2011

First record on speedcapture.com

I sent my only "good" fastcap demo to speedcapture.com about a week ago, and it finally got added to the site over the last couple days.

cpmctf4(00-10-488)-cpm(1,Kitteh).dm_68

Still needs quite a bit of work, but it's a good run considering my skill level. It made me especially happy because I had beaten Alien's time, even though I know he can do better, and has proven it by posting a demo on the mDd forums. I used my own path, though, which makes it even better.

I plan on both improving this run and setting some more times, but until then, I'll be working on dfwc01-6 in VQ3 :)

"Hi-res" rocket now works.

Thanks to the bare minimum help from Morbus, I got the rocket working. What I did was, I imported the .md3 to Milkshape 3D, exported as .3ds, imported that into 3DSMax, used MeshSmooth on all the objects, exported as .3ds, imported that into NPherno's GL Viewer, fixed the texture paths (they were broken by Max), exported as .md3, imported that into Blender, re-aligned the objects (they were shifted 90 degrees, also by Max), then finally exported as .md3.

Now that I've written down all the steps, it seems apparent that there are a few that were quite unnecessary, but seemed appropriate at the time. The bottom line is that I got it all working, with only a little bit of help from other people (Shio taught me how to use Max and also gave me the Blender md3 plugin, Morbus reminded me that NPherno's GL Viewer kicked ass, and another friend just gave a suggestion or two).

Here is a gif to compare the "improved" model with the original:

Saturday, 29 October 2011

Doing some modeling.

So I was talking to Shio about something (it doesn't matter what it was, because we got completely off-track anyway), and after about 10 minutes, he ended up getting on Teamviewer to help teach me how to make stuff in 3DSMax. It worked, somewhat, and I imported the Quake 3 rocket, to try and smoothen it and make it sexier (more polygons = more qualities). It worked, but then came the complications, and the incredible anguish.

There was no way (that I knew of at the time) to convert the file properly from format to format. I had opened the .md3 in Milkshape 3D, then exported as .3ds, opened that in 'Max, did my changes, exported as .ase (I tried a number of formats, but I didn't have any md3 plugin, because they were meant for an older version that I didn't want to install), converted that to .md3 with q3data.exe, and load that in Q3. It loaded, but the shaders were broken and the model was misaligned.

We tried dozens of fixes, from downloading plugins and whole other programs, to opening the .ase in a text editor and changing all the paths by hand there. Nothing worked. Eventually, he had to go to bed, so I gave up as well after one last attempt. I'm going to ask around and see if anyone knows what to do, because I know this is possible. If anyone can get this working successfully, I will be very happy. It will mean that not only rockets, but other models, can be made much higher quality. The problem with all this is that, because of the very awkward way Quake 3 animations work, there's not really any way to increase the poly count on any models that have animations, such as player models. The people who made Chili Quake 3 hi-res'd the headmodel for each one, but that was as far as they could get without breaking the game.

Also, because of the way Quake 3 animations work, there's no way to redo the animations (at least, it doesn't seem reasonable to do manually, and it can't be automated. It's on the same level as writing a 1000-frame demo by hand), because they're "vertex animations". Each vertex has an animation, rather than a skeleton. This means that more polys = more lines of animation to do. With a model that has 8 polys, it isn't that big a deal, but when you go into the thousands, it just gets impossible.

So, to finish off this post, I'm going to post a little image.

Friday, 28 October 2011

Adding brushes to maps (cont.)

I finished the map, and to my surprise, everything turned out exactly as planned.

There is a .pk3 available that has both demos and both .bsps, if anyone cares. It's about 85kb. The lighting is actually pretty cool with these compiler settings, so I might keep them in case I want them again. I'm pretty sure the main thing was -dark. I've wanted to compare these kinds of settings to figure out how they look, but that's for another day.

You can download the pk3 HERE

The video:

Adding brushes to maps

This is an idea that I've played around with only a few times over the past couple of years.

Basically, I decompile a .bsp (unless I have the .map, which is very rare), and add some brushes. It doesn't matter what they are, but it would be something like text, to substitute tracking in another program. Of course, the workability of this is very slim, because it's rare that the .map is available, and decompiling a .bsp is very buggy: Texture co-ordinates, lights, and a number of other things are lost, which makes cleaning up the .map not really worth it. There are cases where the .map, along with the compiling settings (!!!!) are available, though, and in these cases, it's very worth it to at least try this.

I'm going to figure out just how doable this is. I made an empty box, recorded a demo of me walking around in it, then added some "TEXT" (I made a few brushes and shaped them so they spelled out the word "TEXT"), and recompiled. However, I decided to play around with the compiler settings, and NOT using -fast on the light stage is just ridiculous. This map has a total of 16 brushes and one entity, but the light stage has been processing for at least ten minutes.

The demo wasn't really what I wanted, and I recorded it on the map without the text, so I'm re-recording it with the one that has text, then duplicating the demo and changing the mapname so I have one demo for each .bsp, which is a waste of time but if I were to give this to someone else, it would be necessary.

I'm curious to see how this works out, though I don't expect it to be any different from what I expect. This room only has one vis leaf, and it hasn't been retextured or anything, so it doesn't really matter much how it works out. It would be much more fruitful if I retextured a map with actual structure and multiple vis leafs, for realistic testing. I'm not nearly skilled enough to do that, however, so it's going to happen my way.

Mapping with oranje (cont.)

I've been doing my best to map my ideas, and so far it's been going pretty good. I've made a pack with about 6 bsps, but a lot of them are single rooms that are compiled together in one of the other bsps (for example, I have room3.bsp, and teamrun4.bsp, but room3.bsp is just the third room in teamrun4.bsp, with a couple different aspects).

I got loveless to help me with some testing, and it didn't go too well, but it gave me a pretty good idea to fix one of the tricks I had been thinking of for a while. I can't test it properly with only one person, so I have to wait until oranje is available, which will probably be this evening.

I also need to get in touch with Shio, and fix these msn problems so I can talk to kiddy, because I need some help, both with testing, and with mapping. Shio is probably the best mapper DeFRaG has, and he's made some incredibly advanced mechanics, plus he's willing to help. With the right people on board, this map could be finished rather quickly, at least at a fundamental level. I don't expect this map to be as advanced and crazy as thirdperson, but definitely up there with regards to 2-player maps.

A nice idea for a team map is one that all takes place in a relatively small area, as opposed to many different, completely detached, rooms. Inside one room, A has to get to X, and B to Y, but A needs the help of B to get to X, and B needs the help of A at X to get to Y. This is a basic scenario, and is pretty much what all team maps are based off of, but if this was done a number of times in the same room, it would be quite impressive. I have some pictures in my head of what it could look like, but the main problem with these types of maps is that they're usually so easy to abuse and exploit, which is why making one that works properly is such a feat.

I might start working on one in between my other map(s). And who knows, they might all become one map in the end!

Wednesday, 26 October 2011

Mapping with oranje

Over the past few days, I've been making DeFRaG maps with oranje. We beta test them on his server, discuss bugs, changes, improvements, etc., then apply the changes immediately. We've had a few ideas, and made most of them into maps on the same day.

Our main project is a 2-player CPM run, but we only have one room completed and vq3-proofed. We've been making a lot of small, one-room maps meant to test ideas and practice mapping, which is working quite well.

While we make these maps, he's also working on his own 2-player VQ3 map, which we also test.

Our ideas are pretty sweet, but a little too advanced for us (mostly me, but some of the things are also way out of his skill range), so I'm waiting to discuss these maps with Shio and get him to help us out a bit.

I don't expect our maps to be finished even before the end of the year, since, like all amazingly modest people, we are never satisfied with our work.

Saturday, 22 October 2011

Moving these cams to Wolfcam once and for all (cont.)

At first, I did a simple camera with two points, and that worked perfectly, with no problems. Wolfcam .cam8 files look incredibly complicated, but you only need to pay attention to a total of 4 lines per point, and once you realize that, it becomes really simple. Of course, this only applies to basic cams, and when you start going crazy with them, every line becomes important.

Anyway, after I made the two-point cam work perfectly, I tried the only other one that I kept, and it failed. It was an utter failure, with no hint of success or anything. The only thing I learned was that, by default, Wolfcam doesn't use as smooth of a curve to interpolate between points as CT3D. I'm not sure how to address this yet, but it definitely needs attention if I'm going to do this again. I'll look at some cvars and try to do some configging, but god damn, this is an ugly video.


Here is the result:


























I added the origin info to the video because I knew the result would suck, and I wanted to compare each frame from both outputs, to see if anything changed other than the Z origin.

Moving these cams to Wolfcam once and for all.

This seems like a pretty good way to convert CT3D cameras into Wolfcam's weird format, the only problem is that Wolfcam's format and playback method is pretty shit. If it gets fixed, however, then this would work wonders.

Basically, CT3D and Wolfcam both use camera points, except when a path is "created" in CT3D, it creates a .cfg with hundreds of points, because there is no interpolation or anything in-between points: it jumps from A to B to C. Because of this, it has to have the position for every single frame. But inside CT3D, it uses camera points and interpolates between them, which means that I can just take the co-ordinates from there and add them to a Wolfcam path. The saved paths from Wolfcam are really, really complicated and full of crap, though, so I'll have to set all the points in-game, and save it from there.

A few problems arise, because the control is drastically changed in-between programs, and I can't really do much from inside Wolfcam; only add the points and hope it works, but in CT3D, I can modify the values instantly, change angles, change the behavior of everything, add points, and do other awesome shit that can't be done in Wolfcam.

Still, I'm going to try it, because there are other benefits of doing everything inside Wolfcam, mainly being able to see everything in real-time, along with whatever demo I'm using.

Friday, 21 October 2011

I finally got a demo.

Korfi sent me a demo today, and while it's not exactly what I wanted, it should work for what I want. I'm still trying to figure out how exactly I'm going to go about doing this thing, but at least now I'm ready to do something, so I have no more excuses when I just sit on my ass and do nothing.

I just don't really feel like doing this right now, but there's nothing else to do :(

Tuesday, 18 October 2011

Motivation.

I've lost all motivation to do anything. I'm just sitting here in my chair, with a blanket, trying to get comfortable so I can sleep. Life is pretty shit right about now, and has been for about 3 damn years.

Monday, 17 October 2011

Problems with trans-map experiment thing.

I ran into a problem. I recompiled the maps fine, and they're as ugly as I expected them to be, and the demo was recorded fine. It was a timescaled demo in CPM, but it works for now.

The problem is with lining up the demos. I'm not sure how exactly to go about doing it. I have the maps side-by-side, but obviously, if I play the demo back, it won't be aligned properly on the maps. Especially DM18, because I turned it 180 degrees. I'm not even sure if I have to line up the demo with the map, and have 3 different demos, or just make a cam based on the original map, and offset THAT, or what. But I do know that as soon as things get mildly complicated, my brain just ceases functioning.

Offsetting the demo itself is stupid without scripts (that I don't have), because there are thousands of frames that I would have to modify. That's already out of the question.

Offsetting the camera will be "fine", because I can open Radiant and look at how many units the maps are offset by vs. default, then just move the camera path over that much. What becomes a huge problem is DM18, because, as I said earlier, I turned it 180 degrees due to it not being easy to work with as-is. I wasn't thinking as far ahead as I should have been, because I could have just put it on the other side of the map and it would have been fine, since all the other maps are symmetrical (skyward, longestyard, spacectf, spacechamber).

I'll start working on a cam in CT3D with my custom bsp, but it will be pretty annoying because I don't have my little script that parses the origin and viewangles of the player for every frame, so I'll have to do a lot of testing and guessing, and the path won't be that great. On the plus side, though, this will probably be done in Defrag, which is what the scripts are actually meant for, as opposed to Wolfcam, which requires some modding of the scripts CT3D outputs.

I might just follow the rocket from a simple, static, Z-origin, and then move X/Y to follow the rocket properly. This is so I can make sure everything is actually working, then I can make the real cam and do all the offsets and shit.

This is killing me :(

Sunday, 16 October 2011

I'm going to do a short edit.

I'm going to be making a video over the next couple days. It won't be any weird meta editing in-game, or just showing off some weird fix I did, or anything like that. I'll actually be doing some editing. I have some ideas, so I'm going to use the best content I have currently, which is pretty shit. I might even stage some frags if I really need them, but I won't try to hide it: I'll make sure it's known which ones are real and which ones are fake.

Should be done by the end of the week, most likely earlier.

University convention thing.

Today, I went to the Ontario University Fair to meet some friends. I don't really care about university, but I wanted to see these people so it was all worth it. I got there at 10:15 and sat in a corner, waiting for the other people to arrive until almost 12:30. I hate crowds, and I hate strangers, and that's all this was: hundreds upon hundreds of people I had never seen before, walking around and talking and stuff. I literally almost threw up, at least twice.

Anyway, my friends finally arrived, and we walked around for a couple hours, looking at universities and shit. It was boring as hell, and not very eventful, but worth it entirely.

Why I'm writing this here, I don't really know. I could just as easily talk to one of the many (lol 22 on Facebook and 18 on MSN) people I know, but to quote cityy: "there are just barely any people from which I feel like they have something interesting to say". Basically, people suck, and talking to them is pointless. Most of the time.

Saturday, 15 October 2011

New mouse!

My brother stole my mouse last night, along with the power cord for my computer, and he unplugged my monitor, probably in hopes to steal that cord as well.

This forced me to go to the store and buy a new mouse. I didn't have much in the way of options, because I only had $16, and it was too cold for me to go more than a few blocks away from my house. I went to the computer store down the street, and literally the only mouse they had that wasn't complete shit was the Microsoft Comfort Optical Mouse 3000, so I bought it. The tag said $17.99, but the guy let me buy it for $16 because he's cool. I later realized that other places would have sold it to me for $20, so I saved a bit of money, which is nice.

I got home and plugged everything (back) in, booted up, and installed the drivers from the CD, because I don't ever want to try and get drivers from the internets again.

My first thought was that it felt really awkward. I'm used to one specific shape, having used it for every computer I've ever had, and this is a more modern-ish shape, with contours and everything. It feels fine, just not what I'm used to. Only after this, I noticed the side button. I freaked out. I've needed a mouse4 ever since I connected to the internet, because I've been using ctrl as my push-to-talk in programs like Ventrilo, Teamspeak and Mumble, and it gets really annoying for me and the people listening when I press my PTT all the time while browsing the web etc.

I went into the mouse settings, and it let me turn on/off side scrolling, change speed, turn on/off scroll accel (which is a really neat feature), and program each button. I can do almost anything with all four buttons on the mouse, which is really sweet. The only problem I had was that there was no "mouse4" in the drop-down menu for each button. There was left click, right click, and middle click. It wasn't mouse1-4, and there was no "side click", so unless I'm blind, this button has to be bound to some weird macro if I want it to work. Strangely, in the macro editor, there is a mouse4 setting, but the way the macros work is pretty stupid, and I can't just hold down the button. I have to either toggle it, or have it activate for a specific amount of time, from 10ms to ????ms. I went with toggle.

The mouse itself has a few annoyances as well. Because there's a side scroll, mouse3 is significantly harder to click, because there's too much emphasis on the side scrolling. The wheel also feels several mm higher than my old mouse, which is really awkward. But all of these pale in comparison to the next problem: there's a guard around the wheel, which (obviously) isn't part of mouse1 or mouse2. What I like to do sometimes, is rest my index finger on the wheel and press mouse1 from that position. I can't do that now, because of the stupid guard. This is by far the worst part of the whole mouse, and really frustrates me. I can't really change mice, though, because I'm poor and my old mouse was broken anyway.

There are other problems, like accel, which can't be modified as far as I can see. I can't toggle it, and I can't scale it, so I have to use a lower sensitivity and treat it more like a middle-high sens, which is actually perfect in Quake 3, but not so great elsewhere. I can finally use my "perfect" pitch/yaw values of 0.0054931640625 (see if you can figure out why I think this number is so awesome :D), because of the accel and 1000dpi, which is just a little bit higher than my previous 800dpi, but enough of an increase to allow me to use this sensitivity without any problems. It will just take some getting used to.

Something else, however, that I don't want to get used to, is that the speed doesn't "scale" for different resolutions. If I play starcraft (without a widescreen mod, because I hate those, and they're cheating), it runs at 640x480 resolution. Now, my desktop is at 1600x1200, which is substantially larger. What should happen is, if I have to move my mouse 10cm across my mousepad to go from the left side of my desktop to the right side (assuming I have no accel; this is all hypothetical), I should have to move it 10cm to get from the left side of the screen to the right in fullscreen programs that have a lower resolution than my desktop resolution. Instead, what happens is, it uses the same 1600x1200 pixels as a measurement for the overall sensitivity, and requires the same amount of movement to go from the left side of the screen to the right (in this smaller resolution) as it does to move my cursor 640 pixels from the left of my desktop.

Basically, this means that I have an incredibly high sensitivity in Starcraft, which is something that I can't handle. I found no way to change sensitivity per-application, unless I make a special bind (ON MOUSE4!!) that toggles my sensitivity. I would change the bind when I open Starcraft, then change it back to my PTT when I'm playing, then change it yet again when I'm done so that it doesn't take 5 minutes to do a 360 in Quake, and then change it back to my PTT for the second time. Obviously inefficient, and stupid.

I wish more companies actually let you modify all the built-in bullshit, like sensitivity, smoothing, snapping, etc. because having to deal with all the "enhancements" that come with the mouse makes getting any modern mouse not even an option for someone who actually wants to play games. I don't know how all these modern gamers do it... they are an inferior race, and yet they adapt to these things so well, without arguing or showing any signs of disagreement. It's mind-boggling.

I've read a couple articles, and seen a couple reviews, of mice with actual good drivers and utilities that let you have complete control over your mouse. This is an amazing breakthrough, and it's sad that it can even be considered a breakthrough. If I want this $90 mouse because it has an impressive sensor and a good grip, I shouldn't have to have horrible accel, angle snapping, smoothing, and whatever else these companies can dream up. I should be able to remove them with something as simple as a check box, or even a slider.

----

Anyway, I'm going to try and warm up a little bit so I can get rid of this stupid cold by tomorrow and go to the Convention Center, because I'm going no matter what, and having a cold just makes things suck in general.

Friday, 14 October 2011

Something to do while I wait for ONE demo.

I had an idea that's similar to all the stuff I've been doing recently. I'm not sure how possible it is in QL, but in Q3 it would be pretty easy. I'll run from map to map. It would be amazing if I got it to work properly, but I don't think it will work out.

To describe the idea more clearly: I will be doing a short strafe run on, say ctf4 (because the space maps are the easiest), then rocketjump "into the void", and land on the next map (might me dm18). So this is actually quite a bit more complicated than my last project, which is now on hold. But it's also more doable by me, because I don't need to wait for someone else to send me a demo; I can do it myself.

There are quite a few complications I can think of right off the bat.

First, the obvious one: It will be a huge pain in the ass to move smoothly from map to map. I have a few ideas, but they all have their own problems, and I don't know how reliable each one is.

The first way is to use some sort of savepos command to save my origin and velocity, then change x/y/z when I switch maps. Once again, this would be easy in Q3, but not possible in QL, because all QL has is setviewpos, which only allows x/y/z/y/p/r, without v0,v1,v2, like Q3's placeplayer. It automatically sets my velocity to 400 in the direction I'm facing, just like a teleporter. So that isn't really viable.

My second option is to somehow run on my own custom, flat .bsp, and make sure that my jumps line up with the other maps. I could add some brushes for the major structural pieces (or in some cases, make holes, like on ALL THE MAPS because they're space maps). Then it's simple; I make a single camera path that goes through the "fake" map. I capture JUST the player model and any rockets/etc. that I use, because I expect to use at least some rocketjumps to go from map to map. Then I offset the camera so that all the maps fit beside eachother fine. This seems like it would require decimal-point precision in the camera placement, which means a LOT of testing, and tons of work that I don't really want to do, and is very unnecessary, because there's another step that would also have to be done, which is only slightly less monotonous: I would have to fix the leaf nodes that are stored inside the demo.

Q3MAP2 does this thing where, when compiling a .bsp, it generates little (or large) leafs all over the map. I don't know the specifics, but while inside one of these leafs, only what's inside it can be rendered. Everything outside is completely ignored; it isn't drawn, and it isn't rendered. It helps a lot with rendering efficiency, and probably with compression. I don't really know much about this, because I only took a quick look at hinting in Radiant, and that's all I did to look into the more advanced map stuff. The whole reason I brought this up is because these leafs are saved inside the demo, and the whole world disappears when you leave them. It's quite a predicament, and only matters when you try using bsps that don't belong (playing a demo on a map that it wasn't recorded on). Fixing this is a big problem, and yet another one I'd rather ignore.

The third (and final, as far as I know) way to fix this whole problem of running in-between maps, is to decompile all of the .bsps that I will be using, line them up, compile them, do my run, make the camera using this custom bsp, then offset it for each individual bsp, record only the player + related entities on my custom bsp, then each individual map, and then the sky in my own skybox bsp. This is really the least complicated way to go about this. It has quite a few more major steps than the first two solutions, but each one is a lot less time consuming, a lot more reasonable, and a lot easier.

The custom bsp will be a piece of shit with no lights, tons of misaligned textures, and broken entities/brushes. Decompiling is an imperfect technique, and can never be perfected. The reason being, the light entities themselves are ignored, while the lightmap is saved to the bsp. I don't know how unreasonable it would be to approximate the color, intensity, and position of the lights based on the lightmaps, but it seems like even a very inaccurate approximation would be better than nothing. So it would be stupid for me to use this bsp for anything else, is what I'm getting at.


I pretty much described every annoyance that I've thought might appear in this. There are some things, like chroma keying, that I'm horrible at, but that isn't even significant compared to the other problems I face with this.

The things I do keep getting more and more complicated, and I love it! It's so fun to play around with the game in this way. I don't just get a demo and upload it to youtube anymore. I actually do things now, and this I'm very happy about. I'll start working on this on Saturday, then on Monday, because I'm going to a convention on Sunday. My other trans-map air-rocket project has a higher priority than this one, though, so if someone sends me a demo while I'm in the middle of this, I'm saving my work and moving over to the other one. Unless I'm in the middle of rendering it or something.

That's all for now. I have a thing for writing about what I'm thinking, so these really stretch on for quite a bit.

Going through some code for no reason.

I tried to compile the ioQuake3 code again today. Unlike last time, several months ago, everything went relatively smoothly. I got the engine and DLLs working, though the binaries were almost double the size of the official ones. Apparently, that was to be expected, and there's no way for me to fix it (it can be fixed, but not by me, since there were no instructions in the guide).

Because I can now compile my code, I decided to go through it and play around. About 5 lines into "code\cgame\cg_playerstate.c", I was torn by just how much math is involved in this type of coding. I could get good at math again relatively easily, but as bad as I am now, I just gave up entirely after a few lines.

And that concludes that slightly anticlimactic story.

----


I originally had a point in this post, but forgot what it was as I started writing. I just remembered it!

The first part was to get a demo of a really nice LG carry. I'm talking, battlesuit + handicap. I'm talking, 200 LG cells. The kind of carry that is just unheard of. After I have my eye-popping, jaw-dropping demo, I play around with the LG beam. The idea is to make it wobble, like some sort of visualization or something, to whatever audio is being played. With this in mind, it's only natural that something with huge bass sections, like dubstep, be used. This is probably the only sort of instance where dubstep should be allowed in a Quake-related video. Anywhere else is only a couple steps away from complete and utter blasphemy.

So, how does this relate to "going through some code for no reason"? Well, I downloaded a mod called q3osc yesterday. It takes whatever entity on the map, and turns it into some sort of sound. It's like a sonicification of whatever you're seeing, as opposed to a visualization of what you're hearing. The code has been released so if I knew what I was doing at all, I could integrate parts of it into wolfcam/q3/whatever, so that a track could be set in the map/demo/whatever (when playing back a demo, the audio track is parsed from the demo, as opposed to the bsp itself, where it's originally read from), and certain entities would be affected by the mod. This, or a bind to play a track, or some message inside a snapshot somewhere in the demo, or an "at" command, could be used to play a track and create this effect inside the game. To me, this seems like an incredibly complicated thing to code, which makes it 100% off-limits to me. It's an idea, though, so maybe someone can try it. Who knows.

Another way I could go about screwing with the LG is in post processing, obviously. There are probably some effects or plugins or something in Adobe After Effects, Audition, or FL Studio. I'm pretty much as inexperienced as you can get with all three programs, so it would take a lot of fiddling and learning to get something like this working, but I know it's possible. I would have to consult with a lot of people as well, because pre-written guides can never be as helpful as someone's tutoring in real-time.

This, along with my trans-map air-rocket super-goodness, are the two most complicated edits I've thought of so far. And I will make them work!

Thursday, 13 October 2011

Step 1: complete.

I had forgotten just how efficient Carmack had made Quake 3. I read a bunch of his devblog stuff a few weeks ago, and he mentioned something about how entities such as rockets and plasma balls, once fired, are completely ignored by the game until something happens to them: either they hit something, or they disappear. The point of this was that, at the time, internet was so bad that it was necessary to save as much bandiwdth as possible, even 1kb. Adding the x/y/z co-ordinates of each rocket/plsama ball for every frame would drastically increase the size of each packet, and would even create huge lag on modern systems, with modern internet.

I was thinking that I would have to add info to every frame on the co-ordinates of the rocket, but it turns out that I just specify the origin and speed, and it lasts forever. Of course, in the original demo, it hit the end of the map and disappeared. That was a total of one line, though: remove="true". I cut that out, and the rocket would continue infinitely.

I only added a few 100ms (10fps) frames to the end of this demo, so that the rocket would continue for a while, then the demo would end. It turns out that, because the position of the rocket is calculated by the engine but ignored by the client/server protocol thingy, it never becomes choppy, no matter what framerate you have. It always transitions smoothly from frame to frame, whether the frames are 1ms or 1000ms apart. Of course, if you're running at 1fps, then a real game would be pretty fucked up. That was not the case here.

So, because this was so painfully easy and simple, I made a video. It took me about a minute, and I think it's kind-of cool.

here it is!

Airrocket-map transition

This is a new idea, with some similarities to my spacectf camera stuffs video, and probably was even inspired by it.

Basically, I will have someone shoot a rocket on map 1 and miss. The rocket will fly into space. That's the first demo.

The second demo is an airrocket that hits. They both have to be space maps, because the chances of getting an airrocket at the proper angle on a non-space map are VERY slim. If I did get one, it would be really nice, but I won't even try.

What I'm going to do should be fairly obvious by this point. I'm going to follow the rocket from map 1 into map 2. It will be very hard to do, for a number of reasons.

First challenge is getting the demos. The orientation of the maps can be whatever, because I can change the yaw, pitch, and roll of the cameras a full 360 degrees, so there's no problem there. A rocket that goes out the side of one map and comes in through the top/bottom of the other would look quite nice. But there's still a lot of problems. Demo 2 should have the rocket hit while the target is below the origin. This is because there are less obstructions on the top of the map than the bottom, which makes everything so much easier.

The second challenge is making the rocket actually go to the next map. Lining up the cameras is one thing (a huge thing, but still only one thing). If the second demo starts too far in the middle of the map, then the first rocket will hit the edge of the map long before the second rocket even starts moving. I'm fine with overlapping the maps a little bit, so long as there's no structural overlaps. If the second demo starts too far away from the edge of the map, I will have to somehow either extend the lifetime of the first rocket manually, so it leaves the map (manually, because that's how I roll), or just cut out the rocket and animate it on a different track or something. Both ways are fairly complicated, but the first would probably require a LOT more work. I'm not sure how much, because I've never played with entities other than players before.

The third challenge is just making everything work. Layering the tracks, keying the backgrounds, and putting the skies on. I honestly don't know what the most lengthy step of this will be, because this is all new to me. What I do know is that I can't do much until I get a demo. The first demo doesn't have to be a near miss; it can just be a rocket that goes into space. Because of that, I can record it myself in a couple seconds. And since this is the demo that requires modding, I'm able to start working on this first. The only reason I wouldn't start this immediately is that I don't know if I'm going to actually be doing this, or copying the animation in the video so it lasts longer. And I don't even know if modding the demo will be necessary, because I don't have the second demo yet.

My math is horrible, so I don't know how I'll be able to calculate the angles of the rocket. I'm tempted to send it straight at a 90 degree angle so there's no y/z motion, which would mean substantially easier math (instead of doing some kind of weird triangular division and highly complex stuff like that, I just add a couple units each frame. I think the QL servers run at 45fps, which means 22ms frame time. Something else I'm not 100% sure of is the current rocket speed. I'll have to look into that, but I don't think that will take long to figure out (it's probably 900 anyway).

----

This might as well be an OP for some stupid thread on ESR or the QL forums... 3600 characters doesn't seem very characteristic of a simple blog post. I guess I'm just that awesome.

Anyone bored enough to be reading this should look forward to this video, because it feels almost revolutionary. I finally get to put my ideas into real pixels! It feels so good being able to DO things! The only hindrances I have is content, which is hardly necessary for a lot of the things I do. Just a demo of me jumping around CTF4 was enough for my last project.

Keel rocketjump

I was going to make an entry for an animeseed background contest, since I had an idea of what to make. It's Halloween themed, so I figured I would just use some orange/black/grey colors and pass it off. It turned out sort-of nice, but not what I originally wanted.



The main problem with this is the aliasing. I have no graphics card, so I can't take super high-res pictures and downscale them, or take normal images with high AA. I took this screenshot at 1600x900 and upscaled, without using any blur or post-process AA. The result is a horribly aliased piece of crap.

Thinking of adding a bit of blur around the edges to remove some aliasing, but I'm not sure if I really want to spend the time on this. It failed pretty hard anyway.

 So I decided to try and anti-alias this image. First, I blurred it a bit using a couple different types in PS. That was a bit better, but because the image was upscaled as much as it was, the aliasing was more a part of the whole shape than a little bit of imperfections here and there. This means that a simple blur wouldn't do the trick.

Because this is just a silhouette, I decided that it wouldn't be that big a deal to just go around it with the eraser tool and do it all myself. I believe that, if you want something done right, you should let a machine do it. But I'm not nearly smart enough to listen to my own advice, so I do everything manually.




This is what you get when you do everything yourself: half an hour of time wasted, and an image with imperfect anti-aliasing. There are still some deformations visible (such as on the outside of the left leg), but overall, it's probably better than the original. So there xP

You can download the image here (2560x1440)

Wednesday, 12 October 2011

Bitmap artifacting sucks

I just worked on a bitmap image for about half an hour, touching up the artifacts all over the place. It's such a pain in the ass to do.. I wish more people used higher quality jpg outputs, or used a different format that has better compression (or less compression; I would rather have a large file than an ugly image).

Anyway, here it is:


It's not really possible to see the artifacting when zoomed out, but as soon as you zoom in to something more than 75%, it becomes really obvious.

Anyway, it's been done, and it was fun. Sort-of. A little bit.

COLORS! Well... shades

I tried to mimic the WolfcamQL Wiki's color scheme as closely as I could, because Wolfcam is what I do, so some sort of unity is nice, even though nobody is reading this. Or the WC Wiki, for that matter.. :(

Oh well. It was sort-of fun to get colored properly. As usual, I did some sort of weird, roundabout process to get everything the way I wanted it to be. I'm not sure if my ways are even more reliable than any kind of automation, but I feel good when I write 25000 characters myself, rather than let some ~100-line piece of code do it all for me. Where's the fun in that?

Normalized spacectf (cont.)

After a little bit of work, I finished retexturing, and did a bit of shader work as well. The result:

A piece of shit. Hot damn this was a failure! I no longer have the original, but it isn't even necessary to show off how horribly this failed.

Normalized spacectf

I'm going to be retexturing CTF4 with normalized textures. I doubt this will really work how I want it, but I want to do this anyway. There are only a couple dozen textures to do, plus some simple layering. It's not as fruitless or boring as my stupid CJ demo thing that I gave up on 5 minutes in.

I should be finished the textures within an hour or so, which means I'll finish this before I go to bed. Hopefully.

The way I got a texturelist for CTF4 was actually somewhat funny. I opened the .bsp in a hex editor, did a find -> replace for all "00" hex codes, then opened it in notepad++ and removed all the other excess. Then I just made a list out of the remainder, which was the textures and locations of map entities. There are probably programs that automate this (I'm positive there are), but I do everything manually like a dumbass, so there you go.

CJ Visualizations (cont.)

Probably going to give up on this, since it's really a complete waste of time. There are hundreds of frames, and I have to manually add camera points for each and every one. It takes forever, and the result is a simple screenshot. It might be helpful, not really not worth the time. Maybe I could automate it somehow, even with my complete lack of coding knowledge...

Doing some weird visualizations for CJ demos

I'm using Camtrace 3D to visualize every other frame inside a circle jump demo so I can easily see what angles were used, how big the arc is, and a number of other things. If I knew how to code, I could make something specifically for this (I'm sure it's already been done, and there are screenshots out there. <hk> probably has some), but I'm a nub so I'm doing it this way.

It's interesting though; every time I open a demo, I learn something new, which is totally worth it. I can blindly rewrite a demo, fix a few things, remove useless info, and make it generally "better". Of course, since I would be doing this all manually, I can't do it for long demos; only ones that are a couple dozen frames long, which makes it almost useless, but whatever. Eventually I'll learn some sort of coding language and automate these processes, so that they can actually be used by someone, somewhere.

Of course, my timescale fix will be my own until someone else figures it out. I want to test other peoples' DeFRaG anti-cheat systems with it. If I supplied the original timescaled demo and the fix, it would be too easy to figure out how it works, though, so I have to be careful what I show to who.

That concludes my "first" blog entry. I wonder if this will become boring as fast as everything else I do? I remind me of Lloyd Irving; I become incredibly enthusiastic about something, then after a few minutes, I become bored and find something else to occupy me. I also ramble.

Testing, one, two

Just seeing what's up.