The first book in my 2D Shader Development series is out and for free :)

Started by
14 comments, last by Francisco Tufro 6 years ago

Hi everyone! I'm currently working on a series of books about 2D Shader Development.

The idea is to synthesize a bunch of techniques that are specifically useful for 2D, even if they work on 3D as well.

I released the first book last week. It's 4.99 on Amazon or free on the series website, https://www.2dshaders.com

cover-01.jpg

This is an independent initiative, I don't work for any publisher whatsoever. The contents of the books are the result of a 4-year span where I started teaching this in Argentina and USA, always making the workshop better. Now I'm expanding it to make more sense in book form.

I'd love to hear your opinions on the idea and if you get the book let me know what you think.

By the way, the examples are in Unity, but the concepts from the book should be easily transferable to any graphics api/engine.

Hope you like it!
 

Advertisement

Thanks for that!  I grabbed it, likely would see how well I can apply it to Gamemaker.



Awesome! Let me know if you need any help with that :)

The first book does a pretty good job of covering the basics.  There isn't really anything there I didn't know as far as shaders go except the Unity specific stuff since I've never worked with Unity's ShaderLab language before.  I think it is a good first step for beginners though.  I'm wondering though how good of an idea it is to have so much stuff specific to Unity.  I know it is one of the best(if not THE best) engines for many projects for many people...but it still leans more closer to 3d and is more complicated for 2d than something like Gamemaker.  I'm not saying you should replace Unity with Gamemaker all over the book.  I DO however think that you could provide code in GLSL(ES), which is more generic and usable in many more places.  Then it could be converted easily enough to HLSL with some knowledge.  It would also remove the dependence on whatever Unity's shaderlab does that GLSL would not.



I thought the same as you before. Actually I started the project by using OpenGL and GLSL, but changed my mind in the process. The reason is that most people I talked to and helped with these topics before I decided to move forward with the book were using Unity. Sadly, it's quite a standard these days, especially in the mobile world, which is one of the places where these techniques can be really helpful. Not only that, using Unity allows me to focus on the important stuff, because all the engine side of things is done. OpenGL has quite a few steps before you can actually see a textured quad on screen. I'm not a big fan of Unity myself though. I just wanted to make the book accessible to as many people as possible, and I decided to go with it.

Now, what can we do to solve your problem? That being "I use something that is not Unity, and I don't want to use Unity because I know what I'm doing and just want your stuff in [insert environment here]". 

For now I've one (temporary) solution. And that is, rely on the community to create these alternative versions of the exercises and examples. As you can see on GitHub, one reader (@KelsamGames on twitter) helped with translating the exercises to MonoGame, which I'm eternally grateful for, since I haven't used XNA or any derivative since 2008.

If you manage to port the exercises / examples to GameMaker, I'd ask you to let me know and I'll more than happy to upload the code to GitHub and credit you in the repository description and README.md.

For a longer-term solution, after writing the first four books with examples in Unity, I may create workbooks in several different platforms, talking about the specifics of those platforms, but I'll need to team up with other developers for that when the time comes.

Let me know what you think about these solutions, do you have any other idea?

Thanks a lot for making me re-thing previous decisions, it's always good to revisit them. You're awesome. :) 

I didn't know you had a community hub thingy for people to recreate the stuff in other engines.  I think that is indeed the best solution.  And I totally understand why you went with Unity too.  I think I could invest the time into making shaders in Gamemaker for the community.  I'm quite interested in taking advantage of shaders for 2d usage.  In fact, I bought an asset that is in the raw form a normal map lighting shader for Gamemaker(works really well too).  I have a nice little workflow to pre-render 3d models and get normal maps as well in Blender.  Now I just need to take the time to actually make a game out of it.

So I'm understanding the other books are still being written right?  Is your website the best way to get updates on those?  Do you have any sort of timetable yet?



I'm happy you agree with the current solution! :D

I'd be eternally thankful if you help with the GameMaker version of the shaders. Let me know if/when you have something and I'll create the repository and give you access to it.

I'd love to see what you're working on :) if you have something to show please show :D

You're correct about the other books. I have a lot of material already (I already gave 4 workshops on the topic), but I'm sorting all of these things into coherent chunks of data and expanding them to make it more useful in general. I'm now working on the illumination book, which will include techniques with normal maps for dynamic 2D lighting :)

Regarding timetable, I hope I'll get the Illumination book done by mid/late May. That said, if you want to help with the shader translation to GameMaker I can add you to the beta reader team, which will give you access to the book while I'm writing it. Let me know.

I guess the best way to be up to date with the book is both the mailing list (which you're already in if you downloaded the first book) and by following me on twitter. I'll be sending monthly newsletters in the mailing list, and posting every now and then to twitter.

Let me know how else I can help :)

 

Then I'd for sure be willing to help if you want to add me to the beta reader list.  I'll invest some time into what you are doing.  I too noticed how there is a deep lack of resources on these topics so there you go.

 

EDIT*******************

Do you have some specific sprites or something you want me to include in the resources?  Or are just the shader sources fine?



Awesome!

Have you signed up to the forum? If you haven't please do https://forum.hiddenpeople.club

Let me know the user when you do it, and I'll give you review permissions. :)

Thank you soooooo much! 

I signed up as "kburkhart84" over there.

So for your repo, are you basically interested in just shaders or would you more want the whole Gamemaker Projects?  If you want projects, do you have specific sprites/textures you'd like me to use?



This topic is closed to new replies.

Advertisement