GDR Forum Index
Podcast Podcast
Dev Dev Logs
Search Search
RSS RSS
Register Register
Log in Log in
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Adventure in Rulon (old) Page 1, 2, 3  Next
View previous topic :: View next topic  
Author Message
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Mon Jan 18, 2010 1:56 am    Post subject: Development Log - Adventure in Rulon (old) Reply with quote

The demo video I mentioned in my introduction post earlier this month hasn't even been started yet. As I build the demo map for it, I wind up finding features of the game that have rotted away after two years of not being used/tested, or coming up with ideas for even more stuff I want to put in before finally showing it off (feature creep anybody? You betcher ass!). To bridge the time between now and when I finally get on with making the thing, I've decided to start one of these here development threads for it, which of course I'll continue to update as development goes on.

Some of the old-timers probably remember the title of the project, if nothing else about it (all I ever released of it was a really, really, really crappy walkaround demo written in QB45. It didn't even have a town. Or NPCs. Or menus. Or quality.) Well, it's still alive. I've been working on the current incarnation of it for about four and a half years now in FreeBASIC. It started off using FB's native graphics library, which is really fast and was sufficient for my needs then. As the project grew I moved on to a written-in-a-day OpenGL 2D library put together by a fellow FB community member. I later had to scrap it because it was full of bugs and memory leaks. (My own fault really; he only meant it as a proof of concept anyway, and here I was trying to build a game on it.)

I've now moved on to Allegro, and while using Allegro has brought on its own share of minor annoyances, I'm finding it *much* more flexible and powerful.

The game is still written in FreeBASIC (a fact that I'm proud of... I have a soft spot for BASIC ever since I started dinking around on the TRS-80, and I always will, I suspect), which unfortunately means there won't be a Mac OS X version of the it unless FB development finally manages to move out of the vegetative state it's been in for the last year and a half. But anyway, onto the screenshots.

It's just your basic 2D JRPG -- nothing innovative or spectacular, nor do I intend it to be. My focus is on the story, which has been occupying the better part of my brain ever since I was 12 years old. Seventeen years is a long time for that sort of thing, and it's about time I got off my ass and told it. As it stands right now, I'm only just now coming close to finishing the field engine, and I just recently got menus implemented. There's no battle mode just yet, although that's coming.

Image - Here's the title screen as it stands right now. It's this simple and bland on purpose; I remember playing FF6 and being impressed by the stark contrast between its own utilitarian title screen and the mind-blowing awesomeness of the opening cutscene. I might go with something more elaborate later on if the effect isn't quite what I intended (read: the playtesters say it sucks :) )

Image - The graphics are nothing spectacular; every piece of artwork is but a placeholder. I'm not a pixel artist by any stretch of the imagination, so when the time comes to start putting in actual game content, I'm bringing aboard an artist. :) But here is the basic field view. We're on the overworld. On the mini map, the blips represent your party (the red "X"), and the different vehicles available to you. Just east of our hero, we can see this game's prerequisite flying machine -- in this case a helicopter. The battles are random, but if at least one of your party members has a high enough Wisdom stat (35 in the case of the demo; it may change as playtesting dictates), you'll get a gauge in the bottom left showing you how close you are to being attacked. Like I said, typical RPG fare. Nothing mind-blowing.

Image - Hitting Tab will expand the view to this bigger map. This is available on the overworld only. This and the minimap are pre-rendered images, not automatically generated. Minimaps for town/dungeon maps, however, (which we'll see later) actually are generated by the engine.

Image - Tooling around in the helicopter. I won't show off all the available vehicles, because it'd basically be five identical screenshots, with different sprites. :) But basically, you've got a boat which can only go over shallows and rivers/lakes, the chopper, a ship for oceanfaring, a car for land travel, and a submarine. Above the surface, the sub is essentially a cross between the boat and the ship, but you actually can dive, and when you do, you get...

Image - ...a scary undersea world of adventure! It actually loads a separate world map for when you dive under the water, a lot like the sub in FF7. Right now it looks bland and a bit crap, but for the final game, I'm planning lots of cool optional stuff to explore, like hidden undersea tunnels and caverns, sunken ships, coral reefs, stuff of that order.

Image - Stolen straight from Wild Arms, the names of exit points on the world map pop up when you walk over them. When you finally enter, a nice fade out masks the (brief) wait while the new map loads.

Image - More standard RPG stuff. Here's our main menu, complete with party window. You can actually have up to a maximum of five characters in your party. I would prefer something smaller (three would be nice!) but unfortunately for story purposes, five is necessary. At any rate, we can see that Billy and Lora are petrified, and although Daniele is alive, she's not doing too well. :) Obviously since I have no battle engine yet, I had to randomly generate all these statuses at startup.

