Saturday, September 18, 2010

We Have City Generation!

























Introducing...a bit of a city. City generation is working, due to the work of our brilliant coder Lap.

City generation is now functioning! It was a huge bitch, and it just might be the hardest part of this entire project, which is great news for moving forward! Let's populate this world!

What we need now are tons of floor and wall tiles. We also need people to draw out far more ascii maps of places.

Before we get too carried away we need to determine the scale of the world. In the screenshot above, I have the average city street as 5 tiles wide. Should it be 2? 4? 6? 8?

Keep in mind the following things will almost certainly be only 1 tile big:

Most doors
People
Items

The size of things like multi-tile furniture and beds will depend on how big we scale everything. Let's figure out the scale and then get cranking on content.
Anyone who thinks they can make even a quick, low quality floor or wall, please do so. Make the world varied.

Thursday, September 9, 2010

Complex Inventory System

So there's been discussion for more than a few days about how the inventory system work. Because of the realistic style of Crimelike, we didn't want to simply have an abstracted inventory system. As in, objects are just stored in a generic pack, of which you can pull out and use, and encumbrance is just a simple measure of how much all the objects on you weigh. Think Nethack, for example.

Everyone knew they wanted a complex system. Weapons can be wielded in hands, naturally, but clothing should have pockets, pants should have pockets, and you can't carry a huge amount of stuff in your hands without getting problems from that (say, if you're carrying stolen goods and it's all visible in your arms), and if you really want to store things you could use a backpack (and some stores won't let you in with a backpack). That kind of idea. So Xegeth went about the task of coding a unique, container-based system that even lets you...shove things up your butt.

Lap playing around with the inventory system

I, the lowly spriter, am extremely excited for this bit of code. It's on the SVN now, though it doesn't seem to be fully integrated, which will change once the things are ironed out. In the meantime, you can see Lap's modification to the map. He's messing around with code trying to find a good way to generate a realistically sized map--a pretty hard endeavor. So far, he's got a few things going on, but the code is very much still in the workings.

Map in the workings
You can see the rudimentary roads and sidewalks, but otherwise, there's not much else generated. Going up or down stairs is a temporary thing, but it does let you see the other coded road layouts; corners, tops, and bottoms of roads and sidewalks. Over to the side is the locational damage indicator, though for now the leg is just showing up as red because it hasn't been changed. At the upper left is the minimap, which is mostly barren in this particular map. You can see parts of the design idea here: http://www.bay12forums.com/smf/index.php?topic=64931.msg1546171#msg1546171


Choose your race!

This here is the character creation screen. Races are purely a cosmetic, choice thing, since racism is a little too edgy, and I think the game can be just as good without that kind of thing. Though, race might be a factor later on in the game, when the police identification system gets more complex. The attribute point system is still in the work. We decided that instead of simple points, it'd be more interesting to affect textual changes in the character description, as mentioned before in a previous post. 

So there you have it. Several fun screenshots of work in progress. Everyone's doing a great job, especially the coders Lap and Xegeth. 

Monday, September 6, 2010

Forum activity!



Get to the Forums now. http://76.26.38.52/crimelike/index.php

They are of masterwork quality. Lots of discussion is going on in the Forums, and so far, topics that haven't been addressed adequately include stealth, hideouts, drugs, vehicles, and the HUD. If you're the kind of person that formulates ideas and would love to lend a hand to brainstorming, go register and post your ideas. You don't need to know how to code, or how to draw; all you need is to know how to plant your idea. Go for it.

In other news, a great deal of weapons spriting has been completed. From left to right is the CZ550, the FAMAS, the SPAS12, an uzi, a hammer, a katana (ha!), and an epee. Other spriters are also hard at work with tiles. Deon's given some amazing furniture tiles, and Soadreqm made some furniture and cracked windows. Lap's also doing coding work for bodies and rotting, while others are thinking up ideas, making factions, or designing locations. Everyone is awesome.

Friday, September 3, 2010

Crimelike Forums are now up.

So Crimelike now has forums. It is kinda empty right now, but with your help you can change that. So register.
But please, don't go into hour long rants about whether or not if RICO law should be implemented. Then again, please do, we need that type of discussion.

A Discussion of Characters, Information, and World Gen


Sneaky edit by Kus: More sprites! Because everyone loves images (except for hardcore ascii users like me). From left to right is the .22 hunting rifle, cleaver, FAMAS, aluminum bat, combat knife, lockpick set, and a lockpick gun, made by our awesome spriters. Back to the article:

