Thursday, July 31, 2008

The eyes of Lucy Jordan

I don't even care what these are titled anymore.

So I'm moving TOMORROW and this is the last thing I'm doing before I put a million books into less than a million boxes. Because I'm not at all sure whether or not I'll have net access tomorrow night and yet I am sure that I'm not going to want to go into Manhattan just to make a Gruedorf post, here's a paranoid screenshot dump to preserve my magic 0.0% loss record. The goal is to preserve it all the way up to the release.


Let's start with a better version of the title screen from last time. Still needs a lot of improvement but it's not totally horrible anymore.


The Cass sprite is in the game now, although still not totally animated. This does show off the new textbox/menu graphics though which look infinitely better than the old ones (which I made by just googling "girly crap" and saving the first, pinkest image I could find at a low resolution. Stopgap measures are gr8)


This is one of the last big components of code left to write before the basic game systems are done. It's your XP system essentially: you pay out "BP" to up individual stats with a limit on how many times you can up stats per level. Actually going up a level involves like--doing shit for people, all Wizards and Warriors 3 style. (Doesn't really come into this part of the game a lot but I want to have the code in place.) Right now this thing completely doesn't work or look good, but hey, little progress bars!


Finally I can start laying out new maps, also. (I may have lost Tack forever, which isn't a massive deal but it'd still be a day of work or so to rebuild it.) This is an incredibly horrible and rough version of the desert, which is your first "overworld" type area. Here also is a new NPC to talk to, which is really nice since for the past week or two I've had to just disable old NPCs in the one map I had working in order to test code.








Here is a battle with new enemy art by the talented and mysterious Xerxes Verdammt! This isn't so bad! We can cope with this, the easiest enemy in the game!


Oh. Different, more horrifying enemy art by XV. Sucks.

(n.b. I've loved that "It's a dead man's party!" joke ever since Silver Star Complete, but um I'm obviously going to change that)

What you can't see in the screenshots: the other new map, since I connected everything up and tested it, but then closed off the entrance until I finish building the desert. There's even less to see in the way of killr grafx than these screenshots, which are super ad hoc and lame. You also obviously can't see Long Dao's music, two more tracks of which are in the game now. That's four completed tracks; six more and that can be crossed off the list. I still have to take a day to hook up a microphone and knock it against interesting things around the home and then apply Audacity effects until I have a bunch of weird SFX for everything.

Oh, also, my pal told me that like--the page for my totally incomplete failed doomed 1999 Verge2 project, ZEPHYR, is still up... HERE. Thrill to vecna.chr and his FF6-edited-graphics friends! That textbox in the screenshots? It could open ten times for ten distinct lines of text before my shoddy handling of DMA caused my computer to crash! Verge2, hey! But seriously folks it was completely horrible to read the plot/characters sections of that page and to remember the time in my life when I thought stuff like that was like radical and awesome. I'm infinitely glad that like--I'm not stuck using a plot and characters that I came up with nine years ago.

So that's the update. It's not a great update honestly--I had hoped to have the BP manager and enemy spawning code finished by this time, since then I could say "Yo hey basic system code is finished, my doggs", but I can't really say that. The new maps still look stupid and there aren't really any more graphics by me and basically this week sucked with deadlines at work and preparations for moving (which I have to go do more of right now, agh.) The new menu is the biggest triumph I'll claim for myself this week since it looks way good and makes coding much faster since I can now pop stupid little "log" messages to myself (like the combat zone one) to let me know what tile I'm on, what the state of certain variables is, and other useful things. But I got the new menu done like--right after the last update pretty much, and since then I've done mostly jack shit.

And yet I'm still winning the gruedorf. Do you want to know how?




That's it! Gotta go box shit up! See you all next week, I hope!

Friday, July 25, 2008

Second Entry in As Many Days, And This Is The One To Read Maybe

So: today I got maped back, thanks to the ministrations of the kindly Overkill. I was able to put in some graphics that I made late, late last night/early this morning.


The latter one, I think, is not bad (although obviously not done), esp. compared to, say:

blackmoss 2 6/19

Unfortunately, the version of maped I'm using now corrupts .vsp files and possibly .maps. Any map I open in maped ceases to be usable by the Verge engine. This is obviously kind of a problem.