Image - Your basic character status page. Cool thing is, it's got multiple pages. Anything below "Elements" will flip over to more information each time you press the confirm key. I only have two pages at the moment, but that will of course grow, especially once battles are in place. (Skills, magic, character statistics, etc)

Image - The game is nothing if not customizable. The only one of these widgets that doesn't work at the moment is the controller setup.

Image - Welcome to Demo Town, population 16! Even though this game takes place on a planet far away from here, I'm creating a modern world not unlike our own. I wanted to put my characters in a setting I would recognize and feel familiar with. I never quite identified with the fantasy/sci-fi/post-apocalypse/steampunk fare of most JRPGs. If my characters are going to save the world, it's going to be a world I would want to live in.

Image - Cutscene scripts are written in a plain text format, using human language (SetPlot, ActorSay, MessageBox, FadeScene, etc). It's command-based, and more or less linear, although it does support conditional branching based on story points. Anything more complicated would be overkill.

Image - No saving-the-world adventure would be complete without treasure! And no, those trees aren't mine; I still suck at pixel art. :) They're borrowed, and are only placeholder art.

Image - Image - Demonstrating that the engine does support multiple map layers. Three layers for tiles, and two layers for other map elements (exit points, special objects, plot trigger squares, etc)

Image - Message boxes in cutscene scripts can be positioned and sized anywhere on the screen.

Image - NPCs have a few different movement types, from standing still in place like our town greeter, to walking around randomly, to walking in pre-defined paths as these two fellows are doing (obviously you can't see it, but they're walking in small octogonal paths. All actors have eight-directional movement. In addition, cutscene scripts can assign temporary paths to an actor just for the duration of the scene, and once it's over, they'll resume their normal motion.

Image - Daniele has set off a bunch of spike traps. She's not feeling so healthy anymore.

Image - The game has day/night cycles. Each complete day is a half hour in real time. As you can see, there are certain map objects (lights, ha) that aren't visible during the day time. Beyond aesthetics, the time of day will affect the frequency of encounters, and the types of monsters you run into.

Image - Image - Image - A few shots of my map editor. It's not finished yet, and it's crude at best. But it works, and does the job. Best of all, it's built right into the engine, so there's no having to maintain two codebases.

EDIT: Almost forgot! Image - Pause! You can pause anywhere, any time.

----------

HOLY. CRAP. I did not intend for this post to be that long. :) But four years of development is a lot to cover. Obviously future posts will be much shorter with fewer images, since they'll be weeks apart, not years. Comments, criticisms, questions, pleas, begs, and death threats are always welcome! Thanks!

-Tofu


Edited by AdmiralTofu on Mon Apr 11, 2016 8:04 am; edited 2 times
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9441
Location: Not Finland
PostPosted: Mon Jan 18, 2010 8:19 am    Post subject: Reply with quote

Cool! That's a lot of work you've already taken care of. Content is king in an RPG, but people tend to overlook just how much is going on under the hood. There's just so much to do, and so many menus, shops, and various features that make it a nightmare to program. Each one of those screenshots displays a whole slew of features and functionality. You can't just wave your arms and make that stuff happen :)


Quote:

I've now moved on to Allegro, and while using Allegro has brought on its own share of minor annoyances, I'm finding it *much* more flexible and powerful.