Some basic brainstorming involving characters and character generation, from the Items Pad:
Nenjin: No real people as a hard rule.
Nenjin: I'm thinking LCS's professions is a good start.
Nenjin: People are defined by what they do.
Soulwynd: Yeah, but you don't know what they do when you look at them in real life, unless they're wearing some gear or uniform.
Soulwynd: So most people should be just anonymous.
Nenjin: I want shit like the Hangin Judge too for normal mode.
Jack A T: I agree with Soulwynd on the anonymity thing.
Nenjin: Hrm.
Nenjin: Not really a fan. That means we have to develop visual traits for everyone so the player can tell joe schmoes apart from each other.
Soulwynd: Perhaps if you somehow managed to acquire intel on one person or another. Then they could become an unique npc.
Soulwynd: Ie. The game generates an unique whem you go acquire intel on people.
Soulwynd: With generated name, profession, etc.
Soulwynd: Nenjin: Random sprite combinations.
Nenjin: I'd rather have it put professions first and generate all that info down from that point.
Jack A T: Average people/off-duty people are random sprite combinations.
Jack A T: People who should have uniforms have uniforms.
Nenjin: For example, LCS starts with profession, and only creates person data when you recruit or kidnap that person.
Nenjin: I think that's a better way to approach designing the people in the world.
Nenjin: Because they all have to be game play elements, so we should start with them as such. From profession you can expand to a lot of different traits.
Jack A T: I liked the SKRoguelike idea of giving names, but no non-obvious professions.
Nenjin: Income. Potential for violence. Opinion on crime.
Nenjin: We could do that.
Nenjin: As long as building NPCs starts from defining their skill base and attributes.
Jack A T: Make it so that you can learn the professions of the non-obvious people.
Nenjin: I don't like the implications of working backward toward those things.
Soulwynd: I thought the name was a bit too much, without you actually knowing their name. Perhaps if you talk to them, you can get name and profession. So they become Jack McDoe, garbage man, instead of "a person"
Jack A T: I agree with Soulwynd.
Nenjin: I prefer the abstraction that assumes you can guess that a person is about by looking at them.
Nenjin: But it's not ultimately up to me, it's up to who codes.
Jack A T: However, those with uniforms you can see the professions of, and those with name tags you see the names of.
Nenjin: I guess I just like a world clearly defined by roles from the outset, instead of having to learn.
Nenjin: Because that makes me want to use all available clues to study people.
Nenjin: Which means coders have to back that up with a system
Nenjin: That generates all that stuff quickly.
Jack A T: Hmm...perhaps with high intelligence and perception, you can see peoples' professions?
Nenjin: That's a nice touch.
Soulwynd: Ninjin, just because you don't see it, doesn't mean it isn't already generated.
Nenjin: I know, I'm trying to wrap my head around that.
Soulwynd: As in, "a person" already has a name and profession and story and house and possessions and family.
Soulwynd: You just don't know it.
TNX: hello
TNX: what if you have to "research" a person first?
TNX: like look through their mail/trash
Nenjin: I'll put my faith in you guys having a plan.
Nenjin: That's been talked about right now.
Nenjin: So I want to see it like this.
Nenjin: I highlight a person with the mouse.
Soulwynd: Yep, TNX, that's part of it.
Nenjin: I click view.
Nenjin: I see 'mid 20s, blond, pretty, wearing a business suit."
Nenjin: I know I don't want to bother selling her drugs.
Nenjin: I click another dude.
Soulwynd: Yeah, that's granted, Nenjin.
Jack A T: Agreed.
Nenjin: It says "Mid 30s, hispanic, covered in tattoos."
Jack A T: And you get more information with intelligence and perception.
Nenjin: I guess he's a punk or at least interested in drugs and strike up a conversation with him.
Nenjin: Ok. That's what the system has to do for me, so I don't get turned off by a lot of anonymous people around me.
Jack A T: Exactly.
Nenjin: And with good sprites, the people you really care about, you won't have to investigate because they'll visually tell you.
TNX: yeah that'd be great
TNX: and maybe show strength too?
Soulwynd: Yeah, I mean anonymous as in, you don't know stuff you wouldn't know without asking or looking them up.
Nenjin: That works for me, as long as people can actually do it.
TNX: and maybe at really high perception "you see a tattoo of a dragon.." (he's part of a chinese gang?)
To summarize the end idea: characters would be generated with names and professions that you most likely do not know. Your stats and skills would allow you to recognize professions more easily, and talking to a person would usually get you their name. Professions would have their own base stats for the randomly generated people.

Ideas for the Heat System


First, some pictures to arouse the eyes. I intend for every weapon, gun or blade, in this game to have a unique sprite. From left to right: 9mm Beretta, .38 revolver, our .44 Magnum, the iconic Desert Eagle (made suitably large), a gladius, a hunting knife, and a claymore. A bit odd to have so many swords, but I had time, so I drew them. On to the topic at hand!

So in this game, the heat system is going to be the main focus. Without a good one, it's going to languish. Nenjin, one of our text writers, made an interesting post about how to set up the heat system using four stats. Following is the post.


"On the heat/evidentiary system. 



This system needs to be complex. It relates directly to the core of the game; breaking the law and not getting caught. Of all the things in game, this needs to make sense, be meaningfully complex, and be balanced. 



I see 4 questions that relate to evidentiary chain/increase of attention from authorities.

1) What are you doing to generate heat?

2) Do the police know who you are?

3) What evidence have you left behind to convict yourself?

4) How does the game "know" when you're being bad?



I propose 4 stats.



Identity.

Notoriety.

Heat.

Evidence.



Between these 4 stats, I think we can accurately simulate all the aspects of criminal behavior, getting caught and avoiding getting caught.




Heat: How interested authorities are in your activities RIGHT NOW. Higher heat increases the likelihood of police activity near you. This is an important distinction. Notoriety tracks your overall behavior, but heat is a moment-to-moment value. 



Notoriety: Your general reputation in the criminal world and elsewhere. This is essentially the player score. The more they do, the higher it gets. What it does is serves as a MULTIPLIER for heat. The higher your notoriety is, the less it takes for police to become actively interested in you, because they want you BAD for the things you've already done. 



Evidence: Evidence is what allows authority figures to arrest you and is factored into your trial results. It is rated on a scale of 1 to 100. When you commit a crime, you generally leave evidence. DNA. Witnesses. Descriptions of yourself. Footprints. Ect... Better skills or stats would reduce the amount of evidence you generate. Some activities would generate much less evidence than others. Some activities, like attacking a police officer, generate maximum evidence. Some items or behaviors might REDUCE evidence, like changing clothes, wearing disguises ect... NOT doing somethings might increase the rate of evidence gain. Like not wearing a disguise to a bank robbery where there are security cameras.



Identity: If the cops aren't there when you commit crimes, they need to identify you before they arrest you. This stat would govern whether or not police officers try to arrest you on sight. It can be increased by doing or not doing some things, just like evidence gain. DNA and finger prints for example, are as good as as photo ID these days. And identity can be decreased by taking certain actions. The game should store certain things like what the player was wearing, so when they change the identity value drops. 



All these values except notoriety would degrade over time. More later."

More on Identity, Notoriety, Evidence and Heat:

Identity and Evidence: Anyone who sees you commit a crime adds to your identity and evidence score. You can immediately remove those increases by killing that person. But their body too generates some evidence if it's not destroyed (say placed in the dump.) 

Killing anyone creates evidence. Certain items (Chainsaw, certain guns, ect..), certain combat methods (HTH, biting?) or certain deaths will generate more or less than average evidence because they are more or less noticeable. (Modus Operendi) 

When YOU get wounded, it generates more than average evidence, and generates some identity as well. This evidence can only be removed by a time consuming clean up action, and may be based on skill. Something like "Forensics" knowledge should be the primary determiner of how much evidence you leave and identity you generate when you kill and when you clean up.  

At a certain threshold of identity, say 100%, every law enforcement officer that sees you will recognize you. Others may recognize you too.

Other ideas for reducing evidence/identity per crime increase: burning down houses to destroy evidence, changing clothing or appearance, wearing masks and disguises.

Heat and Notoriety: When you complete criminal actions, you generate both heat and notoriety. The action committed determines the extent of both. Heat determines how large of a police response is called to any criminal action, and is factored in with identity to gauge when police forces raid your safe house. 

Notoriety is a long-term modifier that affects all criminal actions, but also dictates a lot of other things that can happen to you. High notoriety may make you the target of other criminals as well. It might serve as a "level" to get access to more connected drug dealers, weapon dealers, fences and the like. 

Long term scales for heat and notoriety:

Heat should have a llllaaaarrrrgeeee scale, and be fractional in increases, because we don't want it giving you 1/100 of heat for every item you steal, or every drug deal you make. There needs to be pacing involved in heat gain, so the increase in police attention is noticable by the player. Heat gained from criminal actions might also be increased under certain circumstances, like performing actions in front of cops. We could approach the situation like in real life...what kinds of behaviors would get police VERY interested in that particular suspect. 

Notoriety likewise needs to have a large scale to accommodate paced game play as well, since it and heat are intrinsically tied. Heat should be able to spike independently of notoriety. Notoriety should probably have the largest scale of all. 

All things, probably even notoriety, should decay over time.
Laying low should really be a benefit. There should be a rest option, of sorts, where the player just has to pay upkeep for their living space and food, so they can bleed off the attention from epic criminal feats.


How does this system sound? Appropriate? Fallible? Problematic? Comments can be left here, or in the Bay12Games thread. Preferably in the thread, since this website is more of a placeholder for ideas. http://www.bay12forums.com/smf/index.php?topic=64931.0

Thursday, September 2, 2010

Graphical Developments



The game's intended to be both graphical and ascii. For those who enjoy graphics in their roguelikes, we have a large team dedicated to spriting. On one of the Piratepads, there's a list of items with associated descriptions, all of which will eventually have a unique sprite. I'm averse to simple recoloring of weapons, especially swords and guns, so hopefully when the weapons are all finished, they'll all be utterly original art. For some reason we have a lot of swords and guns.

Above are a few of the sprites, set her as an example. All of them have been uploaded to the SVN on the Sourceforge website, found here: https://sourceforge.net/projects/crimelike/

From left to right is...the chainsaw, brass knuckles, broken bottle, fire axe, kitchen knife, rapier, and a syringe. Yes, the game will have a focus on drugs. To what extent, we're not entirely sure, but the text-writing team is interested in having the drugs be detailed, without being excessive. Drug-dealing, using drugs, and all different kinds of stimulants and depressants will eventually be added in as well.

Wednesday, September 1, 2010

So far...


There's a picture of Lap's work on locational damage using the engine. The team has been separated up into different groups, each focusing on their own part of the work. Currently, we're using Piratepad to organize maps, descriptions, and sprites, and as progress is made, it's possible we'll get an SVN repository and the such to organize such teamwork on a massive scale. In the meantime, the B12 thread, found here: http://www.bay12forums.com/smf/index.php?topic=64931.0, and the Piratepads, plus the Sourceforge and Google code, will try to keep things organized. Right now, Lap is working on making a character generation system, setting up the brainstormed attributes and skills system, and hotkeying TE4's talents system to traditional keys for things like shooting and using tools. Lap has so far coded in locational damage, with a rudimentary graphical display of damage. Limbs can take damage, and be healed. They can't be chopped off yet, though.

Less code-savvy members are brainstorming the experience system, and are figuring out skills and attributes necessary to the game. In the meantime, there are many sprites and other creations being worked on, for the graphical side of things.

Rough draft of the attributes follows:

Muscle - your strength, your melee damage, lifting objects, carrying capacity
Health - your resistance to damage, keeps you alive
Agility - ability to move, largescale. Jumping, dodging, running, climbing.
Dexterity - ability to perform precise motions. Picking locks, medical aid, aiming a weapon.
Intelligence - how much your character knows, uses this to help clean up after crime and see evidence
Charisma - affects your interaction with others, persuasion, seduction, conning
Willpower - mental resilience, possibly factors into resisting trauma and severe pain (?)

Rough draft of the skills: See posts: http://www.bay12forums.com/smf/index.php?topic=64931.msg1527081#msg1527081 and  http://www.bay12forums.com/smf/index.php?topic=64931.195

Following is a rough idea of how we want the attribute system to show up. Instead of using numbers, it'll choose a line from each 'level' of skill, and put that line in your character's description.

MUSCLE

Very low: Bob looks extremely feeble. // Bob looks pathetically weak.
low: Bob is scrawny, and his arms lack muscle. // Bob is built like a toothpick.
below average: Bob doesn't look very strong. // Bob looks somewhat weak.
average: Bob is of average strength. 
above average: Bob looks kind of strong. // Bob seems to be somewhat strong.
high: Bob looks fairly strong. // Bob appears somewhat muscular.
very high: Bob has noticeably muscular arms. // Bob is well-built and looks tough.
extremely high: Bob looks extremely muscular. // Bob appears ridiculously tough.



