Need help - Zelda clone - Please read!

Started by
6 comments, last by ragefire 23 years, 5 months ago
Hello all, I''ve just started a group school project in which we''ve decided to make an overhead view Zelda-type clone. One screen displayed at a time, when character hits screen edge, entire screen scrolls to create new screen, just like Zelda. But there''s a problem - I really have no ideas on how to go about making the gamescreen itself! It''s tile-based, so I need some ways to draw the screen. The two techniques I''ve heard are (1) blit each tile to the screen and (2) blit all tiles to offscreen surface, then fastblit the entire scene to the primary. If anyone can help, it''d be appreciated! Thanks in advance!
Advertisement
Method 2 is the way to go. You need help understanding how to scroll the screen?

Dino M. Gambone
Good judgement is gained through experience. Experience, however, is gained through bad judgement.

Dino M. Gambone
Good judgment is gained through experience. Experience, however, is gained through bad judgment.

Currently working on Rise of Praxis MUD: http://www.riseofpraxis.net/

Actually, I really have no idea how to even start. I picked up the DirectX SDK and just started messing with it to learn it - more recently I played with the Donuts DDraw example and I''ve just been carving out useless code and redesigning parts of it as I see fit. If you know of any code examples to do what I need, my primary focus now is going to be just taking one, maybe two tiles, and generating a screen based on that, to be a background. I can''t think of logically what would need to be done (in terms of creating objects and such). Again, help is appreciated!
The isometric game development section contain a bunch of good articles on how to draw maps to the screen.

Here''s the link:
http://www.gamedev.net/reference/list.asp?categoryid=44



Dino M. Gambone
Good judgement is gained through experience. Experience, however, is gained through bad judgement.

Dino M. Gambone
Good judgment is gained through experience. Experience, however, is gained through bad judgment.

Currently working on Rise of Praxis MUD: http://www.riseofpraxis.net/

I would choose method 2 except I would blit each tile to a backbuffer and flip it to the primary surface... or are you drawing in a window?

The first thing I would do would be to design the game before any coding. Also, draw your screen in layers. I would have 3 layers. The ground/terrain layer like water, grass, and sand, the secondary objects (for the lack of better words) such as trees, castle walls, and rocks, and the object layer, such as enemies, Link himself, and various NPCs.

I actually have some experience in this matter, not much, but I did manage to make a little tile-based demo with grass and castle walls and stuff. The project bombed though because of two things

1) Lack of motivation. My biggest problem, but it shouldn''t be too big of a problem for you because I was developing independently while you are working with your class. Working with others/being required to do something can tend to increase ones motivation.

2) I stored my tiles wrong. I tried to use dynamic arrays to store my map, and since I didn''t plan out my project well, when I tried to make it so that I could resize the map, I ran into horrindous tangles and I ended up scraping it.

I also made a dos-based tile based game called Xera. It was better than my mentioned above demo, but I made the mistake of making my tiles different sizes.

So, to recap my recaping of my tile-games, remember these three things.

1) Don''t lose your motivation
2) Design your game before your program
3) Try to keep your tiles the same size

Feel free to disagree with me

-Blackstream
-Blackstream Will you, won't you, will you, won't you, won't you take my virus?-The Mad HackerBlackstream's Webpage
Blackstream: Thanks for your input. Actually I had planned on (eventually) doing the blit to backbuffer then flip method, just trying to figure out a good way how.

To address your 3 points:
1) Don''t lose your motivation
I can''t - this is a school project (software engineering class) ;-)

2) Design your game before your program
Already done, luckily. This would''ve killed me and my group, but in the class we''re required to do prelim documentation and such beforehand.

3) Try to keep your tiles the same size
Done there too. All tiles 32x32x16, on 640x480x16 screen, although we may drop down to 8-bit color. Haven''t decided on that one yet.
Hmmm, about the color thing. Loading pictures in 16bpp is harder than 8bpp, unless you''re using GDI. However, in 8bpp, you have to deal with palettes. If you do go to 8bpp, make sure that all of your images use the exact same palette, or you''ll get weird looking images. I would stay at 16bpp if possible for two reasons.

1) I don''t like dealing with palettes

2) If you switch to 8bpp, you might lose color information in your images.

If you need any DirectX help, be sure to ask. I''m not that knowledgable, but I may be able to help. Hey, what kind of computer are you developing/testing/and showing your game on? Because if your computer is sucky enough, you will have to switch to 8bpp to keep it fast.

-Blackstream
-Blackstream Will you, won't you, will you, won't you, won't you take my virus?-The Mad HackerBlackstream's Webpage
Blackstream: Thanks again, I''ll be sure to ask as more questions pop up (as I''m sure they will). I just double-checked, the people in our group doing the artwork are doing 16-bit color. The primary machine I use to develop/build is my P3-800 128 MB RAM, with Voodoo5 5500, so hardware isn''t a problem :-)

This topic is closed to new replies.

Advertisement