Showing posts with label 001. Show all posts
Showing posts with label 001. Show all posts

Saturday, November 30, 2013

001 - Mapping

We've seen a little about the resources that are available in 001—and some minor issues with them. Now it's time to get more into what we can do with them. Specifically, let's get into the mapping.

A nice forested inlet, but beware of snakes.
Mapping can be time-consuming, but it may be my favorite part of creating a game. I enjoy building the game world, putting in secrets to find and scenery to see, trying to make an interesting and evocative environment. Of course, how much I enjoy mapping depends to some degree on how the mapping is implemented in a particular program.
In 001, the basic functionality of the mapping is similar to that of many similar tile-based game creation programs. Click on a particular tile from a menu to select it, and then click on the map to lay down that tile. I'll have to get more into my chronological crawl before I can say with any level of confidence what was the first game creation system to do this, but it dates at least back to 1984's Adventure Construction Set, making it about three decades old, and many other game creation systems have followed suit since. It's become pretty much the standard way for such systems to work, in fact, common to full-fledged game creation systems, to level editors, and even to map creation utility Tiled.

A partly finished map I happened to have in Tiled for a game that may never be done.

Of course, there's a reason it's become so widespread; all tile-based game creation systems have similar goals they're trying to fill, after all, and this seems the most natural way to do it. Certainly other methods are possible; the Lode Runner level editor, for instance, had hotkeys to select the next tile to be placed, with the legend arranged at the bottom of the screen. While this may work when there are only ten different tiles, however, it would be clearly unworkable for the dozens or hundreds of tiles in more detailed systems. Still other methods are conceivable, but perhaps none as direct or as intuitive as the tile-menu method. It's not even necessarily the case that the makers of the different systems have copied each other... the basic mechanism is simple enough that it could easily have been reinvented independently multiple times.

However, there are, of course, variations in how the system is implemented. ACS took the user to a different screen for the tile selection, as more recently did DinkEdit, while Tiled and Knytt Stories, for example, have the tiles arrayed at the bottom left. 001, like RPG Maker, has the menu over to the side, and perhaps goes RPG Maker one better by having numerous submenus the tiles can be selected from.

This would be the "Furniture 2" tileset
A more significant variation than the mere placement of the menus is that many game creation systems have implemented methods of laying down more than one tile at once. 001 is not remiss in this regard, having tools for laying down tiles in lines or in hollow or filled rectangles or ellipses (the tooltip names "Circle" and "Filled Circle" notwithstanding), and for floodfilling areas with a given tile. As with RPG Maker, it's also possible to select a block of adjacent tiles from the menu and lay them down at once, handy for large features that take up multiple tiles. Tiles can also be flipped vertically or horizontally, which is nice for adding a bit of variation to a map. And the basic ground tiles have an "Terraformation" feature to make them merge elegantly into other such tiles. Again, this is something that many other game creation programs have done, including RPG Maker (where it's called "Autotile"), Blades of Exile, and, with 3D tiles, Neverwinter Nights. But it's a nice feature to have... when it works.

Unfortunately, in 001, it doesn't always work. It's fine as long as tiles of no more than two different types meet at one corner, but a corner with three (or four) different tiles ends up with ugly discontinuities. It might seem, then, that one should just avoid having more than two different types of tile meeting at a corner, but there are times when it's really desirable to do so—for instance, as it is, you can't have a river or pond bordered by more than one kind of tile without running into problems; if the river's shore is all (one kind of) grass or all (one kind of) dirt, you're fine, but you can't mix them without unsightly sharp boundaries.

How many bad transitions between tiles can you see?  (Okay, I don't recommend you actually count them.)

On the one hand, yes, one could argue that it would be unrealistic to expect tileset creators to anticipate every possible combination of three or four tiles meeting at a corner. By my (quick and possibly inaccurate) calculation, not counting rotations or reflections, for seven different ground tiles there would be 406 different corner possibilities. (And honestly, maybe we should count rotations and reflections, since they may require separate tiles. That bumps up the number to a hefty 2,401.) Still, there are ways to implement more boundary possibilities without manually creating each necessary tile. At least some versions of RPG Maker, for instance, do something like keeping one tile as a baseline and overlaying other autotiles over that, so that if they meet at a corner there'll be a smooth fringe of the baseline tile between them rather than a straight boundary. That means all it needs to do is ensure a smooth transition between each autotile type and the baseline, rather than any two arbitrary autotiles. Furthermore, both Blades of Exile and recent versions of RPG Maker allow the user to override the autotiling if desired and pick an arbitrary tile out of all the possible autotile possibilities, a feature that can come in handy if the user wants to have a particular boundary work differently in one place from how it usually does.

Actually, for a moment I thought there may be a feature like RPG Maker's autotile overlay method in 001 after all. The "Tile Transformation" window (accessed by selecting "Tile-Sets" from the "Resources" menu, choosing on a tile with "Terraformation Graphics" set, and and then double-clicking one of said graphics) includes a "Style" dropdown, with the options "Absolute", "Overlay Inside", and "Overlay Outside". However, these selections don't seem to make 001's Terraformation work like RPG Maker's autotiling after all. In fact, as far as I can tell, these selections don't do anything at all. Nor is there any hint as to their function in the documentation, and this time even a search on the 001 Forum was of little help. I'm sure they do something, but figuring out exactly what will require further experimentation (and/or posting on the 001 Forum to ask, I suppose), and that can wait till I get to making my own tilesets.
Yeah, I'll figure out how this window works later.

Incidentally, though, and this isn't a complaint unique to 001, why hasn't anyone (at least in any game creation program I've looked at so far) implemented a sort of autotiling/terraformation that works with cliffs? Both RPG Maker and 001 have cliff tiles, and in both programs the cliff tiles have to be placed one by one, making them rather tedious to map. Surely it would be possible to streamline this process.

As it turns out, though, even aside from the Terraformation issue, cliff tiles were to play a major role in my learning about 001's mapping features. I thought a more varied terrain with different elevations would be more interesting than having the maps all flat, so I made rather liberal use of cliffs when laying out my maps. (And, incidentally, given the combination of rivers and cliffs on my map, I've wished the tileset included waterfall tiles. For now, I'm just putting all the rivers at "sea level", but I may decide to add some waterfall tiles when it comes to customizing the tileset. But anyway, that's a resource issue, not a tileset issue.) But at one point laying out the map to the starting area of my game, I realized I'd left rather too little room for an inn at the bottom of the map south of some cliffs, and that if I wanted to make more space to enlarge the inn the only way to do it would be to move the cliffs north. And then I realized to my dismay that the only way to do this would be to reconstruct the cliffs there, tile by tile. There was no apparent way of selecting parts of the map and copying and pasting them. This is a feature that some other game creation programs do have (RPG Maker, for instance, and I know I keep mentioning RPG Maker but it's because it's one of the best known and most used game creation programs so it's a good baseline for comparison), and it's one that's sorely missed here; it would have saved me a lot of work.

