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

Pages: [1]   Go Down

Author Topic: OpenGL Zelda Tutorial Series  (Read 4684 times)

0 Members and 1 Guest are viewing this topic.
OpenGL Zelda Tutorial Series
« on: March 18, 2012, 10:31:28 pm »
  • Minalien
  • *
  • Reputation: +10/-1
  • Offline Offline
  • Gender: Female
  • Posts: 2119
I am planning a new start to a tutorial series that I've attempted to start up several times in the past (failed for various reasons, including military service and moving cross-country). This time, however, I'm going to have some (limited) support from ZFGC staff.

Because this tutorial will be focused on this community, I'd like some input from you all as to what you would like to see in the tutorial. The tutorial will be focusing on developing the game in with OpenGL rendering, but that's all I've decided at the moment.

What I would specifically like to know is:
  • What type of gameplay would you prefer? While developing in the NES/GB style is easier (and easier to teach), the ALTTP-style gameplay is more entertaining and immersive.
  • Beyond OpenGL, what technologies and libraries would you like to see implemented? Scripting (Lua? Another language), networking, etc?
  • What sort of information would you be interested in with regard to shader programs (GLSL), if any at all?
  • What level should I target with regard to the programming language? I understand the majority of ZFGC's community members are not very familiar with much beyond Game Maker, but at the same time I don't want to develop a tutorial for beginners and end up solely with readers who are intermediate-level programmers
  • What sort of gameplay elements would you also like to see included? This can include anything that is part of the traditional Zelda style, or something original that you would like to see.

Along with this, I would personally like to know what other programming and development tutorials the community would be interested in. If you have a suggestion that you don't feel would fit in with the OpenGL Zelda series, feel free to send me a message (please keep suggestions/questions not related to this series out of this topic).
« Last Edit: March 20, 2012, 05:37:03 am by Min宇宙人 »
Logged
Quote
There's such a double standard about religion in the modern world. Catholics can gather, wear white robes, and say "In nomine Patris, et Filii, et Spiritus Sancti" and be considered normal.

But if my friends and I gather, wear black robes, and say  "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn", we're considered cultists.
  • Development Blog
Re: OpenGL Zelda Tutorial Series
« Reply #1 on: March 19, 2012, 04:17:59 am »
  • *
  • Reputation: +12/-2
  • Offline Offline
  • Gender: Male
  • Posts: 4849
Great idea.  Been meaning to restart my XNA tutorials as well just been hindered by SC2/LoL/real life...
I voted for C# as I am biased towards its moderate learning curve and ease of use.

I would recommend as least something based on LttP or Minish Cap(which somewhat combines GB and LttP mechanics).  However, my suggestion would be the onion approach.  Go through a layer at a time starting with the general stuff then slowly working to the core components of what is in the engine such as specific items, ai, and so on.

Another thing to think about is editability(not a real word but only what I can think of with 3 hours of sleep in 48 hours).  What I mean by that, is how accessible would the engine be on all levels of skill?  You are obviously going to have everyone from experienced programmers to noobs going through each.  They may want to do different things with the engine/tutorial than you might have envisioned.  The more experienced could expand on what you come up with and create something more crisp or in greater thought in certain areas whereas the noobs may just want to know how to make an "original" item or change inventory layouts.  Hope you understand what I am trying to say.  Just a thought...

Also, I wouldn't mind some GLSL.  I am still trying to figure out what exactly I can do with HLSL so it could give someone like me some insight into that as well.

In the end to your last bullet, you could go the route with implementations of elements unique to each game in small amounts: direct scrolling(LoZ, GB), stat/leveling system(AoL), mode 7 map(LttP), mini quest collection like the friend toekns or whatever they are from Minish Cap, or even multiplayer like the Four Swords.
Not saying to go very in depth but just some basic implementations or even crossovers.

Personally, I would like to see a Zelda tutorial series that contains the original elements but adds things like dynamic lighting or visual effects instead of everyone usually resorting to black overlays/cloud overlays/etc.

tl;dr
C# and GLSL?
Logged
  • Super Fan Gamers!