Then I lost the use of maped again--the .vsps got corrupted, I guess, and the maps I need won't open (or the .vsps, more properly.) And I can't really create new maps or open the ones I haven't yet opened, because I have one good map left right now and I aim to keep it that way, by God. HERE THE LINE WILL BE HELD.

So today was all about sleep deprivation and graphics, including these two sprites...


... the latter of which is the illustrious Cass, playable character! Too bad they don't have full walking animations yet, hey

What does work, though--and much better than I expected it to--is the enemy AI, now complete!


See how the sprite stolen from Dragon Quest is trying to rob you? He only does that if you've got a certain amount of gold in your party. You scrimp and save to earn all the gold you need to buy a new club or something, then you run into one of these jokers, and if you haven't been optimizing or at least raising your evade stats he just swipes a fourth of your money and takes off. I love shit like that--making enemies specifically designed to make your life hell--and now it's really easy; just a matter of writing up a super-tiny ai script file for every enemy and making sure there's a function defined for every command written in it. Once I get maped/verge working together again I can set up a map that actually spawns enemies, build the code to do that and to initiate battles, and then suddenly it doesn't just feel like a game--by god, it is one! (Barring story and like--level advancement and stuff. And mad debugging of a lot of this.)

Also I started on a crappy title sequence, since the game used to just load with a centered string telling you to press Z or X and I was sick of that.


I did all this graphics stuff because (1) after a certain point this afternoon I lost the powers of reasoning needed to do anything other than program and make pixel art, (2) I played some other indie RPGs and realized that I needed to get better at pixel art ASAP, and (3) I read through Derek Yu's really good tutorial on basic concepts of pixel art. I sort of knew about light and all, y'know, and how it should be some places and not others, but something about this tutorial makes sense and is totally workable. The first thing I attempted using it was that gigantic mountain in the Tack screenshot, and I think that permanently soldered some art neurons into place because it's been really quick to work on a bunch of tiles after that. I was all worried that I was going to have to like--outsource things.


I don't really consider doing a bunch of pixel art work for some reason so this applies. Programming and pixel art are both some of the most mindless, stimulus-responsey things in the world: you just keep pushing at it until suddenly it makes sense.

Oh god--one week from today I'll be in my new apartment in Queens, then I'll be in Palo Alto for a week and change. Who knows what the future will bring, really? September is most likely out as any kind of "release date" for this--at least not with the fate of maped up in the air for me--but I'll at least try to have it in the right hands or something. Really all of the architecture is there to just build the last three maps, although two of them won't be that much fun without the enemy-spawning code. Then the first part of Chocolate Sauce RPG will be done, and I can upload it to! Then I just need to make five more of these horrible fuckers!