What version of Allegro are you using? I'm still on the 4.2 branch, I think. I've been holding off upgrading until I see how 5.0 turns out. Even then, if it tightly integrates OpenGL I might pass on it, just because I see that stuff as being totally obsolete in a few years. I might be wrong, or I might be lazy, or I might be both!
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4988
Location: Silicon Valley!
PostPosted: Mon Jan 18, 2010 9:44 am    Post subject: Reply with quote

Looking pretty cool. I like what you've done with the editor a lot. Seems like you can do a lot of stuff! I'm a big fan of easy to use editors. I'm curious what the "1" / "2" tiles are on the bridge in the editor screenshots? Also, I'm assuming that camera icon is for a scripted event or some-sort?

Quote:
The game has day/night cycles.

I have always hated games that do this and then force me to only be able to do something at day or night. I don't want to have to wait 30 minutes, walk back and fourth on screens 20 times, or whatever else. If you're going to do this, give me an option to "rest until day/night" to make things not annoying.

Quote:
...a scary undersea world of adventure!

Please actually put stuff in here. If it's scarce, at least don't make me fight every few tiles I move around. I've played a few games with undersea sub areas and they were always a pain in the ass. Either I had to travel a bajillion miles to go to the one and only area underwater (what's the point?), or I had to go back and forth while fighting way too much. It needs to be at least half as interesting as the overworld or else it's just a chore. Either that, or greatly restrict where the submarine can go. Just my two cents.

Quote:
Cutscene scripts are written in a plain text format

What are you using to parse out your scripts? Is it something homebrew? I have a custom parser for my sprite information and its unwieldy and gross. Wondering what other people are up to/using

Quote:
I've now moved on to Allegro

What platforms are you targeting? If you know anything about my history with Allegro it's that it's definitely not the bees knees when it comes to OSX. Just FYI. ;)
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
PoV
Moderator

Joined: 21 Aug 2005
Posts: 10859
Location: Canadia
PostPosted: Mon Jan 18, 2010 9:51 am    Post subject: Reply with quote

Very comprehensive feature list so far. Nice work. :)
_________________
Mike Kasprzak
'eh whatever. I used to make AAA and Indie games | Ludum Dare | Blog | Tweetar
View user's profile Send private message
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Mon Jan 18, 2010 11:20 am    Post subject: Reply with quote

Thanks for the comments, everybody! Encouragement is always awesome, and for me it's usually the key between quitting in frustration and soldiering on. :)

Sirocco wrote:
What version of Allegro are you using? I'm still on the 4.2 branch, I think. I've been holding off upgrading until I see how 5.0 turns out. Even then, if it tightly integrates OpenGL I might pass on it, just because I see that stuff as being totally obsolete in a few years. I might be wrong, or I might be lazy, or I might be both!


Yeah, I'm using 4.2 myself. I'd like to check out 4.9 or even 5.0 once that comes out, but I'm pretty sure the current FB headers are only compatible with 4.2, and writing/translating my own is probably *way* beyond my skillset. :)


sonrisu wrote:
Looking pretty cool. I like what you've done with the editor a lot. Seems like you can do a lot of stuff! I'm a big fan of easy to use editors. I'm curious what the "1" / "2" tiles are on the bridge in the editor screenshots? Also, I'm assuming that camera icon is for a scripted event or some-sort?


Right now, the camera icon is simply to indicate where the center of the camera's viewpoint is. Pretty much useless right now, but it will help later on, when the editor actually does support script editing (right now they're still written by hand).

Oh! I meant to mention the "1" and "2" in my original post. Those are invisible objects that I'm calling teleporters. They're just there to seamlessly move the player between map layers, which makes things like that bridge possible.

sonrisu wrote:
I have always hated games that do this and then force me to only be able to do something at day or night. I don't want to have to wait 30 minutes, walk back and fourth on screens 20 times, or whatever else. If you're going to do this, give me an option to "rest until day/night" to make things not annoying.


