August 2020 donation progress: $0.00/$250 (0%). Click to learn more...
close
Hello! Thank you for using yiff.party!

We hope you enjoy using it. yiff.party operates on a non-profit basis, and as such, all the server expenses are paid by our users. We don't want to run ads or infect you with crypto miners. We depend on users like you to keep the site running, and to preserve years and terabytes of amazing content—some of which is no longer available from its original creators!

Because of the nature of the site, many users are reluctant to donate. That's OK! yiff.party was created so everyone can enjoy the content we host without any restrictions or paywalls. But if you value the service we provide, and are able to, we—and our users—would be tremendously grateful if you considered making a donation.

Donation progress for August 2020

So far, approximately $0.00 has been raised out of our target of $250.00. We're about 0% of the way there! Please note: this tracker is updated manually—don't worry if your donation doesn't show up immediately!

yiff.party's server costs are due on the last day of each month. So, we need to meet this goal before 31 August!

How to donate?

At this time, yiff.party can only accept donations in numerous cryptocurrencies. Please select a currency below to display the relevant donation address.

Bitcoin (BTC)
Bitcoin Cash (BCH)
Ethereum (ETH)
Ethereum Classic (ETC)
Litecoin (LTC)
Why can't I donate through other means (eg. PayPal)?

Due to the nature of sites like yiff.party, it is very difficult to find payment processors who will accept clients like us. If we were to accept donations via PayPal, it wouldn't take more than a day for someone to submit an abuse report and get our account frozen. Until a viable way of accepting monetary donations becomes available, cryptocurrency will remain the only option.

There are many resources available on how to purchase crypto. For Bitcoin, check out bitcoin.org's page on buying Bitcoin for a list of methods. For beginner Bitcoin users, yiff.party recommends using an escrow service such as LocalBitcoins.

close
Enjoying catlikecoding's content?

Creators like catlikecoding work hard to produce the content you are viewing on yiff.party for free. If you like what you see, consider supporting catlikecoding on Patreon to encourage them to create more great content!

Working on Noise
Working on Noisemore_vert
2014-08-27T13:10:14+00:00
Post file flag
Working on Noise 2014-08-27T13:10:14+00:00close

I'm working on the upcoming tutorial. Here's a slice through 3D Value noise. Can we get to $500 in time to include Simplex and Curl noise? If you know someone who isn't a patron yet, now's the time to give them a push!

Going for Noise 2014-08-14T10:37:59+00:00

I want to do a tutorial about meshes, but I really think it is better to cover pseudorandom noise generation first. So this month I'm going for noise. Value noise, gradient Perlin noise, going from 1D to 3D, and maybe even Simplex noise.

flag
Curves and Splines Tutorial
Curves and Splines Tutorialmore_vert
2014-07-31T17:17:30+00:00
Post file flag
Curves and Splines Tutorial 2014-07-31T17:17:30+00:00close

Here is the tutorial for July! This one is about Beziér curves and splines. I initially thought it was going to be about meshes, but these things always evolve in unexpected directions. Rather than force meshes in they will get the spotlight in a future tutorial. http://catlikecoding.com/unity/tutorials/curves-and-splines/


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Curves and Splines, a Unity C# Tutorial

Description
This tutorial will take you from creating a simple line all the way to editing your own Beziér splines. You'll learn to Create a custom editor; Draw in the scene view; Support editing via the scene view; Create Beziér curves and understand the math behind them; Draw curves and their direction of movement.

URL
http://catlikecoding.com/unity/tutorials/curves-and-splines/

HTMLplay_arrow

None
Comments (1)
user avatar
User #230951 - 31 Jul 14 18:32
Awesome ! Thanks ! <3
Sneak Peek: Curve
Sneak Peek: Curvemore_vert
2014-07-27T16:28:05+00:00
Post file flag
Sneak Peek: Curve 2014-07-27T16:28:05+00:00close

Here is a screenshot of a 3D bezier spline that will be part of the upcoming tutorial. The weird cube thingie is moving along the path. Tangent points can be either free, aligned, or mirrored.