(Changing my gruedorf day to Fridays--it's better for my schedule and it gives me a day to crank on this stuff at least.)

(If you know how to resolve weird zlib.dll errors in maped, like, let me know, k)

Thursday, July 24, 2008

National Buy-Nothing Day


Gasp, combat strategy seekrets

A tender moment

The complete capitalist cycle: from spending money on items...

To having items, feeling the burn of wealth and power...

To using those items to murder poor innocent creatures so we can buy more items.

Why are all these screen shots so monotonous? Partially because maped3 doesn't work on this new computer, it turns out, creating problems when it comes to tile editing/map making. Shucks!

Until some kind of resolution can be found for this problem, I'm just working on coding. The big changes:

- Battles basically work. Found one bug with the ally-targeting system for items, have yet to solve it. But you can get your ass kicked, kick asses, and use items to help you kick asses for longer without any major issues. There's a cheesy "hit" animation now too, and the battles play vangelis.mod from Sully which I hope will change soon. I haven't tweaked any stats yet or really put most of the planned enemies into the game (the super-distorted enemy art in the screen shots is, um, obviously not final), so the battles at present are punishingly hard. It's really, really easy to die within two fights.

- Items basically work, and I've coded effects for two of the three non-weapon items at present. (Most critically you can heal.) Big things that need to be done: the ability to use items on other party members besides the members who hold the items, the ability to transfer items to other party members, and the ability to drop items. I'm not at all confident in the item system's ability to handle weird cases (getting items when you already have too many, etc.), but until I find bugs I'm probably not going to stress about it.

- Equipping items works much much better. There's a huge difference now between some of the different equipment options available and it's actually fun to mess around with combinations, get into fights, etc.

- I recoded the menus. There's now a generic "box" system that displays messages and allows you to select from among different menu options. Makes my life much, much easier and takes a lot of the tedious slog work out of coding complicated menu systems, which leads to:

- Rudimentary shops. You can now buy items for Chocolate. No one else gets to buy anything until I make the shops less rudimentary. It only took maybe an hour or two to make the shops work, though, thanks to the new generic menu system, so it shouldn't be too long before the shops all work.

- I also fucked up the map spells system by trying to use trig functions to make the mouse pointer stay within a circular field of influence. It still works, but the cursor jogs around a little when you reach certain uncomfortable points ("angle" calculations at multiples of 90, I suspect.) Needs lots of polishing since the map spells are going to be a huge issue in the puzzle-centric part of the game I need to make next.

Basically: it's really, really getting there. Even with only one dummy battle hard-coded, I can still actually have fun with the game: fighting enemies, healing, running back to the store to buy better equipment, equipping it, fighting more enemies. It's starting to feel like an actual *game* with like rules and objectives and such, rather than just a couple of town maps and story sequences.

Unfortunately I'm sort of stuck at this point until I can get a working version of maped. I guess I'll focus on squashing a few leftover bugs--notably one with the equipment system that makes it impossible to equip items at certain positions in the inventory array--and finishing up some loose ends with the items/battle systems. (Notably the ability to, um, do those cool combat strategies mentioned in that first screen shot.) If I can get a working version of maped by next week I'll be able to start building the next map, plus finishing some loose ends with this one coding-wise by putting together the final story sequence--the text is already in the appropriate files and edited, but I need to be able to fiddle with entities and stuff to actually put the scene together.

I should really be making some sprites also.

In other news, I finished the first-and-change draft of my novel. It's now time to enter the hellish process of typing, editing, and polishing that preparatory to finding an agent and selling the bastard.

Murry Wilson: let's fight for success, okay?

Wednesday, July 16, 2008

Everyone All Crowding Around

Screenshots again, finally:


The first one is of the menu system in its current form. I'm trying to keep it crazy simple, all laid over the actual game--I don't really like games where the menu feels like this whole separate world, as a rule. (It's the big change from Earthbound to Mother 3 that I can't support.) Currently you can equip and unequip items, but there's not really anything other than your basic equipment to equip/unequip. Items system still needs work.

The second one is of the new multi-enemy-capable battle system. There are still some huge bugs in it, but it works perfectly for single enemy combat so at least hey, nothing got broken. I put in some code to prepare for the hit location-based attacks and finally changed the stupid Dragon Warrior background. The new one is obviously not final, but at least it's a little more pleasant in terms of colors and doesn't bring up all kinds of silly associations.

One good change is that I finally figured out how I'm going to handle enemy AI. There's still some vagueness about exactly how it'll work in terms of variable access--initially I just figured I'd use some kind of delimited string with different commands to be randomly selected from, but it's a good deal more complex now--and it'll involve writing a slightly more complex parser for if/then logic and I'm still not sure exactly how that'll play out. At worst I can just have super-complicated .dat files and traverse them every time the enemies pick a command. I'm sure I can come up with something better. In any case, if it works I'll be able to write a huge variety of interesting battles with really mean-spirited pick-on-you AI, which eliminates one of the worst things about making RPGs: differentiating a lot of enemies that are really just an image file and a bunch of numbers, in the end, and making that gameplay deep and rewarding throughout a long stretch of game time.

I'm leaning pretty heavily on Mother 3 as a model for how combat plays out on the player side, where each player is heavily skewed toward performing a specific role that often has very little to do with combat. It'll let the whole thing get away from the standard fighter/healer/magic user/arbitrary fourth option configuration in a ton of SNES-style RPGs, allowing for some cool strategies that don't lean on button-mashing. Who knows--I'll have to code more of it before everything's settled.

Map spells are working again as they were before. I still need to pretty them up with some particle effects or something, but the basic logic is right. I need to code the "Light" spell but it can probably wait until I'm actually coding the cave portion of the first release.

Items are, um, not done. I'll work on it, I swears!

The last thing is some new story, written but not coded yet. It definitely needs editing, but it's nice because it actually kicks up the plot by quite a bit. Before it felt more like building a model train village or something, putting all this code in place--now it's starting to feel like an actual game with, you know, goals and events and things.

No new graphics or map data. Still bummed about losing the Cass sprite.

Touched base with the music man; probably too early to really worry about that much. A battle theme would be neat.

Next week is going to be weird since we're getting ready to move house to Queens, so I'm not sure what I want to put down as far as goals. Probably just finishing the battle system before doing much else, including setting up the battle initiation code so I can start populating maps with horrible wandering monsters for whenever I'm sick of coding townsperson dialogue and need to blow off steam--with MURDER.

That's it. What of you, other gruedorf people? I totally want to play some new builds and stuff, get all inspired toward this thing again!

Wednesday, July 9, 2008

Update On Calamity

I have another computer (at the price of crushing debt for a few weeks) and I've checked out the contents of my backup file. Let's pretend last week's update never happened, because I've lost essentially everything new from it. The items system still works, but equipping items doesn't. The map spells system is broken and needs to be recoded--not that big of a deal, just a pain to have to do it again. I've lost a few map tiles but not major ones. My items.dat file is mostly lost and I suspect the additional code for parsing and loading it is also lost--I think I have some hard copies of the different items I made up in my game notes and I was going to have to revise a lot of those items anyway. I've lost a lot of the revised damage calculations that made more sense. I've lost the code for multi-enemy battles, but I knew that was going to be the minimum loss.

The biggest issue is actually losing the sprite for Cass altogether, which is extremely irritating. But I'm lucky I've got any of this project back at all.

At least all of the story code and text are still working and I didn't lose too much art altogether.

So--not really any work done this week besides finally getting all of this back together. Some of the items code has been redone and some of the new code for initiating multi-enemy battles is done. The game now knows how to unequip and equip items and do so without crashing the items arrays. The player can't do those things, but one day he or she sure will be able to, by God. The code to load map hot spots is in place and the code to run events based on whether or not the player clicks on a hot spot in the map spells mode is in place, but I haven't tested it yet. It's all getting back to where it was and it should work slightly more smoothly. I'm really just burned up about losing that sprite right now.

By next week I'm hoping to have all the systems built at least: map spells, menu/equipment, multi-enemy combat and all the battle commands. Then I can just worry about graphics and actually building the game.

Sorry this is lame, and sorry no screenshot.

Wednesday, July 2, 2008


So I managed to spill a glass of iced coffee on the laptop that held everything related to Chocolate Sauce, pretty much ruining it and all of my files forever. Fortunately I had a backup--I've lost two VERGE games with some amount of work on them already to horrible computer problems--and most of the rest of my files are at least sort of backed up as well. I'm hopefully getting an advance from my job to get a new computer, since I can't really work for them without it--we'll see how that goes, if that goes. Until then I can't really do any additional work, so hopefully I'll be up and running at some point pre-next week.

Fortunately I did a bunch of work earlier in the week, so here's how we stand with regards to last week's goals:

- Not really any new story in Tack. I think all the layout is done on the backup copy. There may be one or two doors to link up.
- The sprite for Cass is done; not sure if it'll be final.
- Map spells system totally works (except for one count of weirdness with the mouse pointer "sliding" inappropriately at certain points within the map spell effect range.) It's totally fun to play around with, too!
- Nothing new on the battle system--I did all the work to establish multi-enemy battles and it all still worked with one enemy, so I think it would have been pretty easy just to drop some extra enemies in and test it. (The big issue was just figuring out how to
call battles with the battle() function without going crazy.) Unfortunately I lost all of this work in the crash. Shouldn't be that hard to redo, but still agh
- Items system very far along: you can equip items by category, be given items by chests/characters, "use" items. No effects hard-coded yet but placeholders are and the actual effects code is all pretty easy. There's no range-checking unfortunately so you could keep getting items until it overflows your inventory array; that's about all that's left barring code to shift overflow items to your next party member or just to trash them altogether.
- No new monster art or code.

As far as next week's goals, god only knows--it all depends on when and if this advance comes through or if I have to like, get another job or something. (Not the ideal solution.) We'll see what happens. I lost my detailed "prep for release" schedule so I'm not even sure what I'm supposed to be doing to stay on target for September, but there's not that much more to do in Tack so probably just finishing all the game systems and then building the rest of the maps/dungeons/battles for this release, slowly but surely. It seems so simple when said that way.