Well, I'm all for customization, so I could do that, or even give the option to disable cycling at all. Although, it's really just there for aesthetics, and to mix up the types of enemies you encounter. Variety and such. Plot scripts don't even consider day/night when choosing what NPCs say/do to you, or what you can access in-game. The story and gameplay will trot on regardless of whether it's night or not. Nobody wants another Simon's Quest, least of all me. :)

sonrisu wrote:
Please actually put stuff in here. If it's scarce, at least don't make me fight every few tiles I move around. I've played a few games with undersea sub areas and they were always a pain in the ass. Either I had to travel a bajillion miles to go to the one and only area underwater (what's the point?), or I had to go back and forth while fighting way too much. It needs to be at least half as interesting as the overworld or else it's just a chore. Either that, or greatly restrict where the submarine can go. Just my two cents.


Oh, you bet I'm going to cram as much as I can into the sub area. Probably one of my biggest annoyances with FF7 was the undersea part. I found it spare, boring, and tedious, and pretty much pointless. I'm planning to have plenty for the player to explore and do, and best of all, except for one plot-related event, it's going to all be optional. And there won't be any encounters. Inside the sunken ships and caverns and such, sure, it's fair game; but while you're actually poking around in the sub, the baddies will leave you alone. There's nothing I hate more in RPGs than searching around in the dark for something, only to get gang-raped by monsters every three steps.

sonrisu wrote:
What are you using to parse out your scripts? Is it something homebrew? I have a custom parser for my sprite information and its unwieldy and gross. Wondering what other people are up to/using


Same here. It basically reads the script file line-by-line, trimming off any extra spaces, and says "If the first ten characters say THIS, do THIS...etc", and ignores anything it doesn't recognize. Gross, hard to maintain, and awkward at best, but it's all under the hood, so I don't mind wrestling with it. It gets the job done.

sonrisu wrote:
What platforms are you targeting? If you know anything about my history with Allegro it's that it's definitely not the bees knees when it comes to OSX. Just FYI. ;)


Unfortunately, only Win32 and Linux. When I started the project, I fully expected that there would be a Mac version of the FreeBASIC compiler by this point, or at least by the time AiR was done. What I wasn't expecting was for the compiler to get to a stable, usable point and then pretty much go into stasis. =\


PoV wrote:
Very comprehensive feature list so far. Nice work. :)


Thanks!

More updates and foibles soon-ish. I'm constantly working on the game, especially since I'm unemployed for the unforseeable future. Good for the game, bad for my wallet. :)

-Tofu
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9441
Location: Not Finland
PostPosted: Mon Jan 18, 2010 12:43 pm    Post subject: Reply with quote

Lufia II and Final Fantasy V both had submarines, and both of them suffered from having almost nothing to do while underwater. They were really just shortcuts under continents, IIRC :)
View user's profile Send private message Visit poster's website
Bean
Admin

Joined: 20 Aug 2005
Posts: 3771

PostPosted: Mon Jan 18, 2010 12:49 pm    Post subject: Reply with quote

Very cool to see you haven't been idle all this time. Glad to have another active dev around.

-Bean
_________________
Kevin Reems | Nuclear Playground | Solid Driver
View user's profile Send private message Visit poster's website
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Mon Jan 18, 2010 1:01 pm    Post subject: Reply with quote

Sirocco wrote:
Lufia II and Final Fantasy V both had submarines, and both of them suffered from having almost nothing to do while underwater. They were really just shortcuts under continents, IIRC :)


Yep. Final Fantasy III was the same way. I think there was one underwater temple that was required, and that was it. And that's exactly what I wish to avoid. On top of being (mostly) optional, I want it to be memorable and fun. "Hey, remember the submarine in Adventure in Rulon?" "Yeah -- I'm on my second playthrough; I can't wait 'til I get to that part again!"

One can hope. :)
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Wed Jan 27, 2010 12:31 am    Post subject: Reply with quote

Hi folks! Development on AiR keeps plugging along. I've got three new features I wanted to show off in this post, so here we go. :)

