I'm a doctor, not a mechanic

Legacy:Lilguy/Developer Journal

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search

Page created Thursday June 17th, 2004

This page contains my development journal and some random thoughts about the projects I'm working on. Primarily, the UT2004 mod Apprehension.

Apprehension homepage on PlanetUnreal

June 18th, 2004. "The Introduction"

Well, here goes. We've been developing Apprehension about a year now. Not a whole lot to show for it considering that timeframe, but it's slowly moving forward. I really believe the concept of the game is worth completing, even if not in time for some contest :)

I like to call Apprehension a realtime strategy game from a first person perspective. Yes, I've heard of Savage and C&C Red Alert, and yes I've played Natural Selection, and I know we're not the first ones to make a game with this idea. Many people don't believe me, however, when I tell them that we came up with this concept before we even heard of any of those other games. Apprehension was born as an idea between a good friend and me, to combine our love of realtime strategy games like Starcraft and Empire Earth with the intense action of Unreal Tournament and Half-life. To pull this off sucessfully would not be easy. You can't allow the same level of resources and upgrade management as Empire Earth while expecting players to participate in gunfights at the same time, and you can't allow the crazy intense action of Unreal Tournament while expecting players to organize armies of units. There must be a perfect balance somewhere, and our goal is to find it, creating a gameplay experience that stands out in a genre that's quickly becoming crowded.

To this end, we quickly made several important design decisions.
First, the strategy end of the game must be simplified. Upgrades and research are not a central part of the game; there may be a few upgrades available, but for the most part you just build a base or a resource collector and be done with it.
Secondly, the interface must be simplified. I borrowed Maya's mouse interface for our menu system, so you click a button to bring up a menu, drag the mouse over the option you want on a dial, release the mouse button, and the nearest object is selected. This is essentially one button press and release that gives you access to every type of building and unit in the game. Slick.
Thirdly, teamplay is to become a major emphasis. We don't like the idea of a class system, and we don't like the idea of a "commander" sitting somewhere telling everyone else what to do. In Apprehension country, everyone is spawned with the equal right to survive and succeed. Small teams are encouraged (and maybe even required) and Apprehension includes severall interface improvements to make the all-essential teamwork easier. Of course, UT2004's introduction of voice chat has really helped with that too Thanks Epic!
Lastly, we want to feature AI controlled droids that can carry out many tasks. They might not be the primary fighters, but will play an important role in the strategy aspect of the game.

I've learned a lot by starting this project. This isn't the first mod I've worked on, but it's the first one I've led. I've discovered that:
(1) it's really hard to find help.
(2) when you find help, it's really hard to find good help. Some people don't mind trying their hand at game dev. but most of them don't see it as career.
(3) when you find good help, it's really hard to convince that person to stay and keep helping.

And so, the current state of the game is that we have a very detailed plan (although maybe not documented quite as well as it should be) and a lot of code. I'm fairly adept at 3D modeling, but I decided awhile back that my time is best spent programming, and we'll add the pretty details later. We've got a big to-do list with some fairly detailed instructions, and not a lot of time on our hands these days. I'm trying to find the time to redevelop our website and design doc, in hopes of attracting a few good programmers, level designers, and artists, but no leads yet. In the end it's worth it to me to keep developing this game, even if it takes another year to finish, but it'd be nice if we could get something released this summer.

On the upside, I got a really good idea from my younger brother tonight. Not necessarily totally original, but cool nonetheless. Instead of giving players 10-15 different weapons, we could give them maybe 3: a multi-purpose nano tool (used for construction and repair) a melee weapon (which is a knife with poisonous needles on the handle) and the third weapon would be totally configurable. You'd be given a certain number of "weapon points" to work with. Then you'd be given a choice of primary and secondary attachments each costing a certain number of points, and a number of extra points to increase various attributes like firing rate, ammo capacity, scope zoom, etc. So someone could build something that had a sniper rifle for primary fire, and the scope would be the secondary attachment. Or you could have a weaker machine gun for primary fire, and a rapid fire missile launcher on the secondary. You could configure your weapon in the preferences before the game, or build it on the fly. You'd also be able to store a number of presets, and quickly switch between them at weapon stations in the game. This should make the class-based shooter people happy, and also serve to simplify the action since there won't be 10 weapons to switch between. Anyone else think this is a good idea? I'd be happy to hear some opinions.

If anyone's actually read this far, I think you deserve a cookie :)

June 22th, 2004. "Configurable Weapons"

Well this will be brief since it's almost 3am and I need some sleep :)

We've been hashing out the details on the plans for configurable weapons. Basically what we decided is that you'll get a certain number of configuration points, which you could use to choose a primary and secondary attachment. Then the remaining points could be used to improve each attachment in any combination of 3 categories: Firing rate, Damage amount, and projectile rate. Certain attachments will not apply to certain categories. For instance, instant hit weapons will not be upgradable in the projectile rate category. We might add add a "special" category as well, for things like adding a tracking ability to a sniper scope.

