Author | Comment |
greenorange Goliath Posted: 25 Mar 2005 14:39 GMT Total Posts: 199 | Hi everyone. I am working on Zilak 2, written in MLC. This means it will be compatible on ALL CALCULATORS (as soon as the interpreters are made.) Currently, this is how far I got.
It isn't much, but as you can see, the character is a tree. This will not do, and I am quite bad at drawing characters. If anyone wants to chip in, and be mentioned in the credits, I would appreciate a 8x8 gif(s), with 4 grays (white, light grey, dark grey, black). As long as I can see the differences I can use it. I would be grateful is someone went an extra step and sent me a front and side view, so I could make the pic change as different keys are pressed. |
Kevin Guardian
Posted: 25 Mar 2005 15:57 GMT Total Posts: 1390 | at least I know what the next Omnimaga news article will be... :)
--- http://omnimaga.org - The most active TI calculator programming team around and a massive RPG selection |
korkow Ultralisk Posted: 25 Mar 2005 16:26 GMT Total Posts: 465 | Ok, I just sent some
EDIT: Whoops, I forgot to send the files! I sent you another message that actually had the files this time. I hope you use my pics!
[Edited by korkow on 26-Mar-05 01:32] |
korkow Ultralisk Posted: 25 Mar 2005 16:34 GMT Total Posts: 465 | Strange, it seems that the messages failed to be sent to you, I will PM you with what they look like! |
greenorange Goliath Posted: 25 Mar 2005 16:36 GMT Total Posts: 199 | wierd. Gmail didnt get anything. Are you sure they went properly as attachments?
PS Kevin, thanks for the good idea! But don't expect a good version out soon, I have yet to learn how to work with external variables, as well as sprite collisions, etc.
[Edited by greenorange on 26-Mar-05 01:38] |
korkow Ultralisk Posted: 25 Mar 2005 16:47 GMT Total Posts: 465 | I just sent it to your PM thing here at CG. Go to the forums page and at the bottom of the box where it says stuff about Visual FAQ and stuff and you'll be able to see what I sent you. |
greenorange Goliath Posted: 25 Mar 2005 16:58 GMT Total Posts: 199 | Nice! Thanks for all four views! It would help if they were wider, and maybe had some filling, like sword or shield. That might take more pixels, but if you could do it that would be cool!
EDIT: Never mind, I added a sword in each of them, so now I will use all four. Thanks a ton! If anyone else has ideas, I will gladly take them! I can combine different image ideas together to create an ultimate character! I will post a new screenshot as soon as I program the new pics.
[Edited by greenorange on 26-Mar-05 02:04] |
greenorange Goliath Posted: 25 Mar 2005 17:42 GMT Total Posts: 199 | New version:
There is a bug when you go diagonally, but only the image looks wierd. I do not plan to change that any time soon, but I will try to work on sprite collisions, or making it impossible to walk on trees, rocks, etc. I hope a better MLC tutorial is written, or a new version comes out. Maybe Ill work on scrolling so the char can move further. |
greenorange Goliath Posted: 26 Mar 2005 06:22 GMT Total Posts: 199 | A good point worth mentioning is that the maps are represented as arrays. This means each screen is an array of 96 units, holding integer values between 0 and wherever I feel like ending the bitmaps. So, if anyone wants a cool map screen like the one in the screenshot, send me some sort of drawing, and I can possibly make it into a screen. As long as its a bit wider (50% to be exact) than it is taller (the screen :-) ) then I can make it. Avoid using new objects, (because I am RAPIDLY aproaching the 9.1k limit) and try not to make it confusing. This game is cool I think because I let everyone in on it. Meaning you can send me monster graphics (I don't know if I will make it like Zelda, or random turn-based fighting; probably the latter), more 8x8 sprites, a plot idea (though I like making those myself), a title screen (i'll probably make that myself too), help on the programming (how the heck do I work with sprite collisions, and can I detect a collision with a sprite on a bitmap?) and many other things. So, as you can see, I am very happy to take suggestions :D |
Lunchbox Carrier
Posted: 26 Mar 2005 09:28 GMT Total Posts: 2007 | If you have the map stored as an array, just make all the tiles you want the sprite to collide with (not walk over) the higher values and the walkable tiles the lower ones (like say 1-10 are walk-overable and 11-20 are not) then just compare the tile number of the tile you want to move the sprite to with 11, and if it's higher, don't let the sprite move. |
greenorange Goliath Posted: 26 Mar 2005 09:41 GMT Total Posts: 199 | That would be easy, however speed would drop because you can see he moves pixel by pixel, not tile by tile. However, I can make him move tile by tile i guess. Ill have to write separate sub-routines to make him walk animated and check for tiles. That might be a good idea because it's gonna be hard to work with pixels and tiles at the same time. |
bcherry Dragoon
Posted: 26 Mar 2005 14:40 GMT Total Posts: 61 | By the way it looks, you have an extraordinarily easy job with collision. Because the character is 8x8, just like all the tiles, and you can pretty much assume all tiles to be either 100% solid or 100% clear (as in no funky shaped collision) everything is extremely simple bounding box collision. Think of the character as a square with four corners, same with every collideable tile. Then just take the character, and every time it tries to move, move it a pixel and then check each of the four corners and see if any of them are in a solid tile, if so move back and stop moving. If not, let him keep going. Oh, and there are two ways to deal with the pixel/tile confusion. Either make the guy have an x value in pixels from the top left of the map, or have it in tiles from the top left. If it's in tiles, then just store a x_offset and y_offset variable as well for drawing and collision. When x_offset gets above 8, reset to 0 and increment x, etc. |
greenorange Goliath Posted: 26 Mar 2005 15:29 GMT Total Posts: 199 | Ya, in fact I do. It won't be hard, but I am working on smooth animated walking as the char moves tile to tile. As soon as thats done, I will throw in the collision. Knowing MLC speed, it shouldn't make any noticable difference to speed.
[Edited by greenorange on 27-Mar-05 00:42] |
Lunchbox Carrier
Posted: 26 Mar 2005 16:57 GMT Total Posts: 2007 | Well sicew your tiles are mapped 8x8 no matter what, you only have to check when he tries to switch tiles (moves to next bytes of display, i think). |
greenorange Goliath Posted: 26 Mar 2005 17:30 GMT Total Posts: 199 | OK, I made him move in 8 pixel units. It was hard because their was some sort of bug that made an offset when he changed direction, so I had to manually track his direction to fix it. I'll post a new screenshot after I add the collision detection in :D |
greenorange Goliath Posted: 27 Mar 2005 13:01 GMT Total Posts: 199 | OK, new updates! First of all, the screenshot:
The character now moves in 8 pixel units, and cannot go diagonally. In addition, sprite collisions have been added. He cannot pass through the trees and rocks. It took so long because a bug reappeared and was offsetting the character 1 pixel after a sprite collision. I added some stuff to fix it. The code is 3.2 kb, and compressed it is 1.8 kb. I am now thinking about getting the map to scroll to a new map. |
Lunchbox Carrier
Posted: 27 Mar 2005 14:23 GMT Total Posts: 2007 | Nice! Do you program in asm, cause i have a ? about sprites if you do and have the time. |
Morgan Ultralisk Posted: 27 Mar 2005 14:30 GMT Total Posts: 321 | What is the question? |
greenorange Goliath Posted: 27 Mar 2005 14:53 GMT Total Posts: 199 | Tell the question. One of us can help! |
Lunchbox Carrier
Posted: 27 Mar 2005 15:23 GMT Total Posts: 2007 | How do you put a map as a background? I mean, just placing it is easy, but when you erase the sprite, it erases the map as well, is there any way to work around this or would you have to just re-put the map tile, because my sprite might be a bit bigger than 1 tile, so i'd have to overlap a bit, or change the tilesize. |
greenorange Goliath Posted: 27 Mar 2005 16:32 GMT Total Posts: 199 | Write a routine that masks the sprite over the prvious ones. That way, it wont overlap if you leave the area of the sprite blank. Thats what I did in Light Out. For more info, see the source code, which is somewhere. I think you can download it at my web page. BTW, MLC is not ASM, so it really doesn't show my ASM skills at all. Meaning that MLC is easier, so I probably can't help you too much. A good person to ask would be William White, who knows those sprite things better than I do. Morgan can also give you a hand, though I know he's better at math things :) |
greenorange Goliath Posted: 1 Apr 2005 12:55 GMT Total Posts: 199 | OK, more updates added. Problem is, I don't have access to an emulator now, so I can't post screenshots. Heads up, when the new MLC for 86 comes out, I will pick up pace, but now I can't do too much. Problem is, I already hit 7k and the limit is (or will be) 9.6k. Also, I need access the the new MLC interpreter so I don't have to work around the bugs that exist. Expect a screenshot (or a few... I added ALOT of new stuff that I wont disclose here) in a couple days, because my computer is unavailable. Also, for 86 users I will release a compressed alpha version so you can get a feel for the map engine, as well as the other things I added. I am still accepting all bitmaps, 8x8 and 16x16, 4 level grayscale, of anything from grass to trees to monsters to cool designs.
EDIT: Here they are:
[Edited by greenorange on 02-Apr-05 22:03] |
greenorange Goliath Posted: 2 Apr 2005 12:20 GMT Total Posts: 199 | The left one on the first row is the whole demo run-through. The right one is the title screen. The rest are various images throughout the game. Also, I am releasing a demo for 86 users to test the game so far. It is available at http://www.angelfire.com/amiga2/anthonyl/archives/Zilak2.zip . Make sure you download MLC first!
EDIT: My web host does not allow linking from other sites, so I could not make that URL a link. Sorry!
[Edited by greenorange on 02-Apr-05 22:21] |
bcherry Dragoon
Posted: 2 Apr 2005 20:07 GMT Total Posts: 61 | I feel like I'm the only one who makes title screens and menus last... I guess it's cause I'm lazy and I don't want to click through the stuff every time, and also because I'm way more interested in the engine than graphical considerations like that. Anyways, looks great Anthony! |
Lunchbox Carrier
Posted: 2 Apr 2005 21:45 GMT Total Posts: 2007 | i always do it first because its easy and I always do the easy things first :) . |
greenorange Goliath Posted: 3 Apr 2005 05:03 GMT Total Posts: 199 | The problem with the engine was that I could not continue on it until the scrolling bugs were fixed, and I just found the new version earlier yesterday, so now I can continue. I will try to get the scrolling and maybe more map screens in before I start cutting size down. That's going to be a pain. 9.6kb is really good for smaller games, like shoot-em-up or something. An RPG really will be tough to work around, but I'll try. |
Lunchbox Carrier
Posted: 3 Apr 2005 10:30 GMT Total Posts: 2007 | Store the static data (like levels, tiles, and such) in a string and read from them. |
greenorange Goliath Posted: 3 Apr 2005 11:30 GMT Total Posts: 199 | Im working in MLC, so I can't do that. This is not ASM. Also, I am using special sprite variables to use with them, so thats covered. |