Hello Guest, please login or register.
Did you miss your activation email?
Login with username, password and session length.

Pages: [1] 2 3   Go Down

Author Topic: How to design a Zelda Game (Step-By-Step Walkthrough)  (Read 12914 times)

0 Members and 1 Guest are viewing this topic.
How to design a Zelda Game (Step-By-Step Walkthr...
« on: March 19, 2008, 09:00:28 pm »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
Ok guys, to try and increase the activity in the zelda fan game boards I've decided it might be a good idea for me to write some articles discussing how to create the zelda fan games from start-to-finish, step-by-step. Before I start writing these tutorials though I want to see who would find them intresting, and who would actually follow them. I'm not going to bother if nobody reads them. I also want to know what your thoughts are on what language to do them in, I'm personally going for the preference of C#, as its relativly easy for new people, its fast to develop for and there are several free compilers for it.

Also what depth do you think I should go into? I'm thinking I should probably do graphics engine / audio engine / input engine / map editor and such for you, and leave the real concentration on the actual game, trying to make it easier for the user.

So anyhow, what are your views?
« Last Edit: March 19, 2008, 09:03:30 pm by Infinitus »
Logged
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #1 on: March 19, 2008, 09:21:13 pm »
  • Super Hero Time!
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Female
  • Posts: 4859
Like I said before, it would be a great idea, I'd sure read and use it all.

C#? Sounds good to me, though I'll need to start learning that language.

Maybe GML would be good too? As most people use that for making games as well.

Some programs would be cool as well.

Anyways, if you need any help I could help with the Wiki like I said earlier as well.
Logged
!@#$% I lost my entire post, god dammit.
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #2 on: March 19, 2008, 09:44:49 pm »
  • *
  • Reputation: +12/-2
  • Offline Offline
  • Gender: Male
  • Posts: 4849
I say go with C++...Though, C# has the advantage of XNA, so essentially you'd kill two birds with one stone...Teaching Zelda programming with C# and somewhat general game development in C# which leads to XNA.

I still want C++ game tutorials though...  Maybe some OpenGL or SDL...
Logged
  • Super Fan Gamers!
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #3 on: March 19, 2008, 10:18:33 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 775
i can help with "how to do certain stuff", but then again, so can you
i dont think i will be much help here
since .net is all about objects, i dont have much to say, because the language forces you to make things in a replicative way and design it multi-purposefully
if thats even a word ;)

i do have some good pointers as to how to do 2D, but even that is legacy now :P sigh
Logged

My Child Is Student of The Month at Neverland Ranch!
  • SSEdit
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #4 on: March 19, 2008, 10:28:03 pm »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
Quote
I say go with C++...Though, C# has the advantage of XNA, so essentially you'd kill two birds with one stone...Teaching Zelda programming with C# and somewhat general game development in C# which leads to XNA.

I still want C++ game tutorials though...  Maybe some OpenGL or SDL...
Yes but few people here know C++, and I don't want to choose a language that will overcomplicate it. I want to keep it as simple as possible.

Quote
Maybe GML would be good too? As most people use that for making games as well.
Never used GM, never intend to. Its a poor quality, inflexible program. One of the main aims of this would be to pull people away from programs like that and get them learning real, flexible languages.

Quote
i can help with "how to do certain stuff", but then again, so can you
i dont think i will be much help here
If you want we can split the load? You seem to know what your talking about on several aspects of programming. Not sure how much knowledge you have on non-vb6 programs though.

Quote
since .net is all about objects, i dont have much to say, because the language forces you to make things in a replicative way and design it multi-purposefully
if thats even a word Ouch, you poked my eye out!
If your on a tyrade against OOP principles, my first question is, have you ever used an OOP language for a major project? You should, trust me experiance it for a while, its far, far more flexible than imperitive languages.

Quote
i do have some good pointers as to how to do 2D, but even that is legacy now Look at me, I'm invisible! sigh
I know 2D back-to-front so I wouldn't worry :).
Logged
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #5 on: March 19, 2008, 10:47:27 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 775
nah its not one of my never ending tyrades :) for once
im not in denial, however its my personal choice to use non-OOP languages
i think im quite right when i say that if you make multi-purpose classes for all interfaces in the game you can make a magical scripting interface

