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.
"Crowdsourcing" to me has always been a metaphor for "Lazy". Or in the more eloquent words of xckd - http://xkcd.com/1060/
Master of ScienceDamn, 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.
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"?
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.
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.
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.
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."
-In my experience, item integrity isn't something overly standard in roguelikes at the momentAnd 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.
snipDamn, I hate it when other people express my thoughts better than I am able to myself. :-/
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 developmentAnd 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 buzzwordsAnd 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 haveGamers. 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.
Stuff...
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 voting on next feature to add.
10/10 random maps. All else is good right now, I'm content :3
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.
....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 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?)
...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.
You want new suggestions still here, or put directly into the spreadsheet?
- 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.
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.
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.
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
btw, what's a popular keybind for a 'pause' other than numpad 5?Numpad 5 has always been 'wait a tick'. Always. Everywhere.
Numpad 5 has always been 'wait a tick'. Always. Everywhere.
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.
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
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.
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.
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?
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.
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.
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.
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?..)
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).
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".
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;
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).
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 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".
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".
What is everyone thinking?"Mmmm... I sure would like some ice cream right now..."
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?
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>
Every new backlog item needs to have end-user value.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.
...
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.
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.
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...
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.
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."
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 :)
-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
#####################
# #
# #
# #
# #
###### ######## #####
#...................#
#...................#
#...................#
#...................#
#...................#
#...................#
#...................#
## ##### ###### #####
# #
# #
# @ #
# #
#####################
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.
<Class>DoorTile</Class>
<Sign>+</Sign>
Txt contents:+ = BasicDoor
Xml contents:Code: [Select]<Class>DoorTile</Class>
Txt contents:
<Sign>+</Sign>Code: [Select]+ = BasicDoor
There. Why not just leave the symbol definition in xml file and put only map in txt?
public Item getOneItemOfType(WeaponRanged){}
or
public Item getOneItemOfType(WeaponMelee){}
or make it more generic withpublic 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.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?
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.
edit: implemented diagonal moves for both the player and the monsters. They cost extra.Rejoice, ye rightful!
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 :)
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.
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.
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.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.
use > to move between maps. Currently there's one TransitionTile in the western part of the map.
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?
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?
weird, it worked when i did that :D thanks.
<Tile>
<Class>Tile</Class>
<Symbol>¤</Symbol>
<Type></Type>
<SymbolColor>0xc3d8fd</SymbolColor>
<Navigable>False</Navigable>
<SeeThrough>True</SeeThrough>
<Penetrable>False</Penetrable>
</Tile>
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)
Now, how do i add attachments again? It's all stored in one ZIP file.
########################################
#......................................#
#......................................#
#......................................#
#......................................#
#......................................#
#......................................#
#......................................#
#;.....................................#
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
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)
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)
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.
it's now 40-something by 36. still not working.
. = BasicFloor(Creature:$Creature.BasicZombie,CreatureChance:10)
but it only generates empty maps. (i.e no zombies) I once got a error. 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)
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.)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)
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.
<Quest>
<Class>Quest</Class>
<addObjective>$Objective.KillFiveZombies</addObjective>
<Description>Zombies must die!</Description>
</Quest>
<Objective>
<Class>Kill</Class>
<Description>I must kill five Zombies</Description>
<Target>$Creature.BasicZombie</Target>
<KillCount>5</KillCount>
</Objective>
Quotebullet 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?
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.Quoteflashlight (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?
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".Quoteauto load game (start game where the game was last disconnected)What do we want to persist? Items on the ground? Monsters?
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.Quotetile that spawns a random item from the items folderAny 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
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.QuoteSupport to change default symbols and background colors in the mapWut?
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...
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.
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.
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.
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
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)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.
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!
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.
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.
- 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.
- 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.
- Finish or at least flesh out the quest systemexept for the npc's I don't think its prioritary now.
- 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 :)
- Add StoryI wouldn't mind if it was a story light roguelike, but I don't want to be the judge of that.
<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>