• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.


  • Content count

  • Joined

  • Last visited

Community Reputation

338 Neutral

About michalbb1

  • Rank

Personal Information

  1. Hi Marek, I know your webpage btw. :) You should maybe post an article about it, so that no one misses it (it might get lost here inside the comments plus I think it's pretty useful thing to do), but what I wanted to say is that some time ago I was playing with my own Batch Renderer class. It had exact same functions like old OpenGL (glVertex3f, glTexCoord2f etc.) ant internally it stored stuff in a vector.   First version was just buffering data into vector and when user called glEnd(), the data got uploaded and rendered. However, constant uploading of all buffers was a little slow, so then I was just thinking of creating separate buffers for every glBegin() and glEnd() pair, and as long as the data inside are not changed (by doing checksum for example), I didn't want to reupload. However, the I never programmed the latter part :D
  2. That's true - older tutorials are a bit outdated and they definitely need a little revision. There are still some mistakes reported older tutorials, that I haven't revised yet, so there is still a lot of work to do. But if people out there read comments, they should figure a better way anyways.   Some tutorials (namely font tutorial) are really uneffective. Instead of just upgrading Font Tutorial number 9 I will rather create a tutorial called something like Freetype Fonts: Reloaded :D I mean, anytime someone suggests a major upgrade to tutorial (in case of fonts it's one big texture with all letters), I'd rather remake whole tutorial instead. This tutorial may have some antialiasing as well :)   I will try to keep up the good work, and I must say I am no OpenGL guru, I learn many things on the fly, while writing tutorials. So sometimes I find / someone suggests in comments a better way to do something, but if these tutorials can be upgraded with community contribution, I will gladly do it :)
  3. Megabte Softworks OpenGL 3.3+ Tutorials Hello Guys! My name is Michal Bubnar and I'm maintaining a series of modern OpenGL tutorials. The minimum version of OpenGL used is 3.3, where all of the deprecated stuff has been removed, so the knowledge you learn is forward compatible. At the time of writing this post, there are 24 tutorials, more to come. These tutorials are completely free :) List of tutorials so far 01.) Creating OpenGL 3.3 Window - teaches you how to create window with OpenGL 3.3 context 02.) First Triangle - in this tutorial, first triangle (and quad :) ) is render 03.) Shaders Are Coming - the most basic shader, that does color interpolation and replaces old glColor3ub function 04.) Going 3D With Transformations - now we go to the 3D space and do some basic rotations and translations 05.) Indexed Drawing - teaches indexed drawing mode - rendering made by indexing vertices 06.) Textures - texture mapping basics and explanation of most commonly texture filterings (bilinear, trilinear, mipmap etc.) 07.) Blending Basics - creation of transparent objects, discussing having fully opaque and transparent objects on the scene at the same time 08.) Simple Lighting - really simple lighting model, that uses only diffuse part of the light, so that the triangles that face light direction are illuminated more than the triangles facing the opposite direction according to cosine law 09.) Fonts And Ortho Projection - teaches you how to use 2D fonts using FreeType library and also discusses orthographics projection 10.) Skybox - make the scene nicer by adding some skies around! Skybox (sometimes called skydome) is really the oldest and easiest way to achieve this 11.) Multitexturing - mapping two or more textures at once 12.) Fog Outside - fog is always a nice effect. This tutoria. teaches you how to make a fog using shaders 13.) Point Lights - adding type of light, that has a position and some color (like bulb or flaming torch) can really improve the appearance and feeling of the scene 14.) Geometry Shaders - new shader type, taht generates additional geometry. This tutorial subdivides incoming triangles and makes three new triangles. All is done in geometry shader on GPU. 15.) OBJ Model Loader - tutorial, that loads OBJ model file types. This tutorial is later replaced by more robust 20th tutorial - model loading using Assimp. But you can learn how does obj file looks like 16.) Rendering To A Texture - offline rendering, where the result is a texture with your rendered stuff. If you were to program a security camera in 3D game, you could use this to render scene from camera's view and then show the result on some display in 3D game 17.) Spotlight - have you ever played Doom 3? In this tutorial there is a really simple, yet powerful flashlight model using shaders, that looks really nice 18.) 3D Picking Pt. 1 - picking method using color indexing 19.) 3D Picking Pt. 2 - picking method using ray casting 20.) Assimp Model Loading - loading of 3D models using Assimp library, which is freeware and can handle almost every modern model format 21.) Multilayered Terrain - create a nice terrain with multiple textures blended together and some paths and pavements craved into the terrain 22.) Specular Lighting - specular part of light depends on the position of camera and creates a nice, shining effect on metallic objects. You can control this by setting material properties 23.) Particle System - learn how to program a particle system, that runs entirely on GPU using transform feedback 24.) Animation Pt. 1 - Keyframe MD2 - very basics of computer animation, that uses keyframe animation. Old good MD2 file format, which has been used in games like Quake II was using exactly this method for animations, so it's a good starting point Conclusion I hope you will find these tutorials useful, as I invested pretty much time into writing them and articles. If it helps some of you, I'll be only glad :) Article Update Log 22 Jul 2014: Initial release
  4. Thank you all very much for your kind feedback :)   And luorax - I have in my mind plans for making tutorials generally on effects. By effects I mean things like how to create a realistic looking lightning bolt, exactly as you said BEAMS, then some cool explosions and so on. I know that there isn't a single compiled tutorial for this kind of thing, and that's sad. But I can hint you where to find the knowledge - I would look to some released codes from ID software, like Return To Castle Woflenstein (there's Tesla Gun, creating a pretty nice lightning), or Doom 3 (Beam can be found somewhere by the Grabber gun, Grabber is Doom 3's expansion Ressurection Of Evil). I would draw an inspiration from there.   But I will do it in the future. Currently, my next tutorial is going to be bump mapping and then shadows. These things still belong to pretty basics and after that, I will have all the basics required for a decent looking graphics covered.   However, these tutorials are only like my hobby, so I don't dedicate all my time to them. But I really enjoy doing them and if that could earn me living somehow, I would definitely like to write such stuff everyday :)