Developer Journals

Developer Journal: z0rt

Posted 1 decade ago Programmer
Hi everyone! It's your neighborhood friendly DT. As you may have noticed, I have been inactive for the past several days. Why? Well... unfortunately, my laptop got infected by some new virus. Good job Symantec for nothing (long string of expletives)! I'm in the process of fixing the laptop, and don't expect to be active in development or beta testing for another week. Since the virus is new to the scene, I have to clean up manually, which can take God-knows-how-long... not to mention the many reboots and many many attempts.

In other news, the beta testing seems to be going very smoothly. Expect 2.1 to come around the Earth's aphelion.
Discuss on the forums →

Developer Journal: Pon

Posted 1 decade ago Lua Scripter
Hello. I'm Pon, a recent addition to the Dev team. I think they must have been desperate for Lua scripters, and I was better than nothing I guess :P

I figured I should do a journal, but I don't really know what to write. I mean, Lua, and programming in general isn't that interesting to most people. But, meh. I could say a few words about myself, my experience, and so forth, but I'd prefer people keep reading and not fall asleep :)

Maybe next journal.


So, inane rambling over, we come to the meat of all journals, and the only bit 99% of people reading this will care about - some info on what I've been working on:

Epicenter fixes - The three captures per round system has been fixed, and there will also be HUD icons to indicate the aforementioned captures. Should make it a lot easier to understand whats going on, hopefully.

ff_harbor - As Nezumi mentioned in his jernal, I'm working on the base Lua for that. Not much more to say other than what Nezumi already mentioned, aside from it'll hopefully be good gameplay, as well as a good looking map (which Nezumi's always are).

I'm also making another base Lua for a new map by one of the Devs. Can't really say much at this stage I guess, but I'm sure it'll have a positive impact on FF when it's ready.


Aside from that official FF work, it seems I've become a mapper's bitch of late, with Ihmhi and =AS=zE both pestering me night and day to make their maps work properly :P. Still, their maps should be worth it. At least in terms of the Lua :)

Also, I have a few concepts of my own that I'm planning to start on. Quadflag (posted in the official concepts thread) is one I've started on, and hope to finish a concept map soon. I'll also likely create a concept map for =AS=zE's Last Team Standing lua, seeing as his port of Agoraz was withdrawn. For both I'll release the source .vmf alongside, so that people can both make a decent map from it, and hopefully learn a little bit about Lua as well.


And thats it. Hope you managed to stay awake :)
Discuss on the forums →

Developer Journal: Dexter

Posted 1 decade ago Programmer
Hello, I'm Dexter! Many of you who frequent the :e0: server probably know me as that one soldier who always goes on O. Sorry, I come from Quake :(

Ok, I admit - I wanted to try this dev journal (Nezumi) thinger as well. I've been working on some base_*.lua files, making them more flexible. base_ad now works with any color combination teams for attackers and defenders and I fixed no flag return sounds in base_id, for example. Now I'll halp Nezumi with his cacti map and perhaps rework some of mervaka's code into a reusable form which gives him a total boner. And god forbid I have enough time to get into the source code.

Oh my hell, I think I'm getting a sunburn.
Discuss on the forums →

Developer Journal: Sh4x

Posted 1 decade ago Map Design
I figured I'd make a dev journal too, mostly so you guys have an idea of what I'm working on right now. So here it is!

Since I joined the team, I've been trying to figure out exactly what I'd like to be working on for the next weeks. It's quite something for me because for the last 2-3 years, all I had on my mind was to finally finish this one freaking huge map that seemed like it would never end, ff_dropdown. I swear it gave me a hard time, mostly because I didn't know how to map when I first started it but also because it's a pretty complex map design wise and it's all original which makes it that much more difficult to do than a simple remake.

Anyways, like I was saying, I've been thinking about what I'd like to do next. It had to be smaller. I wanted something I could finish fast enough so I wouldn't get bored of it before completion. It had to be something else than standard CTF because that's the direction we're taking as a team right now. And it had to be something where dense fog would work because I just freakin' love fog and there's something I wanted to try with it.

So I started working on it a couple days ago and sshhhh don't tell other devs but I think it's by far the best looking map on this mod already!

I'll keep you posted!
Discuss on the forums →

Developer Journal: Elmo

Posted 1 decade ago Level Optimization / Clean Up
Ello Ello... it's Elmo!

Woo, it's awesome to be on this side of the fence after sitting on the other side for so long, waiting for these dev journals and announcements to explain WTF the/us FF devs are actually doing!?

It's awesome to be on the team but not because I get to see the bits that haven't been released yet, but because they frequently TALK to one another, find out what tasks are required and just get on with it! I have much faith for FF’s success yet! I think this influx of new devs (like me) has really brought some extra life and progress to the mod too. I can't seem sit here for more than half an hour without there being a reply to read on the dev forum!!

Right, now on to the stuff you may care about! I'll be Optimising some of the existing maps, starting with ff_monkey, and boy do I have my work cut out for me. I've almost done one base, as you will see if you haven't already skipped to the links.

PLEASE NOTE: This is work in progress - IT ISNT FINISHED!! I am aware there are some things missing around the level and that water is far from finished, dont worry. Also I don't have any env_cubemaps in, this means anything that has a reflective material is only reflecting the skybox and not its surroundings e.g. water & objects.