Comments (3)
user avatar
User #167672 - 30 Jul 14 02:14
user avatar
catlikecoding - 30 Jul 14 20:06
Great, I accidentally deleted your comment. Apologies!
user avatar
catlikecoding - 30 Jul 14 20:07
Jeff's question was about spline usage for procedural content. My reply is that it turns out the tutorial will be all about the basics of curves and splines. I thought I'd put meshes in it as well, but it's getting too large so that'll have to wait for later. It's always fun to see tutorials change shape while you craft them. I chose Beziér curves, because once you grok those you should have no trouble grasping any other curve type. Beziér is nice to work with manually. For procedural generation, Centripetal Catmull–Rom splines are probably more convenient, because they produce paths that go through all of their control points.
Thinking about tutorial for July 2014-07-14T17:54:57+00:00

It's getting time to decide what kind of tutorial I'll make this month. I'm considering something about meshes. Chime in if you have any thoughts!

flag
Comments (9)
user avatar
User #218891 - 15 Jul 14 21:21
To be clear, I *loved* the Maze tutorial and got a lot out of it. I wouldn't change it at all. My apologies if it seemed I was criticizing it - not my intent! Very sorry! As a Unity novice still, I find my journeys often result in classes that know how to extend all things. In other words, I am building the "Maze.cs" class on steroids! I would love something like a "Maze pt 2" that takes an approach similar to the http://craftsmanship.sv.cmu.edu/katas/gilded-rose-kata - show how those mighty classes can be decomposed into smaller portions. Again, I totally agree when you say the journey matters more than the end result in that tutorial. I found it super valuable, especially when I tried to veer off the path and found it very challenging to do anything I thought was better than what the Maze class did.
user avatar
User #218891 - 14 Jul 14 20:27
Random braindump follows: =) I'd love to see tutorials that cover game saving / reloading and drawing curves (things like animated paths on 2D planes, etc). Seems like there are very few useful resources for that. One other thing I would love - I really enjoyed the Maze tutorial, but I felt like I ended up with a Maze class that was somewhat "godlike" - it had a lot of logic for instantiating and configuring other objects in the system. I have yet to find a good pattern for breaking up that logic when components are initialized at runtime (e.g. loading a saved game, procedural generation, etc).
user avatar
catlikecoding - 15 Jul 14 19:21
Curves are a neat idea! Combined with meshes, I could do some basic lofting. Concerning Maze, it is the "god" when creating its contents, as that's its job. It depends on what you're doing whether it makes more sense to put it in one place or split it up. For the tutorial, being straightforward is key. Maze builds the maze. It starts really simple, then adds a little thing, then another, thing, and so on. It's like prototyping, building as you go. The journey really is more important than the final result. It doesn't reach the point where it gets so big that you have to stop, design, and rebuild. And in fact lots of systems never reach that point, even when shipped. You feeling is natural, but you have to temper premature design with pragmatism. Saving and loading is a really broad topic and not at all a consideration for the Maze tutorial. To save and load its game state, all you really need is a seed and the player's position and orientation. You don't need to store the maze, just recreate it from the same random seed. Of course, the more dynamic content you add, the more involved it gets.
user avatar
catlikecoding - 16 Jul 14 18:17
You know, when I wrote the first maze prototype, I didn't use separate classes for passages, walls, and doors. I didn't even knew there were going to be doors when I started. There was just one edge class that dealt with all cases explicitly. I split them up when shaping it into a proper tutorial. That's an example of divide and conquer. It's there, but I don't draw attention to it, because it's not the subject matter. I also did plenty of other code-improvement stuff and I didn't write about that either. I expect that as the tutorials get larger, you'll see more examples of what you're looking for. But I'll be showing the decomposed path from the start, instead of starting with something big to break down.
user avatar
User #175933 - 14 Jul 14 21:52
I would love an tutorial on programmatic meshes (creation of manipulation). And I second the motion on better refactored examples (even as a second "fixing" of the first tutorial)
user avatar
catlikecoding - 15 Jul 14 19:24
I will focus on meshes then! And see if I can combine it with Scott's curves suggestion. What kind of refactoring do you mean?
user avatar
User #175933 - 14 Jul 14 21:52
*creation and manipulation
user avatar
User #219772 - 15 Jul 14 13:41
If you are going to do a mesh tutorial, how about combining it to earlier tutorial like creating procedural minimap for maze or perhaps making a fractal meshes.
user avatar
catlikecoding - 15 Jul 14 19:29
I prefer to keep tutorials separate. Keeping them isolated means changes to one don't influence others. I can tell you that is a really good thing. Having said that, if I reach my next goal I will create series and I might just follow up on Maze with some neat stuff. :)
Maze Tutorial is for Unity 4.5 2014-07-03T12:29:41+00:00

