Thursday, March 25, 2010

Server Up

I finally got a server up on my spare computer. You should be able to connect to it @ 'knixcustoms.servegame.org:27015'. Currently it is hosting TF2. The map rotation includes ctf_crack (aka crevice) and cp_underhanded_b1. I won't always be hosting TF2. I may switch over to CS:S if I decide to work on that game. The server site is also shown in the sidebar (---->).

Sunday, March 21, 2010

Counter-Strike Source: Bot Navigation

While making sure my old Counterstrike maps were properly together and releasable, I started playing around with the bot navigation editor. I never tried it before, but it's a fun tool to play with. While the game will generate a basic navigation grid for a custom map, I didn't realize it needed tweaking. So, I opened it up and had some fun fixing some gaps in the old maps.

The concept is fairly simple. The map gets broken into 'stepping stones' and each stone points to stones that can be reached from it. Stones can also be flagged for navigational properties. For example, the stones with green Xs in the picture below indicate they are traversed by jumping. There are similar flags for crouching, walking and running. I added a few of these, as well as made some new stones to fill in gaps created by the automatic generator.



I kind of want to create a CS:S map that has a navigation map that makes the bots look professional (no random jumping or getting stuck). That way, it's a map that plays out like a mini movie each time it runs.

Saturday, March 20, 2010

Counter-Strike Source: Sketched Maps

These are a bunch of maps that only made it to the sketching or early modelling phases.

This abbey inspired map is my favourite map that I never did. It was meant to be a small map with a simple layout, a couple levels and lots of cover.



This next one was meant to be a linear map and a bit of gauntlet challenge for the counter-terrorists. I decided the map lacked any oomph and was too linear. At the top of the main ramp, I was hoping to put a bunch of barrels held back by a breakable beam for an old school Donkey Kong effect. The one thing I would like to take away from the map is the use of the catwalks. They add good vertical elements and make for interesting tactical decisions. If you look carefully, you can also see the Combinatorial Math I should have been paying attention to.



This final map was meant to be the sequel and better done version of de_underground. It actually made it to the first round of modelling (see below), but never made it even far enough to have more than one spawn point. The first picture shows the general layout from the side, while the second one shows the various shapes of the floors in the two main chambers.





Hopefully, I can take some of the ideas in these maps and convert them ones for other games.

Counter-Strike Source: Old Maps

Bridge was my first CS:S map. I never brought it past the Beta phase after members of The Shire graciously tested it for me.



This is the initial sketch of de_bridge, which more or less matches the final map.



Underground was my second map where I experimented with the vertical aspect of CS:S. I also designed it to be night goggle reliant and learned that there is a good reason you don't see those kind of maps on public servers.



Finally, Dragon was an ambitious map that really just needed some solid testing and the details added in. Compared to the previous maps, this was definately the most playable. It includes an extravagant yard, a sewage system, secret prison dungeon, and lots of cat and mouse gameplay.



I also have the sketches for cs_dragon. They seem to perfectly match the actual layout of the map. After the previous two maps ending up with cramping issues, the scale of this one came out perfect the first time around.




While these maps are incomplete and could use many adjustments, I don't plan on returning to them.

Tuesday, March 16, 2010

Crevice II: Paper Draft

About a month ago, I got a not-so-decaf decaf americano in the evening. With my unexpected awake time, I sketched a draft for a better version of Crevice. The basic layout of two facing forts connected by a ridge and catwalks has stayed the same, but the sequel boasts more space, more rooms, better objective centric planning and more aesthetics. Sadly, the more objective centric layout required a bit more linearity in the building interiors.

This side slice shows the general layout of the map. The pipe layout in the middle prevents quick crossing of the map, but still allows some possibility via a cramped perpendicular pipe. One of my favourite new aesthetics touches is the suspending glass hallway at the bottom of the map. This replaces the tunnel in the previous version as a lengthy covered route between the bases.



The floor plan for levels 3 and 4 focuses on the relationship between them. The lower floor contains the spawn, while the one above contains the flag. There is no quick route (except maybe an explosive jump) from the spawn to the flag, BUT newly spawned players can see the flag carrier through the glass ceiling. This means fresh spawns can not cut-off the runner immediately, but can still make an informed decision on where to cut-off the runner. While not in this picture, I was playing with the idea of adding a one-way entrance through the flag room's ceiling so that the flag room would have 2 entrances and 1 exit.



