Friday, December 17, 2010

Adventurer 0.0.2.1 - Classic Update

Well my usual time of update has come and gone without an update, but I have good reason. I could complain about college eating up a lot of my time and then suddenly quit on the project altogether. But nah, I'm not like that. Seriously though, last week was the next-to-final week and had some of the hardest, most time consuming stuff. Never, ever try to do a "combo matrix" by hand. And then there was a lot of studying for both final exams, which I took today.

But that was only half of what is taking up my time. The other half is Adventurer. I'm working hard on 0.0.2.1, but it's not quite ready yet. ...actually, you know what? I just think I fixed it enough to give it to you all. I started to write this blog post before I finished it, but yeah. Here you go.

The major change here is one that may not be perfectly agreed upon. I switched to a more classic roguelike style health and damage system. There are a few reasons why I did this. The first is that it was hard to tell how close you were to death before. The second is that it was extremely unbalanced. The third is that I have much more source material to borrow data off of in this format. Hopefully, the increase in fun will outdo the temporary loss of an uncommon combat system. I do intend to either switch back to a realistic style or to continue using the current system, but with a lot of improvements that will go hand in hand with it while increasing the detail level of combat.

The other major change, the one that suddenly increases this game's longevity by a lot, is an experience system. Yes, you can finally gain levels and grow stronger. I even rigged up save files with it and improved those. You can save and pick up exactly where you left off, current hit points and all.

A more personal change is that I totally redid how the game internally handles input from the player. I shifted everything over to use the WaitForKey method instead of weaving my logic in with my SDL. I started on this because rats spontaneously decided they could save their moves up, then use them in one burst. Dealing with it in the SDL mire was a no go. So now it is MUCH more simple on my end. It's just what ate up most of my time this week.

And finally, I fixed a bug where kicking down a door would leave a permanent shadow spot where it was. I'd forgotten to set the tile back to transparent when a door is kicked down. The other bug that was pointed out was the duplicate body parts. I have no idea what's causing that yet. It shouldn't affect much, I'll see if I can spot what's causing it next week.

So next week. The bestiary is looking pretty thin. Now that I've got this classic-style update done, it will be easy to add in a ton of creatures and some more items. So I'm going to do that.

Tuesday, December 7, 2010

0.0.2.0 Graveyard Files




I'm almost back on track with this update. I'm a day late, so sue me. Actually, don't sue me, I haven't even made five dollars yet. This was never meant to be a major update, so don't expect a ton of new features.

What I did do, first off, is fixed some of the bugs from the last update. Yeah, that was a major update. You had items multiplying on reload, and sometimes when a level would try to save, it would hit a null item, give up, and cry. No more, I fixed that. As far as what I added instead of just fixed, two things. The first is graveyard files. Whenever you die, a file is buried in the graveyard preserving some stats on your run. Also I fixed potions to where shattering against a foe causes their effect. This opens up the options for things like poison and acid later.

I also sped up pathfinding considerably by having it return a path in a stack of moves, instead of a single move that has to be calculated each time. What this means is that the processing can be used elsewhere. Specifically, what I'm going to work on next week, temperature and its effects.

Yes, next week will have temperature and ways to affect it, as well as things it affects. Set things on fire, freeze water, etcetera.

Friday, December 3, 2010

End of Month 5 - November; Full Persistence and Save Files

I'm not dead. I'd just locked myself away in a white room, with only a television, a bed, and a computer to fulfill my needs. And guess what? I only watch TV out of utter boredom or to get a laugh out of the ads. As in, laugh at some of the cheap marketing techniques that no one should really fall for, but do. But mostly, I spent my time working on this update.

I cannot begin to describe the complexity of what went on here. Wait, I think I can: I can perfectly (presumably, there may be bugs) recreate a session's universe based on what I've saved in text files. They are relatively small. A universe in which I dived down fifty levels was less than 300 kb saved. Basically, I crammed a universe into 2 million on/off switches, and can recreate it all from those files. It wasn't easy, either; there is no command to write what's in memory to the hard drive that I know of. I had to write it all in legible text based on what is in memory, and save it to a plain text file. What all this means for you? Truly persistent levels and save files. When you drop an item and come back, it will still be there.

I had some hilarious bugs while I was working on this, too. At one point, I was randomly switching bodies with random wildlife. Dragon on a rampage through the forest, while I was suddenly a wolf. We had whole inventories shuffling from one creature to another. I was suddenly a quest giver. And I can't even near promise all the bugs are out. But it seemed to work well enough after a fair amount of play testing.

As for the statistics so far. 1308 downloads grand total. 549 blog views this month, up 27.38%. 636 code page views, up 36.77%. $4.63 in ads grand total, $0.66 this month. No donations. So it seems that views are definitely on the rise, and downloads are either maintaining or growing in their rate. While the money is lackluster, I don't mind. I've learned a lot on the way and maybe I've given a few people a few minutes of fun. And I will continue to work diligently.

Next week... wow. Let's see if I can't get something simple done to get back on track, and submit Monday. Perhaps the things I've been saying the past three weeks. Maybe graveyard entries. That would be partially on the road to bones files.