Something I forgot to mention is that the Maze tutorial is for Unity 4.5. It's using serialized structs, which don't work in older versions. To make it work in Unity 4.3.4, you'd have to change IntVector2 into a class. But then you have to make sure not to change the coordinates, which the + operator does, as it would corrupt existing coordinates and screw up the maze generation. Each cell should explicitly get a new coordinates vector.

flag
Maze Tutorial
Maze Tutorialmore_vert
2014-06-30T20:45:07+00:00
Post file flag
Maze Tutorial 2014-06-30T20:45:07+00:00close

The Maze tutorial is now online! It's a big one. Thank you all for your support! http://catlikecoding.com/unity/tutorials/maze/


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Maze, a Unity C# Tutorial

Description
In this tutorial we'll generate a maze with multiple distinct areas and navigate through it. You'll learn to fill a 2D rectangle with a maze-generating algorithm; visualize the algorithm by using a coroutine; place walls and doors; merge corridors into larger rooms; move through the maze; combine first-person view and an overlay map; use object inheritance; determine visible rooms. You're assumed to know the basics of the Unity editor and scripting.

URL
http://catlikecoding.com/unity/tutorials/maze/

HTMLplay_arrow

None
Comments (7)
user avatar
User #219273 - 6 Jul 14 20:46
Right! missed the note. Should have probably updated anyway.
user avatar
User #66246 - 5 Jul 14 18:17
Fantastic. Just skimmed through, looking forward to taking the time to work through properly. Quick question: The line "mazeInstance = Instantiate(mazePrefab) as Maze;", is that functionally equivalent to "mazeInstance = Instantiate(mazePrefab).GetComponent<Maze>();"? (not sure if that syntax is correct, but I hope it's clear what I mean).
user avatar
User #66246 - 5 Jul 14 18:18
oops. Comment stripped my code. I meant "mazeInstance = Instantiate(mazePrefab).GetComponent[lessthansign]Maze[greaterthansign]();"
user avatar
catlikecoding - 5 Jul 14 18:26
Functionally the same, yes. The mazePrefab is a reference to the Maze component. This means instantiating the prefab will return a reference to its Maze component. So calling GetComponent on it - while valid - is not needed and wasteful. However, the Instantiate method doesn't know about the Maze type, so we need to insert an explicit type cast. That's what "as Maze" does.
user avatar
catlikecoding - 5 Jul 14 18:27
Functionally the same, yes. The mazePrefab is a reference to the Maze component. This means instantiating the prefab will return a reference to its Maze component. So calling GetComponent on it - while valid - is not needed and wasteful. However, the Instantiate method doesn't know about the Maze type, so we need to insert an explicit type cast. That's what "as Maze" does.
user avatar
User #219273 - 6 Jul 14 19:59
Hey, I'm having issues getting the Maze's size struct to appear in the editor. I have added [System.Serializable] to IntVector2, in fact I have downloaded your maze-03 package and no go. When I load yours up. it shows at first, but as soon as I make any changes or just save again one of the scripts, it disappears. I have searched around and have found a lot of posts from 2012 that mention that structs are not serializable. I have set the values programatically and moved on, but could you shed some light on whether I am doing somethign wrong? (Unity 4.3.0f4) Cheers
user avatar
catlikecoding - 6 Jul 14 20:21
Yes, serialized structs are a new feature of Unity 4.5. I added a note at the start of the tutorial that it's for 4.5, about a day after its release. You can make it work in 4.3 if you want. You need to turn IntVector2 into a class and make sure the plus operator method creates a new IntVector2 and doesn't modify its arguments in any way.
Fourth Goal Reached 2014-06-27T10:37:57+00:00

Rejoice! This means that the Maze tutorial will have a 1st-person mode. Thanks everyone!

flag
Maze Concept Update
Maze Concept Updatemore_vert
2014-06-25T12:03:17+00:00
Post file flag
Maze Concept Update 2014-06-25T12:03:17+00:00close

I added wall colors and two more wall ornaments to the tutorial concept. http://catlikecoding.com/unity/tutorials/maze/


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Maze, a Unity C# Tutorial

Description
A Unity C# scripting tutorial in which you will generate and walk through your own maze.

URL
http://catlikecoding.com/unity/tutorials/maze/

HTMLplay_arrow

None
Maze in the Works
Maze in the Worksmore_vert
2014-06-23T10:55:06+00:00
Post file flag
Maze in the Works 2014-06-23T10:55:06+00:00close

It's official, I'm working on a new tutorial, and it's about maze creation. You can see it in action in a web player. If we reach the $250 goal, I'll add a first-person view mode as well! http://catlikecoding.com/unity/tutorials/maze/


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Maze, a Unity C# Tutorial

Description
A Unity C# scripting tutorial in which you will generate and walk through your own maze.

URL
http://catlikecoding.com/unity/tutorials/maze/

HTMLplay_arrow

None
Sneak Peek: Maze
Sneak Peek: Mazemore_vert
2014-06-14T16:52:10+00:00
Post file flag
Sneak Peek: Maze 2014-06-14T16:52:10+00:00close

I'm going to visit maze generation for our next tutorial. Also known as "how to create the most annoying office space".

Thinking about next tutorial 2014-06-11T10:47:00+00:00

I'm building inspiration for my next tutorial. Let me know if you have any thoughts!

flag
Tutorial: Constructing a Fractal
Tutorial: Constructing a Fractalmore_vert
2014-05-28T21:15:46+00:00
Post file flag
Tutorial: Constructing a Fractal 2014-05-28T21:15:46+00:00close

My first Patreon-funded tutorial has arrived! Explore the wonderful world of 3D fractals. Discover the concept of recursion, without immediately crashing your program. Add variety through randomization. Grasp the basics of coroutines.


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Constructing a Fractal, a Unity C# Tutorial

Description
Fractals are intriguing and often beautiful. In this tutorial we'll write a small C# script that manifests some fractal-like behavior. You'll learn to You're assumed to know your way around Unity's editor and know the basics of creating C# scripts. If you've completed the create new game objects and add components to them; work with recursion; use coroutines; use randomization.

URL
http://catlikecoding.com/unity/tutorials/constructing-a-fractal/

HTMLplay_arrow

None
Sneak Peek: Fractal Mess
Sneak Peek: Fractal Messmore_vert
2014-05-27T11:45:07+00:00
Post file flag
Sneak Peek: Fractal Mess 2014-05-27T11:45:07+00:00close

Regular fractal constructs are neat, but it's more fun if you mess them up a bit! Thanks to reaching the Small Tutorials goal, that's what we'll do in the upcoming tutorial.

Working on Next Tutorial 2014-05-27T10:20:03+00:00

I am currently working on the first Patreon-funded tutorial, made possible by your support! As the third goal just got reached, it will be a small one, not a mini!

flag
Sneak Peek: Fractals are fun!
Sneak Peek: Fractals are fun!more_vert
2014-05-23T12:17:50+00:00
Post file flag
Sneak Peek: Fractals are fun! 2014-05-23T12:17:50+00:00close

The first Patreon-funded tutorial is going to be based on my favorite 3D fractal. Simple, nice to look at, and an easy way to kill your frame rate. What's not to like?

Simple Clock
Simple Clockmore_vert
2014-05-21T10:20:37+00:00
Post file flag
Simple Clock 2014-05-21T10:20:37+00:00close

The Unity folks liked my Clock tutorial so much, they added it to their own Learn section. More might follow.


Embed data

Provider
unity3d.com

Provider URL
unity3d.com

Subject
Simple Clock

Description
You'll learn to create an object hierarchy; create a script and attach it to an object; access namespaces; use the Update method; rotate stuff based on time. You're assumed to already have a basic understanding of Unity's editor. If you've played with it for a few minutes you're good to go.

URL
http://unity3d.com/learn/tutorials/modules/beginner/scripting/simple-clock

HTMLplay_arrow

None
Now on Patreon
Now on Patreonmore_vert
2014-05-21T10:15:22+00:00
Post file flag
Now on Patreon 2014-05-21T10:15:22+00:00close

I wrote a blog post about why I went to Patreon.


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Now on Patreon

Description
patrons for tutorials Tue, 20 May 2014 11:35:00 +0000 So I've been providing a bunch of text tutorials for C# scripting in Unity for a while now. I like to think that they're of good quality. Lots of people seem to agree with me. That's fortunate, because they require quite some time to create.

URL
http://catlikecoding.com/blog/post:now-on-patreon

HTMLplay_arrow

None
Untitled 2014-05-19T15:02:06+00:00

My Patreon page has been launched! Welcome to the first Patron-only post. Your contribution is appreciated!

flag
Tutorial: Star
Tutorial: Starmore_vert
2014-05-19T14:59:59+00:00
Post file flag
Tutorial: Star 2014-05-19T14:59:59+00:00close

Third of the three-part editor tutorial series, with the same name as the original single tutorial.


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Star, a Unity C# Editor Tutorial

Description
In this tutorial you will create a simple star component and write your own custom editor for it. You will learn to dynamically generate a mesh support WYSIWYG editing support editing in the scene view This tutorial comes after the Custom List tutorial. This tutorial is for Unity version 4.3 and above.

URL
http://catlikecoding.com/unity/tutorials/editor/star/

HTMLplay_arrow

None
Tutorial: Custom List
Tutorial: Custom Listmore_vert
2014-05-19T14:58:57+00:00
Post file flag
Tutorial: Custom List 2014-05-19T14:58:57+00:00close

Second part of the editor tutorial series.


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Custom List, a Unity C# Editor Tutorial

Description
In this Unity C# tutorial you will create a custom visualization for arrays and lists in the editor. You will learn to create a custom editor use SerializedObject manipulate a SerializedProperty that represents an array or list use an enumeration for option flags use GUI buttons This tutorial comes after the Custom Data tutorial.

URL
http://catlikecoding.com/unity/tutorials/editor/custom-list/

HTMLplay_arrow

None
Comments (2)
user avatar
User #168010 - 20 May 14 22:10
One of the best resources about Editor Scripting in Unity3d.
user avatar
catlikecoding - 21 May 14 10:17
Great to hear! Thanks!
Tutorial: Custom Data
Tutorial: Custom Datamore_vert
2014-05-19T14:56:52+00:00
Post file flag
Tutorial: Custom Data 2014-05-19T14:56:52+00:00close

First of a three-part series about editor scripting. Used to be one big tutorial in the Unity 3 era.


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Custom Data, a Unity C# Editor Tutorial

Description
In this Unity C# tutorial you will create a simple data structure and write your own property drawer for it. You will learn to use a serialized class create a custom property drawer use SerializedProperty use Unity's immidiate-mode GUI in the editor You're assumed to know your way around Unity's editor and know the basics of Unity C# scripting.

URL
http://catlikecoding.com/unity/tutorials/editor/custom-data/

HTMLplay_arrow

None
Tutorial: Runner
Tutorial: Runnermore_vert
2014-05-19T14:55:33+00:00
Post file flag
Tutorial: Runner 2014-05-19T14:55:33+00:00close

The third tutorial is Runner, which is still running strong and popular!


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Runner, a Unity C# Tutorial

Description
In this tutorial we'll create a very simple endless running game. You'll learn to generate a layered background; reuse objects; use simple physics; detect input to make the player jump; implement a power-up; write a small event manager; switch stuff on and off on demand; make a minimal GUI.

URL
http://catlikecoding.com/unity/tutorials/runner/

HTMLplay_arrow

None
Tutorial: Graphs
Tutorial: Graphsmore_vert
2014-05-19T14:54:21+00:00
Post file flag
Tutorial: Graphs 2014-05-19T14:54:21+00:00close

The second tutorial, with some visually pleasing results.


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Graphs, a Unity C# Tutorial

Description
In this tutorial we'll write some C# scripts to display increasingly complex graphs in Unity 4. You'll learn to create graphs, from a single line to animated volumes; control a particle system; write various mathematical functions; change behavior while in play mode; use the Start and Update Unity event methods; write loops, both single and nested; use arrays, enumerations, and delegates; You're assumed to know your way around Unity's editor and know the basics of creating C# scripts.

URL
http://catlikecoding.com/unity/tutorials/graphs/

HTMLplay_arrow

None
Comments (2)
user avatar
User #289908 - 7 Sep 14 17:52
Inspired me to thinking of uses for Unity's particle system other than explosions
user avatar
catlikecoding - 8 Sep 14 09:25
Great! You can do so many things with particles!
Tutorial: Clock
Tutorial: Clockmore_vert
2014-05-19T14:05:03+00:00
Post file flag
Tutorial: Clock 2014-05-19T14:05:03+00:00close

The basic tutorial that started it all.


Embed data

Provider
catlikecoding.com

Provider URL
catlikecoding.com

Subject
Clock, a Unity C# Tutorial

Description
In this tutorial we'll write a small C# script to animate the arms of a very simple clock. You'll learn to create an object hierarchy; create a script and attach it to an object; access namespaces; use the Update method; rotate stuff based on time.

URL
http://catlikecoding.com/unity/tutorials/clock/

HTMLplay_arrow

None
Upload

This creator doesn't have any shared files yet. You can add some by clicking Upload.