Don't expect to see much work on this map any time soon. I have lots of other work ahead of me before I return to TF2 mapping.

Crevice: Draft

Here is the paper draft of the floors for Crevice.



I kept the floors fairly true to the original plan. The most notable difference is that I added about 1/3rd more area to the Y-axis.

Thursday, March 11, 2010

Ecomaker: Phase 1

For two days I locked myself in the house and lived off pop-tarts, soup and yogourt ('yogourt' is a funny word.) to put together the first phase of the evolution simulator thingy program.



Phase 1 just includes basic plants, herbivores and carnivores. The chain of life is simple; plants grow on their own, herbivores eat plants and carnivores eat herbivores. They go around on their simple lives, eating what is nearby and obeying a few other quirks I programmed in. If you have seen John Conway's game of Life, you'll have a basic idea of how my program plays out. Perhaps in the next couple days, I'll package and distrtibute the current version, so you can try it out yourself.

It's a fun program to watch (geekiness assumed) and all sorts of little patterns crop out.
The environment generally goes through seasons of plant dominance, herbivore dominance and then carnivore dominance. I didn't program in any "change season after x turns", so it was kind of interesting to see this emerge from the behaviors of the individual herbivores, carnivores and plants.
Against my intuition that the herbivores would congregate around plants, and carnivores just out of that range, the opposite wound up being true. Once a few herbivores start eating plants, the carnivores take over and the herbivores are the ones that have eaten their island of plants, so they hover away from the carnivarous commotion.
Another surprising thing cropped when I tried to make the program a little more efficient by making any plant become sterile if it tries to spawn, but fails to do so due to being completely surrounded. I thought this would hinder plant growth, but it actually boomed it. Basically, the lack of interior growth made for bigger inner-bush gaps that gave trapped carnivores more space to set up 'road blocks' that trap herbivores. Less herbivores, more plants. From this I learned why politicians are often corrupt. If even in a simple simulator like this, a simple change can have so many unexpected effects, imagine trying to run country. No matter what they do, something eventually blows up in their face, so they may as well screw everyone else over and make the best of it for themselves. Ya, politics from an ecosystem simulator!

Anyhow, for myself, the refresher in programming has been awesome. After doing about 15 pages of hand done code, I definately feel more confident in setting up, tweaking and debugging. I like to think that my code is actually good code, so integrating new features shouldn't be a monumental task. Making the SWING interface (the stuff that allows buttons, scrollbars, etc.) via NetBeans was easier than I expected, minus a few quirks. The basis of that editor is just drag and drop, then you just program in what the buttons and bars do on the back end. Hopefully my future programming will be a little quicker though.

On a final note, I setup my scanner and scanned a bunch of old map drafts I had in my schoolbooks (complete with the combinatorial mathematics I should have been paying attention to). I'll try and throw those up soon.

Monday, March 1, 2010

General: Update

Ahoy, single follower and perhaps Mom!
I haven't disappeared or abandoned my projects. I just took a little break and actually played some video games. I also finished up the reading list I had for the evolution project. Actually, I gave up on Darwin's On the Origin of Species. The information was outdated, dry, and generally detrimental to my sanity. Wilson's Evolution for Everyone was interesting, but I think Grand's Creation already exposed me to a good portion of the insights presented. Still, it added to some ideas I have for the project. Horner's How to Build a Dinosaur was simply dragged out and uninformative. The discussion of the topics could have been succintly wrapped up in an essay. Both the latter books suffered from what I like to call 'Doctoritis', attempts to glorify or justify their scientific pursuits and accomplishments. Still, despite some disappointment, I think the books gave me a better overall grasp of the concept of evolution.

All three of the books did get me more interested in the nitty gritty details of genetics, DNA, and RNA. A stronger grasp of genetics would allow me to program a more interesting system to represent evolution. Last time I visited Chapters there was a book that explained all these details in a comic book format. It wasn't dumbed down information, just presented in an unusual and less intimidating format. I really wish I had purchased it then because the book is no longer there and I can't remember enough details about it to find it. However, while at the store I did find a great book called Geology from the Teach Yourself series. It contains all sorts of information about how natural formations occur. Once I get the creature evolution down, giving them a complex and dynamic environment to live in would make for a more interesting program.

Finally, I started learning the Java GUI tools (which have changed since I learned them in 1st/2nd year). Sun's ability to provide stellar tutorials for their free programs never ceases to amaze me. Once I learn the new tools, I'll start having more physical things to show you all.