Pokeman Purple

Posted by S3xySeele on Nov. 22, 2011, 7:57 p.m.

A small update on the minor progress I'm making with Pokemon Purple.

First, I've canned the HTML5 version for now. I''ll wait for GM:HTML5 to mature… it's still technically beta software right now, even though Yoyo has the nerve to charge $100 for it.

While I was still working on the HTML5 version though, thanks to some limitations I encountered, I came up with some workarounds which can also help reduce the size of your game, especially handy for web-based games.

The way HTML5 stores a game's graphics is in one giant texture. This texture can be a minimum of 8x8 or a maximum of 2048x2048. If you view your game's texture and you see a lot of empty transparent space, you can probably cut the texture's size in half by making your resources smaller and easier for Game Maker to fit economically into this texture.

For instance, if you've got a tileset that's 160x4000, not only will you encounter serious graphical problems due to the fact that your tileset's height exceeds the bounds of 2048, but your game's texture will be up to 4x larger (at least in dimensions) than it needs to be. Chop that tileset up manually to make it a 800x800 block. Now it fits comfortably within the texture, and also doesn't stretch it out nearly as much.

But even more can be done. You can go one step further and chop it up into multiple tilesets, which makes it easier for the algorithm that creates the texture to find space for other things without expanding the dimensions of the texture.

You can even take it to extremes if you really need to. If you've got detailed backgrounds for say, a splash screen, you can still use the same principles and chop it up into smaller chunks.

For example, this:

Becomes this:

For less detailed chunks of the background, you could scale them to half the original size and draw them at 2x scale. Visually, it will definitely be noticeably more pixelated, especially since the scaling methods for HTML5 aren't as good as for an executable. But if you need to squeeze out more from your game's texture, it's one possibility to look into.

This:

Becomes this:

Which looks like this:

Another more appealing alternative to scaling, thoughmuch more limited in cases where it can be applied, is making a certain color transparent and cropping out the non-transparent details. It only work effectively if there's a lot of one particular color, like black or white for instance. Also, it only works if you can set the background color of the room to whatever the color you're removing is and if you aren't drawing anything behind it. It's very limited in application and it's a pain in the ass, but if you need to cut as much space as possible without reducing quality, it might be an option.

This:

Becomes this:

Which looks like this:

…ANYWAYS!

Pokemon Purple. I've started work on the Pokedex, which I've based it's look around the end credits of the first half of End of Evangelion. Behold:

It's still a work in progress, but I'm really liking what i've got so far. The screenshot doesn't really do it justice. It looks better (and slightly more readable) in motion, pseudo-spinning like a pseudo-double helix. The only real problem I'm having is that the script I'm using to produce the glow effect for the text is extremely slow. My laptop can play Skyrim just fine at medium/high settings, but struggles to get 30 FPS for my Pokedex. I'm dynamically adjusting the quality of the glow to fit the scale of the text, but that only goes so far. Ideally I would use surfaces, but the player object that is running the whole Pokedex is built around the draw event, and changing the target surface in the draw event doesn't work out so well.

For now it's fine, but I'll probably have to eventually break down and figure out a way to use surfaces. If it's struggling to maintain a smooth framerate on my computer, I don't even wanna think how slow it might be on less powerful systems. I tried changing the Draw event to a Step event, and simply drawing everything to a surface, which I then drew on the screen in the Draw event. But I was encountering many challenges with that approach and decided to give up on that. I might have to bite the bullet and revisit it. That is unless anyone here happens to know of a good, potentially faster script for drawing glowing text (that doesn't utilize surfaces)… lol

Comments

JuurianChi 13 years ago

Ooh!

I can't wait to play this game, seriously.

Taizen Chisou 13 years ago

I would say the same if we could get a view of some of the action in it :V

Eva unit-01 13 years ago

The example pictures relate to me.

S3xySeele 13 years ago

…Action? What action?? It's Pokemon, for crying out loud! lol

In all honesty though, I haven't even begun work on the battle engine. So that's why there are no screenshots of it yet. That said, I've been conceptualizing how I'll be changing the battle mechanics… let's just say it'll be interesting. But it'll still be turn-based, so if you were expecting a more radical departure from the regular 1-on-1 turn-based Pokemon battles, you'll be disappointed.

Glad to hear there's some interest in it though. =D

Quote:
The example pictures relate to me.
Why, yes. Yes they do.

Praying Mantis 13 years ago

I'd be interested in it if it wasn't a Pokemon clone.

Amarin 13 years ago

Pokemon with eyecandy? Not sure if I'd want to play, but it'd be cool to see tech demos of it.

@JuurianChi: Miki is <3.

S3xySeele 13 years ago

@SMP: Don't like Pokemon, clones, or both? In any case… Adventure Time is awesome.

@Purianite: Not so sure about the eyecandy… there will be some cool Eva-themed visuals for certain things, but it'll still look like a typical Pokemon game for the most part.

Praying Mantis 13 years ago

More just the cloning part. I've always wanted to see a monster collecting rpg like Pokemon that isn't Spectrobes or whatever. It'd be really cool if you at least had 100% original monsters. Although I understand that sounds like a huge workload, but a Pokemon clone is anyway.

S3xySeele 13 years ago

Yeah, creating a lot of original monsters would be difficult… especially for me, since I have virtually no artistic talent. I might be able to imagine a few cool monsters, but actually drawing or spriting them would be too hard for me.

And finding a talented spriter who's willing and available to lend a hand is pretty damn hard too.