• 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

354 Neutral

About kruncher

  • Rank

Personal Information

  1. Developers who are creating a game for the first time may find the idea of creating levels a daunting task. Unity is an extremely powerful engine and editor which gives the developer a lot of freedom, but with so much freedom where should a developer begin? This article covers some of my experiences and opinions of the level creation process. Please comment with your own experiences, techniques and criticism! Here are some of the concerns that I had when starting out with my first game: Should I create the entire level in a modelling package? What advantages would there be to composing the levels in Unity? Which techniques would be most suitable for mobile development? The truth is that there is no single "correct" approach. It all depends upon the type of game that you are making, the platforms that you are targeting, the version of Unity that you are using (Indie / Pro), and of course the level of skill that you posses! Level Creation Create bulk of scene using modelling package With the modelling package of your choice you can create the bulk of your scene with tons of flexibility. When taking this route I would strongly recommend creating an appropriate scene hierarchy (when supported) because this will make things a lot easier when working in Unity. I have also found it particularly useful to group objects using named empty objects; this avoids having to scroll through a very long list of objects in Unity! Whilst levels created using this approach will generally require more memory at runtime, this can lead to improved rendering performance. The only major problem that I found with this approach was with regards to changing and re-exporting the level. I found that on several occasions components (and component properties) that were assigned to sub-objects with the Unity editor get lost. This may have been something that I was doing wrong though... Compose scene in Unity Instead of creating and mapping the whole scene in a modelling package, create a selection of parts that can be reused. Compose your scene using the Unity editor by making the most of prefabs. This will often use less memory than the previous approach, however the dynamic batching of objects may be more intensive. When using this approach I did not encounter problems when updating meshes and re-exporting them. Use specialized extensions There are a number of extensions available from the Unity asset store that can make it considerably easier to create levels. It is well worth taking a look at what is available because there are some fantastic tools that can save a lot of time and hard work! Here are just a few that are relevant to level design: Rotorz Tile System - This is an extension that I created which aims to make it easier to design levels using 3D tiles. You can create tiles using your favourite modelling software and then import them into Unity for use within tile systems. You can control how painted tiles are transformed and can optionally be automatically oriented. UniTile (2D Map Editor) - Another fantastic tile based editor which specialises with 2D graphics. Easily create tiles from texture atlases and build highly optimized levels. RageSpline - Create and edit smooth 2D vector-style graphics. This is ideal for creating both levels and various other graphics. This tool can lead to some visually stunning effects with a similar look to Flash-type games. Procedural Generation This is an extremely complex topic, but in some scenarios it may be beneficial to dynamically build scenes. Scenes could be composed of predefined meshes or from procedurally generated meshes. Performance Considerations When modelling for games it is useful to keep the idea of draw calls in mind (especially for mobile development!). The number of draw calls increases for each mesh that is rendered (one for each material applied to mesh). There are a number of ways in which the number of draw calls can be reduced. Reduce the number of materials Use the fewest number of materials possible to achieve the visual quality that you are after. Where possible reduce the number of similar materials by combining multiple textures into a single image (often referred to as a texture atlas). In many cases this can significantly reduce the number of draw calls. The "Angry Bots" demo project that is included with Unity is an excellent example of this! Batching Both Unity and Unity Pro support dynamic batching which attempts to reduce the number of draw calls by submitting multiple objects that share the same material at the same time. Unity Pro includes the additional option of static batching which takes this a step further by combining objects that share the same material into a single object. Whilst static batching does require more memory, it can lead to significantly better performance. It is also possible to create a custom script that combines meshes at runtime, or a custom editor script. Number of triangles and vertices Keeping the number of triangles and vertices in a mesh to a minimum will improve performance, especially on mobile devices. More often than not additional detail can be added to a texture instead. Custom shaders can also be created to add detail to an otherwise flat object using special textures like bump and height maps (for example). For those who are interested in getting started with their own shaders, I would strongly recommend watching JessyUV's videos on YouTube! Originally published on May 12, 2012 in kruncher's Journal
  2.   Wow! that cloth shader looks amazing!   Speaking of lighting and graphical quality the following game that is currently in development looks fantastic:   https://www.youtube.com/watch?v=aSjdw7fiVsM
  3. From the album Rotorz Tile System for Unity 3D

    Tile systems can be positioned, rotated and scaled as required

    © 2012-2013 (c) Rotorz Limited. All Rights reserved.

  4. From the album Rotorz Tile System for Unity 3D

    Can be used to create an in-game level designer! Also please note that pooling can be custom implemented when painting and erasing tiles at runtime. You can also take advantage of the fantastic [url="http://poolmanager.path-o-logical.com"]PoolManager asset by Path-o-logical Games[/url] by using the [url="https://bitbucket.org/rotorz/rtspoolmanagerobjectfactory"]RtsPoolManagerObjectFactory [/url]script!!

    © 2012-2013 (c) Rotorz Limited. All Rights reserved.

  5. From the album Rotorz Tile System for Unity 3D

    - Organise the palette windows to suite your workflow - Design brushes and tilesets using the designer window

    © 2012-2013 (c) Rotorz Limited. All Rights reserved.

  6. From the album Rotorz Tile System for Unity 3D

    Create brushes that automatically orientate painted tiles. * [url="http://u3d.as/content/bitgem/dungeon-builder-starter-kit/3rH"]Dungeon Builder Starter Kit by BITGEM[/url] available separately from asset store.

    © 2012-2013 (c) Rotorz Limited. All Rights reserved.

  7. From the album Rotorz Tile System for Unity 3D

    2D tile brushes can be nested within oriented brushes to design tiles that automatically orientate with lots of control!

    © 2012-2013 (c) Rotorz Limited. All Rights reserved.

  8. From the album Rotorz Tile System for Unity 3D

    2D tile brushes can be created by first creating a tileset and then creating the required brushes using the designer.

    © 2012-2013 (c) Rotorz Limited. All Rights reserved.

  9. From the album Rotorz Tile System for Unity 3D

    2D autotile brushes can be created from basic or extended artwork.

    © 2012-2013 (c) Rotorz Limited. All Rights reserved.

  10. From the album Rotorz Tile System for Unity 3D

    Easily customize properties and materials of existing brushes

    © 2012-2013 (c) Rotorz Limited. All Rights reserved.

  11. From the album Rotorz Tile System for Unity 3D

    Combine meshes and optionally smooth between tiles

    © 2012-2013 (c) Rotorz Limited. All Rights reserved.

  12. From the album Rotorz Tile System for Unity 3D

    Use brush groups for greater control over the way in which tiles painted with oriented brushes `connect` Find out more here: http://rotorz.com/tilesystem/

    © 2012-2013 (c) Rotorz Limited. All Rights reserved.

  13. Hello Markk [attachment=12145:jump-node-explained.png] The above image was derived from images from the whitepaper: [url="http://grastien.net/ban/articles/hg-aaai11.pdf"]http://grastien.net/...s/hg-aaai11.pdf[/url] Please see lines 8-11 on Algorithm 2 (function jump) for the logic behind this. I hope that this helps you to understand why the successor node is forced in this particular scenario.
  14. Hey guys For those who are interested in Unity 3D I thought that it might be worth mentioning that the asset madness sale features lots of really good deals!
  15. [quote][color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif][size=3][left][background=rgb(250, 251, 252)]Disabling mip-mapping is not the best idea. For one you will get strong artifacts when moving around and using detailed textures, and it is slower than using mipmapping[/background][/left][/size][/font][/color][/quote] I don't think that is the case for me because I have an orthographic camera. Somebody suggested to me that there is very little advantage to mipmapping for 2D... [quote][color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif][size=3][left][background=rgb(250, 251, 252)]As you can see, higher mipmap levels result in a relative broad border, so you can't just calculate it once and apply it to all levels. Either you need to ajdust it dynamically depending on the mipmap level (expensive, newer hardware needed) or you should repeat the border of your tile. As far as I remember the latter has been done in the id-tech5 engine (megatextures utilize lot of atlases).[/background][/left][/size][/font][/color][/quote] Very interesting, thanks for pointing that out.