Image - Moving platforms. These are just another actor type, just like random NPCs, path NPCs, player characters, etc., except that they're mute (talking to them won't launch a cutscene script), and they ignore tile collision (meaning you can put them on any terrain you want, and they'll merrily go along their pre-determined path). They work as you would expect -- you can get on them, safely traverse any terrain, and you can get off. There is a minor bug that I'm trying to work out in that if you happen to be hugging the edge of the platform and walking in the opposite direction that the platform is moving, you can walk off of it and potentially get stuck in unwalkable terrain. It's fairly rare, but annoying when it happens. I'm definitely going to get this resolved before any kind of public release, even an alpha.

Image - Image - Image - And, the party menu. For most of the game there will only be the five main characters, but there are parts in the story where there are more than five (and if you unlock certain semi-secret characters, you may end up with many more tagging along), and you may wish to switch them out every now and then. You can see in this series of shots that I've taken the dead Lora and the petrified James out and replaced them with Alex and Motscoud. The reserve list also includes several blank lines in case the player decides they want a smaller party than the maximum. No clue why they would, but flexibility is god IMO.

When I finally get around to doing the battle engine, I'll be using a non-traditional combat system where the order of the characters in the party won't affect the combat like in traditional JRPGs (hit rates, damage, etc). That said, I'm thinking I might still implement a way to change the party order, since players might want certain characters in the front for purely aesthetic reasons. Still not sure, though. It might just be a case of feature creep.

Image - Image - Image - The third new feature will make no visual difference to the player but it will, however, make it much more flexible for me and my co-developer(s) to make maps. A pal of mine who's helping me test the game suggested adding a fourth map layer. Like the third layer, it's only for tiles (so no actors, collision exceptions, Things, etc.), and would go on the very bottom of the layer stack. Layer 1 (the main layer where most of the actors reside) would be mostly empty tiles, except for edge tiles (for example, where one terrain transitions into another on the overworld). Layer 0 (the new fourth layer) will contain all the base tiles. There are several advantages to this -- the first and obvious one is that I can make terrain edge tiles transparent. That way I only need one set of forest edge tiles, instead of one set where forest meets grass, another set for where forest meets snow, and so forth. The other advantage is that since making edges will use less work, we could utilize the art resources we saved to instead make different shapes of edge tiles, which will help create more complex and natural-looking land formations. For example, where the grass meets the ocean, we could do convex curves, concave curves, straight lines, etc. -- all for more or less the same amount of artwork as only one edge shape in the original method.

(If that long, rambling sentence made any sense to you whatsoever, congratulations :) )

I think I'm just about ready for that video demo finally! Now to get off my ass and do it...

-Tofu
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9441
Location: Not Finland
PostPosted: Wed Jan 27, 2010 4:17 am    Post subject: Reply with quote

Huh... that might be the first time I've seen a vertically-oriented party menu. Interesting.


Quote:

That said, I'm thinking I might still implement a way to change the party order, since players might want certain characters in the front for purely aesthetic reasons. Still not sure, though.


Trust me, people can be awfully peculiar about stuff like that. I guarantee you, if you don't include it, people will ask for it!
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4988
Location: Silicon Valley!
PostPosted: Wed Jan 27, 2010 8:00 am    Post subject: Reply with quote

Looking good. Loving seeing the progress.

I'm curious, though, as to why you didn't allow your engine to have an arbitrary amount of layers? I always found that limiting the number of layers you can have ends up screwing you over in the end when you realize you'd like to do something but can't (but could if you could only add another layer).
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Wed Jan 27, 2010 10:49 am    Post subject: Reply with quote

sonrisu wrote:
I'm curious, though, as to why you didn't allow your engine to have an arbitrary amount of layers? I always found that limiting the number of layers you can have ends up screwing you over in the end when you realize you'd like to do something but can't (but could if you could only add another layer).


Unfortunately, that's thanks to a limitation in FreeBASIC where you can't have dynamic arrays inside user-defined datatypes. So instead of having all [x number] map layers and their accompanying special layers (collision exceptions, conveyors, etc) all wrapped together in one neat package, I'd have had to manage eight different dynamic arrays -- which, while possible, would have made the code a mess, and maintaining it a nightmare. I had to choose between ease of maintenance and flexibility in design.

Although, adding layer zero even at this late stage was easier than I expected, and it only increased the map sizes by a marginal amount (the world map grew by 768 kB because it was so big to start with, but the demo town and dungeon maps I have so far only gained a few kB each). This is encouraging, and I'm thinking maybe I could go ahead and add a fifth layer (bumping the number of player-walkable layers from two up to three). Not sure, though -- it's so hard to know what you need when you're dealing with fixed limits, and especially when you haven't even really started generating game content yet.

Sirocco wrote:
Trust me, people can be awfully peculiar about stuff like that. I guarantee you, if you don't include it, people will ask for it!


So true! I guess I'll add an "Order" menu, then. :) I would simply roll its functionality into the party menu, but it would just make it more complicated to use than I like -- not to mention I'd have to figure out a way of knowing when the player wants to swap positions, or swap out characters.
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Thu Jan 28, 2010 8:10 am    Post subject: Reply with quote

I can't imagine any useful applications for three walkable layers. Two is nice, so you can have bridges to walk both over and under, but how many times do you have a bridge passing over a bridge?
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9441
Location: Not Finland
PostPosted: Thu Jan 28, 2010 9:35 am    Post subject: Reply with quote

Multiple parallax layers are uber-sexy, but not really worth the effort most of the time.

What I did with Fenix Blade was create a stack for each space on screen, with up to 20 tiles (a purely arbitrary number). Each tile having an additional value for height. These could be stacked nicely, so if you had a wall and you wanted to stack some trim over it you could, without having to draw a unique tileset just for that. Upon entering the room the scene would be pre-drawn bottom up and stored in a buffer; for each frame objects would be masked appropriately based on where they were in the room, so only the visible pixels would be drawn. Shadows were handled the exact same way. It was far more complicated than just drawing layers and sandwiching the sprites between them, but at the time it was hella fast. I could put the most complicated screen I had in the demo with every effect I could think of on a P133 and it would vsync at 70 fps, no sweat.

There was a little extra foo thrown in to allow for water and parallax, and there was an optional layer on top that could be used for fog or clouds. At the time I was rather proud. Now I get a good laugh out of it :)
View user's profile Send private message Visit poster's website
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Thu Jan 28, 2010 10:29 am    Post subject: Reply with quote

Gil wrote:
I can't imagine any useful applications for three walkable layers. Two is nice, so you can have bridges to walk both over and under, but how many times do you have a bridge passing over a bridge?


Yeah, that's true. And if I ever find that I really need ("want" is more like it) it for a certain map, I can just take a small section of the first bridge and move that down to layer 1... etc.
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Tue Feb 02, 2010 10:48 pm    Post subject: Reply with quote

Not much new development as far as anything visible to the player goes. I did get started on the Items menu, but I've stopped halfway through it in order to start work on a change to my map format. I'll now be able to make the top layer player-accessible (whereas before, it was purely decorative), and cut the disk/memory usage roughly in half. It was one of those late-night, as-I'm-drifting-off-to-sleep revelations that's half "ah-ha!" and half "what a moron, why the hell didn't I think of this before."

...I hate those.
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Fri Feb 12, 2010 9:49 am    Post subject: Reply with quote

Finally got all my demo maps converted over to my new, simpler map format. Modifying the engine wasn't any big deal -- having to completely gut the editor and pretty much start over, that was the real pain.

One of the biggest flaws with my previous format was all the wasted space. Aside from the four tile layers, I had two layers each of Things (special objects that interact with the map and the user in special, hardcoded ways -- colored lights, actor teleporters, treasure boxes, etc.), exit points, plot triggers, collision exceptions, conveyors, battle exceptions, and damage spots. Those last six are obviously fairly sparse in most maps, so I was wasting a ton of space. And the Things layers weren't very efficient either -- I only used a single unsigned byte to describe them. With only eight bits to work with, I was unable to store any kind of metadata about each Thing. So instead of each Thing being a "type" of object, each one was a *specific* object. So, for example, Thing #21 was a small red light, Thing #22 was a medium red light, so forth and so on. It was a bit of a pain to work with, and given that I was already up to 56 Things, it was obvious that I was going to run out before development is done.

What I've done now is gotten rid of the other layers altogether, leaving only the Things layers, and expanded Things to store more data. Each Thing is now five bytes. The first byte, just as before, holds the Thing ID (0-255). The difference now is that each one is now a type or class of Thing rather than a specific Thing, and the remaining four bytes can be used to describe it. I suppose I can explain better with some screenshots of my editor.

Before: old and busted.
http://www.tofusplace.net/images/shared/air/editor_old_1.png
http://www.tofusplace.net/images/shared/air/editor_old_2.png
http://www.tofusplace.net/images/shared/air/editor_old_3.png


Now: new hotness.
http://www.tofusplace.net/images/shared/air/editor_new_1.png
http://www.tofusplace.net/images/shared/air/editor_new_2.png
http://www.tofusplace.net/images/shared/air/editor_new_3.png
http://www.tofusplace.net/images/shared/air/editor_new_4.png


While I was at it, I added two new Thing types:

http://www.tofusplace.net/images/shared/air/editor_shadows.png - Shadows. I would have simply made these as tiles, but I wanted them to be customizable as far as shape and intensity, so I felt they were better suited to be Things. That and I've got my engine set up to draw tiles as regular sprites; making them alpha sprites would have required hardcoding anyway (or at least another cumbersome engine modification). Shadows can be set to change their intensity automatically with the map's lighting level (so they don't appear at night and so forth), or to have a set intensity (anywhere from completely invisible to completely opaque -- it'll be great for hiding stuff from the player or making certain maps extra creepy).

http://www.tofusplace.net/images/shared/air/editor_sounds.png - Sound effects. I've already peppered a bunch around my demo maps, from birds tweeting in trees, to a roaring underground river and bubbling lava pool. The sound is in stereo; it's really simple -- it just looks at the camera's position relative to the sound Thing and adjusts the sample's panning and volume accordingly. Really adds an extra level of depth to the maps. I'm definitely going to want to show that off in the demo video.

Speaking of which, I've been wondering how I should approach the video, and I don't mind begging for advice. :) Do you guys think I should do something longer like this - - and actually go through and explain each element of the engine in detail, or just do a quicker video where I don't say anything, walk around and show off stuff, and just use annotations or whatever to explain anything that might not be clear? I'm leaning toward the first because I'm so proud of my progress, but I also don't want to bore anybody, or spend ten minutes pointing out the bleeding obvious. :)

-Tofu
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4988
Location: Silicon Valley!
PostPosted: Fri Feb 12, 2010 5:09 pm    Post subject: Reply with quote

Nice progress. I like how you implemented ambient sound drops. I think I might actually use my world object structure as a way to dump ambient sounds in my own game. Neat!

As for the video question: make it short and sweet and entertaining enough that someone who has no idea WTF you're working on can make sense of it. If you've not go the voice for it, leave it out. There's nothing more annoying than listening to a terrible voice talking monotonously about random game mechanics that make no difference.

Use video to show stuff in action. I tend to think it's better to have a bunch of short ones showing of single things than one big long one showing off everything. That way people can watch what they care to see.
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Mon Feb 15, 2010 7:45 pm    Post subject: Reply with quote

sonrisu wrote:
As for the video question: make it short and sweet and entertaining enough that someone who has no idea WTF you're working on can make sense of it. If you've not go the voice for it, leave it out. There's nothing more annoying than listening to a terrible voice talking monotonously about random game mechanics that make no difference.

Use video to show stuff in action. I tend to think it's better to have a bunch of short ones showing of single things than one big long one showing off everything. That way people can watch what they care to see.


