What technique is being described here? : "I decided that the map would contain as much game data as possible... I could tweak the placement of things using photoshop rather than having to hunt down data in a text editor."
Does this mean he used some kind of PSD to level compiler? If so, where can I find such a software?
Presumably it just means that the engine constructs the levels from an exported image (such as a png, not a psd), instead of creating the levels from a more complicated data system. Because he knows the exact sizes of things, and "sprites" are a 1 to 1 mapping to game objects, he can easily do this. In a more complex game this would be impossible, but it works very well for his purposes.
Simcity 4k uses a similar technique for the region definitions. They're actually just an image file, each pixel represents the size of the different city zones, and IIR the RGB color of the pixel had some property as well. So if you wanted a region with all small or all big cities, you just opened up the file and edited it.
That's correct, it's nothing fancy. Rather than use anything complicated it's so much faster for these sorts of game-jam situations to pack all the level data into a bitmap and just edit it visually. Since I was loading the level image anyway for display, it made the process of editing monster placement, triforce pieces, etc very fast.
I use www.PyxelEdit.com which allows you to edit levels/tiles visually and then export the tileset and an xml file with tile locations. It also supports multiple layers so you can have a layer that is for art but then another layer that isn't visible that you can use for spawn points/interactions etc.
I did that once to rip zelda's entire map.
With one java app, I ripped all tiles (fixed size). With the other, I just compared the grid tile by tile with my sprite-pallete and then created a map file. Pretty straight forward if you use a single layered map.
Just wish I could see my current orientation! (Seriously though—from a given screen, I have no idea what the result of A is going to do or what the arrow keys are going to do. If i'm at a square and facing left, hitting the left arrow key will move me left, but if i'm facing any other direction, hitting left will rotate me. It's important that I know which way I'm facing.)
Yeah, I thought about that problem quite a bit. I decided it's just gotta be one of the challenges to playing this thing, otherwise I'd have to cheat and use something more complex than a single pixel (or add some kind of transparent or blinking "cursor" in front of the player).
How about single-pixels-with-(8-bit-looking-)textures? A slight gradient darkening away from the "front" of the character would make all the difference.
This is a fantastic commentary on what makes a game fun. I'm always intrigued by titles that require nearly no art skills. "Thomas Was Alone" kind of surprised me in that way too because it was successful side by side with other titles on Steam while using an art style that was so simplistic almost anyone could have done it.
It's funny because mechanically it's not too terribly different from many other games of its type. That story and narration are a huge part of its success, and well-deserved I think.
Hmm. I don't think that saying "Thomas Was Alone" required nearly no art skills is fair at all. If your only definition of "art" is static, visual art that comes across in a screenshot, then sure, but that's not all that there is to art, and it's not even the hardest part of a video game.
Just writing off the polish given to the jump physics, the water, the narration, the small touches like dynamic lighting and rain, and everything else as "not art" doesn't sit right.
I meant drawing skills. I agree with you it's not a fair characterization of art at all, but probably a mistake on my part due to years of "art" class in school which was typically resigned to painting/drawing/crafts none of which I was any good at.
I don't know. I find that pretty frustrating, because I've no idea what I'm picking up and having in front of me or what I can do. It's probably only interesting if you know the original by heart...
Pretty good work. Didn't like it at first but then ended up playing it for a few minutes, even though I wasn't in the mood for playing games.
I noticed one thing though, I looked into the code (it's neat and tidy!) and the game logic (updates) was built into the render function that gets called with requestAnimationFrame. Might be a problem on devices that aren't refreshing @60 hertz because the game runs as fast as the user's monitor.
Good point. At 30hz I expect it'd be like playing it on the NES when too many enemies were on screen at once.. This flaw crossed my mind when I was building the game, I decided to just ignore it and hope most people are running at 60hz rather than tie all the various game timing to fractional deltas or implement one of those fixed delta game loops.
Memory is an interesting thing. I haven't played the original Zelda in many many years and immediately knew where to go when I was dropped into the game.
I've long thought a minimalistic style like this could be very useful in teaching game design and discussing game mechanics. You can learn a lot about a game by breaking it down like this.
Interested is too mild a word. This is fantastic, Jeremy Parish is also a legend in the retrogaming community. Retronauts (old and new) is a must listen to podcast.
It works?!? hehe.. I jammed mobile controls in late last night after seeing a lot of mobile traffic on the analytics, only had my phone for testing so I'm assuming it's buggy depending on the device, glad it's working for you!
ZZT was brilliant. So simple and abstract visually, but it was programmable! I don't know where I'd be if it wasn't for all the hours spent writing ZZT-OOP.
I found a copy of Burger Time and played through it the other month, after not playing it since I was a kid... some of the games people made with ZZT are extremely creative and a lot of fun, even if they seem pretty crude now.
This has been awesome. Thanks! I was kinda disappointed that I didn't need to get to Death Mountain after getting the 8 pieces. A 1-pixel Ganon would be cool!
I would have loved to get that in there, but I finished the win/die screens just minutes before midnight at the end of the 48 hour limit, it almost wasn't winnable at all.. Putting Ganon in would be fun, but I need to call this project finished or I'll just keep adding stuff forever. :)