The user will be able to configure a weapon ahead of time and save presets to an .ini file, and then in game would be able to choose the presets. They could also choose to configure a weapon in-game if they wanted to, with an easy push button interface. Users will also be able to name their weapon presets, so you might see something like "lilguy was killed by someone's crapblaster" etc.

Here are some of the attachments we're cooking up right now:

  • For primary attachments:
    • Missile launcher
    • High power energy rifle (instant-hit sniper rifle)
    • Automatic machine gun.
    • sub light speed laster gun (think star wars blaster rifles)
  • For secondary attachments:
    • Sniper scope (special upgrade adds tracking ability)
    • grenade launcher (projectile rate increases distance)
    • Shield (special upgrade creates stronger shield or full-body shield)
    • death prod (some sort of spinning claw or other wicked melee weapon)

I think the most challenging part of all this is going to be the programming. Since everything is going to be basically one weapon class, all the work is going to have to be done in the attachments, which will basically be the 2 weapon fires, or classes containing them. We'll have to figure out how to effectively replicate the appropriate values such as the attachment classes and stats for each module. Another big challenge will be designing a weapon chassis that can be used with all these sorts of weapons, and making the weapon attachments that can fit them. I think it will be worth it though; it'll add another dimension to the strategy element, and people who like to sit and configure their civilizations will have a hayday with it.

I think initially we'll try giving the user one weapon to start with in addition to a melee weapon, and perhaps we'll allow more weapon slots for purchase at the home base as one time upgrades for the whole team, or as personal upgrades.

Ideas?

July 31st, 2004. "We have a game! (Almost)"

We've seen some pretty significant progress lately. About two weeks ago we were joined by Chad Self, a 3D artist with professional experience (he led the art team for a game called Extinction which was being created by a company that went under) He'll be doing some real artwork for us, and has already done some concept art.

Just a few days after Chad, I also got a note from Parallax, an enthusiastic coder from New Zeland. Due to the lack of progress from almost everyone else who's signed on as a coder, I was reluctant to add another to the list. However, after seeing his resume' and his desire to work on the mod, I couldn't help it. The first night he signed up, he had already checked out the repository, installed WotGreal, and started reading the code. By the first week he had already fixed our dedicated server glitch, read through all of our source code and fixed several bugs, and basically gave the project a shot in the arm. Pretty impressive for someone with no experience with UScript, eh?

On his suggestion, we quickly made our primary goal to make a playable version of the game. Nothing fancy, just some simple rules and functioning objects that make a game. In the last two weeks, here's what we've accomplished:

  • Resolved all the dedicated server issues we were having, so we can actually run games now
  • Created functioning resource collectors to go along with Crystal mines, and resource counters for teams and individual players
  • Created rules for bounty resources for building and player kills.
  • Got a functioning HUD class up and running
  • Finished up the turret AI. After over a year's time from design/modeling to ai and FX, these dual action laser/missile turrets really kick ass. I know you'll like 'em.
  • Created a real design doc ;)
  • Finally produced a working map, Scorpion. It's a rocky desert valley with an oasis-type cave in the center (The cave isn't quite finished yet, but soon will be)
  • Created a weapon station which is an attachment to the home base. We'll soon add the configurable weapons talked about in the last post

After we finish up coding the game rules that determine when someone wins (think: destroy your opponent and everything he holds dear) we'll have a game where you can:

  1. start with a home base at your end of the map
  2. Build extra bases, resource collectors, turrets, and functioning Land/Air factories (which spawn standard ONS vehicles for now)anywhere on the map the terrain allows.
  3. Kill your opponents or defend your resource collectors to earn more RUs, to make yourself even more deadly.
  4. use bases to obtain and reload weapons, and restore health.
  5. cut off your opponents' resources, destroy his bases which are used to respawn, then destroy the players to win the game.

It may be pretty simple, but I'm pretty damn excited about actually having a functioning game. I'll keep you posted.

P.S. Are you a mapper who likes creating big outdoor maps, but hates adding details like Health chargers and weapon lockers, who happens to be looking for a project to work on? email: lilguy@planetunreal.com ;)

October 14th, 2004. "Internal alpha this weekend"

Ok, this will probably be short, as I'm trying to finish up a late homework before tomorrow, but I needed a break :)

We've been making spectacular progress. Our team now has 3 artists (although I haven't heard from the third one in a couple weeks now) and 2 dedicated programmers (and one part-time one). The only thing we really lack is a good level designer with a lot of time.

One of our artists has been hard at work designing the configurable weapons described in the penultimate post. Sometime soon I'll put up some pictures of 'em, but needless to say, they look really sleek.

Parallax and I have been spending most of our time cleaning up old code and making things work smoothly on dedicated server games. We've definitely got something that could be considered playable now, albiet with a few shortcomings. For now you can ask a weapon station for any of 8 standard UT2004 weapons, and spawn any vehicles in the game. We have one map that's looking excellent, and I expect to squash all the major bugs by this Friday for a lan party I'm going to.