Re: OpenGL Zelda Tutorial Series
« Reply #2 on: March 19, 2012, 04:39:05 am »
  • Minalien
  • *
  • Reputation: +10/-1
  • Offline Offline
  • Gender: Female
  • Posts: 2119
I would recommend as least something based on LttP or Minish Cap(which somewhat combines GB and LttP mechanics).  However, my suggestion would be the onion approach.  Go through a layer at a time starting with the general stuff then slowly working to the core components of what is in the engine such as specific items, ai, and so on.
The modular approach (or 'onion,' as you put it..) is what I generally aim for with my tutorials. Each tutorial will add a new piece to the puzzle until the information in the tutorial can produce an entire game. This structure makes it a lot easier for users looking for something outside of the complete project to come in and figure out something specific to another task they are looking at (such as initializing an OpenGL context with SDL, or implementing the backend for an inventory system).

Another thing to think about is editability(not a real word but only what I can think of with 3 hours of sleep in 48 hours).  What I mean by that, is how accessible would the engine be on all levels of skill?  You are obviously going to have everyone from experienced programmers to noobs going through each.  They may want to do different things with the engine/tutorial than you might have envisioned.  The more experienced could expand on what you come up with and create something more crisp or in greater thought in certain areas whereas the noobs may just want to know how to make an "original" item or change inventory layouts.  Hope you understand what I am trying to say.  Just a thought...
The level of the code I use in this project will be determined by the general desire from the community. The tutorial series is going to walk through the programming of the entire engine, from creating the project in Xcode/Visual Studio/MonoDevelop to the code used to import the game maps. Regardless of the difficulty level within the tutorial series, I do intend to have game content created with external tools - tools such as Tiled and those that will be developed specifically to support the tutorial series. Each of the tools will be open-source, though I don't plan to cover the tool creation in this tutorial series (though I may reserve that for later tutorials).

However, the level of difficulty desired by the community will dictate how static or dynamic things such as inventory layouts and inventory mechanics are for less experienced developers. Taking your "original item" example, readers could examine the methods for creating several different items - looking at the factors that remain the same between all objects (selecting the icon, naming, tying them into the game, etc), and looking at factors that are similar with regard to mechanics in a smaller subset of the items (such as creating throwable items).