The old inn, before the cliff was moved.  Looks cramped, doesn't it?
I say there was no apparent way of selecting parts of the map because it's hard to know just what features 001 does have, given its horribly meager documentation. There's an odd glitch with the documentation from the Help menu in that the initial Home page that first comes up is apparently copied from the front page of the online 001 wiki—but the links weren't updated to go to the proper Help pages, so none of the links from the main Help page work. Selecting the appropriate topic from the menu on the left, however, works just fine.

This does not strike me as particularly helpful.

I praised 001 before for having its documentation available in a Help file in the program, but the truth us that I really prefer to refer to help documents in PDF format. I know not everyone may share that preference, though, and maybe the ideal situation would be to have both an in-program help menu and PDF documentation, and having online help in addition to both of these certainly wouldn't hurt. In 001's case, though, the format of the documentation isn't so much of an issue as its complete inadequacy; there's just not much there. The documentation gives a very brief summary of each tool and menu option, but it explains nothing in depth, and there are many program features that are explained very poorly, or not at all. There are other support resources available, most notably the aforementioned 001 forums, but overall 001 just is not a well documented program. Which is a pity, because I've found some very interesting features here, and there may be more possibilities to the program that I'm not yet seeing.

(Should I have made a separate post about the documentation? Possibly. I don't know that I have enough to say about to warrant a full post, though; I think what I've said above will do for now.)

With regard to the copying and pasting issue, I honestly don't think that's a documentation issue, though. If there were a way of selecting multiple tiles on the map, I would expect it to be among the buttons to the right of the tile menu, and it just doesn't seem to be there, or anywhere else I looked. The second issue that I discovered through the cliffs, however, is a different matter; it's a feature that the game does have that I didn't know it had, or at least didn't really understand, and it definitely should have been better documented. I refer, now, to layers.

That such a thing as layers even exists in the game is not immediately obvious. There is, however, a button in the Display toolbar with tooltip text of "Visualize Layers". Furthermore, the "View" menu includes the options "Move Up Layer" and "Move Down Layer". So... apparently it's possible to lay tiles on multiple layers. But what do the layers actually do?

001 isn't the only tile-based game creation system to have multiple layers, of course. RPG Maker does, too, as does Tiled, for that matter. And so my first assumption, naturally, was that 001's layers worked the same as RPG Maker's. In RPG Maker, layers are essentially just a way of putting more than one tile in one space. Now, in 001, there are already separate "Floors", "Lower Objects", and "Upper Objects" that can share spaces, which already fulfills much of the purpose of layers in RPG Maker, but I thought maybe with layers I could put, say, one "Lower Object" in front of another, in case I wanted, for example, one cliff behind another. I've done similar things with the layers of RPG Maker in the past.
All the brighter areas are in the middle layer (of three).

A bit of playing around with layers in 001, though, appeared to indicate that this wasn't what they were for here at all. Objects on higher layers seemed to have odd effects on blocking movement, and cast strangely displaced shadows. When I figured out what was really going on, though, everything fell into place. Unlike the layers of an RPG Maker map, the layers of a map in 001 really were vertically displaced in the game's physics. In fact, it's possible to jump from a lower to a higher layer, or to fall from a higher to a lower.

At first glance these three bushes look like they're arranged in a horizontal line, but look closely at the shadows.