btw on a side note i can explain how i did my AI scripting
each NPC has a major and a minor AI setting
each AI has a specific purpose ie. how it rotates frames, or if it actually moves the NPC around
ie. AI 0 rotates frames using that NPCs framespd
and AI 1 tries to move the NPC to a set destination queue
also checks its own queue for redundancy using getdist to other points, so that if you are walking in a circle an enemy that was initially guarding a position
will not backtrack in a circle, but rather clear his dest list and go straight back, as far as he knows at least
i dont know if this is even a good idea, but it was just me hammering on some code on what i already had made..

anyways
once a unit is finished with a task, and this only applies to advanced AI modes, he will return to his major AI
ie. AI 7 is guard
if player gets too close (notice-distance), and the NPC has an auto-angry mode he will change to AI 1, and move towards player
this is the most basic form that doesnt require any scripting- its all engine
and when he "lost the player" he will backtrack and return to his original AI because the task is completed

most AIs in zelda games require unique scripting, or better yet, should have
and the fact that the scripting depends on an internal automated AI system helps alot

theres also several inhibitors that stalls AI, ie. flag stunned, frozen, auto-move etc.
auto-move is for when you hit an enemy with an action that requires him to move away from player or any other origin of action point
most commonly the sword, though personally at a very reduced rate because i think it reduces the use of shield although it does reflect stuff :)

any comments?
Logged

My Child Is Student of The Month at Neverland Ranch!
  • SSEdit
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #6 on: March 19, 2008, 10:51:41 pm »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
Don't worry about AI, I can do that stuff back-to-front. But if you feel like adding stuff to the tutorials that would be nice, stick me on GTalk (Helios4ever) or MSN (chleonard@aol.com) and I'll talk to you about it.

Anyhow, anyone else intrested in this project? I'm not going to do it if only 2 people are intrested >.>.
Logged

alirazaq

Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #7 on: March 19, 2008, 10:57:52 pm »
I would give it a go, I can probably learn a whole lot. C# is great!
alirazaqpur on GTalk add me

As for depths I would make it so that they learn while reading these tutorials not just copy, paste, edit. We could make more of a guide than a tutorial. With references, examples, etc.
Logged

Source

Internet Tough Guy.
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #8 on: March 19, 2008, 10:58:46 pm »
  • Things to see and people to do.
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 2289
Seems pretty cool to me. Give it a go and see how it turns out.
Logged
The very existence of flamethrowers proves that sometime, somewhere, someone thought to themselves "You know, I really want to set those people over there on fire." - George Carlin

(!@#$%)

Hear the haunting words (They'll find you alone)
lost children with no heart are crying (Turning their hearts into stone)
and you're the lost mother they're calling
Go now, run and hide (seek more than vengeance)
I hear them crying at night (your pain is their satisfaction)
outside when the planets are falling (for the rest of time)
They want to feel and know you hear them (Go now, run and hide)

  • http://giantcock.netne.net/
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #9 on: March 19, 2008, 10:59:00 pm »
  • And if they dont dance, they're no friend of mine
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 1338
Id be intrested if the guide showed me how.
Logged

Art by Kyuumu, banner by me
Screw this, im off to Hogwarts...
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #10 on: March 19, 2008, 11:04:16 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 775
fine, i can explain the deeper aspects of pretty much everything
im glad i dont have to try and explain how to draw alpha-blended sprites on the screen using directdraw :)
as long as i get some stern crits along the way, some parts of how i did things in my engine im not really sure about is the best way
though as i do tend to profile my code often enough its a speedy choice
but i wont get into code, just how you do it

and if anyone was wondering, you cannot make a full blown game under no circumstances without knowing basic programming,
related and unrelated to the programming language you are working with.

Logged

My Child Is Student of The Month at Neverland Ranch!
  • SSEdit
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #11 on: March 19, 2008, 11:12:18 pm »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
Ok, so your intrested in the idea. Now what do you think I should include within it and what I should go over in detail?
Logged
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #12 on: March 19, 2008, 11:37:41 pm »
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Posts: 775
Interfaces:
a brief introduction to...
screensprites - doesnt move relative to the screen etc. lets you build interface, menu, charselscreen, ... stuff :)
menu/selection
sprites (foliage, leafs) interaction-less (though in my engine when you move on leafs they will move abit, so at least one thing)
dialogues - the infamous textbox multiline, multichoice, multicolor/sprite textbox
timers - makes it possible to have things happen over time :)
scripting interface <- big part, it makes your engine feel alive, instead of dead :)
tilelayers and layers (i dubbed it floors)
bricks - blocks, items, bushes all the stuff that can be manipulated by lift throw push pull or an item action in any combination
NPCs - friendly and not-so-friendly characters and is a big part of the game