I'll explain what I've done so far... I've rebuilt it... completely... almost every brush... I don’t plan on doing that for the others in order to optimise/clean them up but ff_monkey really was made badly and there are quite a few improvements I’ve made already.

1. For those of you that ramp slide on the left ramp from front door and have got stuck halfway up on that stupid physically nonexistent lip, you'll be glad to be know it has gone. The ramp was - for no reason - made up of two (perfectly aligned) brushes; it’s now one, problem solved, simple.

2. Texture alignment is now/will be as perfect as I can make it throughout the base. Once I've completed the base I will probably ‘nodraw’ it all and apply all the textures again to be sure! I’m a perfectionist...

Texture Alignment Example (Ceiling Curve)

3. Previous Lazy mapping is no more... such as cutting the heads off those 'poor' T monkeys :( and no more gaps behind wall props.

T Monkies (Heads)
Wall Prop Gaps (Gone...)

4. OPTIMISATION – Now that I've mapped it properly, you WILL have considerably better FPS in most areas, comparisons are below but you will mainly notice the improvement during full game play. No more standing in flag room rendering fights going on in the ramp room/lower spawn/water way that you can’t actually see!! No more standing in ramp room rendering the water from the route beneath the base! No more crossing mid map and rendering too much of the action inside the base, which was increasing the strain from the already detailed mid map. No more standing here there and everywhere using more resources than necessary.... You get the point so here are the comparisons.

Flag Room 1
Flag Room 2 (T Junction)
Ramp Room 1
Ramp Room 2 (In Top Spawn)

5. Lighting is currently darker in some places but only because I haven’t grabbed some of the floating lights. I don’t believe in adding lights unless there’s a prop to act as a believable light source. I WILL ensure the lighting is PERFECT for the released version but that will be the last thing to be adjusted.

Some more General Comparisons
Flag Room
T Junction
Ramp Room
Lower Spawn
Water Entrence
Water

So what left to be done??

With regards to ff_monkey, I have almost completed one base, which can then be copied and flipped for the red side, I will remake the front of the bases but the mid map shouldn't be too much of problem as I will be copying a lot from the original.

I will now explain my current workings. I've been having some trouble deciding on how to ‘map’ the water way with regards to how it previously linked to the mid map; beforehand, one could look towards mid map and see the trees in the distance. Rendering areas other than the one you are in is usually undesirable for performance issues, but in this case it added a nice depth to the map.

I hadn’t needed to consider this for the rest of the base but I felt this depth would be missed if I weren’t to include it. I have now reached ‘the point’ during mapping that I have to deal with it and have realised that I need to change my mapping technique to get it. The same mapping technique I’ve been using to make my custom map ff_medieval, and if you’re interested, I will elaborate further... just you try and stop me (lol).

Think of the map (any well made map) as being made up of a series of closed boxes, the sides of these boxes are made up of key walls in the base, anything that should considerably block the players visibility from drawing what’s behind it.

Just to explain, ff_monkey was not made in this sealed box manor, or rather there were unwanted ‘links’ or rather suitably named leaks through to the other parts – ‘boxes’ in the map, which is why it ran so badly and why I couldn’t just simply ‘add optimisation’ to improve performance.

ANYWAY, these boxes are normally ONLY linked with doorways and/or corridors. Okay? Well In order for me to get my desired outside depth (distant trees), this method of sealing the player’s visibility into boxes isn’t quite appropriate. Let’s say all of these ‘boxes’ have a sort of lid, be it the ceiling or the sky. To get my desired depth in ff_monkey, the water and mid map ‘boxes’, need to, in effect, have their sky lids removed and then be sealed again by a new sky box placed over the top of them both.

So that you can picture it:
http://developer.valvesoftware.com/wiki/Image:Hint_example3.jpg
  • Brown = mid map/yard
  • Yellow = water way
  • Red = skybox
  • White Line = hint


^^ The hint is some good old optimisation, I’m not going to explain hints, if you’re interested read up on them for yourself here. In this example hints kind of act as a way of maintaining the original box forms, it maintains that lid we took off. So ONLY if you’re looking through the lid will you see its contents, unless of course its contents are sticking out of its box.... the tops of the trees! My desired depth is now possible and controlled to minimise on PC strain.

The engine now knows that (only) the trees in mid map, can be seen from water and so are allowed to be rendered once again; it’s simple really. Honest. I use this technique as described above all over the level, hint brushes within these ‘boxes’, placed off corners and higher platforms to make smaller boxes, separating the level. Then add some well placed area portals (that’s another thing) and your optimisation is complete!

Now I can finally shut up and actually get on with it I guess. Even if you don’t understand what I said above, it may at least give you some confidence that I know what I’m doing! *Strokes Fortress Forever* “Ah, yes, you can be calm now... my precious!”

Not sure what I'll be working on once ff_monkey is finished, and I am unsure when I will finish it as I'm off to download festival in 3 days for 5 days.

Eventually signing out after two and a half pages in a word document... hmm I wonder what the word count is... ~1,300! lol Taken me days to finish this post! 12hr day of work then 3 hour bike ride to end up at 1230am finally finishing this!

Elmo! :D
Discuss on the forums →