Also, I wouldn't mind some GLSL.  I am still trying to figure out what exactly I can do with HLSL so it could give someone like me some insight into that as well.
The general ideas remain the same between both - for example, what Fragment shaders (pixel shaders in HLSL/DirectX) and Vertex shaders each handle remains the same. The difference is one of semantics and implementation (GLSL doesn't, for example, use the pass and technique system that HLSL aficionados are used to).

In the end to your last bullet, you could go the route with implementations of elements unique to each game in small amounts: direct scrolling(LoZ, GB), stat/leveling system(AoL), mode 7 map(LttP), mini quest collection like the friend toekns or whatever they are from Minish Cap, or even multiplayer like the Four Swords.
Not saying to go very in depth but just some basic implementations or even crossovers.
I wasn't necessarily referring to individual elements unique to the games, but the overall feel of the game. For example, if I spend the tutorial series going over developing a game styled after the GameBoy games, it will be a vastly different experience from the GBA/SNES games' style. As far as individual elements for a game (such as side quests & distractions) are concerned, I would love to hear suggestions from anybody as to what specifically the community would like to see. Some elements, such as creating a "mode 7" map (which is actually both a great idea, and a very simple thing to implement) are easy implementations that can be done with a single tutorial release, while others (such as networked multiplayer support) are things that must be considered very early on in order to be even feasible, and even then will have drastic and very time-consuming implementation tutorials.

More than likely, I will not include multiplayer features along the lines of Four Swords. Given interest, however, multiplayer mini-games such as PvP arenas are not entirely out of the question - they may not have much of a Zelda feel, but they would be more than sufficient to cover networking fundamentals without bogging down the users who either do not want to look at such high-level tutorials, or would not be able to follow them.

It's important to note that I'm not seeking to create an exact replica of any individual game's features - that was mostly a question of what overarching play style the community would like to see.

Personally, I would like to see a Zelda tutorial series that contains the original elements but adds things like dynamic lighting or visual effects instead of everyone usually resorting to black overlays/cloud overlays/etc.
This is exactly the kind of suggestions I was looking for, and I completely agree with you. In the tutorial series, I intend to cover a variety of special effects systems, including particle systems, shaders, overlays, and sequenced effects.
« Last Edit: March 19, 2012, 04:46:50 am by Min宇宙人 »
Logged
Quote
There's such a double standard about religion in the modern world. Catholics can gather, wear white robes, and say "In nomine Patris, et Filii, et Spiritus Sancti" and be considered normal.

But if my friends and I gather, wear black robes, and say  "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn", we're considered cultists.
  • Development Blog

thestig

Re: OpenGL Zelda Tutorial Series
« Reply #3 on: March 19, 2012, 06:01:41 am »
I'm all for this series.. though, using QT? Maybe for the content creation tools, but you said this tutorial series isn't covering that completely. So I voted for SDL since that would be a more straight forward way into game engine creation, no? QT is huuugee and would make sense if you were otherwise covering content creation. But hey, that's just my opinion. You do what you want, man. ;p
Logged
Re: OpenGL Zelda Tutorial Series
« Reply #4 on: March 19, 2012, 07:12:30 am »
  • Minalien
  • *
  • Reputation: +10/-1
  • Offline Offline
  • Gender: Female
  • Posts: 2119
That marks one for each. XD

And it's simply an available option. Qt provides the cross-platform development platform desired, adds an IDE that will be familiar across all platforms (QtCreator), and supports OpenGL fairly easily. The problem is that it's quite a large download for such a tutorial, and Qt is probably not the best thing to get people started in (though Qmake does make the inclusion of libraries trivial). All in all, I think the pros and cons weigh in evenly enough to warrant consideration.

On that note, though:
If the language itself ends up being C++, the tools will all be developed in Qt. In the case of C#, they'll be developed in C#.

I didn't vote in this - that vote was another, more Canadian member of our community. xP
Logged
Quote
There's such a double standard about religion in the modern world. Catholics can gather, wear white robes, and say "In nomine Patris, et Filii, et Spiritus Sancti" and be considered normal.

But if my friends and I gather, wear black robes, and say  "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn", we're considered cultists.
  • Development Blog

Starforsaken101

Wake the Beast
Re: OpenGL Zelda Tutorial Series
« Reply #5 on: March 19, 2012, 12:55:23 pm »
  • www.mouffers.com
  • *
  • Reputation: +69/-0
  • Offline Offline
  • Gender: Female
  • Posts: 2577
Yes, I am the certain Canadian who voted on QtOpenGL. Why? Well, as Min stated, it's a great for cross-platform development. He pretty much stated everything I had to say about it in his posts. I also voted for it because I'm currently developing a game at home with Qt and OpenGL :P.

In all seriousness though, if the download for Qt is too big for people, stick to something lighter. I personally think Qt is the way to go because it's easy to manage OpenGL and as Min said (again), it's very easy to just import with QMake.

So yeah, Min, in the end it's really up to you. I think either way, this tutorial series will be very helpful for the community.
Logged
  • Starforsaken101's DeviantART

thestig

Re: OpenGL Zelda Tutorial Series
« Reply #6 on: March 19, 2012, 02:32:20 pm »
Yes, I am the certain Canadian who voted on QtOpenGL. Why? Well, as Min stated, it's a great for cross-platform development. He pretty much stated everything I had to say about it in his posts. I also voted for it because I'm currently developing a game at home with Qt and OpenGL :P.

In all seriousness though, if the download for Qt is too big for people, stick to something lighter. I personally think Qt is the way to go because it's easy to manage OpenGL and as Min said (again), it's very easy to just import with QMake.

So yeah, Min, in the end it's really up to you. I think either way, this tutorial series will be very helpful for the community.
Well, it's a trade off for another. Would you rather spend the extra time to teach people how to add in libraries in make files or would you rather focus on other stuff? I mean, both solutions work great though. With QT, you could have the tutorial series bring the user to have their content creation tools share code. (but you also mentioned that you may not cover that kinda stuff, so that's why I opted for SDL over QT aside from the distribution size)...
Logged
Re: OpenGL Zelda Tutorial Series
« Reply #7 on: March 19, 2012, 06:13:57 pm »
  • *
  • Reputation: +9/-0
  • Offline Offline
  • Gender: Male
  • Posts: 3725