Characters:
i can take this one, i have quite alot i want to type out here :P get off my chest
retry algo, floatation, flags, jump, mandatory and otherwise

Player:
Items, item levels, equipped items, suits, player (learned/otherwise) abilities
Running through items to reapply abilities once you equip something and so on (zelda games are simple in that regard, but you still have to recurse any ability gains)
The basic zelda gameplay: Lift, throw, push, pull, jump, cliffjumps
--- much to be said, but i dont even know where to begin

Particles:
Yep, can be reflected etc.
Nice with a touch of movement options like sinewave travel ~~~

Mapscrolling:
The mandatory scrolling effects
Alpha-blend-to, ->white, ->black, black->, white->, circular in/out, directional scroll, screen wave (lttp mirror world) etc.

Game programming techniques:
die-ticks: particles die after awhile, its a counter - sprites that work as effects also die after a while, another counter
how to make a simple and final counter
drawing priority
game and interface priority, which comes first and last
ie. should the timers run before the keyboard keys are checked?
action combinations - important because ie.:
* you should be able to run + jump(anylevel) and then when you land you continue to run
* if you hold your shield down and swing, when the swing is complete you should go right back into shielding until/unless the shield button is released

blabla :/
this is how i did it at least
you can probably make bricks, sprites and screensprites one and the same, depends
but they are different entirely, so rightfully they are different interfaces in writing
i write too much i know and i dont know if those are all the interfaces
theres alot to write about, and not alot of time spending on choosing my words :)
Logged

My Child Is Student of The Month at Neverland Ranch!
  • SSEdit

Xiphirx

wat
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #13 on: March 20, 2008, 12:25:47 am »
  • Xiphirx
  • *
  • Reputation: +0/-0
  • Offline Offline
  • Gender: Male
  • Posts: 3007
I would like to see this in C++. It would give people a reason to learn it basically.
And if everyone learned it, no one would use GM (which is good!) and there would be more help with C++ programming.

BTW 3D? please? I am having a hard time understanding what buffers and such are....  ::)

2D is good also...
Logged
  • For The Swarm
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #14 on: March 20, 2008, 12:31:25 am »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
I would like to see this in C++. It would give people a reason to learn it basically.
Yes, but I don't really want to put people off. Using an intimidating language like C++, would just put people off.

