Search

How To Start Creative Coding

Computational painting is a form of creative coding - using software to create artwork. There is a wealth of really great beginner level resources for this so instead of trying to butcher your learning of it I have rounded up what I think are the best resources for starting to creatively code.


Creative Coding Software/ Code

To get started in creative coding you need something to code in. A programming language and a software that lets you write and build those programs. There isn't one defacto system that is THE BEST to make art in. Each language and software has it's positives and negatives, all generally based on what they were intended to be used for; web, real time graphics, audio-visual performances etc.


My advice if you have absolutley no experience is to start with Processing or P5, which are the same program in two slightly different languages - watch this video for more info on getting started with them.


If you want a bit more power and functionality then dive into OpenFrameworks, C++ and OpenGL development.


- Processing

- P5 (Javascript based)

- OpenFrameworks (C++ based)

- OpenGL. (core C++ graphics framework)

- Touch Designer

- VVVV

- Python

- C/C++


These days even the lightweight languages like Python and P5 can do some really impressive stuff so it really depends how deep into the machine you want to go with optimising your code. I started in C++ and now use P5 primarily, just because of the types of work I do - all this to say just go with what is right for the project and yourself. Try them all at some point though.



3D Engines You Can Use To Creatively Code In

Though not specifically focused on ‘creative coding’ these engines can still be used for it as most allow scripting and C++ development and some kind of visual coding toolkit.


- Houdini.

- Maya.

- Cinema 4D.

- Blender.

- Unreal.

- Unity.



Tutorials

Here is a list of online resources I’ve found to be the best out there. In general though reading through these tutorials, downloading other developer’s source code and programming yourself in tandem I’ve found is the best way to learn.


Also if you can actually work with or see other people code and explain their actions, do it. There is no better teacher than a good team.


- Book Of Shaders: Brilliant beginner level tutorials on shader writing.


- LeanOpenGL: Great intro to OpenGL, if you want to go deep into computer graphics then you need to get to know how GPUs work.


- The Coding Train: Dan Shiffman’s Yt series on everything Processing and P5. Fantastic resource for algorithms even if you use other programming languages.


- The Cherno: Brilliant Yt series on C++ game dev and OpenGL. Very relevant for creative coding.


- OfBook: The best tutorials on using OpenFrameworks. I advise downloading the examples code though for the best way to learn alongside this site.


- ShaderToy: Shader writing! (Get ready for your laptop to sound like a jet engine).


- IQ’s Blog: The Inventor of ShaderToy and graphics legend has an amazing blog with some really great gems in there for intermediate to advanced level graphics programmers.



Books

A few books I have found to be important - good fo high level overviews and if you like physical things. In general though there is more than enough info online for beginner level developers that you can wait to buy these once you understand what clock speeds are.


- Real Time Rendering: The bible. Fundamental maths and graphics algorithms that are still being used after 20 years. Also gets regularly updated with new ones too.


- Code Complete: A brilliant book on how to design object oriented software systems. Not so technical and more design focused - a vital attribute that hardly has enough decent material on. Read it to become smarter in general.


- Game Design Patterns: Great book of specific software patterns that games and other real-time software use. Explains fairly advanced concepts in a way that beginners can understand.


- Form + Code: Great source on the aesthetics and history of creative coding. A gem.




Cool.


So go out and learn all the stuff covered in all of this excellent material. Once you know how to draw basic shapes in your chosen software and what a framebuffer is, I’ll see you back here for tutorials specifically concerned with computational painting, kinetic illustration and data visualisation.


Good luck.


Stuart



If you have any references that you use often or deserve a mention then please let me know in the comments below


And please, if you learnt something new from this then tell a friend about this site or consider supporting me through my store.

  • Email-pictogram_edited
  • Black Instagram Icon
  • sedition_smaller_edited
  • Code
  • Black Pinterest Icon
  • Behance