As a side note, I noticed a few weeks ago that someone (I think it was DE working on Pariah) mentioned that they're going to have configurable weapons. Think that's cool? well, read my previous post from more than a month before that :) I hate when that happens...Oh well, chances are, we'll make a release before they do, and someday in a chatroom when someone says "oh yeah, DE invented the idea of configurable weapons" some other guy will say "no way man, there was a mod called Apprehension that had those way before that game, it's just that no one ever heard of Apprehension," or something like that...

Chances are, there's already a game out there that does what we're planning on doing for configurable weapons, I just didn't know about it..Oh well, it's still a cool idea, and I think we'll make it worth playing.

My next big project is going to be getting our marker system working so we can place markers on the minimap or in the actual game, which could serve as goal points for droids/bots, targets for devastator missiles, and flares for your teammates. The system is actually almost done, just need to work out a few bugs and link it together with the devastator. I'm having a blast making all this progress, and it really feels like it's accelerating.

November 5th, 2004. "Configurable weapon concepts, progress"

We made a LOT of progress this week. Parallax got turrets to attack buildings and other turrets, in addition to droids and players. Markers are now working pretty well, you can place them anywhere and your team sees them. I also got some concepts from Dwight, one of our artists a couple weeks ago, with 12 designs for configurable weapons. You can see all 12 of 'em in these 3 shots:

http://mods.moddb.com/gallery/image/17586/

http://mods.moddb.com/gallery/image/17585/

http://mods.moddb.com/gallery/image/17584/

The yellow marks are the places where the secondary attachments can go.

I also did some significant programming this week on the ConfigWeapon class, and made a test just to prove to myself that this is all possible. It's a sniper rifle with an lcd screen as an attachment. The screen uses a render to texture to give you a live zoomed view. That way you don't have to switch between a main view and a scope view. Very fun :)

Our hud is also slowly evolving. Buildings now give you status information when you look at them for a couple seconds. And lots of other little advancements too numerous to mention.

In other news, we're still looking for mappers.

October 14th, 2004. "Progress update, and a bittersweet goodbye"

Well, this week marks a major milestone in my career, and the close of a chapter in my life that will be dearly missed.

I was given an offer I couldn't refuse by Raven software [1] and per the standard game industry contract, I won't be able to work on game mods any more (especially for competitor's games)

Effective sometime early in January, I'm handing control of the mod over to Parallax, who will carry the flag as best he can. We've also been joined recently by 2 new mappers (one of which who has already made two maps, put a cave in one of the old ones, and modeled/texured two weapons), a webmaster (new site soon) and a third modeler who's currently working on the heavy roamer craft. I fully expect this mod to be released sometime next year, possibly in about 5-6 months. I really think it'll shake things up.

Just want to say on a closing note, the Unreal modding community rocks. I've never seen a more talented, dedicated, and enthusiastic crowd anywhere. Game on!

Discussion/flames[edit]

Lilguy: Feel free to comment on anything here, it'd be nice to get some feedback once in awhile :)

EntropicLqd: I'll take a cookie :) I like the idea of the configurable weapons but I'd drop the knife and allow players to carry two and maybe make the construction/repair tool a short range melee weapon. I mean - it's not like the melee weapon is going to get used a whole lot.

I went to your website and read the design doc. One thing that did occur to me is that making the game work for a small number of players could be quite difficult.

Lilguy: Hi again, thanks for the comments!

Well, one of the ideas for the knife was to give the player some sort of "stealth" mode, where he could walk around for awhile in a hidden state, and sneak up behind people and stick them with the poison needles, causing them to immediately freeze up, fall over and die. This would be balanced out by the scout drone, who can spot people in stealth mode and warn players about their location.

The Nano tool is our building tool in the game, it's the method for making buildings and repairing them, along with repairing droids and perhaps other teammates. We thought about making it into a weapon for awhile, but Just couldn't figure out how to do that with 2 fire modes...

What in particular do you think will be difficult with few players? We thought just the opposite, that it would be frustrating trying to work with 16 people on a team, each trying to spend the team's resources and make decisions like where to build bases and turrets. With say, 4 people on a team, everyone will get a chance to speak his mind more often, and there'd be a lot less conflict when it comes to spending money on things. Another we considered is that with all these droids flying around, lag will quickly become a major issue, so less players might be a good thing. I'd be interested in your point of view, though.

MythOpus: I'm currently in the process of developing a mod with a resource feature... however I haven't been able to implement it. Would you mind explaining how you

Lilguy: Something must've got cut off there, so I'm not sure what you wanted to know about our resource system. It's pretty simple though; we keep a counter in a custom TeamInfo class for the team resources, and a personal stash counter in a custom PlayerReplicationInfo class. Resource collectors when placed on a crystal mine simply add resources slowly to the team stash. If there's something else you'd like to know, ask here, or better yet email me: lilguy@planetunreal.com and I'll be happy to share.

MythOpus: Thanks :) I had that idea too but I had no Idea how to implement the new TeamInfo class.

Lilguy: Anythying in particular that was tripping you up, or have you figured it all out now?

EntropicLqd: Heh, have fun in your new venture. I'd like to say that I'm not jealous, but I am really. Hope it all works out and that you get some sleep.  :up: