Bay 12 Games Forum

Finally... => Creative Projects => Topic started by: Tuplis on June 11, 2012, 11:04:38 pm

Title: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 11, 2012, 11:04:38 pm
Hey everyone,

I originally made this post on the temple of the roguelike forums and one person suggested I might also find interested people in here. So here goes:

I'm Tuplis, a new guy here on the forums. I'm a 25-year-old fresh  Master of Science in Technology with software engineering as my major. I'm currently coding full-time for a software company. I specialize in agile software development processes.

I've been playing roguelikes on and off for about 15 years now and decided I'll finally make one of my own. During these years I've come to realize that one person can make a really great roguelike because of the ability to focus on "the good stuff" instead of drawing 3d models and all that stuff. So, here's my attempt at combining my specialization - agile development - with the process of making a roguelike.

[outdated]
I currently have a very simple game, simply called "Zombies". There's only one test map and a player character can run around and kill a bunch of zombies that will be randomly generated on startup. That's it. And there's where you lot come in.
[/outdated]

The central idea in agile development is to constantly publish release-level-polished functionality in small increments. This allows the product to rapidly evolve in face of changing requirements. So my idea is to have the community of players playing the game define what those requirements are - literally (nearly) almost all of them. Here's the complete run-down of the functionalities I've so far "locked", everything else is up for discussion:

-Roguelike. No emphasis on graphics beyond what ascii can represent. I've committed to writing in Java with the blacken library which I find sufficient.
-Zombie apocalypse theme. It's just what I want to do.

If I can gather a group of 5-10 active people, I can start churning away at it. I can work perhaps around 10 hours a week as I work full-time on the side. Agile development hinges on writing continuously excellent quality code in order to avoid rework and the idea is to constantly (weekly to monthly) release everything made up to that point so there will be constant progress. That amount of active people should suffice in creating me a backlog of work to chip away at. More are also welcome of course!

TL;DR : I'm looking to crowdsource the design of a roguelike game project run by an agile software development process.

So, who would be interested in this project?

Latest version:

https://dl.dropbox.com/u/84930267/Zombies-0-12-8-6-0.rar

Keybinds & help:

https://docs.google.com/document/d/1nZK3IR_2ra0mXIB25uAFNfHphHMRocTD309Zuw-P-SY/edit

Credits:

https://docs.google.com/document/d/1QcJteqBK42ryW0cNPrvW_JHCWXU5n_RpW_0gEBs45Tk/edit

Changelog:

https://docs.google.com/document/d/1vgiqPBb-hJozND57uWOs2mRmPbKJfXF4BY97iZD23Nw/edit

Backlog:

https://docs.google.com/spreadsheet/ccc?key=0Ar3Z_84uVAcldDNNeW14SUI3N2VpN1lUU2tPajMzTkE

Rules for the backlog:

-Anyone can add stuff but use common sense about whether we need to discuss the feature first (eg. don't add stuff like magic spells)
-Every new backlog item needs to have end-user value. The value can also change over time: A random map generator is nearly useless in a game with almost no features and thus will increase in value over time. Conversely, a minor shift in game scope might make an otherwise important feature obsolete.
-When adding a new item, consider whether you can break it down to independent functionalities out of which at least one has end-user value in itself. Iterate this process until you can no longer break the feature down.
-Add yourself a column in the value-area if you want to contribute on that
-Ignore Effort unless there's a ? in there
-Add yourself a comment column if you need to. We'll need to address that if it becomes too wide/unreadable.
-Don't remove/change anything other people added (outside of typos)
-If you know what you're doing, you can stylish the file. Just remember that usability comes first.

Need troubleshooting?
-Check that your java path is set (http://java.com/en/download/help/path.xml)
-Target Java version is 1.6, make sure you have that or higher.

Regards,
Tuplis
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: quinnr on June 11, 2012, 11:27:54 pm
I would be interested in watching, not a ton of free time to suggest and play a ton, but community projects are always awesome and I support your idea!
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Girlinhat on June 11, 2012, 11:36:11 pm
This (http://www.bay12forums.com/smf/index.php?board=16.0) would be a more appropriate forum for it.  "Other Games" is for games which exist to be discussed.  "Creative Projects" is for anything being generated.  Granted you could also have a thread in "Other Games" where you publish the releases and let people play.  Then again with this sort of project, it sounds like playtesting and coding are going to be the same action.

Regardless, this is indeed the place.  We have people making a ROM hack of Pokemon Red and Blue, masterfully renamed to Orthoclase and Microcline, although that humor is probably lost on you for being a damned beardless elf.  But that's alright, you're new here.  We'll get you some beard yet.

One big issue you'll run into here is that people aren't consistent.  You won't get 10 people working on it.  You'll get 30 people signed up with 3-4 working at any given time.  They'll cycle out over days and weeks, but you really won't get a group going from start to finish.  Shifts will be taken, like it or not.

That said, this sounds like a GREAT idea to just make a github or somesuch so that we can do branches and merges and whatnot.  Carry out a central release line, and then let people do branches as they modify bits of code as they see fit.  If it works, merge it.  If it doesn't fit, then let that branch die.  Allow that, and you'll see a lot of people making tweaks and mods to the code and then the community at large can decide if it gets merged with the main line or not, which is probably your best way to carry this out.  If you ask a question to 3 dwarves you'll get 5 different opinions.  Don't let us work together, it's brutal.  Let us do our thing, and we'll build off each other naturally.

I'm in though.  I have trouble starting a project, especially a roguelike theme, but if there's already a working engine in place then I can definitely help flesh out different areas.  I'd love to see what happens when you let the creative powers of the community shape a product.  You'll have WAY to many cooks in the kitchen and end up with a gloriously horrendous soup that you can't help but love.

Also: Expect tileset support.  Someone will eventually, sooner or later, make a tileset version.  Just, let it happen.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 12:12:12 am
Maybe I misrepresented what I want to do here: I'm looking to "crowdsource" the design, not the implementation. I want to see how good of a roguelike I can code by myself and having someone else do the design is done to maximize the value of the game to end-users.

Also: Can someone move this to the correct forum?
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: quinnr on June 12, 2012, 12:18:37 am
Maybe I misrepresented what I want to do here: I'm looking to "crowdsource" the design, not the implementation. I want to see how good of a roguelike I can code by myself and having someone else do the design is done to maximize the value of the game to end-users.

Also: Can someone move this to the correct forum?

At the very top or very bottom of the thread there should be a Move Thread button that the creator can use.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: eerr on June 12, 2012, 12:21:09 am
It doesn't have to move to creative projects- if you don't want it to.

The fit is slightly better, but works just fine here.

Also, girlinhat is quite sharp.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 12:33:05 am
At the very top or very bottom of the thread there should be a Move Thread button that the creator can use.

Thank you, sir.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Girlinhat on June 12, 2012, 12:34:51 am
Hmm, I wouldn't care if it stayed here.  We have things like Ultima Ratio Regum here (or however it's spelled) and that's basically in-development talk and all.  So whatever, I know I'll be more likely to see this thread in Other Games since I don't check Creative Projects often.

"Crowdsourcing" to me has always been a metaphor for "Lazy".  Or in the more eloquent words of xckd - http://xkcd.com/1060/

Although you needn't do that at all.  I dunno how other communities work, but 'round these here parts if you post anything, you're immediately struck with "This is cool/lame" and "You could make it more cool/less lame by doing this."  Opinions flow like water and the simple knowledge of something existing is enough for us to respond to the unasked questioned and offer our knowledge, or lack thereof.

In short - post what you've got, and keep the OP updated with a link to the most recent version, and everything will follow exactly how you want.  The community at large will post this thread with endless suggestions and discussions.  We're like, I dunno, some sort of accidental ultimate beta test think tank or something.  You'll rarely get a post like "knives are OP" but instead you'll get posts like "you should rebalance knives by lowering their accuracy" or something.  Being a community built around a brutal, low-graphic, strategy-focused roguelike of legendary proportions, we have a pretty keen userbase and generally lack the trolls, Minecraft fans, and simple shouters like you see everywhere else.

So just post what you've got and let's see what happens.  I'd also suggest going open source.  You'll be surprised how many people are fantastic bug catchers or optimizers, or can do things that you might have trouble with.  For reference on this, check Cataclysm.  It's open source, and there's a few members who pluck out some damned tricky bugs and others who mod in huge features.  Whales (the Cataclysm owner) picks and chooses what he wants to merge into the official release, and it works very well.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 01:04:42 am
"Crowdsourcing" to me has always been a metaphor for "Lazy".  Or in the more eloquent words of xckd - http://xkcd.com/1060/

Perhaps crowdsourcing is the wrong term. My intent is simply to ensure that the product of my work is at all times optimized in terms of end-user value and to that end I'll employ a bunch of end-users to guide my short-term development goals. Long-term goals are more or less emergent because I want to avoid the feature creep effect.

Also, I think I'll post the game later today when I get home from work (8-9 hrs from now) so you'll get to try what little there is to try. The reason I'd like people to "register" is so we can take the development discussion elsewhere. While I do welcome anyone who wants to contribute, I feel like even that nominal amount of commitment is sufficient to cancel the noise that we'll be sure to face in a public forum such as this.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Girlinhat on June 12, 2012, 01:30:57 am
As I said before, this isn't your average community.  "Public noise" is rather melodious.  But really, check around these forums a bit.  The ban list isn't updated for months at a time, the fact that we have a ban list says a lot, and about 90% of posts are thoughtful and constructive, if the topic needs constructing.  Failed topics get derailed very quickly, but that's expected.  If there's anything meaningful to discuss, you very quickly end up with several gentlemen sitting about the fire puffing corncob pipes and drolling on about details and balances.  This is really one of the best possible environments in which to develop a game.  Constructive posts, love of complexity, no shortage of imagination, and we only complain when things are too easy, and are happiest when the game is just barely unwinable.

Just trust me on this.  You were pointed here by someone else who said we're a good lot.  You're not familiar with our wistful ways quite yet.  Post what you've got openly, and it will turn out well.  Namely because 1: You'll get a lot of discussion going, and 2: People who register to your other-area will lose focus quickly and wander off.  Notoriously short attention spans.  You might have one person participate for 1-3 weeks and then go On Break.  In another environment that'd mean less participation.  On the main forums here, that means that they'll be replaced by someone else and shifts will change naturally.  And the strong will prevail to carry on their genetics to the next generation.  The circle of life will continue as per the natural order.  Or something.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Dariush on June 12, 2012, 04:22:57 am
Master of Science
Damn, that sounds awesome. I'm interested up to my ears and a little on top. Count me in.

Also, I completely support Girl's idea that this forum is the best place stray winds could have carried you to. The chance of 'noise' is almost nil. Well, unless you count PTWs and 'Keep up the good work!'s.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Thief^ on June 12, 2012, 04:38:47 am
I'll definitely be watching.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 05:06:53 am
Also, I completely support Girl's idea that this forum is the best place stray winds could have carried you to. The chance of 'noise' is almost nil. Well, unless you count PTWs and 'Keep up the good work!'s.

I still have my concerns on this type of planning/feedback which are rooted on my idea of the design process we are (or rather, were?) going to use. With that in mind, having "several gentlemen sitting about the fire puffing corncob pipes and drolling on about details and balances" as Girlinhat puts it, might not be an efficient approach to what I'm trying to accomplish.

What I need exactly is a bunch of players (I'm included in that bunch) that can provide me with a backlog of small-medium tasks such as "include a 'swoosh' every time the player swings his weapon" and "implement ranged weapons" along with some sort of a numerical score indicating the value of the feature to the end-user. The backlog can, in theory, be infinitely large as long as there's a consensus that a given feature is a desirable one (for example, if someone suggests magic spells in a zombie roguelike, we might not reach a consensus). When that feature is implemented is determined by calculating its priority value by dividing the value number by my estimation of effort in implementing it. Thus our collaboration serves towards rapidly developing a game with the most valuable features. The question is, can the proposed model of sitting around a fire achieve that goal? What do you think?

I don't want to appear difficult by setting up these restrictions but my agile self-organizing approach to the process of making this game is, for me, at least half the fun.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Springare on June 12, 2012, 05:14:54 am
So, if i understand you correctly you want something like

"Add a pistol, it should make 5-7 dmg with a hit ratio of 75% and a break ratio of 5% each shot"

instead of

"A suggestion would be that ranged weapons could break, and maybe inflict some player-dmg because of the little explosion the bullet makes in the pistol"?
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 05:20:03 am
So, if i understand you correctly you want something like

"Add a pistol, it should make 5-7 dmg with a hit ratio of 75% and a break ratio of 5% each shot"

instead of

"A suggestion would be that ranged weapons could break, and maybe inflict some player-dmg because of the little explosion the bullet makes in the pistol"?

Either one is fine. Those are balance issues that need a feedback loop regardless. What I want is stuff like:

-"We want you to add ranged weapons. We feel their value to the game would be 9 out of a maximum of 10 points"
-"We want you to add attack sounds. Their value is 6/10 points."

Then I figure how much effort it takes to add either. Guns would take 2 hours (priority = 9/2=4,5), sounds 1 hours (priority=6). So I decide to implement the sounds first, then weapons. In an ideal case, the backlog is so long that some of the features will be postponed until quite far, maybe 30+ days into the future.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Dariush on June 12, 2012, 05:30:22 am
The question is, can the proposed model of sitting around a fire achieve that goal? What do you think?
Of course it can. This way, the community of hardcore gamers will internally discuss every idea and the best way to implement it instead of simply dumping a huge backlog of potentially contradicting ideas on you through which you'll have to sift manually.

Then I figure how much effort it takes to add either. Guns would take 2 hours (priority = 9/2=4,5), sounds 1 hours (priority=6). So I decide to implement the sounds first, then weapons. In an ideal case, the backlog is so long that some of the features will be postponed until quite far, maybe 30+ days into the future.
IMHO, this isn't going to work. For example, adding a completely new system for, let's say, implants must have far higher priority that adding a new weapon, if only because of the sheer amount of stuff you'll have to redo to implement the new system if we determine it viable. However, if you use the 'priority/time' system, you'll implement all the minor (0,5 hours) stuff immediatly and postpone the important but huge (10+ hours) stuff unto oblivion.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 05:38:14 am
To be honest, you do appear to be nitpicking right now. Specifically, the 'value' system seems just arbitrary and pointless. It should be obvious that, for instance, adding a completely new system for, let's say, implants must have far higher priority that adding a new weapon, if only because of the sheer amount of stuff you'll have to redo to implement the new system if we determine it viable. Any arbitrary measures will just confuse things.

And this is where you are wrong. This is a central concept within agile development, and the software industry is currently experiencing a paradigm shift towards the very idea of measuring value vs effort of every single requirement the customer throws. That is because requirements for any vision of a software product are constantly shifting and the most important thing is to concentrate on short-term, not long term customer value. It's about managing risks and as we all know, "You Can't Manage What You Don't Measure"
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Dariush on June 12, 2012, 05:41:32 am
Actually, I realized I misunderstood your intentions and edited my post. You managed to quote the previous version during the like 15 seconds it was actually there. :D
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 05:50:20 am
IMHO, this isn't going to work. For example, adding a completely new system for, let's say, implants must have far higher priority that adding a new weapon, if only because of the sheer amount of stuff you'll have to redo to implement the new system if we determine it viable. However, if you use the 'priority/time' system, you'll implement all the minor (0,5 hours) stuff immediatly and postpone the important but huge (10+ hours) stuff unto oblivion.

I (probably, lol) understand exactly what you mean by this because it is a central point of contention in the agile vs non-agile debate. I'll try to explain this to you within the scope of this game.

Alright, let's imagine we're adding a whole new implant system. Workload 10+ hours or so with a high value. Priority? Zip and pip.
What you do here is split the implant system down. Let's see, your normal strenght implants and so forth, then some cool utility implants like underwater breathing, infrared sight and what have you. The point is, all these subtasks have an independent value score, whereas the implant system in itself actually doesn't. We have to split larger systems down until we have a bunch of features (that have customer value in themselves) that we will implement. After that, we naturally combine these scores and work estimates and calculate the priority.
You can think of it this way: There's no point in committing to implementing a large system within the game if the enabled subfeatures don't add up to enough value to justify the effort. You have to justify every effort.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 09:55:37 am
I posted a link to what I've done so far. If you'd like to take part in the design of this game, ie. decide everything that's to be implemented, just say.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Dariush on June 12, 2012, 10:10:21 am
Java. My eternal nemesis. We meet again.

Edit: Okay, time to begin that backlog.
- Add numpad support for movement. Priority: ∞/10.

Edit 2: Well, the game is by now far too unlike a game. What are you currently doing/planning to do?
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 10:36:27 am
Work on a backlog... numpad support can be done in a few mins, no problem... The whole point is that there's virtually nothing in the game right now. If it was an actual game already, why would I need you? Maybe I'll just start adding stuff you say and we'll see if more people join in and this turns into something else than you telling me what to do :)

edit: done.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Girlinhat on June 12, 2012, 11:01:53 am
Alright then if we're starting from scratch...
Top ten things:
1: Make sure at least one zombie spawns.  I restarted the program and had zero zombies.
2: Make the player icon white and the zombie icons green, for obvious reasons.
3: Display that you have performed an attack, instead of running a silent bit of math.
4: Random level generation.
5: Line of Sight.
6-10: Numpad support.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Dariush on June 12, 2012, 11:47:50 am
Oh, so we are starting to work from literally next to nothing. Okay. List of stuff, in no specific order, in addition to stuff GIH said:
- Add randomly generated tunnels. That is, if you're going for 'tunnely' look like, for example, Nethack and not 'freeworld' like, for example, Cataclysm. To tell the truth, I prefer the tunnels;
- Scrolling map;
- Locations spanning more than one screen;
- Inventory screen;
- Help menu with all keybindings;
- Make zombies randomly move around. If they see player, move toward him;
- Add a timer to allow for actions with different speed (think Cogmind) (if you haven't played it, every action takes a certain time. The game advances only after player's actions, so he may move several times between other monsters' moves or move only once while monsters will be able to move several times);
- Seriously, opensource this stuff;
- Add basic clothing - T-shirt, jeans, sneakers for everyone (including zombies);
- Add item integrity - damaged clothing will protect you worse, damaged weapons deal less damage, etc.
That's all for now.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 12:09:15 pm
Already implemented some of that stuff and will work with others in a bit when I'm done writing.

-Both of you think random map generation is a big thing. However, seeing as how there's so little content, there's no value in implementing that now; I couldn't do anything with it.
-Adding a timer is something I thought about doing earlier but again, it's not something that has any real value right now so I'm not going to work on it yet.
-In my experience, item integrity isn't something overly standard in roguelikes at the moment and I won't even add that to the backlog for now. That's something we'll have to discuss later. There's no point in implementing a system like that unless I know I'll do something with it.
-I'll do the keybind screen when I can no longer easily remember all of them (currently arrows, numpad 2,4,6,8 and f10 to exit).

Things done as of this moment:
-Display that you have performed an attack, instead of running a silent bit of math.
-Make the player icon white and the zombie icons green, for obvious reasons.
-Make sure at least one zombie spawns.  I restarted the program and had zero zombies. (added another 3% chance per empty spot, that'll do for now)

Next things to do:
- Make zombies randomly move around. If they see player, move toward him (currently the default action when moving "on" someone is to attack, I think I'll just keep it.)
- Add basic clothing - T-shirt, jeans, sneakers for everyone (including zombies); Inventory screen

Edit: By the way, you can make your own maps. Open the text file called "test" under resources/maps. The parser currently only understands spaces, # and @. Empty spot, wall and the tile where the pc will spawn, respectively.

Just came up with an idea, btw. I could make it so that you can write a bunch of words in a text file. During startup, the program could read the textfile and load a map by the name of the first line on the list. When you've cleared all the zombies, the next map starts. What do you think?
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Girlinhat on June 12, 2012, 12:15:52 pm
Another 3% chance for spawn isn't going to actually solve the "there are no zombies" bit.  Just do your level generation, then do a zombie placement for the tiles.  Mark up how many zombies are created.  If zed==0 redo.  It's incredibly easy and is much more reliable.  Not to mention that increasing spawn amount will, well, increase the spawn amount.  If you want to keep the spawns at a certain number while also generating a minimum number, you need a loop to be checked.

Random maps, timers, and integrity are all things that will help later.  They may not be useful now, but you have to look at the future goals too.  If you don't add timers, and want to add them later, will it be more difficult?  If you're going to add them anyways, will it be easier to do it now, or easier to do it when the game is more complex and you have to fit the new mechanic into existing design?

On that note, enable multiple Z levels.  That's something you need to do early, trying to add towers and rooftops later becomes very difficult once you've establish the data structures for your map.  It's an instance of "you might not use it now, but you'll save a LOT of time when you want to use it later."
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 12:22:43 pm
Random maps, timers, and integrity are all things that will help later.  They may not be useful now, but you have to look at the future goals too.  If you don't add timers, and want to add them later, will it be more difficult?  If you're going to add them anyways, will it be easier to do it now, or easier to do it when the game is more complex and you have to fit the new mechanic into existing design?

On that note, enable multiple Z levels.  That's something you need to do early, trying to add towers and rooftops later becomes very difficult once you've establish the data structures for your map.  It's an instance of "you might not use it now, but you'll save a LOT of time when you want to use it later."

Nope, this is all against the paradigm I'm using. There must be as little as possible and not a bit more up-front design and time investment without immediate returns. What you're proposing is along the lines of what the "waterfall" method would propose. What I'm doing is the iterative approach - developing in small increments. I understand your concerns of not being able to add these things later - that is addressed by constantly paying attention to code quality.

http://en.wikipedia.org/wiki/Agile_software_development
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Dariush on June 12, 2012, 12:32:08 pm
Words, words, long words, words. Level generation and timer aren't things that can be left to the future. Trust us, those two things are the most important ones.

-In my experience, item integrity isn't something overly standard in roguelikes at the moment
And that matters becaaaaause? You aren't doing yet another 'standard roguelike', you're doing something original. A lot of features can be based on item integrity. It is several lines of code, yet hours saved longterm, when you would be reworking your code to fit it in.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Girlinhat on June 12, 2012, 12:37:04 pm
Right, this is doomed.  If you're intentionally ignoring foresight then you're fairly bad at... I dunno, anything people do.  Judging by your model here, then things like new colors take 2 minutes to do and have immediate showings.  If you added a Z level structure now, it would take 2 hours and have zero showings.  On the other hand, adding different tile types might take 3 hours but make a marked improvement.  So you add different terrain.  Now that you've done that, it would take 5 hours to work Z levels into the existing code, and still wouldn't do much.  Instead you add random map generation.  Now Z levels take 8 hours with very little to show.  A month down the line, you'll still be making items different colors while adding Z levels would take a whole week to accomplish.  By that time, people will want to climb, but it's so much easier to tweak weapon balance than to change existing mechanics.

If you continue on this rate, you'll get a mediocre game comparable to a kongregate.com flash timewaster.  Just adding little bits instead of doing anything significant.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 12:45:47 pm
Heh, alrite. I didn't really want to pull the "I know what I'm doing" card but that's exactly what I'm doing. Right now, you are both stating opinions as facts. I've studied, practiced and researched this type of development (and this type of development is changing the whole industry as we speak - agile, lean, iterative-incremental, and the rest of the buzzwords). If you don't want to be a part of it, fine. I don't know what types of backgrounds the two of you have - the decisions I'm making are based both on modern understanding of how software engineering and project management works. What are you basing your opinions on?
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Dariush on June 12, 2012, 12:57:09 pm
snip
Damn, I hate it when other people express my thoughts better than I am able to myself. :-/

But yeah, what (s?)he said.

Heh, alrite. I didn't really want to pull the "I know what I'm doing" card but that's exactly what I'm doing.
Then why do you need us? This isn't a rhetorical question, intended to piss you off and get you out of this forum, I'm genuinely interested.
I've studied, practiced and researched this type of development
And what do you have to show for it?
and this type of development is changing the whole industry as we speak - agile, lean, iterative-incremental, and the rest of the buzzwords
And you know that how? From what we see, it's just a bullshit excuse used to postpone important things until the very end. And then push them off the schedule entirely. Who cares about the buzzwords?
If you don't want to be a part of it, fine.
I do want to be part of it. I've always wanted to be a game designer, or at least part of a creative process of some game. Why did you think we (or at least I) don't want to participate?
I don't know what types of backgrounds the two of you have
Gamers. Dunno about Girl, but I would classify myself as a hardcore one. Your point?
the decisions I'm making are based both on modern understanding of how software engineering and project management works.
Nobody cares about that. Show me solid proof of your opinion.
What are you basing your opinions on?
On logic. You base them on buzzwords.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Girlinhat on June 12, 2012, 01:03:10 pm
Mine's based on actual programing - not programing management.  It's one thing to be a boss and tell someone to do something, it's quite another to actually do it.  We're also (or at least I am) speaking out of experience with pretty much every game we've ever played.  Find any game with any userbase and their forums will have "We want X" with the developer responding "X would be too difficult to work into the current system."

Although if you want to be a pretentious prick and spout about how much better you are than everyone else and how we have no right to speak because we're aren't more holy than though, then why the fuck did you come on these forums looking for opinions?  You know what you're doing, you know it so well that you can talk down to us about what we know.  You come looking for ideas and then shoot down ideas instantly because you have no forethought.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 01:18:16 pm
Stuff...


Sorry, I had to cut that off, I just couldn't work with it. I'll explain the things this way.

It seemed to me like you took offence to me telling you I know my shit and implying you don't. That was foolish of me. Sorry.

You said you're a hardcore gamer. That's excellent. That's exactly what I need you for. I need you to play our game and tell me what will be done to improve it. That's what I need you for. You wanted a game design project. Great! You have the correct role. I on the other hand started this experiment as a coding/project management project and I'll want to run it with the methodology that was presented to me as the best one at this point in time. I'll have to endure the results if I make the wrong calls so can you live with me making those calls?

I'm not going to axe stuff like random generation - but the simple fact is that in this state of the game it's no use making one. It doesn't matter how good the maps are - if all you can do is hit green Z pinatas, it's no use. I do have foresight on the type of things that will be added later on. I won't make commitments code-wise that will work against achieving those goals. For instance, I'm not going to implement anything that will make it extra hard on generating random maps.

We good?
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Girlinhat on June 12, 2012, 01:19:55 pm
I'm voting on next feature to add.

10/10 random maps.  All else is good right now, I'm content :3
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 01:24:01 pm
Although if you want to be a pretentious prick and spout about how much better you are than everyone else and how we have no right to speak because we're aren't more holy than though, then why the fuck did you come on these forums looking for opinions?  You know what you're doing, you know it so well that you can talk down to us about what we know.  You come looking for ideas and then shoot down ideas instantly because you have no forethought.

I'm sorry if I misrepresented myself but I have yet to shoot down even one idea. I only said I won't implement some things next. I was sceptical about the item integrity concept simply because it is way too early to think about that. Until zombies can attack you, what's the point of having stronger/weaker armor? I came on these forums to look for people that are willing to design my game. If you think I'm here to shoot down ideas, either I have misrepresented my position of you misinterpreted it. In fact, as I made clear in the original post, I'm looking to have pretty much all of the design done by other people. I'm sorry I came across as an asshole, I just felt at the time that I was being told I don't know about the one thing I've spent a lot of time studying and practicing.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 01:25:43 pm
I'm voting on next feature to add.

10/10 random maps.  All else is good right now, I'm content :3

If you can convince me the game will benefit more from random maps than what I was going to work on next (zombies that can see and attack plus inventory and items), I'll do it.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Caz on June 12, 2012, 01:43:58 pm
You add the currently 'useless' things like random map generation and z-levels because if you don't do it now it will be much more difficult later. How hard is that to understand?  :-\

Not sure why you come here looking for suggestions then pull the "I am game creator so be quiet mortals!" card.

Add level spheres/themes that determine the nature of the surroundings and enemies of the level. Stuff like gore, or water, plant, industrious etc. Think Silent Hill-ish terraforming.

Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: AlStar on June 12, 2012, 01:44:54 pm
I'm voting on next feature to add.

10/10 random maps.  All else is good right now, I'm content :3

If you can convince me the game will benefit more from random maps than what I was going to work on next (zombies that can see and attack plus inventory and items), I'll do it.

While it doesn't immediately go to random maps, going back to the idea of 3d maps - if one of your first tasks is getting zombies to see, when you code them to see, they will be seeing in 2d, yes? If you then go and add 3d, you're going to have to recode the sight code to account for 3d. That's the kind of back-end people are getting at.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 01:54:43 pm
While it doesn't immediately go to random maps, going back to the idea of 3d maps - if one of your first tasks is getting zombies to see, when you code them to see, they will be seeing in 2d, yes? If you then go and add 3d, you're going to have to recode the sight code to account for 3d. That's the kind of back-end people are getting at.

That depends on how you solve the problem of 'seeing', doesn't it? There are right ways and wrong ways of implementing seeing. The wrong way here would be that they can see in two-dimensional space and when we add the third one, we're fucked. The right way to implement is that they can see in n-dimensional space and we just input the number 2 in the equation. When the supporting data structure is there, we change this number to 3.

When people say that I will definitely run into problems when I'm going to implement feature x, they assume I've solved problem x in the code. The idea is, when appropriate, to solve problem y of which x is an instance. I'm not saying I'm perfect and can anticipate all of these situations but I am saying I can anticipate the Z problem and random map generation and many others.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: getter77 on June 12, 2012, 02:48:18 pm
....Running a sideline here a bit for some levity:    :o

Tuplis, what Roguelikes, or even games along the broad umbrella of "Zombie themes",  have you personal experience/enjoyment of/aspirations to some part of that might be challenging to wrangle when the time comes?  Rogue Survivor, Cataclysm, hoping that San Muerte comes back from unlife to have a public release, etc?

I would think such info might help take some of the edge off as to the feel of the situation, as I'd reckon there are reasons likewise as to why you went this this theme versus, High Fantasy, Sci-Fi, etc...
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 12, 2012, 03:03:38 pm
....Running a sideline here a bit for some levity:    :o

Tuplis, what Roguelikes, or even games along the broad umbrella of "Zombie themes",  have you personal experience/enjoyment of/aspirations to some part of that might be challenging to wrangle when the time comes?  Rogue Survivor, Cataclysm, hoping that San Muerte comes back from unlife to have a public release, etc?

I would think such info might help take some of the edge off as to the feel of the situation, as I'd reckon there are reasons likewise as to why you went this this theme versus, High Fantasy, Sci-Fi, etc...

I'll answer your question and also talk more broadly around the game project.

The theme of zombie apocalypse (and other post-apocalypse scenarios as well) fascinates me, I've played many games around the theme, seen many films, I love the walking dead tv-series (didn't read the comics tho). Rogue Survivor is an excellent game too. Also, zombie apocalypse is much better in focusing the scope of my game. High-fantasy and scifi tend to have much more going on in them; magic/technology which permits all kinds of mechanics I necessarily don't want to tackle in my first game. So i chose zombies because it's more about survival and I feel I can tell a much better story about survival than about wizards and warriors or space marines.

The reason I decided to make a game now was because I'm finally at a pointin my life where I have nothing I "have" to do outside of work/career. Up until fairly recently graduating was my ongoing project (in fact, education in general had been the focus on my life for almost 20 years) and I was reluctant to take any time away from pursuing that goal. Now is a good time to start developing a game. Why a roguelike? Because I want to focus on the good stuff; story and learning to be a better coder instead of having to meddle with graphics.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Springare on June 13, 2012, 02:02:20 am
I have a question to the "Zombie Apocalypse"-Theme:

Is it more like "I wake up in the morning, want to get my coffee BAM Zombie in the fridge" style (the apocalypse just started right now... like 5 minutes ago) or is it more "My parents killed Z's their whole life since the outbreak 50 years ago. everything is fuked up and now its my time to pull the trigger"?
Freeworld or tunneld is just a question of where your game happens in one of the above situations.

What I would add:
-diffrent kind of zombies 6/10
-eating/drinking 1/10
-somekind of crafting 2/10 (maybe skill-related?)
-skills 3/10 (first some basic stuff, melee, shooting, looking smart, whatever)
-npc's 7/10 (vendors, other survivors)
-quests 4/10 (ok, this may be a little out of line, but a red-string leading to a awesome bossfight like a mother of zombies, mad scientist who created the virus, situation depended of the above)
-weapons 8/10 (melee or ranged, but melee for the start is fine, maybe "ranged melee" like a poky stick of wood that can poke Z's over a tile away that the player don't get bite in the face)
-a complete list of mentioned points 10/10 (in the op or a google-doc?)
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 13, 2012, 02:26:25 am
I have a question to the "Zombie Apocalypse"-Theme:

Is it more like "I wake up in the morning, want to get my coffee BAM Zombie in the fridge" style (the apocalypse just started right now... like 5 minutes ago) or is it more "My parents killed Z's their whole life since the outbreak 50 years ago. everything is fuked up and now its my time to pull the trigger"?
Freeworld or tunneld is just a question of where your game happens in one of the above situations.

What I would add:
-diffrent kind of zombies 6/10
-eating/drinking 1/10
-somekind of crafting 2/10 (maybe skill-related?)
-skills 3/10 (first some basic stuff, melee, shooting, looking smart, whatever)
-npc's 7/10 (vendors, other survivors)
-quests 4/10 (ok, this may be a little out of line, but a red-string leading to a awesome bossfight like a mother of zombies, mad scientist who created the virus, situation depended of the above)
-weapons 8/10 (melee or ranged, but melee for the start is fine, maybe "ranged melee" like a poky stick of wood that can poke Z's over a tile away that the player don't get bite in the face)
-a complete list of mentioned points 10/10 (in the op or a google-doc?)

We haven't discussed the story yet. That's something that doesn't have to be locked down yet. Originally I thought something along the lines of "I'm chopping firewood at my cabin, suddenly a rotting man attacks me from the woods. I behead him." So I was thinking more along the lines of the first scenario. But as I said, it's mostly up to the people I'm designing with.

As for the points you made, I will have to work on the backlog really soon when I can no longer count all the items with my fingers. Also, I'm working on the item system atm, in my version items can be picked and dropped, soon equipped too. After that you can attack with them. After that it's improving the zombies by letting them see, move and attack. At that point I'll probably pick your idea of different zombie types (the system is basically already there, just have to produce content). So that's the plan for the next release(Ill release droppable/pickable items later today), which is hopefully before weekend. So that's the current plan.
Title: Re: Gauging interest in a community-driven roguelike development project.Volunteers?
Post by: Tuplis on June 13, 2012, 01:16:38 pm
Alrite, I made the backlog and a small text file for the keybinds. Implemented a couple things today that you might wanna try out. Feel free to add stuff in the backlog. If someone is good with spreadsheets, you're also welcome to style up the backlog :) I'm using openoffice, I don't know how the compatibilities are with excel. Saved in excel format for now.

Is there a good way to let a certain bunch of people edit and/or commit files onto my dropbox? If no, you'll have to sent the edited files to me somehow and I'll update them.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 14, 2012, 03:51:52 am
Why not use Google Docs?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 14, 2012, 04:11:19 am
I'll try and get it up once I get home.

edit: google doc is up. The link is the the op and everyone should have rights to modify it.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 14, 2012, 09:48:41 am
...please, please, PLEASE get rid of the 'effort' and 'priority' columns. I can guarantee that nothing except tons of procrastination will come out of them.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 14, 2012, 10:15:58 am
...please, please, PLEASE get rid of the 'effort' and 'priority' columns. I can guarantee that nothing except tons of procrastination will come out of them.

That's half the reason for having them. If one thinks something is worth 10 points and another thinks it's worth 1, maybe it's worth discussing? Those numbers are there to make opinions more transparent and facilitate discussion. (this one was for the priority column)

The effort column is only useful for me, others are supposed to ignore it.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: finka on June 14, 2012, 12:08:03 pm
You want new suggestions still here, or put directly into the spreadsheet?  Here're a few:
- Non-omniscient vision. 
- Sleeping.  That would gamewise seem to necessitate the ability to have a safehouse, so:
- Barricade creation.  Perhaps one of the kinds of crafting.  Reinforcing doors / windows to keep zombies out (would need windows / doors in the map), or perhaps (at suitable material cost) building a new barricade somewhere. 
- Then, conversely, ability of zombies to (incrementally) break down barricades.
- Some sort of swarming or flocking behaviour for zombies, as opposed to just having each one shamble around individually.  In one simulation I wrote (http://ccl.northwestern.edu/netlogo/models/community/Zombie%20Infection%202) this emerged fairly nicely by just having zombies not know the difference between humans and other zombies from a distance, and just shambling after whichever. 

Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 14, 2012, 12:12:46 pm
You want new suggestions still here, or put directly into the spreadsheet?

You can put ideas in the spreadsheet. You can be quite liberal, though use some common sense. (eg. don't put stuff like magic spells there by yourself, we should discuss that kinda stuff first)

Try to break them down to the smallest possible increment that has end-user value. The list you posted is good but try keep it short.

- Some sort of swarming or flocking behaviour for zombies, as opposed to just having each one shamble around individually.  In one simulation I wrote (http://ccl.northwestern.edu/netlogo/models/community/Zombie%20Infection%202) this emerged fairly nicely by just having zombies not know the difference between humans and other zombies from a distance, and just shambling after whichever.

Yes, this is doable. There's actually a pretty good chapter on this topic in Algorithms and Networking for Computer Games by Jouni Smed and Harri Hakonen (2006). I can definitely recommend this book for anyone who'll be working on a game. I've read (and took an exam on) chapters 1-7.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 14, 2012, 03:15:22 pm
Implemented seeing (range 3 on this build) and zombies will attack any non-zombie they see. The difficulty is quite tough but go to the next stage (f10) and it should be easier.

Try and see how much moving in the large map uses up your cpu. The current seeing mechanism might be quite heavy and could require rework.

Known bugs:
-Inventory won't work properly with multiple items. I forgot to fix it and just realized now :D
-The text will get messed up if two or more zombies are beating you at the same time.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: finka on June 15, 2012, 12:28:15 am
Try and see how much moving in the large map uses up your cpu. The current seeing mechanism might be quite heavy and could require rework.
If there is any lag from seeing it's not enough for me to notice it. 

I'm on a laptop with no numpad, so it'd be nice to have an alternate keybinding for pause I can use. 

Examining an inventory item maybe shouldn't use a whole turn's worth of time; in most roguelikes it's a free action, isn't it?  I guess that would be part of the "timer for actions with different speeds" task.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 15, 2012, 12:55:06 am
If there is any lag from seeing it's not enough for me to notice it. 

I'm on a laptop with no numpad, so it'd be nice to have an alternate keybinding for pause I can use. 

Examining an inventory item maybe shouldn't use a whole turn's worth of time; in most roguelikes it's a free action, isn't it?  I guess that would be part of the "timer for actions with different speeds" task.

I'll add the pause for another key later today.

I thought about the examine thing for a sec. Since I haven't implemented the "different actions take different amounts of time" feature, I just had to decide whether it takes a turn or not. Anyway, suppose you take an item from your backpack / pocket and thoroughly examine it, don't you think it would take at least as long as it takes to throw a punch / take a step or two? :)

On the other hand, changing it takes 5 seconds so maybe I'll just do it for the next one.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 15, 2012, 02:07:00 am
You forgot to limit player's line of sight. :D

Edit: Bug #1:(http://img710.imageshack.us/img710/8578/5f58a4dd651d4c98a72f1d7.png)

Edit 2: Also, why did you add numpad movement if it's impossible to move diagonally (aka the whole purpose of the numpad movement)? o_0

Edit 3: Maybe we shouldn't allow zombies to break walls? Seems unrealistic to me.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 15, 2012, 03:43:52 am
You forgot to limit player's line of sight. :D
Edit: Bug #1:
Edit 2: Also, why did you add numpad movement if it's impossible to move diagonally (aka the whole purpose of the numpad movement)? o_0

I didn't forget to limit the player's line of sight. I implemented "seeing" basically like this: find the nearest non-zombie and move to attack. That has nothing to do with how the terminal component displays the stage. So it's basically just a breadth-first (dijkstra's algorithm).

The text bug I mentioned a few posts up. I'll write a console message component later when we deem it appropriate. Is this the bug I described?
I'll add diagonal movement too later. Finka has a laptop that can't support it so I'd have to either bind some non-numpad keys (which ones?) to do the same thing or implement mouse support (ain't happening, at least not yet)

btw, what's a popular keybind for a 'pause' other than numpad 5?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 15, 2012, 04:05:42 am
btw, what's a popular keybind for a 'pause' other than numpad 5?
Numpad 5 has always been 'wait a tick'. Always. Everywhere.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Thief^ on June 15, 2012, 04:22:11 am
Keyboards have a key that's actually marked "Pause", you could use that!
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 15, 2012, 04:28:22 am
Numpad 5 has always been 'wait a tick'. Always. Everywhere.

Obviously. But Finka and a lot of other laptop users do not have that key. And it could be that some laptops don't have the pause/break key either.



Also, go read the backlog items marked with ?, I posted some questions there you might want to think about.

Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Thief^ on June 15, 2012, 04:31:32 am
Oh to chime in on the earlier discussion: Agile has a concept called "technical debt". It means: "do something right the first time, don't waste time doing something in a way that will need to be re-written later". "Converting to 3D" after you write so much of the rest of the game would be incurring massive technical debt because you'd end up refactoring so much of the rest of the game, so it'd become something you'd do before other tasks. You can't write code in such a way that it won't need to at least be partially redone for the change to 3D (because you can't verify whether it works with 3D or not until after you've written the 3D code), so either do it now or drop 3D as a feature.

This is me speaking as a professional games programmer that's been using agile for years.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 15, 2012, 04:50:14 am
Oh to chime in on the earlier discussion: Agile has a concept called "technical debt". It means: "do something right the first time, don't waste time doing something in a way that will need to be re-written later". "Converting to 3D" after you write so much of the rest of the game would be incurring massive technical debt because you'd end up refactoring so much of the rest of the game, so it'd become something you'd do before other tasks. You can't write code in such a way that it won't need to at least be partially redone for the change to 3D, so either do it now or drop 3D as a feature.

This is me speaking as a professional games programmer that's been using agile for years.

I am familiar with the concept and do agree with you in principle. However, I have taken this into account and currently have not made hard commitments coding wise to presentation in 2d. The functionality is in most part pretty generic so as to facilitate easy change of mind and where it's not, it's compact enough to easily be modified.

In my opinion the more important issue occurred after someone mentioned this whole 3d thing a while back and a huge shitstorm erupted over how it can/can't be this and that. How many roguelikes have implemented 3d seeing in the first place? And how many of those games are the first roguelike the developer wrote? Off the top of my head, I can't remember any roguelike outside of dwarf fortress where the enemy even followed much less spotted me when elevation was concerned. Beating that game would be quite a tall order.

I should probably blame myself for offering the community too much rope to hang me with.

What do you think, Thief^ ?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Thief^ on June 15, 2012, 04:54:37 am
I think 3D (in the level layout sense) should be dropped if you're not going to do 3D drawing. It's just damn confusing otherwise (sorry DF, but it is).

EDIT: This doesn't mean you can't have "floors", but it does mean you can't have "hills".
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 15, 2012, 04:55:15 am
Who removed a ton of my entries in the backlog? :-/
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 15, 2012, 04:59:14 am
I sorted it by priority and added two of my own, can't see any removed tho.

What disappeared?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 15, 2012, 12:31:18 pm
Released another version.

- Can now equip and unequip items (there's only one weapon right now, try it out!)
- Zombies will now shamble about when they have nothing better to do.
- New menu system

Known "issue":
- You can't backtrack in the inventory. I need to study the UI component some more.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: finka on June 15, 2012, 12:52:13 pm
On pause keys I can use:  is there something you want to do, Tuplis, with the main-keyboard digit keys that merits keeping them distinct from the numpad keys?  You could do press 5 to wait a tick, doesn't matter which 5. 

Edit 3: Maybe we shouldn't allow zombies to break walls? Seems unrealistic to me.
Yeah, totally unrealistic.  Man, the last zombie I met couldn't claw his way out of a wet paper bag :P

Anyway, I suggested that as part of the barricading stream of ideas, the idea being that if the zombies want to get in at you somewhere, but you're on the other side of like a big thin wooden door or something, they could eventually break through it.  Perhaps "walls" was the wrong word; they probably can't get through most walls.  Feel free to edit the wording, or break it down into subtasks (environment material strength + damage?), or whatnot.  Or not, and vote it value 0. 

You can't write code in such a way that it won't need to at least be partially redone for the change to 3D,
Can't you, in principle?  As Tuplis has pointed out, you could go so far as to store cell coordinates as tuples of no fixed length (and cells in a hash table rather than a big fixed array, and so on), and switch to any number of dimensions just by changing a constant somewhere.

Toady's painstaking experience converting DF to 3d, with a massive technical debt, is of course etched deep in our collective memory round here.  But that's one data point.

How many roguelikes have implemented 3d seeing in the first place?
How many roguelikes use the third dimension as a dimension, and not just a level-progression mechanism which happens to be dressed up as "down", in the first place?  Going down then up again generating you a completely new dungeon level isn't really behaving like ... space.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: qwertyuiopas on June 15, 2012, 01:45:37 pm
One thing that would be important, I think, would be a way of representing key features of what is above you, if it was 3D. Simply being able to tell where there is a roof directly overhead, or a hole that requires further inspection, without having to constantly enter look mode (or whatever), and check a level above.

It could be handled as simply an extra bit of shading that distinguishes whichever is less common/more interesting, without interfering much with the presentation of whatever is being drawn at that space.

Another consideration would be something like this:
(side view)

#_@_               __$#
#  #                z #


Where the @ is the player, the $ is some interesting item, and the z is an enemy which is rather important to know about.

This could be handled by showing interesting stuff that would be obscured by something drawn on the current level as a transparent image. Or perhaps DF-style switching between the current floor's object, and a symbol that represents "something visible above/below that is rather important", the way dwarves get an extra state that they flash to when hungry, thirsty, or tired.


Of course, all of this only matters in a fully 3D world.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 16, 2012, 06:35:58 am
Alrite, back with some news:

-Timer that allows for different speed has been released (and I fixed the invincibility bug that it caused in the version before). Currently the player has a speed of 100 and zombies are at 80.
-Implemented wearable items. It's a natural extension of the weapon equipping system and from now on, adding new item slots and new items is a quite mechanical process. Good times!


What kinds of equippable items would you like to see? Currently weapons only have the damage attribute which basically increases hit damage by 0-damage and the armors have armor attribute which reduce damage by armor amount.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: finka on June 16, 2012, 11:23:00 am
What kinds of equippable items would you like to see? Currently weapons only have the damage attribute which basically increases hit damage by 0-damage and the armors have armor attribute which reduce damage by armor amount.
Well, some sort of gun is a sine qua non of zombie stuff, isn't it? 
And once you get player vision in, light sources are another standard. 
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 16, 2012, 12:12:07 pm
Well, some sort of gun is a sine qua non of zombie stuff, isn't it? 
And once you get player vision in, light sources are another standard.

Right. Adding a ranged weapon at this point would basically mean having to implement line of sight also. We need to figure out which line of sight system to use, though.

edit: just released flocking. It looks kind of dumb atm. I wouldn't like to spend any more effort on it because it will be at least partially incompatible with hearing/smelling. On the other hand, we now have a general-purpose breadth-first(dijkstra) algorithm on our hands so that might prove useful later.

edit2: I'm currently facing a kind of dilemma. I feel as though we're at a point where the majority of the items in the backlog aren't really relevant at this level of development. Instead, I feel we should direct the scope of the game somewhat in an attempt to focus the development to a certain path. For example, if I were to add random map generation at this point, I'd need to decide the types of maps it would produce. That on the other hand will basically lock down the scope of the game: for example, I might make the generator generate cities, rural areas with trees and sparse housing or caves/dungeons a la nethack. Currently I don't feel like I possess the skills to make a generic enough random map generator that could switch between those categories with changes in parameter inputs only.
On the other hand, adding the item integrity system Dariush proposed would mean this would become more focused with equipment. And stuff like barricading and sleeping would mean the game is first and foremost about survival (kinda like Rogue Survivor) whereas it could be about something else.
So, what kind of a zombie apocalypse game are we making?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 17, 2012, 06:36:47 am
Alrite, uploaded another version that allows for different kinds of zombies. Actually it turned out very good in my opinion. The way it works is that there's an xml-file under resources/creaturetemplates and the creature attributes, including sign, color, sight and physical attributes can be edited by anyone. Or a totally new creature can be created by anyone from zip and pip. Later on when map generation is implemented, this mechanism will also enable anyone to add custom-made monsters to any map. The xml object builder I created is very generic and will later allow the xml file based mass-production of pretty much any object we might need (including random generated maps based on parameters given in an xml file). Awesomeness!

Also, since no one has answered anything, I will repost the question I asked in my last post:


I'm currently facing a kind of dilemma. I feel as though we're at a point where the majority of the items in the backlog aren't really relevant at this level of development. Instead, I feel we should direct the scope of the game somewhat in an attempt to focus the development to a certain path. For example, if I were to add random map generation at this point, I'd need to decide the types of maps it would produce. That on the other hand will basically lock down the scope of the game: for example, I might make the generator generate cities, rural areas with trees and sparse housing or caves/dungeons a la nethack. Currently I don't feel like I possess the skills to make a generic enough random map generator that could switch between those categories with changes in parameter inputs only.
On the other hand, adding the item integrity system Dariush proposed would mean this would become more focused with equipment. And stuff like barricading and sleeping would mean the game is first and foremost about survival (kinda like Rogue Survivor) whereas it could be about something else.
So, what kind of a zombie apocalypse game are we making?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: getter77 on June 17, 2012, 06:57:10 am
Congrats on the swift progress.

As to the type, well, I would say there is already a good bit afoot that deals with the urban and suburban sprawl in terms of Zombie Apocalypse---so striking out to parts lesser trod seems like it might serve it well as part of the initial hook to distinguish in addition to this rather open development style.

I'd favor a Grindhouse style revenge motif(Awake in cabin, family just newly dead, player character utterly snaps and goes on frenzied bid unto destruction..or something), emphasizing far less on the mathematical details versus over the top exaggerated cause & effect in terms of physics so as to get nicely visceral and lethal on all ends.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 17, 2012, 06:57:39 am
I feel as though we're at a point where the majority of the items in the backlog aren't really relevant at this level of development.
Goddammit. We've been over this already.

Currently I don't feel like I possess the skills to make a generic enough random map generator that could switch between those categories with changes in parameter inputs only.
Just make a single type for now and then elaborate when the time comes. Make two 'planes' - overworld and underworld (dungeons), with the former being more open-ended and the latter cavey-nethackey style and add transition between them such as through mines or sewers. Add both large cities and sparse villages in the same world. How are you planning to generate cities anyway?
On the other hand, adding the item integrity system Dariush proposed would mean this would become more focused with equipment. And stuff like barricading and sleeping would mean the game is first and foremost about survival (kinda like Rogue Survivor) whereas it could be about something else.
Both of those points are wrong. Making the game deeper and more complex doesn't make it more focused. If, for example, you prefer to be constantly on the run, you won't have to give a fuck about the possibility of building barricades. If you want to hole up in a safe basement and allow robots and converted zombies to defend you, you won't need to worry about item integrity, and so forth. So really, the best idea is simply to implement everything and allow player to choose what he wants to use.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 17, 2012, 07:01:36 am
By the way, does the game actually allow for different creaturesm apart from the player and zombies? How did you implement the zombies? By adding an 'is_zombie' flag to a specific creature class? (are there actually classes in Java?..)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 17, 2012, 07:15:45 am
Just make a single type for now and then elaborate when the time comes. Make two 'planes' - overworld and underworld (dungeons), with the former being more open-ended and the latter cavey-nethackey style and add transition between them such as through mines or sewers. Add both large cities and sparse villages in the same world. How are you planning to generate cities anyway?
...
Both of those points are wrong. Making the game deeper and more complex doesn't make it more focused. If, for example, you prefer to be constantly on the run, you won't have to give a fuck about the possibility of building barricades. If you want to hole up in a safe basement and allow robots and converted zombies to defend you, you won't need to worry about item integrity, and so forth. So really, the best idea is simply to implement everything and allow player to choose what he wants to use.

Ok, it seems to me like you still don't understand the development paradigm.

Do you know the term 'feature creep'? Perhaps the most known example of a product that experienced feature creep is Duke Nukem Forever. What happened with that was that they had been developing for ages and the Big Boss kept seeing all these cool features the other games were getting and decided that they need to have it too, like for example cool snow effects. The boss decided they wanted awesome snow effects so now they had to develop a snow level. That's a prime example of design following implementation when it should be the other way around. Now, I'm not going to commit to building something big like a random map generator when there's at least a 50-50 chance that work is useless in the long run (or we have to commit to what I pulled out of my ass). And from that you can probably realize that your idea of "implementing everything" is not a good idea since I can't invest 8 hours every day on this project. Can't afford feature creep.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 17, 2012, 07:20:27 am
By the way, does the game actually allow for different creaturesm apart from the player and zombies? How did you implement the zombies? By adding an 'is_zombie' flag to a specific creature class? (are there actually classes in Java?..)

Yes, there are classes in java. Those are the things you create objects from.

There is a class called Zombie in the game. It is a subclass of NonPlayerCharacter which is a subclass of Creature (PlayerCharacter is another subclass of Creature). So far those are all the creature classes there are. You can differentiate a zombie from another creature by checking whether it originated from the Zombie class.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 17, 2012, 07:26:17 am
Feature creep isn't a thing in roguelikes. At any given moment more features is better than less, regardless of all other factors. Look at DF, Nethack, Dungeon Crawl. All of them are in constant development and nobody complains about feature creep. Moreover, EVERY roguelike MUST have randomized maps. That's in the very definition (http://tvtropes.org/pmwiki/pmwiki.php/Main/Roguelike).
Quote
Roguelikes are centered around Dungeon Crawling through randomly-generated environments randomly stocked from a huge list of monsters and items. Some (such as ADOM) also have a static overworld and/or special levels, but even those games rely on random content in other places.
There's just no point in playing in the same map over and over again.

There is a class called Zombie in the game. It is a subclass of NonPlayerCharacter which is a subclass of Creature (PlayerCharacter is another subclass of Creature). So far those are all the creature classes there are. You can differentiate a zombie from another creature by checking whether it originated from the Zombie class.
Hm. Maybe you should scratch the zombie class and instead implement the flag I mentioned? It would allow for stuff like zombie animals and, depending on the implementation and the similarity to other classes, greatly ease the process of zombification (i.e. you'll be able to simply change one value instead of moving the object to a completely different class).
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: finka on June 17, 2012, 07:36:06 am
I'd favor a Grindhouse style revenge motif(Awake in cabin, family just newly dead, player character utterly snaps and goes on frenzied bid unto destruction..or something), emphasizing far less on the mathematical details versus over the top exaggerated cause & effect in terms of physics so as to get nicely visceral and lethal on all ends.
Well, not to say we couldn't, but the roguelike "permadeath is always just around the corner; weigh your options carefully" ethos is a bit at variance with "snaps and goes on a frenzied bid unto destruction".

Regarding choice of map style and all that.  How much do you care about a consistentish backstory?  Urban is at least easy that way: the cities are where all the people are to start with.  If instead the maps you implement (now) are traditional roguelike cave / dungeon style, why would there be zombies congregating in such places?  Because that's where the citizenry decided to hide out (odd choice, I'd think) before they succumbed?  Because the zombies themselves are drawn to the deep dark places?  etc.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 17, 2012, 07:42:09 am
If instead the maps you implement (now) are traditional roguelike cave / dungeon style, why would there be zombies congregating in such places?  Because that's where the citizenry decided to hide out (odd choice, I'd think) before they succumbed?  Because the zombies themselves are drawn to the deep dark places?  etc.
- Because miners;
- Because you were hunted by zombies until you stumbled into this place. Their sense of smell is worse in tight places, so they aren't able to instantly track you. Or maybe you just blocked the exit;
- Because zombies are resurrected corpses, which are typically found in the earth;
- Because it was once a city, but survivors built another one above after it succumbed to zombies, and you're stuck inside.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 17, 2012, 07:42:20 am
Feature creep isn't a thing in roguelikes. At any given moment more features is better than less, regardless of all other factors. Look at DF, Nethack, Dungeon Crawl. All of them are in constant development and nobody complains about feature creep.
...
Hm. Maybe you should scratch the zombie class and instead implement the flag I mentioned? It would allow for stuff like zombie animals and, depending on the implementation and the similarity to other classes, greatly ease the process of zombification (i.e. you'll be able to simply change one value instead of moving the object to a completely different class).

Wait, what? Feature creep isn't a thing in roguelikes? Nobody complains about feature creep?
Feature creeping has the following effects:
- Long development times
- More stress for the developer

Now, correct me if im wrong but as far as I know, these are typical attributes for roguelike development:
- Long development times (how long have nethack and DF had between releases? LOL!)
- Lots and lots of failed projects (because the developer got frustrated and quit)

I dare say that out of all game development, roguelikes are THE most susceptible to feature creep because they are in almost 100% of the cases not productized (focused in scope) properly.

Also, don't worry about zombification, etc. I've generalized to the point where I don't have to be concerned with issues like the one you pointed.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 17, 2012, 07:49:05 am
Regarding choice of map style and all that.  How much do you care about a consistentish backstory?  Urban is at least easy that way: the cities are where all the people are to start with.  If instead the maps you implement (now) are traditional roguelike cave / dungeon style, why would there be zombies congregating in such places?  Because that's where the citizenry decided to hide out (odd choice, I'd think) before they succumbed?  Because the zombies themselves are drawn to the deep dark places?  etc.

I'd say we can justify any map style whatsoever. It's more about what type of a story we're telling. For example, we could easily go for the standard cave-type dungeons that are in almost all roguelikes. Consider this scenario: The government anticipated a zombie outbreak and had huge vaults (a la fallout) built and the people were relocated there to weather out the storm. Now, conveniently for us, the quarantine goes to shit at some point and voila, we have caves full of zombies, right? Hero needs to find his way out or sth.

I'm not saying this is the one we definitely want to choose, I'm just saying we should pick a style that's most likely to be popular and fit the story around that.

Personally I'd lean towards some rural setting (forests, fields, sparse housing) as my original, intuitive idea was. City has been done (Rogue Survivor, which I respect immensely and would rather not copy) and obviously 90% of the roguelikes explore caves so this would just be a dungeon crawler with another skin.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: getter77 on June 17, 2012, 11:31:36 am
I'd favor a Grindhouse style revenge motif(Awake in cabin, family just newly dead, player character utterly snaps and goes on frenzied bid unto destruction..or something), emphasizing far less on the mathematical details versus over the top exaggerated cause & effect in terms of physics so as to get nicely visceral and lethal on all ends.
Well, not to say we couldn't, but the roguelike "permadeath is always just around the corner; weigh your options carefully" ethos is a bit at variance with "snaps and goes on a frenzied bid unto destruction".

Technically even permadeath isn't of the utmost incredible importance, but the "around the corner" part certainly isn't a given----windshield killin' is a long established trope.  Somewhat relevant, there was a competition entry some months back involving a Dwarven Berserker descending into a mine in such a way that death was inevitable and in the end it all came down to how far down you could make it and how many Orcs and such you could take with you.

I see having this more stylized/pomp/swagger to be a good route to take it as opposed to simulationist as the latter generates depth in the sense of filling out a rubric that is kinda locked down in peoples minds at this point between Cataclysm, Rogue Survivor, etc---yet it strikes me that this project, one meant to evolve in fits of punctuated equilibrium and general organic growth, would do well to keep the player guessing and to shoot for "the experience".



As to the feature creep part:  Yes folks, trust me, it is a thing in Roguelikes in a big way....the "Talkie" phenomenon being the biggest graveyard.  The like of Dwarf fortress working as it does is moreso the exception beget of a confluence of disparate circumstances, not the rule.   Creeping ain't a bad thing though when paired with released early/often, but can still get out of hand before you get a foundation proper.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 17, 2012, 12:34:16 pm
I see having this more stylized/pomp/swagger to be a good route to take it as opposed to simulationist as the latter generates depth in the sense of filling out a rubric that is kinda locked down in peoples minds at this point between Cataclysm, Rogue Survivor, etc---yet it strikes me that this project, one meant to evolve in fits of punctuated equilibrium and general organic growth, would do well to keep the player guessing and to shoot for "the experience".

For one, I'm interested in what you are proposing. What do you feel would be the next few steps implementation wise to take this game to the direction you're describing? If we simulate that atmosphere by maybe making a map or two (quickly done) and implementing line of sight / guns, we would get some usable features even if we decide to ditch that route. Please describe in some detail what kind of a scenario you'd like to try, getter77.

I definitely want there to be a factor (besides the zombie apocalypse which is very popular at the moment) that differentiates this game from all the other roguelikes out there so giving this game a little "arcade" feel might be a good idea, actually.

What is everyone thinking?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 17, 2012, 01:03:02 pm
What is everyone thinking?
"Mmmm... I sure would like some ice cream right now..."
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 17, 2012, 02:15:25 pm
A new version is out:

-Implemented line of sight (Bresenham)
-Implemented sight range (5) for the player

Next I think I'll configure the xml builder to also build items.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: getter77 on June 17, 2012, 04:08:39 pm
I see having this more stylized/pomp/swagger to be a good route to take it as opposed to simulationist as the latter generates depth in the sense of filling out a rubric that is kinda locked down in peoples minds at this point between Cataclysm, Rogue Survivor, etc---yet it strikes me that this project, one meant to evolve in fits of punctuated equilibrium and general organic growth, would do well to keep the player guessing and to shoot for "the experience".

For one, I'm interested in what you are proposing. What do you feel would be the next few steps implementation wise to take this game to the direction you're describing? If we simulate that atmosphere by maybe making a map or two (quickly done) and implementing line of sight / guns, we would get some usable features even if we decide to ditch that route. Please describe in some detail what kind of a scenario you'd like to try, getter77.

I definitely want there to be a factor (besides the zombie apocalypse which is very popular at the moment) that differentiates this game from all the other roguelikes out there so giving this game a little "arcade" feel might be a good idea, actually.

What is everyone thinking?

In terms of concrete mechanics..hmm..

-Physics, particularly of the dramatically exaggerated sort.  Most base form:  Knockback and Momentum/Weight/Collision.  Zombie bashed by player with a Sledgehammer, through a window/glass sliding door, smashing at last into a nearby tree to either then crumple in a broken heap, get impaled on a branch, or fell the tree from the impact depending on the state of the tree, circumstances,etc.

-Weapons that center on their utmost function, not so much chipping away at die rolls.   A Sledgehammer favors literal crushing and sending things flying, an Axe dismemberment of all sorts, and so forth.  "El Ray the RL" might be a bit of a stretch, but if you've seen the movie you can generally figure it from there.  Positioning, timing, resources at hand employed, and the circumstances at the time being the defining aspect of combat.

-In other words, as it was in Grindhouse/Planet Terror, turn the convention of "survival" upside down a tad via liberal application of Power Fantasy such that you still have to survive outlandish horrors, but will start out far from being the usual weakling versus the massing hordes of whatever while getting better still.  You can only get so over the top when approached mathematically, but logically and thematically?  Imagination and scenario are the only things to deal with outside of the tricky coding.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Cities_Burn on June 18, 2012, 04:24:43 am
Limb damage system is always good  8)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 18, 2012, 07:08:29 am
Since Google Docs isn't a good dialogue platform, let's take the noise/hearing discussion here.

You yourself said that every feature should be broken down into the smallest possible components. It would be hard for creatures to react to noise that isn't there, wouldn't it?

In any case, here's how I propose it should be done: Every action has a loudness rating (0 for silent actions, gets progressively higher for louder actions) and a type - shot, branch crunch, zombie moan, human moan, fighting, etc. At the time of an action, a sound with the initial loudness is generated at the tile where the action happened, which then propagates into every direction, losing 1 loudness per tile, until it reaches, let's say, -4. Obstacles such as walls give a penalty to the sound that passes through them. If the sound of different loudness reaches the same tile by two different ways (for example, after going around the wall), the higher value is taken. Creatures have a hearing modifier that is expressed in integers between, for example, -5 and 5. This modifier is added to the sound perceived by this creature. If it is above 0, the creature heard the sound. If it is below 5, the creature isn't certain about the origin and slowly goes to investigate. If it is above 5, the creature searches for the origin of the sound at a run. Additionally there's a set of exceptions: for example, a certain type of zombies may be repelled by a wailing siren, which attracts some other kind more strongly. Player receives different messages depending on perceived loudness and type of the sound, optionally he is unable to recognize the type if the sound is below a certain threshold. Just for kicks, we may add a random queit ambient sounds that a good listener may mistake for zombie footsteps. :D
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 18, 2012, 07:26:32 am
Since Google Docs isn't a good dialogue platform, let's take the noise/hearing discussion here.

You yourself said that every feature should be broken down into the smallest possible components. It would be hard for creatures to react to noise that isn't there, wouldn't it?
...
<Technical details>

This is what I said:
Every new backlog item needs to have end-user value.
...
When adding a new item, consider whether you can break it down to independent functionalities out of which at least one has end-user value in itself. Iterate this process until you can no longer break the feature down.
Making sounds does not have intrinsic end-user value unless a monster can react to them. Therefore, making sounds is not a backlog item. You made it a backlog item and as a result, we're having a non-implementer (that's you) listing down implementation details.

I explained the concept once already: You're supposed to implement large underlying systems (making sounds) after you can justify the effort with backlog items that use the system and have end-user value (hearing, smell, general ai). If we include backlog items that have have no end-user value, we will get stuck developing "features" that will not be available because the content part (ie. reacting to hearing and smell impulses that are available) is missing. First you decide what you want (that's the job the community has), then how you want it(that's my job).



edit: just released a new version with ranged weapons! Works with the xmlbuilder so you can play around with it (pistol.xml) check the new keybinds from the help file.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: qwertyuiopas on June 18, 2012, 02:11:30 pm
The player also gets to use sound, though. So, for two features that could justify sounds: Player hearing (listen closely at a door, and you may hear a zombie moaning on the other side. Or around corners. Or perhaps a distant wolf (in an open above ground setting) that signifies both relative lack of zombies, and a possible risk of encountering more dangerous creatures), and "sleeping" opponents (could just be distracted or inactive) (wake when they hear something loud enough)

It would also allow for more stealth-type gameplay, as you could throw a rock at a distant wall, drawing attention in that area, and then quietly pass through another route, where the now-distracted zombie would have noticed you.

But as a simple "reasons to introduce this feature", sleeping opponents and an additional sense for the player can be added long before there is any sort of decent AI for enemies, and both of them would have effects clearly visible to anyone playing.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 19, 2012, 02:10:55 am
So, you took a full post to bash my heretical view of your pa-a-aradi-i-igm, but don't so much as review the technical details I proposed. Nice going, there. I can see bright future for this game.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 19, 2012, 02:31:35 am
So, you took a full post to bash my heretical view of your pa-a-aradi-i-igm, but don't so much as review the technical details I proposed. Nice going, there. I can see bright future for this game.

Ok, here goes:
You took your time to explain how an influence map works. Good job. There's no need to go into details like numbers, though (and certainly no point using negative numbers). I linked a book here ealier. There's a good chapter in there about influence maps.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Thief^ on June 19, 2012, 02:48:25 am
Basically, Tuplis is asking for a gameplay design, not a technical design. He's coming off as a bit harsh, but I see his point. Problem is I think that most of us here are technical...
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 19, 2012, 03:12:41 am
Basically, Tuplis is asking for a gameplay design, not a technical design. He's coming off as a bit harsh, but I see his point. Problem is I think that most of us here are technical...

That's what I'm getting at in the end, yes. I'm looking for gameplay designers and I seem to be getting too much technical design. I am being a bit harsh right now, that's correct. I tried to be polite but the development paradigm I'm using came under fire pretty quickly and I've had to repeat myself constantly since then so I'm a little frustrated in that regard. I am definitely getting too defensive/passive-aggressive though so yeah, maybe I should try to soften my tone again.

I'm looking to bring out the PLAYER in each and every one of you. Just trust that I can get the stuff done and throw at me the type of features a good gaming experience consists of in your opinion.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 19, 2012, 03:41:47 am
'There should be hearing' is not gameplay design. What I described is.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Thief^ on June 19, 2012, 04:00:57 am
No what you described is a technical design.

The gameplay design equivalent would be:
Zombies make sounds (list/examples) that the player can hear, alerting them to nearby threats. Noise/hearing system must be general enough that any creature (including the player) and objects (e.g. doors, grenades, etc) can make noises and any other creature can hear them. Sounds should have a tunable volume affecting the distance they can be heard, and should travel through walls (albeit more quietly than through air) and around corners.
Some (list/examples) player actions make noise that attracts nearby zombies even when they can't see the player.

No numbers. No algorithms.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 19, 2012, 04:01:58 am
I'll quote a little bit of wikipedia here (the name of the article is "gameplay"):

Quote from: Wikipedia
Key concepts in gameplay design are:

The presence of an environment.
The ability for objects within the environment to change.
Rules governing changes of state of objects—such as position—in response to the state of other objects and/or decisions made by the player.
Player rewards and punishments resulting from changes to the state of the game[clarification needed].
Players being able to manipulate objects or interact with the environment and its objects.

Now, my idea was basically what you just had in quotes - monsters can react to sounds (that's the third item on the list). Your idea was that "actions need to make sounds" which is... which one of these? Just making sounds without the ability to react to them is one-way communication so we can forget everything that has to do with interaction.

Furthermore:

Quote from: Wikipedia
The term gameplay can be quite ambiguous to define, thus it has been differently defined by different authors.

For instance:

"A series of interesting choices." -Sid Meier 
"The structures of player interaction with the game system and with other players in the game."
"One or more causally linked series of challenges in a simulated environment."
"A good game is one that you can win by doing the unexpected and making it work."
"The experience of gameplay is one of interacting with a game design in the performance of cognitive tasks, with a variety of emotions arising from or associated with different elements of motivation, task performance and completion."
"Gameplay here is seen as the interactive gaming process of the player with the game."

- it's not a choice
- it's not a structure of player interaction, it's a component of it
- it's not causally linked
- it's not interaction, it's one-way

"Making sound" is not gameplay. You designed something that isn't gameplay, therefore you didn't do gameplay design.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on June 19, 2012, 06:40:37 am
Hello all!

I came here through the link at RogueBasin, played a bit, and liked the concept! So can I join?

Features that I would like:
  * doors (8/10) - especially if you can mark them on the map (latter i would say they can be locked, unlocked or hackable with an axe.. but its supposed to go little by little right?)
  * sand (4/10) - map zone with a different color from which zombies can spawn
  * hole (5/10)- entrance to the next map, if I don't want to kill all the zombies (if we really need to kill them all, at least use a smaller first map and increase all the way :P)
  * blood (2/10) - just for cosmetic purposes
  * placing the weapons in the map (6/10) - i drawed like a cabin, and would like to put the pistol there, and instead start without weapons

Thats all for now :)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 19, 2012, 06:58:44 am
Hello all!

I came here through the link at RogueBasin, played a bit, and liked the concept! So can I join?

Features that I would like:
  * doors (8/10) - especially if you can mark them on the map (latter i would say they can be locked, unlocked or hackable with an axe.. but its supposed to go little by little right?)
  * sand (4/10) - map zone with a different color from which zombies can spawn
  * hole (5/10)- entrance to the next map, if I don't want to kill all the zombies (if we really need to kill them all, at least use a smaller first map and increase all the way :P)
  * blood (2/10) - just for cosmetic purposes
  * placing the weapons in the map (6/10) - i drawed like a cabin, and would like to put the pistol there, and instead start without weapons

Thats all for now :)

Hello, nullzero! You are very welcome to join.

To quickly comment on your ideas:
-doors: works, add to the backlog
-sand: Is this what you mean: "A type of tile where zombies randomly spawn during gameplay" ? If yes, then add to backlog. Otherwise, please explain
-hole: Good. put in the backlog
-blood: Good.
-placing weapons on the map: I've thought about this myself and have an idea of how to manually add monsters and items on the map by specifying them in the map file. I need to evaluate whether I can chop this down and how much effort it will be. Put it in the backlog.

Also: if you can upload me the map you made I can include it in the game.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on June 19, 2012, 07:22:13 am
-sand: Is this what you mean: "A type of tile where zombies randomly spawn during gameplay" ? If yes, then add to backlog. Otherwise, please explain

ok basically I wanted to have a place in the map, lets say a graveyard, from which zombies would appear near range from the ground without warning. I would like to be an area visible on the map, hopefully with a different color. Like the zone with the points in the code below.

Code: [Select]
#####################
#                   #
#                   #
#                   #
#                   #
###### ######## #####
#...................#
#...................#
#...................#
#...................#
#...................#
#...................#
#...................#
## ##### ###### #####
#                   #
#                   #
#        @          #
#                   #
#####################

But seeing now it can be split into two parts.
 i) a hidden spawn in the map (the player would see normal ground and then the zombie would appear suddently like a trap)
 ii) a diferent type of floor (maybe where speed would be reduced) and with a different coloring than the walls, (good for mapmaking)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 19, 2012, 12:25:50 pm
Doors released. I'm currently working on a map generator where you can use any characters for the map tiles, then specify which tile is which with some very easy script (and the xmlbuilder) and the game will automatically build it for you.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 19, 2012, 02:00:54 pm
Hey again!

Just made a pretty big leap again:

-Improved the quality of the door function. Didn't have time to clean everything away so the Type-field in the xml file is kinda meh rite now.. which brings me to..

-As a mapmaker, you can now define what each and every one of the characters you put on the .txt maps mean. Read through the 2.txt map file under Resources/Maps/ to get the idea. Example:


################################################################
################################################################
################################################################
################################################################
################################################################
################################################################
################################################################
################################################################
############################...............#####################
###########################..#############.#####################
#########################...##############.#####################
########################..################.#####################
########################.#################.#####################
########################.#################.#####################
########################.#################.#####################
########################.#################.#####################
########################.#################.#####################
########################.#################.#####################
########################.#################.#####################
########################.#################.#####################
########################...................#####################
##########################.#####################################
##########################.#####################################
##########################.#####################################
##########################+#####################################
##########################.#####################################
##########################.#####################################
##########################...###################################
############################.###################################
############################...#################################
##############################.#################################
##############################.#################################
@ = 30,31
# = BasicWall
. = BasicFloor
+ = BasicDoor




what this means is that
- you start at the coordinates 30,31
- # stands for the type of tile defined in BasicWall.xml (under Resources/WorldTemplates/)
- . stands for the type of tile defined in BasicFloor.xml
- + stands for the type of tile defined in BasicDoor.xml

Read through those 3 xml files to get an idea on how they work. it's really simple. The type field is kinda dumb right now and doesn't do much. I'll clean it up tomorrow.

Very soon I'll add the ability to add monsters/items in there. Gimme some feedback on this one pls.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: qwertyuiopas on June 19, 2012, 04:57:58 pm

[code][/code],
Spoiler (click to show/hide)

[tt][/tt],
Spoiler (click to show/hide)

or [font=courier][/font]
Spoiler (click to show/hide)

Will keep it monospace and easily readable. The second two also allow the use of colours, if you ever have any reason to do so.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 20, 2012, 02:36:46 am
Er, why do you have symbols defined in those xmls if they must additionally be specified in 2.txt? Why even have changeable symbols, anyway?

Edit: downloaded again and there is still no diagonal movement. I don't care about laptops, I want diagonal movement on my kosher PC with my kosher numpad! Or, if you're that obsessed about laptops, just make shift+right/left move NE/NW, ctrl+right/left move SE/SW, like Infra Arcana (IIRC) did.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 20, 2012, 03:26:11 am
Er, why do you have symbols defined in those xmls if they must additionally be specified in 2.txt? Why even have changeable symbols, anyway?

Edit: downloaded again and there is still no diagonal movement. I don't care about laptops, I want diagonal movement on my kosher PC with my kosher numpad! Or, if you're that obsessed about laptops, just make shift+right/left move NE/NW, ctrl+right/left move SE/SW, like Infra Arcana (IIRC) did.

The xml files specify the type of the tile (whether you can move on it, the ascii character, it's also extensible so we can put stuff like levers or whatever in there if someone needs em).
The symbols in the txt file define how they are placed in the map
The "# = BasicWall" is used to link the xml file (in this case BasicWall.xml) to the symbol in the map (#).

Which of these do you think is redundant?
Soon I'll make it possible to link creatures/items of a specific template to specific tiles on the map.

I'll get around to implementing diagonal movement eventually. I'll have to implement it for the monsters also.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 20, 2012, 03:33:33 am
Xml contents:
Code: [Select]
<Class>DoorTile</Class>
<Sign>+</Sign>
Txt contents:
Code: [Select]
+ = BasicDoor
There. Why not just leave the symbol definition in xml file and put only map in txt?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 20, 2012, 03:36:26 am
Xml contents:
Code: [Select]
<Class>DoorTile</Class>
<Sign>+</Sign>
Txt contents:
Code: [Select]
+ = BasicDoor
There. Why not just leave the symbol definition in xml file and put only map in txt?

I don't understand what you're saying. Those two plus symbols don't have anything to do with each other.

The Sign-field in the xml file denotes what the symbol will be in-game. Maybe the name is misleading - I should probably change it.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: GalenEvil on June 20, 2012, 03:43:03 am
PTW: This looks like it will be interesting. I will look through the GoogleDoc once I get online again. Hopefully I will have some interesting ideas for ya when I get to looking.

One thing I would like to add concerning the map files and manually adding in a weapon. You might be able to have a generic weapon character that represents a weapon type. Let's say that 'R' represents a ranged weapon and 'M' represents a melee weapon. When parsing out the map during building the level if it encounters the 'R' character it generates a random Ranged weapon and if 'M' it generates a random Melee weapon. An example way to implement that (please bear with me as this is roaming into implementation instead of sticking with development) would be with a generic Item class (so you could implement this for other Item types as well) with the method:
Code: [Select]
public Item getOneItemOfType(WeaponRanged){}
or
public Item getOneItemOfType(WeaponMelee){}
or make it more generic with
Code: [Select]
public Item getOneItemOfType<DerivedItemType>(){}
using the generic type you could have it search through an item list to see what items are of type DerivedItemType and then randomly pick from one of those.

Sorry if that is completely out of the scope of what you are asking for.
Importance of above (4/10-ish)
Ease of Implementation (?/10) -- as I have not looked at your GoogleDoc nor have any idea of how your item system is/would be set up the ease of implementation is highly variable and can probably be done in an easier manner. Also, I haven't played with Java for a few months so have forgotten some of the intricacies of developing RPG-type systems in it.

Good luck on your venture!
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 20, 2012, 04:11:17 am
Right. I'm not going to go into the details of what you proposed but the value-producing part of it seems to be 1) "the ability to drop a particular item on a tile" and/or 2) "the ability to drop a random item on a tile"

1) This one I will be adding. The challenge with at the moment is that I haven't yet decided on HOW to denote it in the map file. Do I just make it another symbol on the map? In that case the "script" will have to define both the tile class and the item class for that tile (and also the creature class if there's one there). That means if we have many tile-item / tile-creature combinations you'll have a shitload of different symbols in there.
OR I could make it so that you drop each item/monster separately, for example
monster(x,y,SomeMonster)
item(x,y,Shotgun)
but if there are a shitload of items/monsters then that'll be challenging too.

I might have to eventually put both in place - which one will be better in the short term? Or is there a third way? (This is in part technical of course but then again, this is the type of decision that affects content creation and thus directly affects user value)

2) I will have to implement a version of 1) soon (otherwise content creation is basically impossible). This random generator would be a little different and _will_ require a lot of extra effort. It might not be worth the effort to implement this in the near future given that 1) will already be implemented.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Thief^ on June 20, 2012, 04:29:21 am
I'd do it like the other tiles on the map. Though remember you'll need to define both the tile and entity for the symbol. Like:
A = BasicFloor, BasicZombie
T = BasicFloor, Shotgun
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on June 20, 2012, 07:56:29 am
Doors released. I'm currently working on a map generator where you can use any characters for the map tiles, then specify which tile is which with some very easy script (and the xmlbuilder) and the game will automatically build it for you.

Very good for the doors, they work perfectly. I also messed a bit with the tiles, creating a BasicSand.txt to have an aditional tiles for trails going from house to house, and for river banks.

Speaking of river, I tried to make them and fences, by using:

<Navigable>False</Navigable> (like the walls)
 <Type>1</Type> (like the floor tiles)

with hopes of getting a not navigational tile that you could see or shoot through, but instead it was just one other wall. So what is the difference betweenm type 1 and type 2?

And now for more ideas:
------------------------------------
* tile that you can see though but not pass through (for water, fences, force field, prision bars) 8/10 
* suicide confirmation (because sometime I press f, and want to cancel but press enter instead of escape and so shoot myself in the process...) 9/10
* bullet trail (basically to shoot at any tile, and have a projectail going and stopping only at the boarder of a map, wall or zombie. without it we can now try shooting in the dark, until we get a zombie kill) 6/10
* Marker to link an exit to a specific map (like > = catacombs.txt; < = roof.txt, - that way we can have a map with multiple exists and make like a grid like map, with modular design 6/10
* damage like dice (instead of 1-500 for the pistol, use something like 1d6, 2d10, so that you can control the randomness) 4/10
* specify color in BasicWall, BasicWater, and so on (I'm more and more inclinated for a grid of custom maps, than random map generation, or like xcom a random grid based on fixed maps) 4/10



################3###############################################
#...............;..............................................#
#...............;..............................................#
#...............;........;;;;;;;;;;............................#
#...............;.;;;;;;;;;wwwwwww;;;;;........................#
#............;;;b;;wwwwwwwwwwwwwwwwww;;;;;;....................#
#......;;;;;;;;wbwwwwwwwwwwwwwwwwwwwwwwww;;;;;;................#
#...;;;wwwwwwwwwbwwwwwwww;;;;;;;;;wwwwwwwwwwwww;;;;............#
#;;;wwwwwwwwwwwwbw;;;;;;;;;.....;;;;;;;wwwwwwwww;;;;;;;;;......#
wwwwwwwwwwww;;;;b;;;.................;;;;;;wwwwwwwwwwwww;;;;;;;#
wwwwww;;;;;;;;..;.........................;;;;;wwwwwwwwwwwwwwww#
#;;;;;;.........;............................;;;;;;;wwwwwwwwwwww
#.........;;;;;;;..................................;;;;;;;wwwwww
#.........;..............................................;;;;;;#
##########+############################################+########
#.........;.............%.........#...........#......%.;.......#
#.........;.............%.........#>..........#......%.;.......#
#.........;.............%.........#...........#......%.;.......#
#.........;;;;;;;;;;;;..%.........#...........#......%.;.......#
#..%%%%%%%%%%%%%%%%.;;..%.........#...........#......%.;.......#
#..%..............%.;;..%.........######+######......%.;.......#
#..%...########...%.;;..%...............;............%.;.......#
#..%...#......#...%.;;..%%%%%%%%%%%%%%%%+%%%%%%%%%%%%%.;.......#
#..%...#......+;;;+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2
#..%...#......#...%.;;.................;.......................#
#..%...########...%.;;.................;.......................#
#..%..............%.;;.................;.......................#
#..%%%%%%%%%%%%%%%%.;;..###############+#%%%%%%%%..............#
#...................;;..#.........#.....#.......%..............#
1;;;;;;;;;;;;;;;;;;;;;..#.........+.....+.......%..............#
#.......................#.........#.....#.......%..............#
##############################.#################################
@ = 30,31
# = BasicWall
. = BasicFloor
+ = BasicDoor
; = BasicSand
% = BasicFence
w = BasicWater
b = BasicBridge
> = Exit (rooftop.txt)
1 = Exit (citeEast.txt)
2 = Exit (cityEast.txt)
3 = Exit (citynorth.txt)
[tt\]
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 20, 2012, 08:16:17 am
Very good for the doors, they work perfectly. I also messed a bit with the tiles, creating a BasicSand.txt to have an aditional tiles for trails going from house to house, and for river banks.

Speaking of river, I tried to make them and fences, by using:

<Navigable>False</Navigable> (like the walls)
 <Type>1</Type> (like the floor tiles)

with hopes of getting a not navigational tile that you could see or shoot through, but instead it was just one other wall. So what is the difference betweenm type 1 and type 2?

Ok so just to check: you DID get that map to work right? That's awesome! I'm happy we have someone also producing content. We can not only enjoy the content for
what it is but also use it to direct development efforts.

For now, the Type field doesn't do anything. It was a kind of a bastard child for navigable but now it's useless. I will definitely make it so you can make tiles you can't walk on but can see through.

As for the other ideas, yeah, I had the coloring option in mind for probably both the background and the symbol. You can add all of those in the backlog, though I'd suspect giving the pistol a proper damage calculation might not be on the top of the list based on a off-the-top-of-my-head effort estimation.

Oh, also prepare for the fact that I'm gonna change the Sign-field in the Tile templates to Symbol. I'm not a native speaker so I can fuck up some words that are not the most used ones.

edit:

Also since the backlog is looking pretty healthy (read: long) right now, I should probably reiterate my development commitments of the near future:
I can dedicate about 1-2 hours per day (mon-fri) to this project. I'd estimate it's just about 1-2 backlog items depending on other stuff like documentation if I need to do it. On weekends I can afford to spend a little more, maybe 3-4 hrs per day so about 6 features over the weekend. That should give us all a pretty good estimate on what we can see in the game for example a week from now. So if people wanna jump on and off the train so to speak, it's not a huge deal.
The next weekend might be an exception, though, because we're celebrating juhannus (midsummer) which is a pretty big thing around here. So from friday to sunday expect to see 1 feature per day or so.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on June 20, 2012, 10:26:35 am
Ok so just to check: you DID get that map to work right? That's awesome! I'm happy we have someone also producing content. We can not only enjoy the content for what it is but also use it to direct development efforts.

Well, most of the mapped worked right, put then i put the sugestions for map transition points 1,2,3,> , with wich the game doens't run, cause it expects some kind of roof.txt.xml for "> = roof.txt"

But the original run, only the water and fences behaved like normal walls, as you explained.
Spoiler (click to show/hide)

and the corresponding XMLs:
Spoiler (click to show/hide)


Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 20, 2012, 11:45:24 am
Added the possibility to color custom tiles (BasicWall.xml for reference). Good times. Also, removed suicide for now :D

edit: implemented diagonal moves for both the player and the monsters. They cost extra.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Dariush on June 20, 2012, 01:30:37 pm
edit: implemented diagonal moves for both the player and the monsters. They cost extra.
Rejoice, ye rightful!

Now maybe you should stop messing around with bells and whistles like coloured tiles and get to actual gameplay from the backlog? ^_^
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 20, 2012, 01:36:15 pm
Gameplay wise there's only a couple of features I can put in without committing to another underlying change. I can do bullet trails, change damage calculations and make the scrolling message log. After that I need to improve the levelbuilder, implement a* pathfinding or add influence maps to get anything done. But yeah, I think it's time to do the first three now. On the other hand, I do believe these map editor changes were necessary: nullzero will probably make a shitload of content for us :)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 21, 2012, 12:23:49 pm
Hey everyone,

just dropped by to say bullet trails are almost done. I have the bullet path plotting done, just need to add the check that makes it hit stuff in the middle of the path so not very much at all left. It might or might not get finished tonight though because I'm now heading out. Cya soon!


Edit: new version is out, added bullet trails :) I was gonna release last night but then noticed a bug in the plotting algorithm and went to bed. Now it's sorted. That's what you get when you write your own shit from scratch.

Edit2: Just released die-based damage. Also exported the piece of armor (armorvalue = damage reduced by that amount) and the axe to an xml file (and fixed suiciding again :D). Check the weapon xml files for info. Basically you can now define weapon damage by, for example, 2d10 + 5. Note that so far it's items only so zombies don't have random damage.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on June 22, 2012, 09:11:27 am
Great!

Gameplay wise there's only a couple of features I can put in without committing to another underlying change. I can do bullet trails, change damage calculations and make the scrolling message log. After that I need to improve the levelbuilder, implement a* pathfinding or add influence maps to get anything done. But yeah, I think it's time to do the first three now. On the other hand, I do believe these map editor changes were necessary: nullzero will probably make a shitload of content for us :)

But about the mapmaking i'm delaying for this weekend, probably tomorrow or at night. Then the fun begins!
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 22, 2012, 10:45:41 am
Oh an by the way, I figured an awesome way to be able to include items and zombies in maps - it will be possible to drop an item/zombie on a specific tile template with a specific chance from 0-100%. That'll be awesome.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 22, 2012, 02:27:54 pm
Just implemented a BIG update regarding map design: The SpawnTile! Basically you can now use the xmlobjectbuilder to build an item to be placed in the tile defined in an xml file. You'll need to use the SpawnTile Class. Check out the BasicZombieFloor.xml for usage (more info also behind the "keybinds & help" link in the original post).
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on June 22, 2012, 03:22:59 pm
One question, what is the color scale for the colors used in the game? I'm trying to find out through trial and error, but its a bit like reeinventing the wheel all over again.  ???

And btw, i'm anxious to try out that SpawnTile.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Immortal on June 22, 2012, 07:54:09 pm
This sounds awesome.. I haven't read the backlog just most of the suggestions. Don't bite if I missed it.

So was that a no to random map generation? Not even fully random, we could make "modules" or floors to builds or sections and it randomly pieces it together. Id be interested in helping out with map making.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 23, 2012, 12:34:51 am
One question, what is the color scale for the colors used in the game? I'm trying to find out through trial and error, but its a bit like reeinventing the wheel all over again.  ???

And btw, i'm anxious to try out that SpawnTile.

That's a great question. It turns out, there are a few ways you can currently put colors in there. I seem to have configured a 256 color palette in (through the blacken ui component) by default. So the 0x77 is some shade of green in that 256 palette. However, luckily it looks like you can also put a good ole full rgb color in there (For example, 0x770077 will produce a certain shade of purple - red+blue). Earlier I was able to google a 256 color palette where 0x77 was the same green the vanilla zombies are in but I can't find it anymore. So feel free to use either. And please report if you find any problems. I'm clueless about this stuff but I'll try my best to help.



This sounds awesome.. I haven't read the backlog just most of the suggestions. Don't bite if I missed it.

So was that a no to random map generation? Not even fully random, we could make "modules" or floors to builds or sections and it randomly pieces it together. Id be interested in helping out with map making.

Hello and welcome!

Random map generation definitely is NOT off the table. But I'd say at this point it's off the table for now (in terms of this project 'off the table for now' probably means sth like 2 weeks). In case you read back far enough, you'll have noticed that we couldn't really reach a consensus on which way to go with the general direction of the game (city vs rural vs caves) and since development time is heavily restricted (on purpose) in this project, it felt the best idea to forget it for a while just so we don't commit to a huge pile of funtionality we would have to either scrap (because we didn't want, for example, the caves after all) or would be stuck with something we committed to without really understanding what we were doing.

So, random map generation is kinda off the table but only as long as we can't decide what the story/setting of the game is. The tools I just created will help figuring that thing out. Discussion is encouraged.

When you have the time, please do read through the backlog and if you want, you can participate in maintaining/adding to it along the guidelines set in the original post.



EDIT: Tiles that can be seen through but not traveled on have been added. It's the <SeeThrough> field and accepts values True/False. Default is True. If you give a DoorTile a True value, you can see through the door :)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 24, 2012, 01:52:42 pm
Hey again. Was busy today but was able to add the scrolling message log. I made the message log a little less talkative. Currently it'll show the message of the first 4 actions that warranted a message that turn. With a press of space (or any other non-action button actually) you can read them all through in bunches of 4 lines. Also, the last 1-4 lines will persist if no messages were added. Gimme some opinions on how you like it.

Also, next week I'll probably start adding hearing/smelling! Good times! It could be, however, that I can't finish it in one day so the next version might not be out till tuesday or wednesday.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 25, 2012, 01:49:06 pm
Alrite, back with news! I decided to do the map linking feature first since I thought about it for a second and came up with a solution that seemed feasible. And now it's done! Transitions can be done with a nice little special tile called the TransitionTile. Basically you just define the name of the map (without the .txt part) and the coordinates where you want the guy to appear on the map. Good times! Check out the TransitionSouth and/or TransitionWest xml files for a reference. Easy stuff! However, as of now you still DO have to define the spawning point on each map file. It is used as a default in case no coordinates are provided in the TransitionTile. Right now all the maps persist once you've visited (so no respawns) but nothing happens in the maps during the time you're away.

use > to move between maps. Currently there's one TransitionTile in the western part of the map.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 26, 2012, 12:32:46 pm
Oops. Looks like I forgot to update the link to the latest version last night. Oh well. Just released the new version:
- Added a field that lets you define whether a tile can be shot through. <Penetrable> default is true.
- Added an item that can heal the player. It’s an ItemTemplate with a Consumable class and has the field <AmountHealed>. (example in medpack.xml)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Deon on June 26, 2012, 01:42:51 pm
Alrite, back with news! I decided to do the map linking feature first since I thought about it for a second and came up with a solution that seemed feasible. And now it's done! Transitions can be done with a nice little special tile called the TransitionTile. Basically you just define the name of the map (without the .txt part) and the coordinates where you want the guy to appear on the map. Good times! Check out the TransitionSouth and/or TransitionWest xml files for a reference. Easy stuff! However, as of now you still DO have to define the spawning point on each map file. It is used as a default in case no coordinates are provided in the TransitionTile. Right now all the maps persist once you've visited (so no respawns) but nothing happens in the maps during the time you're away.

use > to move between maps. Currently there's one TransitionTile in the western part of the map.
That's the similar idea I am using in my RL development. I use north/east/south/west transition tiles. For example, if you step on an "east" transition tile, you are moved to the (x+1) global map tile and appear on the "west" transition tile there with the same y coordinate.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on June 27, 2012, 11:13:03 am
Super! Late at the week, i'll try making a simple city with tunnels and upstair building to test the transitions and make a kind of tournament map with medikits spread all over and stronger zombies. In the mean while i've been testing the map colors. I'll show the results then.

By the way, do you have any kind of lectures about the programming paradigm you're using so that I can read more about it?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 27, 2012, 11:33:04 am
By the way, do you have any kind of lectures about the programming paradigm you're using so that I can read more about it?

Let's see, now. I'll have to start with the agile manifesto, of course. It's a short and sweet round-up of what's important in agile development.
http://agilemanifesto.org/

Obviously the wikipedia page is pretty good:
http://en.wikipedia.org/wiki/Agile_software_development
(Place special attention to chapter 7.1 on that one - would you agree based on that table that developing this could be a good way versus going plan-driven?)

Other than that, I don't really have anything short and concise in mind. Reading up on Scrum would be a good idea to understand what it's all about:
http://en.wikipedia.org/wiki/Scrum_%28development%29
http://scrumalliance.org/
We're not using Scrum but at the moment it basically goes hand in hand with agile and reading up on the practices should instill you with understanding about what being agile means.

If you're looking for some heavier reading, I can recommend a book called
Agile Software Development: Principles, Patterns and Practices by Robert Martin.



edit: just released again. Today I was busy with other stuff so there's only some minor things in there, like being able to close doors diagonally and a fix to zombie sight.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on June 28, 2012, 06:12:36 am
Hi, every time i try to start the game, i only get a black screen, and a small _ in the top left corner. I've set my path variable and i'm using java 1.7.0_03. Any ideas to what's wrong?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 28, 2012, 06:37:32 am
Hi, every time i try to start the game, i only get a black screen, and a small _ in the top left corner. I've set my path variable and i'm using java 1.7.0_03. Any ideas to what's wrong?

Hey,

1. open notepad
2. type "java -jar Zombies.jar"
3. save as run.bat in the folder where Zombies.jar is located
4. run it (double click) and tell me what it says.

Also, I'm not sure in which environment people here run this so are you using sth else than windows? That's what I develop on. If it's environment dependent, I will find out what's wrong and fix it later today.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on June 28, 2012, 07:27:45 am
weird, it worked when i did that :D thanks.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 28, 2012, 07:31:48 am
weird, it worked when i did that :D thanks.

Well, that indeed is something I too would call weird. If you can play like that, cool. You'll see all kindsa shit happening in the log but you can ignore it. I can't understand why it works with the .bat and not without it though  :o
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on June 28, 2012, 07:43:25 am
me neither...

anyway, i now tried to make a window!
Code: [Select]
<Tile>
<Class>Tile</Class>
<Symbol>¤</Symbol>
<Type></Type>
<SymbolColor>0xc3d8fd</SymbolColor>
<Navigable>False</Navigable>
<SeeThrough>True</SeeThrough>
<Penetrable>False</Penetrable>
</Tile>

Edit: this is what it says:

Code: [Select]
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Inval
id byte 1 of 1-byte UTF-8 sequence.
        at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF
8Reader.java:687)
        at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader
.java:557)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEnti
tyScanner.java:1750)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.peekChar(XML
EntityScanner.java:494)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2647)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(X
MLDocumentScannerImpl.java:607)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:835)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:764)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.
java:123)
        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.
java:240)
        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Doc
umentBuilderImpl.java:300)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
        at builder.XMLObjectBuilder.build(XMLObjectBuilder.java:43)
        at world.LevelBuilder.buildLevel(LevelBuilder.java:90)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)
Item creation failed for BasicPillar
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Inval
id byte 1 of 1-byte UTF-8 sequence.
        at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF
8Reader.java:687)
        at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader
.java:557)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEnti
tyScanner.java:1750)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.peekChar(XML
EntityScanner.java:494)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2647)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(X
MLDocumentScannerImpl.java:607)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImp
l.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:835)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:764)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.
java:123)
        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.
java:240)
        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Doc
umentBuilderImpl.java:300)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
        at builder.XMLObjectBuilder.build(XMLObjectBuilder.java:43)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 28, 2012, 07:52:33 am
Don't have the source code right here. I'll be home in about 2 hrs but in the meantime, remove the <Type> field, I think the builder gets a null object from it and is messed because of that (and I need to fix that ofc). If that doesn't work, wait for a couple hours and I'll get back to you :)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on June 28, 2012, 08:08:22 am
No, that wasn't it, it seems as if the game doesn't support ¤ and §, thus my window, pillar and fencegate didn't work :/
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Thief^ on June 28, 2012, 08:24:15 am
Try saving the file as UTF-8
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 28, 2012, 12:56:51 pm
Thanks for the advice, Thief^. I hope it helped sayaks. I added the line <?xml version="1.0" encoding="UTF-8"?> to all the xml files, I think that should do the trick. Amirite?

Just released today's version. Added the possibility to inspect area around you. You can only inspect tiles you can see and it will list the <Description> of the tile, creature and item on that tile.

Kinda waiting for nullzero and/or sayaks to show us what they have - that'll help us focus on what to do next. Once we have some actual content to play through, we can consider that the 1.0 - our very first release.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on June 29, 2012, 07:14:02 pm
Ah, ok, i'll see if i can't finish the work on what i have then.

EDIT: <?xml version="1.0" encoding="UTF-8"?> adding this, i still could not use ¤ and §.

EDIT #2:
I've now made some stuff, it adds a small transition tile to map 1, to the north-east side of the river. It's an abandoned mansion.

Adds:

Spoiler (click to show/hide)

Now, how do i add attachments again? It's all stored in one ZIP file.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 30, 2012, 02:15:55 am
Now, how do i add attachments again? It's all stored in one ZIP file.

I have no idea if you can add a file but I do know you can add a link. So if you have a dropbox like me you can do it or perhaps you can use a free file upload service.

Also regarding utf-8: I'm developing with Eclipse and I can just right click the file in the package explorer, then by choosing "properties" I can change the file encoding. If you want, I can do it for you. According to google, notepad/wordpad can't change text coding but notepad++ and many others can.

Edit: oh, nevermind, looks like notepad has the UTF-8 option when you click file->save as->encoding
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on June 30, 2012, 06:45:29 am
Okay then, here:

http://www.mediafire.com/?9h4huq92z2iueh3

(Those tanks are almost invincible, luckily their sight is 2 and speed is 20 (That reaper is another question though))

Edit: oh and saving as UTF-8 worked.

Edit2:
Working with some maps, I have two ideas.

Tiles with Inventories. (Chests, coffers, etc.)

And signs, right now, i'd have to make a new tile for every sign, and give them each descriptions, instead i could make just one tile, and define the text in the map itself.

Edit3:
Code: [Select]
########################################
#......................................#
#......................................#
#......................................#
#......................................#
#......................................#
#......................................#
#......................................#
#;.....................................#
w;;....................................#
ww;;;;.................................#
wwwww;;;;.....;..;.....................#
wwwwwwww;;;;;;;bb;;....................#
wwwwwwwwwwwwwwwbbw;;;;.................#
wwwwwwwwwwwwwwwbbwWWW;;;;;;;;..........#
wwwwwwwwwwwwwwwbbwWWWWWWWWWW;;;;;;;;...#
wwwww;;;;;;;;;;bb;WWWWWWWWWWWWWWWWW;;;;#
wwW;;;........;;;;;;;;;;;WWWWWWWWWWWWWWW
ww;;...........;;.......;;;;;;;;WWWWWWWW
w;;............;;..............;;;;;;;;W
w;.............;;;....................;#
#;..............;;;....................#
#................;;;...................#
#.................;;;;;;;;;;;;;;;;;;;;;1
#..................;;..................#
#..................;;..................#
#..................;;..................#
#..................;;..................#
#..................;;..................#
###################<<###################
@ = 20,28
# = BasicWall
. = BasicZombieFloor
; = BasicSand
w = BasicWater
b = BasicBridge
< = TransitionPath1
1 = TransitionPathMap1

for some reason, this map gives me the message:

Code: [Select]
Problem reading from file [NullPointer]
Make sure the @ is properly configured.
java.lang.NullPointerException
        at world.LevelBuilder.buildLevel(LevelBuilder.java:97)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)
Exception in thread "main" java.lang.NullPointerException
        at main.Stage.<init>(Stage.java:67)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)

Last time, this was because i had managed to say "@ = 29'30", though now it is defined properly, any idea why?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 30, 2012, 09:26:24 am
Awesome work, sayaks! I really like the map. The trouble with that map file seems to be that at least one of the tile types does not have a corresponding file. On the next release I'll make the error message a bit better.
Also, I'm planning on making map building a tad easier by letting the maker drop an item on a specific tile, the syntax will probably be sth like place(x,y,$item.xxx) or so. I can also make it possible to put monsters in maps too so you don't have to make a new tile type for each. I'll add the proposed stuff to the backlog.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on June 30, 2012, 10:12:21 am
Good, how about signs though? maybe "message(x,y,Text goes here)" or something?'

Edit: Oh i see what happened, half of the w's in the river became Capitalized XD

Edit2: Now that that's fixed, what does this mean:

Code: [Select]
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 30, Size:
 30
        at java.util.ArrayList.rangeCheck(ArrayList.java:604)
        at java.util.ArrayList.get(ArrayList.java:382)
        at com.googlecode.blacken.grid.Grid.get(Grid.java:352)
        at main.Stage.<init>(Stage.java:78)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 30, 2012, 10:41:01 am
That error is caused by the bunch of items I drop on maps. Currently the map needs to be at least 32 by 32 in order for the items to drop without causing that. I'll have the "free" items removed in the next version... Just add a few rows of wall or sth in the meanwhile.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on June 30, 2012, 10:41:40 am
Ah, ok

Edit:
Code: [Select]
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 36, Size:
 36
        at java.util.ArrayList.rangeCheck(ArrayList.java:604)
        at java.util.ArrayList.get(ArrayList.java:382)
        at com.googlecode.blacken.grid.Grid.get(Grid.java:352)
        at com.googlecode.blacken.swing.SwingTerminal.set(SwingTerminal.java:288
)
        at main.Stage.drawMap(Stage.java:362)
        at main.Stage.loop(Stage.java:121)
        at main.Game.start(Game.java:89)
        at main.Main.main(Main.java:22)
it's now 40-something by 36. still not working.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on June 30, 2012, 12:04:47 pm
it's now 40-something by 36. still not working.

The problem now seems to be that the maximum dimensions are 64 by 35. I have yet to add a camera that lets me only show a part of the map so those are the maximum for now. Looks like I have to bump the priority of implementing that now.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on June 30, 2012, 01:09:11 pm
Oh, that worked.

Well, there's one more map creating related idea, i'll add it to the backlog. And that is, the ability for me to add a value when creating WorldTemplates.

That way, i can make 1 Transition tile, and just say, "1 = TransitionTile(Map-name, x, y)" Or something like that. Or ". = BasicZombieFloor(ZombieChance)"
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 01, 2012, 02:12:42 am
Alrite, just released another one.
-Added Sayaks's map
-You can now customize any of the attributes of a template in the map file, see 1.txt for an example. As with the templates, if you want to add a subobject, you'll need to use the $ notation.
-I also implemented the ammo/reload functionality, although for now ammo is infinite so you can just keep reloading. You can check your ammo status by examining the weapon. <ClipSize> and <AmmoLeft>
-Also fixed a couple of other little things like missing spaces in some messages and made it so that if you hit a target you can't see, you wont know you hit it.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on July 01, 2012, 03:39:25 pm
Hm, i tried out this new function, but it doesn't seem to work.

I made
Code: [Select]
. = BasicFloor(Creature:$Creature.BasicZombie,CreatureChance:10) but it only generates empty maps. (i.e no zombies) I once got a error.

Code: [Select]
Tile type modification failed for field-value pair CreatureChance:5
java.lang.NullPointerException
        at builder.XMLObjectBuilder.invokeBasicTypes(XMLObjectBuilder.java:91)
        at world.LevelBuilder.buildLevel(LevelBuilder.java:118)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)

But it didn't show up after i defined the TransitionPathMap2. which it also complained about.
Code: [Select]
Item creation failed for TransitionPathMap2
java.io.FileNotFoundException: C:\Users\Brage\Desktop\Stormappen\Spill\Zombies\R
esources\WorldTemplates\TransitionPathMap2.xml (Systemet finner ikke angitt fil)

        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:138)
        at java.io.FileInputStream.<init>(FileInputStream.java:97)
        at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection
.java:90)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLCon
nection.java:188)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrent
Entity(XMLEntityManager.java:629)
        at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineD
ocVersion(XMLVersionDetector.java:189)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:799)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(X
ML11Configuration.java:764)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.
java:123)
        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.
java:240)
        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Doc
umentBuilderImpl.java:300)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
        at builder.XMLObjectBuilder.build(XMLObjectBuilder.java:43)
        at world.LevelBuilder.buildLevel(LevelBuilder.java:100)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)
Problem reading from file [NullPointer]
java.lang.NullPointerException: No tile definition found for TransitionPathMap2
        at world.LevelBuilder.buildLevel(LevelBuilder.java:104)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)
Exception in thread "main" java.lang.NullPointerException
        at main.Stage.<init>(Stage.java:67)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)
( I think this is only me not defining TransitionPathMap2, but there may be something more there, this is the continuation of the eroor log.)

EDIT: Another error message, seems diffrent, but i don't know if it is.

Code: [Select]
Tile type modification failed for field-value pair CreatureChance:10
java.lang.NullPointerException
        at builder.XMLObjectBuilder.invokeBasicTypes(XMLObjectBuilder.java:91)
        at world.LevelBuilder.buildLevel(LevelBuilder.java:118)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)
Problem reading from file [NullPointer]
java.lang.NullPointerException
        at world.LevelBuilder.buildLevel(LevelBuilder.java:132)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)
Exception in thread "main" java.lang.NullPointerException
        at main.Stage.<init>(Stage.java:67)
        at main.Game.start(Game.java:82)
        at main.Main.main(Main.java:22)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on July 01, 2012, 07:24:37 pm
One question, what is the color scale for the colors used in the game? I'm trying to find out through trial and error, but its a bit like reeinventing the wheel all over again.  ???

And btw, i'm anxious to try out that SpawnTile.

That's a great question. It turns out, there are a few ways you can currently put colors in there. I seem to have configured a 256 color palette in (through the blacken ui component) by default. So the 0x77 is some shade of green in that 256 palette. However, luckily it looks like you can also put a good ole full rgb color in there (For example, 0x770077 will produce a certain shade of purple - red+blue). Earlier I was able to google a 256 color palette where 0x77 was the same green the vanilla zombies are in but I can't find it anymore. So feel free to use either. And please report if you find any problems. I'm clueless about this stuff but I'll try my best to help.

Finally figured out the codes, in the Blacken library google project code, says it has the x11 color palette, and the codes are easy to find in https://en.wikipedia.org/wiki/Web_colors or http://html-color-codes.info/color-names/.

The only problem now is that the doors don't switch symbol colors, and there is missing some kind of code in the map file to change the default symbol and background color.

 :D
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on July 01, 2012, 07:34:38 pm
About the Sayak's house map... its sweet, just got ripped by the reaper :P

Now i've done some edits: http://dl.dropbox.com/u/909141/Zombies-nullzero-color.zip

I made all SimpleItems.xml to use the standard colors, as in SimpleMap.txt, and remade map 1 with colors. This way if we want to focus on the map generation, we can use the "colorless" SimpleWall, SimpleFloor, SimpleWindow... and so on.

If instead we want a color theme, we use the blue like RiverWater, or the greeny SewerWater. The same with MetalFence (gray), or DirtRoad (brown).

Besides the colors, I changed two more things: I added a zombie dog (faster but weaker) and... tried to mess with the new spawing options to spawn items, without sucess.


Spoiler (click to show/hide)

In particular I wanted

. = BasicFloor(Creature:$Creature.BasicZombie,CreatureChance:5)
: = BasicFloor(Item:$Item.Pistol,ItemChance:9)

But all I get are dogs

; = DirtRoad(Creature:$Creature.BasicDog,CreatureChance:3)

I tried putting chance = 90 and it doesn't change!... Any idea?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 01, 2012, 10:49:02 pm
Nice job, you guys have been busy!

As for the errors, I think both of you ran into the same problem:
Are you sure the tile that's producing the error is defined as a SpawnTile instead of just a normal Tile? Tile has no attribute called CreatureChance so that's why it gives an error about it. By the names of the tiles, I guess not.

I might have to do something about that little quirk because both of you are having a hard time with it.

Edit: Just debugged nullzero's files. The problem is that BasicFloor has a creature and a creaturechance attached to it. That's a no go since it's just a Tile.

Also at the moment the builder always builds 1.txt first. I'll change it so it builds the map in the first row of the maplist.txt. Currently there's The House there but I'll put the BasicLand there in the next release.

And one more thing: You don't have to add the Type field at all in the Tile files any more. I won't remove the field in the code (at least yet) so you won't get an error message, but it's not needed at all either.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 02, 2012, 02:20:20 pm
Released today's version. Changelog includes:

- Exported player character into PlayerCharacter.xml
- Implemented scrolling map (This means maps of unlimited size! Woo!)
- Fixed a few bugs
- Cleaned up and improved the debugging messages a little bit
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: sayaks on July 02, 2012, 06:36:45 pm
Cool, i'll see if that was the problem... In about a month... (i'm going on vacation soon, woo!)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 03, 2012, 02:48:58 pm
Here's the latest news:

I decided to implement a quest system now, because I felt like Zombies isn't a GAME yet. I didn't have time to finish it, but I am very far along. As per usual, it will be possible to create quests by xml files. Quests consist of Objectives, which again are defined through xml files. So far a player can have any number of quests and the system knows how to track their progress. Currently I only have one Objective type, Kill, implemented. I'll show you a little snippet.

ZombieQuest.xml:
Code: [Select]
<Quest>
<Class>Quest</Class>
<addObjective>$Objective.KillFiveZombies</addObjective>
<Description>Zombies must die!</Description>
</Quest>

KillFiveZombies.xml:
Code: [Select]
<Objective>
<Class>Kill</Class>
<Description>I must kill five Zombies</Description>
<Target>$Creature.BasicZombie</Target>
<KillCount>5</KillCount>
</Objective>

What this means is that there is now a Quest in the game (just noticed I need to add a quest name :) ). The quest can have a general description too. For each Objective you have to add a <addObjective> that points to the Objective that the system will have to generate. The Objective file on the other hand will specify how the particular objective class behaves. The finished one is the Kill class which defines the monster you have to kill (via a sub object reference), the description of the objective and the kill count you need to achieve.

Tomorrow I plan on finishing the quest system so that a quest can actually be closed out. As it stands, there is no way to track the progress on the ui and while the objectives are fulfilled, the quest won't end. Later I can add different objective types, for example fetching items.

What do you think?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 04, 2012, 02:05:30 pm
Just released the ability to make and complete quests! Now Zombies is an actual game (has a purpose).

You can view the quest log by clicking l. Then use letters a to z (just a and b for now) to see the objectives to each quest.

Every quest is defined in a xml file under the QuestTemplates folder. You must link some Objectives to each Quest. There is currently only one type of objectives, Kill objectives, and you can define which creature to kill and the kill count. You can also define a reward in the quest file for completing the quest.

Currently the hero starts with the two quests that are in the QuestTemplates folder. If you want to experiment, edit those.

How do you like it?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on July 04, 2012, 03:21:43 pm
First, I couldn't look at your progress since last weekend, so besides saying "Quests, yeah!" I can't give some input yet.

In the backlog I see that there were some questions regarding some of the ideas, and I thought of explaining better in here.

Here go the sugestions:



Quote

Quote
bullet spread (missing due to angle deviation, can hit other target by luck)
Based on what? shooter skill? target defence? just a certain spread rate characteristic to the gun?


I would say initially only based on the gun. I'm thinking of a kind of a Doom2 super shotgun effect, with pellets spread all over.Maybe latter a class skill (accurate machinegunner) could cause less spread.


 
Quote
Quote
flashlight (cone like view)
How do you determine the direction that is faced? Controls for turning? Or do we track which direction the creature was moving?
Here I was thinking on seeing in the direction that were faced yes, but that would involve changing the controls and tracking direction. It would be more for immersion, that with sounds could make the game scarier,if we want to go in that direction.

Quote
Quote
auto load game (start game where the game was last disconnected)
What do we want to persist? Items on the ground? Monsters?
basically quit, save all, restart game, and be in the exact same spot. Basically auto savegame with only one save. 'Cause as a roguelike there should be no standard saves. Maybe instead of save I should have said "auto continue".

Quote
Quote
tile that spawns a random item from the items folder
Any one of them or from a predefined list? I could see a predefined list being Imore valuable (food in the kitchen, clothes in the bedoom, weapons in the gun store, etc
That could be too! Functions like random weapon, random item, random food, could be good for mapmaking, if we go down the levels are fixed all else is random route.

Quote
Quote
Support to change default symbols and background colors in the map
Wut?
In the game there are default colors, used in all the "simpleTiles", it would be good to be able to change these too, maybe in the map, so as to create for example a night mode effect, just changing the colors.


and know, keep up the good work, i'll try to catch on on the weekend.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: finka on July 04, 2012, 10:00:00 pm
The Kill objectives feel pretty Twenty Bear Asses (http://tvtropes.org/pmwiki/pmwiki.php/Main/TwentyBearAsses) to me.  I wonder what kind of more narratively-relevant quests could be added. 
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 04, 2012, 11:04:20 pm
First, I couldn't look at your progress since last weekend, so besides saying "Quests, yeah!" I can't give some input yet.

In the backlog I see that there were some questions regarding some of the ideas, and I thought of explaining better in here.

Here go the sugestions:

stuff...

Great, some of these are immediately doable like the default colors and bullet spread (actually yesterday I noticed the bullets do spread - there's a minor, minor bug in the tracking algorithms that I need to find - sigh).

The part about tracking, though, I'm not sure. My problem with it is that if we go that route, it'll change the feel of the game a lot because now instead of walking, you need to walk AND look around which means a lot slower pace. I'm not saying there's necessarily anything wrong with a slower pace but if I implement this for the player and the monsters there's stuff we need to figure out. This'd be a pretty large bunch of work and I'd rather not roll it back afterwards.

What do other people think? I could see cone vision setting us to a more stealth-based roguelike experience. You'd need to need to carefully observe the areas around, need to see which way the zombies are looking and avoid them. I saw a zombie film the other day called "The Dead". The main character had to change car tires (ie. do something that takes a lot of time) alone and had to constantly be on the lookout, thus slowing his progress. That was pretty intense. Is it what we'd prefer?


The Kill objectives feel pretty Twenty Bear Asses (http://tvtropes.org/pmwiki/pmwiki.php/Main/TwentyBearAsses) to me.  I wonder what kind of more narratively-relevant quests could be added.

I agree with you, yes. The quest system isn't completely finished. I figured that the kill objective is the one that will be there for sure (if only for boss monster kills or sth) so that's why I made it first. Regarding your second sentence, I'm looking to get vision from you guys. Don't worry about whether it can be done. Just tell me what you want. Basically now we have an objective that reacts to killing stuff. What would you like to see a quest objective react to?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: shadowm22 on July 05, 2012, 07:06:27 am
Some thing i think a lot of zombie games are missing is wildlife were are all the animals sure you could say they were all eaten but what if instead there were animles roaming in forest ares and dogs and cats in city some times they will be alive possibly ruining form zombies other they may  be corps or zombifed dogs and cats there could even be birds and rats (all rpgs need rats ;) ) and you could feed the different animles food to try and befriend them.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 05, 2012, 10:53:02 pm
Some thing i think a lot of zombie games are missing is wildlife were are all the animals sure you could say they were all eaten but what if instead there were animles roaming in forest ares and dogs and cats in city some times they will be alive possibly ruining form zombies other they may  be corps or zombifed dogs and cats there could even be birds and rats (all rpgs need rats ;) ) and you could feed the different animles food to try and befriend them.

As of right now, anyone can make zombie-type creatures. What you are effectively proposing is that I make it possible to create an animal type of creature - and that's a great idea! I'll add it to the backlog.

I didn't have really time to develop yesterday except for a couple mins so I only got one really minor thing done. For the next couple of days, I'll probably focus on the less thinking heavy features (display for keybinds, bullet spread, postmortem, status effects) in the hopes someone makes a map or contributes with his/her thinking/design some more.

I also added a couple of objective types in the backlog, I might think of one or two more things to add there so go read em and comment/evaluate them.

edit: I would also have people think about specific in-game mechanics which could differentiate this game a little bit. While I feel this game has a spectacularly good editing options so far, there are no mechanics (outside of item integrity that Dariush proposed) that would set this game apart from others. I have a couple of ideas that I'll share with you later but I'd rather hear other opinions first so as to not anchor anyone.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: 10ebbor10 on July 06, 2012, 05:27:07 am
What about adding something like weather. Obviously not that usefull until drink/food/ other nessicities get in, but going out in a thunderstorm/ fog isn't that smart. Similiairy zombies would be slower when it's freezing(Assuming semi living zombies) and such.

Second you could add a "Justified" Ai system.

Zombies would move through noise, as a sensible zombie. However, in a way similiar to ants, they would spread pheromones. For example, when they see you, they would emit a rather far spreading pheromone that would attract other zombies. When they die, they would emit another pheremone, which would deter zombies from that palce for a short while. By messing with different types of pheremones,  their strength and the time they linger, you could create a whole lot of emergent zombie behaviours.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 06, 2012, 06:02:29 am
What about adding something like weather. Obviously not that usefull until drink/food/ other nessicities get in, but going out in a thunderstorm/ fog isn't that smart. Similiairy zombies would be slower when it's freezing(Assuming semi living zombies) and such.

Second you could add a "Justified" Ai system.

Zombies would move through noise, as a sensible zombie. However, in a way similiar to ants, they would spread pheromones. For example, when they see you, they would emit a rather far spreading pheromone that would attract other zombies. When they die, they would emit another pheremone, which would deter zombies from that palce for a short while. By messing with different types of pheremones,  their strength and the time they linger, you could create a whole lot of emergent zombie behaviours.

Weather is something I could definitely have a look at, though I have to admit it's something that might require a lot of work - I can see several technical reasons why it can't be implemented in a straightforward manner as it is.

As for the pheromone mechanic, I could see that working, however currently I have the flocking algorithm in place (if zombies can't see a living but can see a dead, they will walk towards it). Currently my vision regarding that is that the zombies could "mimick" other nearby zombies, ie. when one zombie in the flock starts moving, the others will also even if they don't know where they're headed. That is quite similar to the attraction pheromone you described.

I kind of disagree with the deterring pheromone, though, based on how I view zombies. I feel as though a zombie only really has the urge to eat and no emotions, therefore not experiencing impulses to specifically NOT go to a certain direction. How would you "justify" zombies having such an urge?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: 10ebbor10 on July 06, 2012, 07:05:54 am
Out of game:
I have no idea where your zombies came from, but if they are of the modern variety (ie biovirus or similair), it would make sense for whoever to have created them to add it. After all, whitout it, zombies would also walk straight to their death (I always imagine zombies as being extremely dumb, incapable of anything but to smash the nearest thing). With the pheromone in place, zombies would "learn" to avoid dangerous things, like cliffs and such. (Note that they still can't recognize things, they know one cliff is dangerous, yet it learns them nothing about the other cliffs.)

In game:

It would allow for interesting behaviour. The detterant would not be that strong, the noise and/or sight of a living being would overrule it. In the following situation:
(The hideout of player A is accessible from two streets. Street A leads directly to a major source of zombies, and is therefore heavily trapped/ defended. Street B just goes around the block, before arriving at the major source of zombies and has neglible defenses. In what I think is the current system, the zombies would move through street A and get slaughtered. With the pheromone system in place, zombies would first go street A and get slaughtered, before the pheromone builds up and route A becomes a less favourable route. They would then switch to route B, and overrun the player's base)

Other useages would be the player deliberatly spreading zombie parts around to get a repulsive layer of pheromones across his base.

Later you could add other things to the system, like the smell of meat and such. That would make the second example even more interesting, as the protective barrier of zombie flesh would, as soon as the phereomone has been broken down, attract more zombies
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Lintsi on July 06, 2012, 05:28:20 pm
Out of game:
I have no idea where your zombies came from, but if they are of the modern variety (ie biovirus or similair), it would make sense for whoever to have created them to add it. After all, whitout it, zombies would also walk straight to their death (I always imagine zombies as being extremely dumb, incapable of anything but to smash the nearest thing). With the pheromone in place, zombies would "learn" to avoid dangerous things, like cliffs and such. (Note that they still can't recognize things, they know one cliff is dangerous, yet it learns them nothing about the other cliffs.)

In game:

It would allow for interesting behaviour. The detterant would not be that strong, the noise and/or sight of a living being would overrule it. In the following situation:
(The hideout of player A is accessible from two streets. Street A leads directly to a major source of zombies, and is therefore heavily trapped/ defended. Street B just goes around the block, before arriving at the major source of zombies and has neglible defenses. In what I think is the current system, the zombies would move through street A and get slaughtered. With the pheromone system in place, zombies would first go street A and get slaughtered, before the pheromone builds up and route A becomes a less favourable route. They would then switch to route B, and overrun the player's base)

Other useages would be the player deliberatly spreading zombie parts around to get a repulsive layer of pheromones across his base.

Later you could add other things to the system, like the smell of meat and such. That would make the second example even more interesting, as the protective barrier of zombie flesh would, as soon as the phereomone has been broken down, attract more zombies

As I read the about pheromones from wikipedia I stumbled upon the fact that alarm pheromones trigger flight in certain species and aggression in others, like ants, termites and bees. I think alarm pheromones should trigger aggression in zombies, not flight. Boy that would be weak. If pheromones would be included in the game, should they not trigger blood lust in zombies for a few turns if anything? You know, you kill one of those and the others tear doors like paper for a moment. That could be awesome.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 07, 2012, 04:43:00 am
Released another version:

- ? to access keybinds screen, esc to exit.
- Added status information on the right side of the screen.
- Refactored the ui presentation mechanics. Mostly it was to make them work in a more unified manner but you should see some minor aesthetic improvements here and there. Report if anything looks strange.

Good discussion going back and forth. Both the aggressive and the defensive mechanics are pretty well-founded in my opinion, and their viability depends a lot on which direction we want to take the game. I read a nice article earlier on 'Zombie science' and would suggest reading it ( http://www.inkpunks.com/2012/05/23/putting-the-science-in-zombie-apocalypse/ ). These pheromone ideas kind of fit in there if you think about it.

That's why I'd like people to explicitly state which way they want to go:
1. Stealth-centric (for example, cone-like field of vision, greater emphasis on finding ways to avoid zombies through mitigating smell, sound, etc)
2. Arcade-style (piling 'em up with big weapons like rocket launchers, miniguns, etc)
3. Survival style (sleeping, eating, drinking, shelters, barricading, etc a la Rogue Survivor)

Of course we don't have to strcitly choose one but I'd like to have a consistent vision on what we're going after, because features are supposed to be made to support the vision, not the other way around. That's not to say these ideas aren't good - they're great! But the problem is which ones to choose!

edit: There's also an article on Gamasutra regarding mechanics that you can employ to make Zombies better. Check it out if you have time.
http://www.gamasutra.com/view/feature/173144/building_a_better_zombie.php

edit2: Next I'll probably improve the performance of the zombies' sensing algorithm. It's currently pretty slow but I did come up with a way to speed it up by quite a bit. It'll take some effort though.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: 10ebbor10 on July 07, 2012, 09:06:12 am
Out of game:
I have no idea where your zombies came from, but if they are of the modern variety (ie biovirus or similair), it would make sense for whoever to have created them to add it. After all, whitout it, zombies would also walk straight to their death (I always imagine zombies as being extremely dumb, incapable of anything but to smash the nearest thing). With the pheromone in place, zombies would "learn" to avoid dangerous things, like cliffs and such. (Note that they still can't recognize things, they know one cliff is dangerous, yet it learns them nothing about the other cliffs.)

In game:

It would allow for interesting behaviour. The detterant would not be that strong, the noise and/or sight of a living being would overrule it. In the following situation:
(The hideout of player A is accessible from two streets. Street A leads directly to a major source of zombies, and is therefore heavily trapped/ defended. Street B just goes around the block, before arriving at the major source of zombies and has neglible defenses. In what I think is the current system, the zombies would move through street A and get slaughtered. With the pheromone system in place, zombies would first go street A and get slaughtered, before the pheromone builds up and route A becomes a less favourable route. They would then switch to route B, and overrun the player's base)

Other useages would be the player deliberatly spreading zombie parts around to get a repulsive layer of pheromones across his base.

Later you could add other things to the system, like the smell of meat and such. That would make the second example even more interesting, as the protective barrier of zombie flesh would, as soon as the phereomone has been broken down, attract more zombies

As I read the about pheromones from wikipedia I stumbled upon the fact that alarm pheromones trigger flight in certain species and aggression in others, like ants, termites and bees. I think alarm pheromones should trigger aggression in zombies, not flight. Boy that would be weak. If pheromones would be included in the game, should they not trigger blood lust in zombies for a few turns if anything? You know, you kill one of those and the others tear doors like paper for a moment. That could be awesome.
A pheromone is basically an excreted hormone. You can have many kind of pheromones and their triggers and  reactions. As for a Berzerk hormone, I feel it would be a it overpowered, due to the tendeny of zombies to arrive in numbers. The fun thing about hormones is that it allows for the zombies to be stupid individually, but act semi intelligent in a group. (Ie, with deadavoiding hormones they will find a path after the first few zombies have died, and such)

Hell, if you made them and put them in some RAW style files, you could change the feel of the entire game by changing only a few things.

As for what direction I'd like, I'd go for 1 or 3. Something semirealistic.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Immortal on July 07, 2012, 09:58:44 am
That pheromone idea sounds great.

As for the style. I agree 1 and 3. I want to scavenge for food and hide while I sleep, maybe set a wire and some tin cans to wake me up when zombies break in my house.

Would it be possible to implement a building part to the game? If I'm on the second floor can I break down walls with a chance to gain wood/drywall/bricks to make another wall? Or even to build a bridge from one roof top to another? Make the action skip time so we aren't capable of deconstructing a whole building in a day though.

Scope of game - I believe we should have the scope of the game go from city center and sprawl out to rural areas? That way we could run from the city where there are tons of zombies to a farm where there are the random stragglers.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 07, 2012, 01:08:08 pm
Alrite so we've basically concluded we don't want an action-heavy roguelike (like doomRL). Alright. Now, since we're going stealth- or survival oriented, I'd personally like to keep it stealth-heavy instead of survival-heavy because I feel the survival-heavy has been done quite well by rogue survivor (and Cataclysm, though I haven't played it that much). Survival doesn't require a specific plot but it does fit the stealth-approach though because now we can give the player all kinds of tough objectives. Also, being a bit more story-driven than the two aforementioned games would probably be a good thing because it would differentiate us.

So this is what I'm proposing:
We start out in a city, Zombies everywhere. You are comparatively weak so you're best off trying to avoid combat. If you need to kill, silent melee skills are preferred to firearms. While in the city, the player could have some tough optional objectives like trying to find and rescue someone from an infested apartment building or something like that. Or perhaps someone is sick and needs meds from the hospital which, of course, is an absolute deathtrap.
Like Immortal proposed, we could then head out to the rural areas where we could perhaps center the game around the player (and his friends?) achieving long-term survival. Since sleeping is, in my opinion, already covered pretty well, I'd abstract it away. We could definitely go for this pheromore thing you seem to be interested in, though.

Opinions?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Immortal on July 08, 2012, 09:09:27 pm
I tried the latest version. I feel like the zombies don't come after you, I mean I was 4 four sqaures away and it didn't move for me.
I'd suggest we have them slight you moving from far away.
To counteract them maybe give an option for slow/stealth movement?

As for map generation. I say lets get a map maker made up. Then we can all make segments which the game will intelligently-randomly piece together.

Can't wait for that backlog to turn blue!
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 08, 2012, 10:50:50 pm
I tried the latest version. I feel like the zombies don't come after you, I mean I was 4 four sqaures away and it didn't move for me.
I'd suggest we have them slight you moving from far away.
To counteract them maybe give an option for slow/stealth movement?

As for map generation. I say lets get a map maker made up. Then we can all make segments which the game will intelligently-randomly piece together.

Can't wait for that backlog to turn blue!

It's obviously not balanced yet.. and it shouldn't be, either. When I add more ways for them to sense / better ai, any balancing effort will have to be redone. Plus you can actually increase their sight by editing the monster files. Beware though that they see through the walls.
I am, however, very happy with the flocking. Currently if you want to "finish" the game by killing the reaper, you'll have to travel a pretty long distance. You're usually very likely to attract at least a couple of the big packs of zombies if you're not very careful. That's definitely a feature I like about the game already.
Someone also already proposed the mapmaker. Currently there is a quite complete map making scripting system available, although I'm quite shit with making interfaces (and don't really care to do one either) and that's what a map maker basically is. If anyone wants to volunteer, I'd be sure to give them a special recognition in the credits.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 11, 2012, 02:38:50 pm
Hey guys!

Sorry for the downtime, been way too busy the past couple days. Anyways, here's a big one for y'all!

- Implemented monster hearing.
- Tiles now have the field <NoiseMitigation> which determines how much a tile can dampen the sound. (default 1)
- Creatures have <SoundThreshold> field which determines how loud the sound needs to be for them to register it. (default 1)
- Creatures have a target system based on the priority of whatever they sense. A player sighting amounts up to 100000 priority atm, which is a shitload and they'll never give up after seeing you :P you can lose them tho if they can't see you after reaching wherever you were when they saw you.

I removed line of sight and sight range temporarily so you can appreciate the sight of the whole map walking towards you after you fire a weapon :) (firing a gun generates 1000 noise/priority)

Tomorrow: smell!
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 12, 2012, 11:16:51 pm
Smelling released!

Only zombies can smell right now, and it might need more balancing. However, I just made it so that npc's can no longer see through walls since they can hear and smell. Try it out! You can still see the whole map.

edit: I think I forgot to update the xml files. Edit the xml files and set the <Smell> field of the player to 800 or so and you'll have the monsters tracking your scent :P
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 13, 2012, 08:47:00 am
Hey hey,

another version is out. There are two things, basically..
1) Made smell propagate in a way that makes more sense. Read the changelog if you want to.
2) Sight range no longer matters when monsters find targets by smelling and hearing. They'll pick the tile with the smelliest or loudest signal within line of sight and go there.

The player still has unlimited vision for now. If you use the debug, you can look for the debug lines where monsters detect sounds/smells.

Test, please :)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: khantin on July 13, 2012, 07:29:04 pm
I think it would be neat to have varying speeds for different units (ie zombies move slightly faster than humans), along with stamina and a toggle-able sprint/jog mode. 
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 14, 2012, 12:15:44 am
I think it would be neat to have varying speeds for different units (ie zombies move slightly faster than humans), along with stamina and a toggle-able sprint/jog mode.

Units already have a varying speed. Creatures have the <GlobalSpeed> field in their xml that affects how much it costs them to take an action. Currently, the player's speed is 100, a normal zombie's speed is 80 and a dog's speed is 160. This means a dog gets twice the moves compared to a zombie.

I added the sprint-mode in the backlog. Can you think of any negative effects sprinting could have? Here's the things I'm thinking so far:
- Limited running time/stamina (Khantin's idea obviously)
- Running generates noise and attracts zombies
- Running lowers armor rating -> you take more damage
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: 10ebbor10 on July 14, 2012, 10:30:08 am
I'd say a combination of 1 and 2.

It drains stamina, and depending on the terrain you run on ,creates noice. (snow would be no noise, gravel or rubble quite a lot).
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Thief^ on July 14, 2012, 11:30:14 am
Snow's very noisy, on the ground it freezes into crunchy mounds of ice.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: khantin on July 14, 2012, 11:43:44 am
Well, if this is going to be a survival type game and smell is already worked in, you could make it so that being at low stamina increases your smell (sweating and what not) and eventually lead that into some sort of cleanliness arc where you need items or water sources to remove stink/remove infections.  It's a bit out there, but *I* think it would be kind of cool.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 14, 2012, 01:39:09 pm
Well, if this is going to be a survival type game and smell is already worked in, you could make it so that being at low stamina increases your smell (sweating and what not) and eventually lead that into some sort of cleanliness arc where you need items or water sources to remove stink/remove infections.  It's a bit out there, but *I* think it would be kind of cool.

Holy shit, that's seriously a GREAT idea! I'd thought about deodorants (or antiperspirants rather) reducing the smell characters generate but this is awesome!
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 15, 2012, 01:05:56 pm
Hey guys.

I've been doing some thinking again. I reviewed the backlog shuffled it around a bit since the blue lines seemed to be taking up a lot of space. Ever since we refined the scope a few days ago, I've looked at the backlog items and I've seen features that just don't seem super relevant at this stage. So, I though I'd throw a few more questions in the air to stimulate some discussion again.

What should we do to make the game feel more purposeful? Right now there's obviously the two quests that give some sort of direction but it's really not much. We should have something driving the playing experience a little bit more.

Here's what I'm thinking. I'm just throwing these off the top of my head:

- Build enough maps to make it feel more like a world. We could have people making the maps and/or I could write the random generator. However, I'm still not sure what kind of a generator to make since at least I'm not sure if we'll want the city areas or rural areas more. Maybe I'll eventually have to write both.
- Add proper support for npc's and enable communicating with them.
- Finish or at least flesh out the quest system
- Add game mechanics that make the game feel more like the type of game we're trying to make it ( mostly about short-term survival, constant suspense and mechanics that encourage stealth and avoiding contact )
- Add Story

As I think about these topics, I notice they're not very well represented in the backlog which admittedly is a mistake by me. What do you guys think the focus should be right now?
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on July 17, 2012, 03:38:09 pm
Very good, now with the smelling, the zombies really go after you, and some even break the flock :)

I kind of miss the limited view, but at least with the full map on, I can see that I picked up some horrible colors for the map :P

Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: nullzero on July 17, 2012, 04:03:41 pm
Now about the discussion:

- Build enough maps to make it feel more like a world. We could have people making the maps and/or I could write the random generator. However, I'm still not sure what kind of a generator to make since at least I'm not sure if we'll want the city areas or rural areas more. Maybe I'll eventually have to write both.
Here I'm still hopeful of some kind of tilesets like xcom, where you can have city blocks in the city area, wilderness blocks in the outskirts, and these would be generated and connected as needed all randomly.

Quote
- Add proper support for npc's and enable communicating with them.
This would be good for the quest system below. If you can talk (and trade? :D) with NPCs there would be plenty more quest types to do.

Quote
- Finish or at least flesh out the quest system
exept for the npc's I don't think its prioritary now.

Quote
- Add game mechanics that make the game feel more like the type of game we're trying to make it ( mostly about short-term survival, constant suspense and mechanics that encourage stealth and avoiding contact )
now that the zombies see you, hear you trough walls, maybe they can start breaking windows and fences :)

Quote
- Add Story
I wouldn't mind if it was a story light roguelike, but I don't want to be the judge of that. 


About everything else, I've been a bit more silent lately, but I've been reading all the breaktroughs and posts.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 17, 2012, 10:53:05 pm
Don't worry, I'll remove the unlimited view again, it's just so you can see how the zombies behave when you make noise or... well.. smell too much. Smell-wise, I basically set out to punish the player for standing around a little bit out of zombie line of sight for a long time and I think that's exactly how it is now and you could see that easier with no limitation in sight.

Combining what I think is important and what you just said, I think I'll build a city map random generator next ( I'll make it build maps resembling those in Rogue Survivor because it's fairly easy ) and then consider zombies being able to break through weak stuff like fences.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: soundlust on July 18, 2012, 12:34:55 pm
Been following from the shadows for quite some time. Looking forward to seeing how things develop.
Already enjoy seeing how different ideas are incorperated. Keep it up!
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 19, 2012, 12:40:27 pm
I won't be finishing the random generator today but I thought I'd post you a little update anyway:

First of all, the xml object builder has a nice new feature. For any integer field, you can now define a range of numbers and you will get a random number. For example, the BasicZombie.xml file currently has the attribute <MaxHP>30</MaxHP>. After the next release, you can put it like this <MaxHP>30-40</MaxHP> and the zombie will have a random hp max of 30-40. This'll work with any integer on any object. Sadly the same exact effect applies to every object from that template so all of those zombies would have the same hp on that map. So actually this effect is mostly useful for objects you only need one copy from.

The random maps will be defined in xml files. Currenty the templates look like this:
Code: [Select]
<RandomMap>
<Class>RandomCityMap</Class>
<Height>128-255</Height>
<Width>128-255</Width>
<StreetTile>$World.CityStreetTile</StreetTile>
<WallTile>$World.CityWallTile</WallTile>
<FloorTile>$World.CityFloorTile</FloorTile>
<BlockSize>20-28</BlockSize>
<RandomFactorX>0</RandomFactorX>
<RandomFactorY>0</RandomFactorY>
</RandomMap>

The city map consists of blocks. A city map has its height and width defined in the file and the size of one block, also. The BlockSize field only determines the size of the building (or fence if the building has a yard) and if (when) the division has a remainder, random rows or columns of blocks will be made wider. There is a one-tile wide sidewalk around every building block and a two-tile wide road between blocks.

Cities will have a limited tileset that is defined completely in the xml file. It'll be fairly easy to refactor to something different later, if need be. So for now, we'll be working with a limited variety of tiles (though you can define which three you want).

The RandomFactor fields are used to add some variance to the amount and size of the blocks. For example, if you want a big city map, let's say 255 by 255 and a blocksize of 22-28, you will still be stuck with a fairly predictable map because the remainder can't be higher than 21-27. Thus, only 21-27 random blocks will receive +1 to their heights and/or widths (a block can receive the +1 more than once if it's "lucky) and the map will look quite homogenous.

The RandomFactor is a decimal number between 0 and 1 and will decrease the amount of blocks on the map by a random percentage between 0 and its value. For example, if you put a RandomFactorX of 0.75, the amount of blocks (from left to right) will be reduced by 0-75% depending on random chance.


I'm estimating I'm about 33-50% done with the generator. The current state is that it will create the template object based on the xml file and constructs a table representing the size of every block. The next steps would be to 1) place the tiles on the grid that is used in the game map and 2) plug this whole generator in the current game.

What do you guys think?

Edit:
soundlust, you are also more than welcome to join and contribute if you want. There's a LOT still to be decided, we're just getting started :)
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 20, 2012, 10:33:13 am
A quick update on the progress. My three-week summer vacation just started and I'm headed to the summer cottage for a few days. No electricity -> no coding :)

- The random map generator has been finished and plugged to the game somewhat. They need more variety though because they're super boring right now and no enemies spawn there. I'll let you try it out later.

- My laptop is a bit slower than my desktop and I noticed some lag. I debugged the lag back to two functionalities one of which was from the ui component. I was able to make it so the particular routine in the ui component doesn't have to be called anymore so that should cut turn time by about half. After that the most expensive operation was the propagation of smell which was about 60-75% of what was used per turn. So I cut it down by a factor of 50 or so. Overall, turns should go by a LOT smoother from now on. None of these measurements include zombies moving (i did the debugging on an empty map) but a quick check provided me with the information that creatures require well under one millisecond each to take an action.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 23, 2012, 11:57:35 pm
Hello everyone!

Back from the cottage. Did some coding. Released a version. Here's what's important:

Random city generator is working and you can link them to self-made maps. They're defined by xml files such as RandomBigCity.xml. Currently you can't move back from a random generated map but at least you can try them out for now. I haven't decided yet how I'll do the transitions and navigation between random-random and random-selfmade maps. I put in some work to improve the performance of the game but it still get sluggish in the big map. There are several things I could do to improve it but can't be bothered yet.

https://dl.dropbox.com/u/84930267/Zombies-0-12-7-24-0.rar

edit: oops, it looks like the random map generator is quite slow in debug because it prints the whole map (prints it like shit, too) on the console. I'll fix it for next version.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 27, 2012, 05:12:58 am
Hey!

Worked this morning on improving manual map creation. I created lists for creatures and items where you can define what to spawn on a tile and define what their weight (probability) in relation to the other list items are. Check the ZombieList.xml, WeaponList.xml and 1.txt to see how to use them.

https://dl.dropbox.com/u/84930267/Zombies-0-12-7-27-0.rar

Also fixed a couple of things, including a little rebalancing for smell propagation.

Later on, I'll probably make it so you can include a list within a list so you can define basic list types (like weaponlist) so you can have areas where items from the weapon list can spawn and areas where an item from a variety of lists can spawn. Same for the creatures. Won't be much effort.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on July 30, 2012, 04:43:38 am
Greetings from Spain! We're on a vacation in Spain. Luckily, the gf slept in so I had time to code some:

- Added friendly human npc’s. They start following you when they see you. They're dumb as shit.
- More adjustment to smell. Turns out it's a bitch to handle. It's much more easy to deal with now but requires more testing obviously.

https://dl.dropbox.com/u/84930267/Zombies-0-12-7-30-0.rar
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: finka on July 30, 2012, 06:44:46 am
Got myself trapped against the right wall by the NPC always keeping to my left.  You should probably allow me to swap places with 'em. 
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on August 01, 2012, 03:47:00 am
Have yourself a freshly baked version!

0.12.8.1.0:
- Moving against a friendly npc swaps positions (ty finka).
- Vastly improved creature behaviour (upgraded from crap to bad). They can now much better handle things like making distinctions between chasing creatures they can see and chasing sounds/smell/creatures they saw but now can't.
- Guess what? More balancing to smell. It's pretty good at the moment I think.

https://dl.dropbox.com/u/84930267/Zombies-0-12-8-1-0.rar
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on August 06, 2012, 01:50:03 pm
Hey again.

Just released another one. Not much on this one but since it had been a while, I thought I'd throw one out there.

https://dl.dropbox.com/u/84930267/Zombies-0-12-8-6-0.rar

- When defining a transition to a random map, a transition back to the previous map will be generated automatically.
- Some minor things, can't remember anymore :P

There's currently still some bugs with the camera and bullet tracking. Those are being worked on. Also, a bullet spread system (not based on a bug) is being added.

I'm planning to release 1.0 in the 2012 Annual Roguelike Release Party (ARRP) which is on the 15th and 16th of September. Features for that are basically locked down now, more on them later.
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Tuplis on August 10, 2012, 05:50:30 pm
Hello, everyone

No version on this post but a little progress update of what's currently working in the development version:

- Creatures that are standing next to you and targeting you will follow you to the next map upon transition. This'll enable escort quests to work better and you can't shake zombies off as easily, either. This can quite trivially be expanded to include creatures from further away also and with a delay so as to simulate the previous map still being active.
- The FindCreature objective is fully operational. With it, you can track whether you've found a specific creature yet (or more specifically, whether that npc has seen you).
- Escort objective going along really well.

I will try and release on Sunday. Tomorrow (Saturday) I'll be celebrating my graduation with friends and family so probably can't finish it before then.

Also regarding the ARRP/1.0 features, here's what I'm planning, feature wise:
- Plot is to find your sister and get out of the city (Yea I know it kinda sucks, but I only spent 15 mins coming up with the idea and the content). The city will demonstrate the random map generator and the countryside will be hand-crafted probably by myself.
- Monsters will be balanced so that the game is very tough yet probably beatable. Unless you're dealt a bad hand. The game is still short enough to gain forgiveness for that.
- Strategic depth is already quite deep, the player has to balance between avoiding the monsters, killing them with melee (silent but risky due to damage taken) and using firearms (ranged, noisy, limited ammo). I'll see if I can include the running/perspiration system, so far it seems achievable.

- Tuplis
Title: Re: Community-driven roguelike development project underway. Want to design a game?
Post by: Briggsy16 on August 10, 2012, 06:30:35 pm
Congratulations on graduating mate.