I took your advice and ran with it. :) I spent all of today doing some videos about the game, giving a basic rundown of the project and its history, and walking through the demo maps I've got so far. I do tend to drone on a bit (mostly because I was nervous and a bit unorganized), but thankfully I did split it up into several smaller videos. And actually, I've decided to make it a regular thing. I'll be posting new development vlogs bi-weekly, probably starting next week. As I explain in the first video, it's my way of giving myself fewer excuses to quit. :)

[link removed --Author]

Now, my only real challenge is not spending too much time vlogging, and keeping focus on the coding. :)

-Tofu


Edited by AdmiralTofu on Wed Jan 26, 2011 1:58 pm; edited 1 time
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Tue Jul 27, 2010 8:07 pm    Post subject: Reply with quote

I'm not dead, although sometimes it's felt like it. Those development videos spiraled out of control and turned into a personal vlog which sucked up way too much of my time before finally dying... heh. I've also been busy with my "real" job, as well as the college application process. Financial aid is a bitch.

Development still chugging along. I'm still stuck in GUI hell. My next game will be an action platformer with a minimum of menus, damn it.

The front end for the skill system is done (the backend not so much; I'm only moving variables around; skills don't actually affect gameplay yet). I've also added gamepad support and a dialogue to configure the controls for both the pad and keyboard. You can also equip characters with weapons, armor, and accessories now.

Screenshots soonish.

-Tofu
_________________
Dev log - Adventure in Rulon
Dev log - Acronia

---
Twitter - @HadroSoft
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Tue Jul 27, 2010 11:15 pm    Post subject: Reply with quote


Controller config. If you have a gamepad connected, the game will accept input from it and the keyboard at the same time, instead of making you have to pick. If you don't have one connected, the "gamepad" column will simply be grayed out.[/img]
_________________
Dev log - Adventure in Rulon
Dev log - Acronia

---
Twitter - @HadroSoft
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
PoV
Moderator

Joined: 21 Aug 2005
Posts: 10859
Location: Canadia
PostPosted: Wed Jul 28, 2010 6:46 am    Post subject: Reply with quote

Oooh! UI!
_________________
Mike Kasprzak
'eh whatever. I used to make AAA and Indie games | Ludum Dare | Blog | Tweetar
View user's profile Send private message
AdmiralTofu
Contributor

Joined: 02 Nov 2009
Posts: 191
Location: Millville, NJ
PostPosted: Wed Jul 28, 2010 8:41 am    Post subject: Reply with quote

PoV wrote:
Oooh! UI!

Indeed! It's a pain in the royal ass, but it's all ground work. The battle system should be a snap to drop into place.
_________________
Dev log - Adventure in Rulon
Dev log - Acronia

---
Twitter - @HadroSoft
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
PoV
Moderator

Joined: 21 Aug 2005
Posts: 10859
Location: Canadia
PostPosted: Wed Jul 28, 2010 9:36 am    Post subject: Reply with quote

Yeah without a doubt, UI is the biggest (stale) PITA in all of game making.
_________________
Mike Kasprzak
'eh whatever. I used to make AAA and Indie games | Ludum Dare | Blog | Tweetar
View user's profile Send private message
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9441
Location: Not Finland
PostPosted: Wed Jul 28, 2010 9:46 am    Post subject: Reply with quote

Aside from spending time making things look "just right" UI was the biggest time waster for me.

If you're serious about making games, go ahead and invest a few weeks crafting a decent, semi-flexible GUI system you can take into your next 2-3 projects. You don't need to go overboard... but anything that saves time on stuff as boring as menus is worth looking into! I wish I had learned that lesson earlier :(
View user's profile Send private message Visit poster's website
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Adventure in Rulon (old) Page 1, 2, 3  Next

Use this link to get a Sign-On Bonus when you get started!

All trademarks and copyrights on this page are owned by their respective owners. All comments owned by their respective posters.
phpBB code © 2001, 2005 phpBB Group. Other message board code © Kevin Reems.