Quote
BTW 3D? please? I am having a hard time understanding what buffers and such are....  ::)
2D is good also...
lol. Sorry its 2D, 3D is out of grasp for most people here. However the graphics engine will be OpenGL based (2d-in-3d), so that may help you.
Logged
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #15 on: March 20, 2008, 12:47:46 am »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
Well I'm thinking of a layout something similar to the following, I'm probably missing some glaring points as I'm half asleep but I think thats the basics. I'll also do several sub-tutorials to implement sub-systems of each tutorial (for instance I'll do sub-tutorials for the enemy tutorial, each tutorial doing a different form of enemy, and sub-tutorials for scene graph to implement weather effects and such).

1. Overview: Basic engine structure, dependencies, how to set up the IDE, explain what the shared code dll is, .etc
2. Setting up the screen: Self eplanatory, also includes the basics off a main-loop and such.
3. Creating a scene graph: Create basic Actor class from which other renderable / updatable objects dirive.
3. Adding a tilemap: Add a tilemap to the scene, so we can display a nice scrolling map.
4. Adding Link: Add a basic PC framework.
5. Adding a HUD: Add a basic heads up display to the game.
6. Enemies: Add a basic enemy framework to the game.
7. NPCs: Adding NPC's to the map. Builds off the enemy/PC framework.
8. Events: Adding event based triggers within your map.
9. Scripting: Add a simple scripting language to the game so you can direct events (shops, triggers, .etc) on a given map.
10. Cinematics: Add basic, scriptable, cinematic system to the game.
11. Dungeons: Add basic dungeon tracking system, including pickups such as keys.
12. Map Transitions: Add a form of scroll transitions between maps.
13. Title screen: Add a basic titlescreen.
14. Map editor: Create a simple working map editor for the game.

Feel free to suggest a better layout. This is just a rough idea.
Logged
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #16 on: March 20, 2008, 06:30:02 am »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 3374
Ok, this sounds absolutely awesome. It would be a great way for me to learn c# and get out of my GM loop. :)
I've got visual studio 08, that going to be any good for making games?
And also, do you know of any tutorials for new users of c# (ones for making games or ones for not, that's fine) because I'd really like to make a start on learning the language, but I don't really know where to start from.
Logged
Quote from: Jason
Your community is a bunch of stuck up turds.
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #17 on: March 20, 2008, 06:41:37 am »
  • *
  • Reputation: +12/-2
  • Offline Offline
  • Gender: Male
  • Posts: 4849
Well I'm thinking of a layout something similar to the following, I'm probably missing some glaring points as I'm half asleep but I think thats the basics. I'll also do several sub-tutorials to implement sub-systems of each tutorial (for instance I'll do sub-tutorials for the enemy tutorial, each tutorial doing a different form of enemy, and sub-tutorials for scene graph to implement weather effects and such).

1. Overview: Basic engine structure, dependencies, how to set up the IDE, explain what the shared code dll is, .etc
2. Setting up the screen: Self eplanatory, also includes the basics off a main-loop and such.
3. Creating a scene graph: Create basic Actor class from which other renderable / updatable objects dirive.
3. Adding a tilemap: Add a tilemap to the scene, so we can display a nice scrolling map.
4. Adding Link: Add a basic PC framework.
5. Adding a HUD: Add a basic heads up display to the game.
6. Enemies: Add a basic enemy framework to the game.
7. NPCs: Adding NPC's to the map. Builds off the enemy/PC framework.
8. Events: Adding event based triggers within your map.
9. Scripting: Add a simple scripting language to the game so you can direct events (shops, triggers, .etc) on a given map.
10. Cinematics: Add basic, scriptable, cinematic system to the game.
11. Dungeons: Add basic dungeon tracking system, including pickups such as keys.
12. Map Transitions: Add a form of scroll transitions between maps.
13. Title screen: Add a basic titlescreen.
14. Map editor: Create a simple working map editor for the game.

Feel free to suggest a better layout. This is just a rough idea.
I would break it down even further if you could...Meh...nevermind...

What are you going to base this on?  I know it's C#, but what will you be "teaching" from?  We talking VS 2008?  The express version?  VS 2005? etc etc...
Logged
  • Super Fan Gamers!
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #18 on: March 20, 2008, 08:50:34 am »
  • *
  • Reputation: +1/-0
  • Offline Offline
  • Gender: Male
  • Posts: 4588
C# is not easy for people new to programming. You'd have to teach the basics of programming before anybody got anything.

Besides, this should be designing, as in project management, not jumping straight into development (the #1 reason people fail)
Logged
the a o d c
Re: How to design a Zelda Game (Step-By-Step Wal...
« Reply #19 on: March 20, 2008, 12:04:44 pm »
  • *
  • Reputation: +3/-0
  • Offline Offline
  • Gender: Male
  • Posts: 6629
Quote
C# is not easy for people new to programming.
Its easier than if I tryed to make them jump in C++. C# has a lot of similarities towards GML, which is one of the reasons I choose it.

Quote
You'd have to teach the basics of programming before anybody got anything.
I'm assuming they will at least have a bit of programming knowledge before hand. IF they don't *shrugs* maybe it will help them.

Quote
Besides, this should be designing, as in project management, not jumping straight into development (the #1 reason people fail)
This isn't me telling them how to design a project, or create an actual complete game. This is me explaining how to create an engine. The story, maps, planning, etc are their responsibility not mine.

Quote
I would break it down even further if you could...Meh...nevermind...
Thats sort of the idea of the sub-tutorial thing. Each one would be split up into different elements.

Quote
I know it's C#, but what will you be "teaching" from?  We talking VS 2008?  The express version?  VS 2005? etc etc...
Probably 2008 Express. Its free and has more or less all the features of the full version.

Quote
And also, do you know of any tutorials for new users of c# (ones for making games or ones for not, that's fine) because I'd really like to make a start on learning the language, but I don't really know where to start from.
Google for them. There are billions.
Logged
Pages: [1] 2 3   Go Up

 


Contact Us | Legal | Advertise Here
2013 © ZFGC, All Rights Reserved



Page created in 0.141 seconds with 77 queries.

anything