Health
Very low: Bob has immense difficulties breathing. // Bob looks infirm and pale. 
Low: Bob looks distinctly unhealthy. // Bob appears to be sickly and greenish.
below average: Bob is a bit sickly. // Bob looks unhealthful.
average: Bob has average health. 
above average: Bob looks like a healthy person. // Bob looks quite hardy.
high: Bob looks hale and hardy. // Bob looks good and healthy. 
very high: Bob looks very healthy. // Bob seems like he rarely gets sick.
extremely high: Bob looks extremely robust. // Bob looks vigorously healthy.

Intelligence:

very low: Bob has a mind as quick as sludge. // Bob is an infantile fool.
low: Bob takes a long time to think. // Bob has a lack of comprehension.
below average: Bob is stupid. // Bob isn't the sharpest mind out there. 
average: Bob is of average intelligence, like you. 
above average: Bob is fairly smart. // Bob finished college.
high: Bob is a cunning person. // Bob is pretty damn smart.
very high: Bob has a mind that runs like a cheetah. // Bob has a mind that could cut steel.
extremely high: Bob is of unearthly intelligence. // Bob is an utter genius. //Bob is a mastermind.

The Contributors

Right now, the primary coder is Lap, the OP of the Bay12Games post. He currently has the developer version of the game and its source. Our game is based off of the TE4 Engine, coded in Lua. 

The following is a list of the people who have volunteered their time and skills, for whatever part of the development. It may not be a full list, or as comprehensive and expressive of who is doing what, but everyone below has contributed in some way or another.

Coders:
*Lap  
*Deon
*John Gaden
*Puzzlemaker
*rocksock
*Soulwynd

Spriters:
*Jack A T
*Kus
*Soadreqm
*Deon

Mappers:
*Kilakan
*Jack A T
*Soadreqm
*cappstv

Text Writers:
*Jack A T
*Kusgnos
*Apple_Master
*Nenjin 

Crimelike

Original post from the Bay12Games Forums in regards to a new roguelike, quoting Lap. This is the basic, basic foundation of what we're going to be working on.


"Alright, so we all watched in horror/amazement at the whole SK roguelike thread. Oddly enough, a lot of good gameplay suggestions did come up and I heard many people say that they were going to try and make it themselves. Please, let's not have like 6 unfinished versions by separate authors in the works. I'd really like for us to be able to work together and focus our efforts.


Anyways, this whole thing reminded me that I've had this old design document laying around my computer for a while, but I never really got to doing anything with it. It's a bit broader in scope than the serial killer focus so I think a lot more people would be able to enjoy and participate in it. Here's the basics of it:

Source of Inspirations - The Sting/The Clue, Crimefighters, Liberal Crime Squad

Setting - Modern day city or large town.

Atmosphere - Fairly normal. Definitely not crazy like HellMOO or extremely dark like Gotham.

Overall Player Goals - Most goals are greed based (money), but some specific characters might have more specific end game goals (ie. infamy, amassing X number of gang members, etc.).

Specific Character Types - Each type is based around a specific playstyle to keep everyone entertained.

Thug - Mostly violence based. Robberies, heists, and muggings. These characters are also likely to be members of gangs and have followers.

Dealer - Similar to thugs, but more focused on mercantile and smuggling then outright violence.

Thief - Stealth based and works mostly alone.

Scam Artist- Based on tricking others into giving money. Focuses on disguises, identity theft, and intelligence.

Hitman - Narrowly focused violence.

Serial Killer - I hesitate to add this in, but it does seem that he could be a viable variant. By adding "compulsions" or other mental sicknesses it would add a twist to the standard of just killing people. Something like each night a voice tells you to "Target X type of person with Y hair and then do weird ritual X". When you're forced to occasionally do very irrational things, it can get much more difficult than standard thug or hitman based gameplay and is less based on money.

These should satisfy just about every playstyle.

Of course, anyone can just play and do whatever they want. Player starting roles are there simply to provide a start or more direction for players who desire it.

Evidence/Heat System - The most important system in the game that is universal to everyone is the system that essentially manages how infamous you are. Things like leaving evidence and being seen are the primary ways to raise your heat. Doing things like laying low, having/forcing someone else to take the fall for you, hacking into police database, and wearing disguises are ways to reduce your heat.

[As far as the gruesome torture stuff, I could care less. If there's some sort of valid gameplay mechanic it can be linked to then whatever, but I'd prefer this to not be made purely for shock value.]

That's the basic premise without getting into too many specifics. I'm just trying to gauge interest and to see if anyone wants to collaborate. Most likely would be using an existing RL engine to save time (probably TE4). If someone really feels up to being project lead, by all means take the reigns. I just don't want to see so much scattered effort."