Well, setting up the IDE and importing stuff is something that is included in the first lesson. If you do it for Qt Creator (Qt Add-in for VS) or for SDL. Whatever you pick you should go over the IDE anyways.

Now my personal opinion is that I have worked with C++/Qt and with C#. I haven't taken the time to delve into SDL yet. However I think it is up to you which you are the most comfortable with and you enjoy the most working with.
Logged
Re: OpenGL Zelda Tutorial Series
« Reply #8 on: March 19, 2012, 08:46:58 pm »
  • Minalien
  • *
  • Reputation: +10/-1
  • Offline Offline
  • Gender: Female
  • Posts: 2119
The difference is that it's much simpler in QtCreator (it's literally a matter of adding the text "OpenGL" to the QMake project file). However, my main concern isn't necessarily the libraries themselves so much as it is what users will be comfortable working with. I'm more than comfortable in all of these options - the only major differences between them are the language (C++/C#) or platform SDK (SDL/Qt/OpenTK). The majority of the tutorial will be almost identical between SDL and Qt.

To be honest, I was hoping to hear from some of the less experienced developers in the community on this issue. Everybody who has participated in this discussion thus far has a fair amount of experience, and probably wouldn't have an incredible amount to gain from a start-to-finish tutorial series as I'm planning.

Beyond the language, however, I'd love to hear some talk regarding what members would like to see featured in the tutorial - things like specific dungeon puzzle implementations, graphical effects, etc.
Logged
Quote
There's such a double standard about religion in the modern world. Catholics can gather, wear white robes, and say "In nomine Patris, et Filii, et Spiritus Sancti" and be considered normal.

But if my friends and I gather, wear black robes, and say  "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn", we're considered cultists.
  • Development Blog
Re: OpenGL Zelda Tutorial Series
« Reply #9 on: March 20, 2012, 01:11:09 am »
  • Minalien
  • *
  • Reputation: +10/-1
  • Offline Offline
  • Gender: Female
  • Posts: 2119
In light of some playing around, I've decided to do the development of this tutorial series in C++, using SDL to provide platform-independence. Ultimately, I am unsatisfied with the state of MonoDevelop, and downloading additional runtimes is not something that Apple users tend to be comfortable or happy with (automatically hindering the ultimate distribution of games created using it).

In the same light, Qt is a rather large download and may be off-putting to those who are merely starting their interest in game programming - as well as a barrier to those with either limited bandwidth (such as members who may be operating on a satellite internet connection) or with very reduced speeds (such as dial-up). Ultimately, SDL is in the best position to provide all users with the best chance of success, and (unlike Qt) introduces no API-unique requirements for OpenGL rendering (beyond the differences in preparing the rendering context).

The development of the tools that we will use throughout the series will be completed using Qt, though I have yet to decide on the extent of any tutorials that may be released for them. Each of the tools will be open-source, however.

At this time, I would like to hear discussion related to what gameplay features would be desired in the tutorial series. Any ideas, whether they have previously been featured in any Legend of Zelda game or not, is welcome for discussion.
Logged
Quote
There's such a double standard about religion in the modern world. Catholics can gather, wear white robes, and say "In nomine Patris, et Filii, et Spiritus Sancti" and be considered normal.

But if my friends and I gather, wear black robes, and say  "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn", we're considered cultists.
  • Development Blog
Re: OpenGL Zelda Tutorial Series
« Reply #10 on: March 20, 2012, 04:07:50 am »
  • Minalien
  • *
  • Reputation: +10/-1
  • Offline Offline
  • Gender: Female
  • Posts: 2119
--Ignore
« Last Edit: March 20, 2012, 05:36:50 am by Min宇宙人 »
Logged
Quote
There's such a double standard about religion in the modern world. Catholics can gather, wear white robes, and say "In nomine Patris, et Filii, et Spiritus Sancti" and be considered normal.

But if my friends and I gather, wear black robes, and say  "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn", we're considered cultists.
  • Development Blog
Pages: [1]   Go Up

 


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



Page created in 0.327 seconds with 59 queries.

anything