The Map Properties window (right-click on a particular map in the Maps menu in the lower left, then select "Properties..." from the ensuing pop-up menu) has settings for not only the Width and Height of the map, but also its Depth—number of layers. Most objects are placed on only one layer, but walls are an exception; a wall exists in several layers at once. As a matter of fact, it's possible to control how high the walls are—and thus how many layers they take up—through a slider control next to the wall tile menu. The default is two, but the walls can go up to ten layers high—assuming the depth of the map they're on is set high enough to accommodate them. (This brings up, again, the question of why there's no such Terraformation of the cliff tiles; surely they could have been implemented in a similar way to the walls?)

I don't plan on leaving these walls in the final version of my game...

This fit in, too, with something else I'd been wondering about. Another of the settings in the Map Properties window is "View", which is set by default to "Standard 45°". I hadn't been sure what this meant, but now it made sense. With this setting, the maps are seen in a sort of a birds'-eye view orthographic projection, with the projection lines directed downward at an angle of 45° and perpendicular to the direction of one edge of the tiles. (Is there a name for this projection? (It's not isometric; that involves the projections of the tile edges being at 120° angles, like in Sid Meier's Civilization II or III, SimCity 2000,StarCraft, Roller Coaster Tycoon, or the Avernum games, among many others.) I couldn't find one, but there should be; it's a very common projection in computer games, used in many JRPGs.) In this setting, objects on an upper layer are displaced one tile upward, appearing visually directly before objects just to the "north" on the next layer down. In contrast, in "Top" mode, objects on different layers are simply directly superimposed—though this mode is clearly not intended for use with the default "Action-RPG (Pro)" tileset. There are four other view modes, but "Front" is presumably intended primarily for platformers, and "Side", "3D Isometric", and "3D Perspective" are premium features available only for subscribers. (I haven't ruled out becoming a subscriber—heck, I probably eventually will—but I'm not currently.)

Top and bottom: The same section of the map in "Standard 45°" and "Top" views, respectively.

It's especially unfortunate that this feature is so poorly documented (in fact, pretty much undocumented... there are a few vague references to layers in the documentation, but none that come anywhere close to explaining how they work), because this is actually a really neat feature, and in fact so far of all 001's features I've found it's the one that most sets it apart from other game creation systems. It's possible to sort of fake having multiple layers on RPG Maker and similar programs, but it's not really built into the system, and even having something as simple as a bridge the player can go over or under involves multiple Events and some messy kludgework. Actually having multiple physical layers to the map opens up some great possibilities.

Each of those squares is an "Event", and all those Events are there just so that the player can walk both over and behind cliffs in two spots.

I really wish, though, that I'd discovered this feature before putting so many cliffs in my maps... because, of course, the cliffs also should go on multiple layers, and, not knowing how layers worked when I first put them there, I now have to redo them all. Yeah, so those cliffs in the starting map that I laboriously rebuilt so I could move them farther north and make room for the inn? Well, I'm going to have to laboriously rebuild them again so I can put them properly on different layers. For that matter, since the inn itself is on an elevated area, I'm going to have to rebuild it too. Along with everything else that I put up "above" any cliffs or elevation changes. Aargh.

I kinda like this plateau, but it's going to have to be completely redone.  Dagnabbit.


It wouldn't be quite so bad—it would still be bad, but not quite so bad—if moving between layers were quicker. As it is, though, the only way to move between layers is the rather inconvenient method of selecting "Move Up Layer" or "Move Down Layer" from the View menu. At least, that's the only way I know of; maybe there are hotkeys for it, but if so they're undocumented, like so much else about the program. If there aren'thotkeys for it, there really, really should be. Hotkeys (especially for moving between layers!) rank up with selecting, copying, and pasting parts of the map as one of the features so far that most stand out as being missing from this system.

The map of the starting area so far—there's lots still to be done, but progress is being made.

Anyway, I think this may be the last post on 001 for a while. Not that I won't continue working with it, but what I've got ahead of me now is a lot of mapping (and re-mapping, given the layer issue) that isn't likely to generate anything new to post about. I will be posting again about 001, of course, when I get done with the mapping for now and am ready to move on to the next stage, or when I run into something else concerning the mapping that's worth writing about, but for now expect the next few posts to deal with Eamon again. See you... hopefully before next Saturday.

Saturday, November 9, 2013

001 - Off To A Bumpy Start

Well, I still seem to be stuck in my rut of Saturday updates. I swear I'll make a real effort this week to get an update up on some earlier day and not cut things so close with my goal of letting no more than a week pass between updates. (I guess technically I missed that goal this week by a few hours, but, uh, we can round to the nearest day, right?*)

Anyway, we've seen a little of what 001 has to offer, and now it's time to actually start making the game. I admit I haven't planned out every detail of the game I want to make with it, but I have enough of a concept to get started. As I mentioned in a previous post, given the mixture of fantasy and modern elements in the "Action / RPG (Pro)" template, I decided to make a game that involves travel between several different worlds. Some of those worlds will require me to make my own resources, but I'll tackle that later on. The starting world will be a more or less typical fantasy world, for which I'll be able to use mostly extant resources, so I'll focus on that first.

Of course, preparatory to actually doing anything on the computer, I roughed out a map for the game, or at least for the exterior regions of the gameworld. (Dungeons, or their equivalents, will come later.) Here's what I've got so far:

Don't worry if you don't know what all the marks on the map signify.  I do.

It's not detailed (to put it mildly), but it's enough to let me get started. The plan is for there to be eight worlds, and for each world to comprise a grid of eight by eight maps, though obstacles may prevent the player from walking directly between adjacent maps. (The starting map will, in fact, have an initially impassable ocean to the north; the player will eventually get to the areas to the north by other means.) Two of the worlds I haven't even started laying out yet, and some others are incomplete, but that's okay; those are all worlds that I'll need custom resources for anyway, so it'll be a while before I start mapping them in the program. The starting world is the one in the upper left. And the starting area in that world is in row 5, column 6. So that's where I started mapping.

Here's an early stage of the map for this region:

If you think the inn seems cramped, I agree... but more on that in the next post.

So far, I put in some water, some trees, some changes in elevation, a shop, an inn, and a bit of scenery. This map is, incidentally, at 25% scale, and one of the nice features of this program is that it does allow you to view the map at various scales, from 25% to 200%: the map you see here is scaled within the 001 editor, not externally with an image editing program. Again, this isn't unique to 001; it's a feature I've certainly seen before in other game creation programs; but it's still a nice feature to have. Anyway, though, before going too much farther, I decided to test out what I'd done so far, to make sure everything was working fine. The editor has not one but two buttons to test the game in progress, one labeled "Play" and one labeled "Test". Both allow the user to choose where on the map he wants to start playing; the only difference is that "Test" also allows the user to specify some scripting to run before the game starts.

I'm sure I'll be delving more into this screen when I get into scripting in the system.

Anyway, when I tried out my new map, here's what I saw:

Make your own "pier pressure" joke.

(Incidentally, the motion is much smoother in the game than it is in this .gif; I couldn't find a way to record video from the screen at a decent frame rate. The video above was recorded with CamStudio, which seems to be well reviewed, but I couldn't get it to work as well as I want to. If anyone more experienced than I in such matters has any suggestions, please let me know (though I concede it's entirely possible that the problem is with my computer and not with the software).)

There are two notable issues visible in this video. Well, three if you count the red circle in the upper left, but I honestly have no idea what that's about. It's always there, in that same position on the screen, whenever I test the game (though not when I test the demo RPG that came with the system). It may be due to some script included in the default template; I'll look into it more when I get into scripting. I can't find anything in the documentation that indicates what it might be, though the documentation is rather scanty anyway. On the plus side, though, the documentation is included as a Help file with the program rather than being only available as a webpage. (I'm okay with documentation being in PDF format instead of Windows Help format, but I hate it when the only documentation available is online. And I especially hate it when the program doesn't indicate this, and clicking on "Help" in the program menu takes me to a webpage without warning. Grrr.) Some online resources are available to supplement the in-game help, however, including a wiki and a forum.

And in fact by searching the forum I've just now solved the mystery of the red circle, or the "Big Red Ball Thing", as it was called by the person who started a thread about it. Apparently that's the PC's health bar (as implemented by default in the template). Good to know, though it would have been nice to have something about this in the game's actual documentation. In fact, come to think of it, there's really no documentation of the template at all (unless you count a tutorial that doesn't address such details). Still, when I got to looking at the interfaces, I'm sure I would have found out what the red circle was then even if I hadn't found it just now.

So, yeah, okay, forget the red circle. There are two things in this video of more immediate concern. The more notable of the two is probably the way the PC walks right through the pier and into the water, but I'll deal with that in a moment. First, I want to talk about the fish on the right side of the screen. A fish is a nice decorative thing to put into a watery area in the game, sure, but in this case there are two problems with it. The more egregious problem is that for two frames, the fish decides that it would rather be a part of the pier. As it turns out, this is an easy fix; it's just due to the way the fish animation was defined in the tileset. A couple of right-clicks are sufficient to remove those spurious pier frames and restore the fish to pure piscinity. The very fact that it is such an easy fix, though, makes it all the more inexcusable that the glitch exists in the template as released... I get the impression that the creators of 001 really needed to do more beta testing.

Even after convincing the fish not to aspire to pierdom, however, there remains another, more subtle problem. The fact that the fish is seen entering from the right side of the tile and leaving on the left means that if it's put in the middle of the water it seems to materialize from nowhere, and disappear into nowhere as it leaves the tile. Unless one is content to populate one's world with fish capable of passing through invisible portals, this, unfortunately, makes the fish tile fairly useless. I guess if I'm going to meet my goal of using every tile in the provided resources, I'm going to have to find a place to put it, but the only possibility I can think of is putting it in a narrow gap between two foreground elements that obscure the left and right sides of the tile. That, or making an endless conga line of fish stretching all the way across the screen.

Actually, I guess the timing isn't quite right for the fish conga line to work after all... not that I really wanted to do this anyway.

There's one more note I'd like to mention about the fish, before moving on. A decorative fish as an element of a tileset may seem like an unusual choice, but 001 isn't the first game to include it. A similar fish was included in the tileset of DinkEdit, an editor released in 1998 for the indie CRPG Dink Smallwood. (DinkEdit's on my list, but it's likely to be a long time till I get to it; there are a lot of systems between Eamon and it.) Unlike the fish in 001, the animation for the fish in DinkEdit actually includes its jumping out of the water and splashing back into it, making it rather more practical for actual use.

I spent way too much time looking for the old adventure I started working on with DinkEdit years ago, just so I could get this shot.  I hope it was worth it.

The fish isn't the only similarity between the two systems; there are a few other little things about 001 that reminded me of DinkEdit as well, such as the way the cliffs looked, the way multiple tiles can be selected from a tileset and placed as a block (though admittedly that's also done in RPGMaker), and the way scripts were attached to individual actors. Certainly none of these is a smoking gun proving that 001 took inspiration from DinkEdit, but cumulatively they do suggest the possibility, and given the age of DinkEdit and the fact it had a decent-size fan base it's not inconceivable. It's also possible, though, of course, that the similarities are coincidental. For that matter, it's certainly possible that many of the common features of 001 and DinkEdit came from a third game or system that I'm not yet familiar with.

Incidentally, the "Action / RPG (MSPaint)" tilesets also include a fish, but unlike the one in the "Pro" template—but like the one in DinkEdit—this one is actually seen jumping out of and landing back in the water. (The animation isn't set up in the template, though; all the frames are there, but the user has to make the animation himself. Still, this only takes a second or two.) This makes at least one respect in which the "MSPaint" template is superior to the "Pro". (Actually, there are others; the "MSPaint" template includes a greater variety of indoor floor tiles, for instance. Hmm.)

Though the corners of the shoreline have another ugly animation glitch.  Dagnabbit.
All right, five paragraphs and three and a half animated gifs is more than enough space to devote to a single fish tile. Let's get back to that walking-through-the-pier issue, because that one's a bit more serious. It took me a while to figure out just what's going on here, but there are two separate issues involved.

One is the fact that the PC can walk into water. I remarked on this before on trying out the demo Action RPG, and thought then it was a bug. Turns out it isn't; allowing the PC to walk into water is apparently intended behavior, stemming, I suppose, from a setting called "Submersion Tiles" on the tileset screen. Presumably changing the value of this setting alters the maximum depth to which the PC can be submerged, though I haven't experimented with it to see the results for sure. (I guess I'll do that when I get to making custom tilesets.) The fact that the PC can get stuck in the water I'm pretty sure is a bug, of course.

When I make my own tilesets, think of all the horrible substances I'll be able to submerge the PC in!
That bug aside, I have mixed feelings about letting the PC wade through water like that. Actually, I guess overall I like it; it's a nice touch you don't see too often in action RPGs, in most of which water is simply an insurmountable obstacle unless the PC has a boat (as I assumed it was supposed to be here when I played the demo RPG). I guess my only reservation—aside from the unfortunate bug that allows wading PCs to get stuck—comes from the fact that water does make such a convenient obstacle; in fact, like I mentioned above, in planning out the map for my game before I realized the PC could wade through water I'd intended the water to initially block the PC from going north from the starting map. I guess I can put some invisible blocks preventing the PC from wading too far in the water, both preserving this feature on the map and preventing the PC from going in deep enough to fall victim to the bug and get stuck.

That doesn't explain the bit about walking through the pier, though. As it turns out, that has a simple explanation: the pier isn't actually a "Ground" tile, but a "Lower Object" tile intangible to the PC. The demo RPG had used the "pier" graphic as a bridge and it had seemed to work well enough, but on examination that was only because it was so short; the river was narrow enough at that point that the PC didn't sink into it. A longer bridge suffered from the same issue as the piers.

So I guess this was... a bridge too far.  (Hey, I'm trying to come up with a caption for each image, but they can't all be gems.)

Like the fish animation, this turned out to be simple enough to fix... that is, it took me a long time to figure out how to fix it, but once I did it was very simple to do. All I had to do was edit the tileset and change the "Collision" setting of the pier tiles from "None" to "Flat (32x32x0)". Voilà... now the PC walks on piers and bridges instead of through them, and all is right with the world. Though, again, this is something that really should have been fixed before the template was released.

And the PC will no longer walk amid the pier... or should I say, pier-amid.  (Okay, that caption's even worse than the last one.)
It may seem like I'm complaining a lot, but honestly there's a lot to like about this system. Unfortunately, it has a lot of problems. Like I said, it seems the creators really should have run it by more beta testers before releasing it. (I was about to add that at least for freeware it was understandable that they didn't take too much time for beta testing, but then I remembered that 001 isn't freeware; they do charge money for the pro version.  Yeah, they really should have done more testing.)  Still, I think it should be possible to make a good game with 001.

I'd planned on getting more into the actual mapping in this post, but I think it's become long enough I probably ought to save that for the next one.  I have quite a bit to say about 001's mapping capabilities; there's one very nice but very poorly documented feature, and two features I think the system is sorely missing. But all that'll wait till next time... which I really hope will be before next Saturday.

Saturday, October 19, 2013

001 - Resources

Okay, it's been considerably longer since the last post than I intended... I guess I'm technically sticking to my promise to not leave more than a week between posts, but I wasn't counting on cutting things this close this early. I was behind on work-related obligations that had piled up these last few weeks, though, and given that these were things that (a) I was already running late with, and (b) I was being paid for, I kind of had to give them precedence.

I'd also said that the next post was going to be either about GameMaker or about the new chronological list of game creation programs, and here we are with another post about 001. I have been looking into GameMaker, but I'm not sure it's going to be the first old program I'll be looking at after all. For one thing, it seems to require a joystick, which I don't have. There may be a way to emulate the joystick with a mouse; I haven't really looked into that much... but in any case, I've thought if I was going to just go with the old programs straight chronologically after GameMaker, I might as well just go chronologically from the start anyway. It's not like GameMaker and 001 are really directly comparable anyway, their both being more or less general-purpose game creation programs notwithstanding—among other things, as mentioned previously (and as will be further reinforced later in this post), 001 is apparently geared mostly toward action RPGs, while GameMaker seems to lend itself best to fixed-screen platformers like Pitfall! (a port of which is in fact included as one of the sample games with the program). So what I'm going to do is just take the older games chronologically from the beginning, rather than trying to match them to the genres of the newer programs I'm currently working with. Which means the first old program I'm going to tackle (unless I run across an even older one I haven't found yet) is going to be Eamon.

But this post isn't about Eamon yet. This is about 001. While I hadn't found time this last week to write a blog post, I did find time to play around a little with the 001 editor. I've started mapping my game, but that will be the subject of the next post on 001. For this post, I think I'll focus on the resources that come with the game.

Like I said in my ground rules, I intend to try to use to the fullest any resource sets that come with the program. From what I've seen of GameMaker so far, I can already anticipate that when I do finally get to it I may be bending that rule slightly. Or maybe not... actually, I did say resource sets, and while GameMaker does come with some resources, they're not organized into bundled resource sets that can be imported en masse into the program in the same sense as, say, the RPG Maker RTPs, so I think I can justify not using them while still technically staying within the letter of my rules. [Edit: Looking back on my Ground Rules post, no, actually I didn't say "resource sets".  But I'm going to maintain that that's what I meant.] Be that as it may, 001 does come with such resource sets, which it calls "Templates", so I'm going to try to use them to their fullest. Or use one of them to its fullest, anyway.

Yes, this exact same image was also in the last post.  But it seemed an appropriate place to include it (again).
 001 comes with four templates, plus a "Blank Template" for users who want to create everything from scratch with no built-in resources or interfaces. I've already said I'm going to be using the "Action / RPG (Pro)" template, so let's take a look at what that includes. After all, if I'm going to be using all the resources in the template, I've got to know what those resources are so I can design the game around them. 001 has a number of customizable features in each template, but some of them, such as "Team Alliances", "Areas of Equipment", and "Statistics", seem a little more advanced... and in any case don't necessarily have any direct bearing on the game's setting. For this post, I'll focus on the more immediately visible resources—mainly, "Actors" (as 001 calls monsters and NPCs, along with other moving objects such as vehicles), "Items and Magic", and of course "Tile-Sets". (Yes, "Tile-Sets" is hyphenated in the program.)

Let's start with Actors. The 001 Action / RPG (Pro) template includes a variety of these, but the window to select and edit them is too cramped for a screen shot to really give a good idea of what's there.

But I'll include one anyway.
Here, however, for what it's worth, is a complete list of the "Actors" in the template, with the order and categorization in which they appear:
  • Dynamic Object
  • Vehicle
  • Character
    • Enemy
      • Bat
        • Cave Bat
        • Venom Bat
      • Cockroach
        • Flame Cockroach
        • Water Cockroach
      • Crab
        • Ice Crab
        • Rock Crab
        • Sand Crab
      • Demon Imp
        • Fire Imp
        • Light Imp
        • Water Imp
      • Female
        • Female Grenade Launcher
        • Female Heavy Armor
        • Female Lancer
        • Female Swordsman
        • Female Thug
          • Female Baseball Thug
          • Female Pistol Thug
          • Female Thug Leader
      • Ghost
        • Hiding Ghost
        • Night Ghost
      • Goblin
        • Ice Goblin
        • Mountain Goblin
      • Male
        • Male Grenade Launcher
        • Male Heavy Armor
        • Male Lancer
        • Male Swordsman
        • Male Thug
          • Male Baseball Thug
          • Male Pistol Thug
          • Male Thug Leader
      • Necromancer
        • Dark Necromancer
        • Freezing Necromancer
      • Skeleton
        • Magma Skeleton
        • Poison Skeleton
      • Slime
        • Aqua Slime
        • Dark Slime
        • Freezing Slime
        • Magma Slime
        • Thunder Slime
      • Snake
        • Fire Snake
        • Grass Snake
      • Spider
        • Cave Spider
        • Ice Spider
        • Magma Spider
      • Zombie
        • Blind Zombie
        • Frost Zombie
    • NPC
      • Collection Quest
      • Inn Keeper
      • Shop Keeper

With the exception of the various "Males" and "Females", the monsters that are nested under another monster are just recolored versions of the "parent" monster (graphically, at least; they do have different abilities and statistics). The unqualified monster is the least powerful version, which in some cases is a bit odd; I would have expected a grass snake to be less dangerous than a regular snake, but maybe that's just me.

The "Items and Magic" are less finely categorized; they're just divided into "Common" and "Equipment", the latter comprising weapons and armor. Here's the list:
  • Common
    • 375 Magnum Ammo
    • 39mm Ammo
    • 45mm Ammo
    • 51mm Ammo
    • Arrow
    • Charges
    • Elixir
    • Energy Cell
    • Herb
    • ID Keycard
    • M28A2 Rocket
    • Mana Potion
    • Medic Kit
    • Napalm
    • Potion
    • Shotgun Shell
    • Super Potion
  • Equipment
    • AK47
    • Baseball Bat
    • Battle Axe
    • Breastplate Armor
    • C4
    • Chainmail Armor
    • Chainsaw
    • Crowbar
    • Desert Eagle
    • Energy Sword
    • Flame Thrower
    • Full Plate Armor
    • Generic Attack
    • Grenade
    • Grenade Launcher
    • Hammer
    • Knife
    • Lance
    • Laser Pistol
    • Leather Armor
    • Mace
    • Minigun
    • Modern Crossbow
    • Necklace
    • Pistol
    • Proximity Mine
    • Rocket Launcher
    • Scimitar
    • Scythe
    • Sniper
    • SPAS-12
    • Splint Mail
    • Staff
    • Steel Helmet
    • Studded Leather Armor
    • Sword
    • Timed Mine
    • Uzi
    • Wand
    • Winged Helmet
    • Wooden Mallet

...And here's a pointless screenshot.
From these lists, I can already get some idea of what kind of things I'm going to have to include in my game. I've got to come up with some concept for the game that allows for the inclusions of both fantasy and modern elements, such as goblins and grenade launchers. (Actually, "Goblins and Grenade Launchers" might not be a bad title for a game. Or maybe just "Goblins and Grenades". That won't be the title of this game, though.) There's certainly precedent for just having a gameworld that haphazardly lumps together fantasy and modern elements just because... heck, Ultima I did this, and so, I think, did the various Final Fantasy games (though I'm not really as familiar with the Final Fantasy series as I probably should be). But I won't be doing that; instead, I think I'll have a game in which the player travels through several different worlds.

The tilesets are fewer in number, so I'm just going to go ahead and toss up a screenshot of those instead of a text list:

...So apparently somewhere in my game I'll have to include pinball machines.
I guess there are a few other types of resources I can touch on.  I won't worry about Interfaces, Controls, and Statistics until I delve into more advanced customization, but there are some resources left that aren't so low-level that perhaps I should mention.  Doors, for example, are a resource type of their own, although the documentation advises that this won't always be the case.

There's probably some joke to be made about doors becoming actors, but I'll leave it to you to come up with your own.  (The word "wooden" may or may not be involved.)

There aren't many doors included in the template, though I suppose their number isn't unreasonable in proportion to the number of tiles and other resources.

Odd there's no regular single wooden door, though.
Then there's "Sounds and Music".  Or at least that's what the resource window says, but all that was actually included in the template was music, no sound effects, which struck me as a bit weird... surely a few simple sound effects shouldn't have been too hard to put in?  In any case, I haven't listened to them yet, so I can't comment on their quality, but here's the list of musical pieces available:
  • Battle 1
  • Battle 2
  • Battle 3
  • Boss 1
  • Boss 2
  • Boss 3
  • Boss 4
  • Cave 1
  • Cave 2
  • Cave 3
  • Cave 4
  • Church 1
  • Church 2
  • City 1
  • City 2
  • City 3
  • City 4
  • Dungeon 1
  • Ending 1
  • Ending 2
  • Energy 1
  • Energy 2
  • Field 1
  • Field 2
  • Field 3
  • Field 4
  • Field 5
  • Forest 1
  • Forest 2
  • Game OVer 1
  • Game Over 2
  • Heat 1
  • Lose 1
  • Mystery 1
  • Mystery 2
  • Mystery 3
  • Night 1
  • Night 2
  • Night 3
  • Peace 1
  • Peace 2
  • Peace 3
  • Pub 1
  • Pub 2
  • Road 1
  • Road 2
  • Royal 1
  • Sad 1
  • Sad 2
  • Sad 3
  • Sand 1
  • Sea 1
  • Shop 1
  • Shop 2
  • Sleep 1
  • Sleep 2
  • Sleep 3
  • Snow 1
  • Snow 2
  • Space 1
  • Title 1
  • Title 2
  • Title 3
  • Town 1
  • Town 2
  • Town 3
  • Town 4
  • Town 5
  • Town 6
  • Trial 1
  • Trial 2
  • Trial 3
  • Village 1
  • Village 2
  • Village 3
  • Village 4
  • Village 5
  • Win 1
  • Win Fanfare 1
Finally, the program also gives the user the option of customizing fonts:

I didn't type in those sample sentences in the preview.  That's the default preview text.
This is kind of a nice feature, actually; if a program's going to use bitmap fonts instead of TrueType, I figure it may as well give the user the option to edit those fonts, and create his own.  Not that 001 is the first game creation program to do this, by any means; Adventure Creation Kit also has a font editing feature, and I'm sure there are others.  Still, it's always welcome.

Even though I chose the "Action / RPG (Pro)" template, I figured I may as well take a glance at what's included in the others. There's a "Point-and-Click Adventure" template, but it apparently includes no actual resources aside from the interface. But there are two other templates that do include templates: the "Action / RPG (MS Paint)" template and the "Platformer Game" template. So let's check those out.

I kind of expected the "Action / RPG (MS Paint)" template to have all the same resources as the "Action/RPG (Pro)" template, just with more primitive graphics. Turns out it doesn't. In fact, it includes no preset "Actors" at all, aside from some generic categories.

And turrets, I guess.  So you can have an entire game just about turrets.
It does, however, have some sprites you can use to create them.

Just in case you've ever wanted to make an action-adventure RPG where the player fights... whatever the hell this is.
Despite its lack of "Actors", the "Action / RPG (MS Paint)" template does include a set of items comparable to, though different from, that of the "Action / RPG (Pro)" template. For whatever reason, though, this one puts many weapons under "Common", while leaving some under "Equipment". I'm not sure if there was any particular reason for which weapons went where; while it does seem that all firearms are under "Common", crossbows are under "Equipment"; the generic Sword is "Common", but the Rapier, Scimitar, and Short Sword are in "Equipment"... Anyway, in case you're wondering, here's the list:
  • Common
    • .375 Magnum Ammo
    • 39mm Ammo
    • 45mm Ammo
    • 51mm Ammo
    • 9mm Ammo
    • AK47
    • Arrows
    • Axe
    • Baseball Bat
    • Battle Axe
    • Bazooka
    • C7
    • Crowbar
    • Desert Eagle
    • Elixir
    • Energy Cell
    • Energy Sword
    • F. Thrower
    • Folder
    • Grenade
    • Grenade Launcher
    • Hammer
    • Herb
    • High Potion
    • ID Keycard
    • Knife
    • Lazer
    • Lazer Turret
    • M16
    • M28A2 Rocket
    • Mace
    • Mana Potion
    • Medic Kit
    • MP5
    • MP5 (Silent)
    • Napalm
    • Pistol
    • Pistol (Silent)
    • Potion
    • R. Launcher
    • Remote
    • Shotgun Shell
    • Sniper
    • SPAS-12
    • Sword
    • Taser
    • Turret
    • Uz1
  • Equipment
    • Aluminium Mallet
    • Bullet Proof Vest
    • C4
    • Chainmail Armor
    • Copper Armor
    • Copper Helmet
    • Gold Armor
    • Gold Helmet
    • Leather Armor
    • Modern Crossbow
    • Necklace of Truth
    • Proximity Mine
    • Rapier
    • Scimitar
    • Short Sword
    • Steel Armor
    • Steel Helmet
    • Timed Mine
    • Traditional Crossbow
    • Wooden Breastplate
    • Wooden Mallet
Aluminum mallets are used to drive metal stakes into the hearts of robot vampires.  I guess.*
The "Action / RPG (MS Paint)" tilesets, too, have some similarities to those from the "Action / RPG (Pro)" template, but are by no means identical. The "Action / RPG (MS Paint)" tilesets contain fewer sets, but I think at a glance the sets have on average more tiles (though I haven't actually counted them to verify that).
One of the differences: No pinball machines.
Still, if nothing else, the lack of preset "Actors" strongly suggests that it's the "Action / RPG (Pro)" template that the creators of the 001 Game Engine focused on.

That leaves the "Platformer Game" template. Unlike the "Action / RPG (MS Paint)" template, this one does include a handful of "Actors"... though not much more than a handful. It's still enough that it's not practical to show them by a screenshot of the oddly tiny "Actor Templates" window, though, so here's the list:
  • Dynamic Object
  • Character
    • Alien
    • Bat
    • Bear
    • Bird
    • Dragon
    • Fish
    • Flytrap
    • Lightning Ball
    • Ninja
    • Ogre
    • Pirate
    • Rat
    • Robot
    • Scorpion
    • Shark
    • Skeleton
    • Spider
    • Spiky
    • Werewolf
    • Witch
    • Zombie

The template makes up for this, however, by not including any items... or at least, only a couple of generic item categories:

It doesn't seem as if this actually has any characteristics set except the name "Armor"...
 Its tilesets are also minuscule compared to those of the two "Action / RPG" templates:

So, counting the single Water tile, that's a grand total of seven different tiles.  Great.
Again, all in all, it definitely looks like it's the "Action / RPG (Pro)" template the developers put the lion's share of their effort into, so it looks like I was right to pick that one as the one to use.

Next time: Mapping! But before that I hope to have my first post up on an older game (probably Eamon), and maybe my chronological list of game creation programs (I've been working on that, but it hasn't been easy to pin down when some of these programs were first released... and I keep running across more programs to add to the list, too). See you then!

Friday, October 11, 2013

001 - First Impressions

This screen comes up every time a game is loaded for some reason.
Okay, so here's how things are going to work, at least for now. As touched on at the end of the last post, I think I'm going to try concurrently working with one new game creation program and one old one, the latter being either the first in the lineage of the new program in question or the first (that I know of) in its genre. Since the first program suggested in the comments was 001, that's the first new program I'll go with. And that means the first old program will be the oldest general game-making program I'm aware of, GameMaker.

Now, when I say "concurrently", I don't mean I'm going to go over them in the same post; I'll alternate posts about the two programs. (Or intersperse them, in any case; I won't promise the posts about the two games will always exactly alternate.) I'm inclined to think I probably ought to post about the old game first. But, on the other, hand, there's a part of me that can't resist taking the opportunity to put a program called 001 in the first position among the games discussed, so... 001 it is. The introductory post about GameMaker will be next.

For my first post about each game, I'll begin with my briefly stated first impression about it after taking a glance at the webpage and some of the documentation and perhaps some preliminary experimentation with the system. Keep in mind, however, that this is just my first impression, and my final impression after I've had more experience with the program may of course end up being very different. So, concerning the subject of today's post:

001: First Impression: A versatile program for multiplatform game development.


Okay, that first impression may sound unreservedly positive, but there are a few things I've seen so far that have given me pause. One was what 001's webpage says in big letters right at the top: "MAKE GAMES NO CODING". So... does that mean there's no way to direct events in the game with any sort of scripting language? If so, that seems quite limiting; I don't see how a game can be fully customizable without some sort of coding. Fortunately, though, a glance at the feature list puts that particular fear to rest; there is indeed a scripting language included (and the About page gives a little more information about it). So apparently it's not so much no coding as no coding necessary; I'm guessing it may be possible to create a game without any coding at all using default procedures, but that the scripting language optionally allows you to change things around if you want to. Good to know.

(Also a minor turnoff: On the main page of the game's site is a quote disparaging RPG Maker. Not that I'm an RPG Maker partisan, but it always rubs me the wrong way when a company specifically ridicules a rival by name. I loathe those Dish Network commercials jeering at DirecTV for the same reason.*)

Though 001 Game Creator (as its full name is given on some pages) can be downloaded for free, there's also a paid subscription version available. The subscription model's a bit odd, though: instead of just buying the program once, you pay monthly or yearly. The free version already seems pretty feature-rich, but the subscription version adds a few other bells and whistles, including support for 3D model file formats and further distribution options. For now, of course, I'm using the free version, though it's not impossible that I may upgrade to the paid version in the future if I like the program, if I want to use one of the features in the paid version, and, of course, if I have the money to spare. While the website makes a point of the ability to export created games to any platform, this seems to be one of the features that requires a subscription.

So, having downloaded and extracted the program, I fired it up to take a look.
A karateka, a knight, and an astronaut walk into a bar...
To get a feel for what the engine could do, I decided first to try out the sample games that were included in the distribution. There are four sample games included: a card game, a role-playing game, a space shooter, and a tower defense game. For no particular reason, I tried the tower defense game first—I'm not generally a fan of tower defense games, but I figured I'd give these all a try. Anyway, this game turned out to be surprisingly easy. While there were some moments during the first few waves when I thought I might be in trouble, that didn't last long; I didn't have to erect a single new tower after wave 20 or so, because every enemy entering the screen was almost instantly obliterated anyway by the ones I already had. After that, I just let the game run to see what would happen. I guess I won, because after wave 50 no more waves came, so despite the lack of any winning message that seems to have been the end of the game.
None of the guys not clustered around the top left intersection have seen any action in more than twenty waves.

So... yeah, a lackluster game, but it was only intended as a demo to show the system's capabilities anyway, and on that regard it seems to have done adequately enough. The graphics, effects, and controls all seemed decent, and I didn't notice any glitches or problems. So next I tackled the card game. This turned out to be Go Fish. Not much to say about this, except that the default controls that can be shown at the beginning were wildly inappropriate. (I gather, however, that it's possible to disable this control display, and/or replace it with a customized version.)
I guess magic and weapons might make Go Fish marginally more exciting.  Or maybe not.
The space shooter was similarly underwhelming. It just had endless waves of enemies, and power-ups that changed the player's weapons. The biggest problem with it was that there was no indication of what the controls were. By trial and error I eventually figured out that the control key was used to fire, but if there were any other controls beyond that and the arrow key I couldn't find them. Still, again, it served its purpose to showcase the program's abilities.Then I tried the role-playing game.

And here there was some possible cause for discouragement.

Like the other demo games, the role-playing game was short, with only two areas. In the first area, the player character interacted with some NPCs and collected some items, and in the second area he killed some spiders. So far so good, except I found that after the spiders were killed I could suddenly wander off into the river. At least, I could for a while, until the game suddenly remembered that the river was supposed to be an obstacle, rather inconveniently when I was standing in the middle of it.
...And then the hero decided to stand around in waist-deep water for the rest of his life.  The end.

It may be that this is just a problem with the coding of this particular demo game, and not indicative of a problem with the 001 Game Creator itself. I hope that's the case. Still, such a game-killing bug in one of the demo games included with the program is a little worrying.

Regardless, I figured if the demo game had an ending I may as well see it all the way through... and it was short enough that restarting and playing it through again wouldn't take much time. So I started over, collected all the requisite items on the first screen, went down to the second, killed all the spiders again, and then left the screen.
You can't tell me what to do, demo RPG!  You're not my real father!
Or tried to.I couldn't find any more spiders, but the game wouldn't let me proceed. So I tried going back.
And was foiled by bad grammar.

Couldn't do that either.

After wandering all over the map (except into the river) and not finding any more spiders, out of frustration I attacked a random tree.

And thereby purely accidentally killed the final spider, which had apparently been hiding behind that tree and for some reason hadn't run out and attacked me like the others. I guess this may not technically be a bug, but it's certainly bad design.

...but of course this epic finale made it all worthwhile.
Issues with the demo RPG notwithstanding, though, this program looks like it has a lot of potential, and I'm looking forward to seeing what I can do with it. So, of course, having gone through all the demo games, the next step was to take a look at the editor.  When I go to create a new game, the first thing I get is a choice of what kind of game I want to make:

When you select one of the demos, you just get an error message about the game already existing.  So why are you given the option to select them in the first place?
Now, this is an issue I knew would come up when I got to a general-purpose game creator that can be used to make games of multiple genres. (I just didn't necessarily expect to be dealing with such a program as my very first entry.) What type of game should I make? What if the program happens to be better at creating one type of game than another, and I happen to pick the one it's worse at? How can I ensure I'm giving the program a fair shake? I guess maybe the ideal thing would be to try to make every type of game the program is capable of making, but obviously that's not going to happen any time soon... it's going to take long enough to try to make one game with each program, let alone multiple games.

I foresaw this question arising, but I never did come up with a good answer. I think I'm just going to have to take it on a case-by-case basis. And in this case... well, let's see. I said in the ground rules that if the program came with a set of resources I would use them, and it seems that there are resources included only for action RPGs and platformers, so I'll go with one of those. Of the two... well, when you click on the Beginner's Tutorials, the first tutorial that comes up is for an action RPG, so I'm going to assume that's the type of game the program is most geared toward, and that's what I'm going to go with.  (Plus there are two different action RPG resource sets and only one for platformers, which again indicates that it's action RPGs the developers were most focused on.)

That still leaves the decision between the "Pro" and "MS Paint" graphics, but what the hey... I'm going Pro.

Now let's look at what resources the game comes with. There's a fair assortment of tiles... maybe not enough to give enough variety for a large game, but there's certainly enough to get started with, and I was planning on eventually adding my own resources later. The tile are divided into three categories: Floor, Lower Object, and Upper Object, presumably affecting whether they're drawn over or under the characters and each other. There's actually a bit more variety in the tiles than is initially apparent, because when you put floor or wall tiles of the same type next to each other they automatically adapt appropriately.
I'm not sure what purpose these walls serve here.

As for the sprites... well, those are interesting. There aren't separate sprites for different characters. Rather, there's one sprite for the body, another for the hair, and so on, and they can be put together in different combinations. Furthermore, most of the sprites are predominantly grey; I'm assuming when you create a particular character or monster (or, in 001's terminology, "Actor"), you also define the hue... meaning you can use the same sprite with different hues for palette shifted creatures. While all this may end up being a little more work to use than just a single sprite per character, it's actually kind of nice, in that it means I'll be able to make a wide variety of distinct NPCs without needing a separate sprite for each one.
Something tells me adding new sprites isn't going to be simple...

But we'll pick up from here next time. Or rather, we'll pick up from here after I take a look at GameMaker.