Monday, November 22, 2010

0.0.1.8 - Hunger, Engraving, and Post Mortems



You know how I said I was going to work on status effects? Went off on a tangent. Take my mspaint crud as apology, along with that update.

So I'd started with adding status effect definitions to creatures. You know, confusion timeouts and stuff. Well, I added a hunger level too, and then I found myself working on that more. So I got that working good. Then I thought, hmm, let's stop having sudden death restarts and instead do something with it. So, I built it to give appropriate messages related to how you died. And then, while I was figuring one more thing to throw in before I upload, I added engravings.

I also have more blog comments I'm going to go back and respond to. Also, I noticed I have an Issues tab on the Google Code site, I already replied to the two things there. And I have hit a milestone: my first spam comment on the blog. Something about pricey glasses. Just so you know, if I ever do dump a comment off in spam wrongly, let me know and I'll move it back in. If there's ever a bit of drama about that, I'm likely to move it back in, I like free speech. In the meantime, if I spot obvious junk accumulating, I'll move it over to spam.

So thank you all for what is becoming more than monthly responses. I will try to keep up my average weekly rate of uploads, and I'll try to keep up with comments and such as much as I can.

Next week, I may just get around to actually adding items and stuff like I said I'd do last time. I've got some of the structures in place from the bit I dabbled with it this week, so it shouldn't be too hard to do. See you then.

Monday, November 15, 2010

0.0.17 - Creature Select

Yup, the new version's up. You can play as any creature in the bestiary. Also, I fixed an AI crash bug, and added some appropriate features about what should and should not be able to do things like open doors.

I am also cripplingly tired for some reason, so I won't take long with this post. I may edit and extend it in the morning.

Next week, I'm going to try to add things like status effects, scrolls, wands, and perhaps magic.

I sleep now.

Monday, November 8, 2010

0.0.1.6 - Towns and Trading




You all have no idea what I've been through this week. I have literally hauled 3 tons of cinderblocks. I did the math. I've fought with all sorts of weirdness and problems in my web classes. I even aced a trigonometry quiz, and I knew next to nothing of trigonometry until last week. But that's all irrelevant. Because the most important thing here to this blog, is the next update. I kinda sorta did miss a day, but mainly because it also happened to be the end of the web class week, so I was dealing with that. After singlehandedly finishing the block hauling job, your hero got right back to work on Adventurer, and turned the half-done job of mindless humans standing about in their houses into some decently proper quest givers.

If you go to see one, they'll want an item, and in exchange for it, they'll give you another item. They're persistent like levels are; which is to say, only semi. They won't know if you've completed a quest before when you come back, but you don't have to worry about them wanting a stick one time and wanting a flail when you come back. Later, when truly persistent levels are in, I'll do that kind of thing. Also, I fixed a few small things. Including the whole infinite rope thing as Anonymous so kindly pointed out.

Also of note, I got a FormSpring account. If you're shy about comments here or just want to ask a question there, go right ahead. I increased the number of 'gadgets' here on Blogspot, I didn't just willy nilly add all, just the stuff I thought wouldn't be a total waste of bandwidth. I'm on dial-up, I know these things. Also, no one has edited the wiki at all. :/ Link comin' at you whoa.

And finally, plans for next week. I actually had a conversation with one of my cousins where I basically rattle off huge walls of text, and then suddenly inspiration strikes. "I think I'll let the player be any creature. I wonder if I should balance it, like having new dragon adventurers be totally wimpy and rat adventurers be totally awesome. Or not. I could leave it natural, but then all the powergamers would pick dragon and go on a rampage, kill everyone in town, or at least until... ...the other adventurers hear about you and come after you." Yeah, maybe not all of that latter part will be in, but I'm totally going to work at letting the player be an adventurer of any race in the book.

The long term implications of this, when Adventurer is more developed, is that the creatures with a higher difficulty class are also going to have a higher natural level of fame. Dragons are sorta a big deal for fame-seeking adventurers. Rats? Not so much. New and wimpy adventurers just starting out. I do see that balancing in the long run; you can be tougher but hassled more often, or you can be weaker with less glory-seekers trying to kill you, letting you work in more subtle and secret ways. So I think this will be the first step of something good.

Tuesday, November 2, 2010

End of Month 4 - October

Well, I've got a lot done this month. I set up a donation button, got the overworld forest in, and fixed the 64-bit problem. I've made $4.04 in ads, and the only donation was from my mother to test the thing out. I have a fair amount of downloads now, going from 20 to 100 each week. And according to the analytics, still growing. Things have really picked up this and last month, and I hope it does continue that trend.

So, um, I really don't know much else to say about the month. I've started college back, which may or may not slow down progress. Front porch roof is removed, so that's ready to be moved out so the trailer can be moved out, and a doublewide can be moved in. My days now, instead of porch deconstruction, are going to be occupied by cinderblock siding removal and other packing. And still, I'm going to keep on updating.

As far as the progress goes on the next update, I've got a few things done in level generation and creature data. Still a bit early on to tell if a town should really be ready.