Sign in to follow this  
Drew_Benton

Unity *Unofficial* Alternative Game Libraries FAQ [Updated 2/03/08]

Recommended Posts

Drew_Benton    1861
Current Updates:
  • Updated Cornerstone's tutorial link, double checked most links (2/3)

The Alternative Game Libraries FAQ Welcome! This forum is dedicated to the discussion of alternative game libraries used. If you have a specific question on the workings actual library itself, make sure you have checked the respective library’s forum if available. Please note that due to the broadness of this forum, not all libraries may be discussed here. We will try and cover as many as possible with the resources we have.
Before You Post Guidelines:
  • Read the library's documentation. Yes, it's a hassle and programmers are lazy, but most of the time your answer can be found there.
  • Perform a quick <insert your favorite search engine here> search. It takes less than a minute and you can find information a lot faster that way on your own.
  • Check the library’s forums/site for anything else that you might have missed.
  • Check the most recent pages of this forum for anything similar. Yes, the search does not work, but no, that does not mean you should not spend a minute or two hitting the 'next page' button and glancing down for keywords that are similar to what you are after.
If you have done all of these things and still cannot find what you need, then post your question in guidance with the posting rules.
Posting rules:
  • Use a subject line that accurately describes your problem. Subject lines like "Problem! I need help!", "Looky now!", "Boo!", or “Help PLZ PLZ PLZ PLZ” should be avoided; something like "SDL_Init(SDL_INIT_VIDEO) is failing" or "GLFW cannot be compiled" is more appropriate and appreciated.
  • When writing the question, write as clearly as possible. Proper grammar will help avoid misunderstanding, and is good netiquette. If you take the time to write your post properly, people will be happier to take the time to answer it.
  • Include all the information that might be needed for people to give a good answer. If you don't do give enough information, people won't be able to help you until you do. As a rule of thumb, always state the programming language you are using (SDL is made for more than one), operating system (SDL is cross-platform), and the SDL version (Not everyone uses the most recent) as the bare minimal.
  • Make good use of the the source and code tags where applicable. Posts such as this are hard to follow and read.
  • Abide by the GameDev.net posting rules.

Library Specific FAQs It is important to understand that the Alternate Game Library forum covers a vast number of topics, in comparison to some of the other forums. Keep this in mind when posting for you may not always get a response right away. As a general rule, wait at least 6 hours before you bump your own post if no one responds. For libraries that are not popular and well known, you might have to wait even longer. Contents: Allegro Audiere FMod GLee GLEW GLFW GLUT Irrlicht OGLWFW Ogre OpenAL SDL Allegro 1. What is Allegro?
  • Allegro is a game programming library for C/C++ developers distributed freely, supporting the following platforms: DOS, Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS and MacOS X. It provides many functions for graphics, sounds, player input (keyboard, mouse and joystick) and timers. It also provides fixed and floating point mathematical functions, 3d functions, file management functions, compressed datafile and a GUI.
2. Where can I find additional information on Allegro? 3. Can I use Direct3D with Allegro? Top Audiere 1. What is Audiere?
  • Audiere is a high-level audio API. It can play Ogg Vorbis, MP3, FLAC, uncompressed WAV, AIFF, MOD, S3M, XM, and IT files. For audio output, Audiere supports DirectSound or WinMM in Windows, OSS on Linux and Cygwin, and SGI AL on IRIX.
  • Audiere is open source and licensed under the LGPL. This means that you may freely use Audiere in commercial products, as long as you do not modify the source code. If you do modify Audiere and release a product that uses your modifications, you must release your changes to the code under the LGPL as well.
  • Audiere is portable. It is tested on Windows, Linux-i386, Cygwin, and IRIX with at least three major compilers. Most of Audiere is endian-independent, so I expect it would work with few modifications on other architectures.
Top FMod 1. What is FMOD?
  • FMOD is a cross platform audio library to let you easily implement audio into your applications and games. It can play almost any sound format you can think of including MP3s, OGGs, Midis, MOD files, WMAs, etc.
2. Where can I download FMOD? 3. Where can I find instructions on how to use FMOD? 4. What are some other uses of FMOD?
  • FMOD can be used to put sound and music into games, multimedia applications or pretty much anything that requires audio. The main benefit to using FMOD is that it is a cross platform library, allowing you to use it on a wide variety of operating systems. Not only is it very powerful, but it's also very easy to use. Just go through Joachim's quick tutorial and you'll see how easy it really is. FMOD Ex brings a new design to FMOD which makes sound and music data even easier to manage.
5. Are there any other additional features to FMOD?
  • FMOD Ex is a branch off of FMOD that gives it a whole set of new features including a .NET interface for development with C# and other .NET language.
Top GLee 1. What is GLee?
  • GLee (GL Easy Extension library) is a free cross-platform extension loading library for OpenGL. It provides seamless support for almost all OpenGL extensions and core functions up to OpenGL 2.0, automatically linking extension and core functions as they are used. GLee 1.5 is compatible with Windows, Linux and FreeBSD platforms. It is also likely to be compatible with other unix-like systems which use X windows.
2. Why use GLee?
  • GLee provides a simple interface for using extensions and core OpenGL functionality beyond OpenGL version 1.1, and automates the otherwise tedious process of linking function pointers. GLee works with both C and C++ compilers (as of version 2.3).
  • Because the code is automatically generated, the latest extensions can be included rapidly in new versions. Currently there is support for OpenGL up to 2.0 and almost all registered extensions.
Top GLEW 1. What is GLEW?
  • The OpenGL Extension Wrangler Library (GLEW) is a cross-platform C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the target platform. OpenGL core and extension functionality is exposed in a single header file. GLEW is available for a variety of operating systems, including Windows, Linux, Mac OS X, FreeBSD, Irix, and Solaris.
Top GLFW 1. What is GLFW?
  • GLFW is a free, open source, portable framework for OpenGL application development. In short, it is a link library that constitutes a powerful API for handling operating system specific tasks, such as opening an OpenGL window and reading keyboard, mouse and joystick input.
  • It also provides functions for reading a high precision timer, using OpenGL extensions, creating and synchronizing threads, reading textures from files and more
2. Why use GLFW?
  • GLFW is similar to SDL in terms of rich functionality and broad usage. Since it is an OpenGL library, you will have to be wanting to use OpenGL (unlike the other graphics apis you can use in SDL). It does not come with a sound system so you will have to use another library for that, but it does come with an input library. If you are looking for something new and easy to try, GLFW is a good bet.
3. Where can I find more information on GLFW? Top GLUT, FreeGLUT, etc… 1. What is GLUT?
  • GLUT (pronounced like the glut in gluttony) is the OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs. It implements a simple windowing application programming interface (API) for OpenGL. GLUT makes it considerably easier to learn about and explore OpenGL programming. GLUT provides a portable API so you can write a single OpenGL program that works across all PC and workstation OS platforms.
  • GLUT is designed for constructing small to medium sized OpenGL programs. While GLUT is well-suited to learning OpenGL and developing simple OpenGL applications, GLUT is not a full-featured toolkit so large applications requiring sophisticated user interfaces are better off using native window system toolkits. GLUT is simple, easy, and small.
  • The GLUT library has both C, C++ (same as C), FORTRAN, and Ada programming bindings. The GLUT source code distribution is portable to nearly all OpenGL implementations and platforms. The current version is 3.7. Additional releases of the library are not anticipated.
2. Why use GLUT?
  • If you are in need of something very quick and easy to make a demo or concept demonstration, then GLUT is a good choice. It provides a lot of functionality in OpenGL, such as pop up menus and a draw teapot function that are very useful. There are many versions and extensions to GLUT. Some of the main ones are: FreeGLUT, OpenGLUT, and GLUT for Win32.
3. Where can I find more information on GLUT? Top 1. What is Irrlicht?
  • The Irrlicht Engine is an open source high performance realtime 3D engine written and usable in C++ and also available for .NET languages. It is completely cross-platform, using D3D, OpenGL and its own software renderer, and has all of the state-of-the-art features which can be found in commercial 3d engines.
  • We've got a huge active community, and there are lots of projects in development that use the engine. You can find enhancements for Irrlicht all over the web, like alternative terrain renderers, portal renderers, exporters, world layers, tutorials, editors, language bindings for java, perl, ruby, basic, python, lua, and so on. And best of all: It's completely free.
2. Where can I find more information on Irrlicht Top OGLWFW 1. What is the OpenGL Window Framework (OGLWFW)?
  • The OGLWFW is a C++ framework design to allow for the creation and control of windows which are capable of hold an OpenGL rendering context. Windows can be windowed or fullscreen and the framework allows for switching between modes.
  • Methods exist to allow for you to either find a compatible mode for display and OpenGL as well as enumerate all the available hardware accelerated display modes and retrieve some basic information about the OpenGL subsystem installed on the system.
  • The OGLWFW also take care of extension initialization via GLee which is compiled in.
  • Finally, a basic event system exists which allows you to listen for window messages via a functor. This system is expanded as the need arises and often by request.
  • Currently only a MSVS.Net03/Win32 implementation exists, however a Linux/X version is in the works.
2. Where can I download OGLWFW at?
  • The OGLWFW can be downloaded from sourceforge and is released under the zlib licence.
3. Where can I find instructions to install OGLWFW?
  • No real instructions exist, its a simple case of download, extract and ensure the library and header folders are in your compilers path. On MSVS.Net03 including the oglwfw.hpp automatically links in the correct lib file for the runtime you are using.
4. Where can I find tutorials and other information on OGLWFW? 5. What are the uses of OGLWFW?
  • Creation and controlling of multiple windows, with some events relating to window operations. It also allows easy access to things such as FSAA, the accumlation buffer and all the OpenGL and display modes on the current machine. It is also possible to create a window in one thread and the OpenGL context in another to allow for message handing and rendering to accrue in separate threads.
Top Ogre 1. What is Ogre3D?
  • OGRE 1.4.6 [Eihort] represents the culmination of many years of continuous development, resulting in what is now regarded by many as the leading open source real time 3D rendering engine. OGRE is packed with features to make your development life easier, whether you're making games, architectural visualization, simulations, or anything else which requires a top-notch 3D rendering solution.
2. Where can I find additional information on Ogre3D?
  • All of the information you need is at their Wiki and on their forums.
3. What do I do when I need help with this library?
  • Any technical problem/question about Ogre belong on their forums. Ogre has excellent help available, make use of it when you are using this library.
Top OpenAL 1. What is OpenAL?
  • OpenAL is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications.
  • The library models a collection of audio sources moving in a 3D space that are heard by a single listener somewhere in that space. The basic OpenAL objects are a Listener, a Source, and a Buffer. There can be a large number of Buffers, which contain audio data. Each buffer can be attached to one or more Sources, which represent points in 3D space which are emitting audio. There is always one Listener object (per audio context), which represents the position where the sources are heard -- rendering is done from the perspective of the Listener.
2. Why use OpenAL?
  • The main use is that it is a free cross platform LPGL licensed audio library that is fairly easy to use and very practical. It comes with a sample file that shows just about everything you would need to do in OpenAL. There are a few great tutorials on using OpenAL and it has good documentation. If you are looking for an alternative to DirectX based libraries and SDL's libraries, then you should take a look at OpenAL.
3. Where can I find some more information on OpenAL? Top SDL 1. What is SDL?
  • Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."
  • Simple DirectMedia Layer supports Linux, Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. There is also code, but no official support, for Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS, and SymbianOS. SDL is written in C, but works with C++ natively, and has bindings to several other languages, including Ada, Eiffel, Java, Lua, ML, Perl, PHP, Pike, Python, and Ruby.
  • Important Information on the status of SDL
2. Where can I download SDL at? 3. Where can I find instructions to install SDL?
  • Getting started with SDL (Older) 4. Where can I find additional tutorials and other information on SDL? Tutorials: Other: 5. What are the uses of SDL?
    • SDL can be used for making games, multimedia applications, as well as just about anything else. The main benefit to using SDL is that it is a cross platform library, allowing you to use it on a wide variety of operating systems, but it is still very useful for those that do not have that need. SDL can also server as a framework as well. SDL has been used in conjunction with Ogre3D and can be used with Direct3D as well.
    6. What are the common add-on libraries used with SDL?
    • SDL_mixer – Provides easy to use audio support.
    • SDL_image – Provides multiple image loading functionality.
    • SDL_net – Provides a network wrapper.
    • SDL_gfx – Provides image manipulation.
    • SDL_ttf – TTF fonts in SDL
    • SDL_draw - Provides primitive shape drawing
    Top
    Special thanks to all the users that contributed to this FAQ (in alphabetical order) Chris Barry Drew Benton Ryan Clark Aaron Cox Rob Jones Rob Loach Joel Longanecker Lazy Foo' Vampyre_Dark ... More to come ...
    [Edited by - Drew_Benton on February 3, 2008 6:41:43 PM]

    Share this post


    Link to post
    Share on other sites
    23yrold3yrold    941
    Yeah, definitely my bad there. [embarrass] I meant to do this and then totally forgot. Plus I'm only any good for the Allegro FAQ anyway. [smile] Input on the more obscure libraries especially are most welcome.

    Share this post


    Link to post
    Share on other sites
    Drew_Benton    1861
    Awesome! That takes care of Allegro and SDL for the most part. Now we just need those other libraries as well. We need to petition Oli to come back and give us a hand with Irrlicht as well as VertexNormal because I think I remember them using it last in a few projects. Anyways, I hope more people are able to contribute! For something as large as Alt. Game Libraries, we can use as many people as possible [wink]. 23yrold3yrold, if you can make a FAQ template or posting guidelines for us to follow for submitting tips/advice/etc... that would be great for organization. You can reformat my OP to reflect that as well/

    Share this post


    Link to post
    Share on other sites
    OpenGL_Guru    104
    how about XML and how to make a custom GUI with it? seems custom GUI's have been a popular topic lately. to me the XML route seems like a good idea..of course there is GLFW, GLUI and QT but none of these offer you everything and QT isnt free. a good GUI would be buttons, checkboxes, listboxes(drop down menus), file browsers, radio buttons, sliders(slider bars vertical and Horizontal), a color wheel and text editors just to name some right off the top of my head. maybe JavaCoolDude could head this one up since he is such the master at it..haha.

    Share this post


    Link to post
    Share on other sites
    Gor435    426
    I could just be blind or may have overlooked it but are we wanting to include FMOD?

    I mean I am not a guru or anything but I am quickly getting the hang of it.

    Share this post


    Link to post
    Share on other sites
    23yrold3yrold    941
    Quote:
    Original post by Drew_Benton
    23yrold3yrold, if you can make a FAQ template or posting guidelines for us to follow for submitting tips/advice/etc... that would be great for organization. You can reformat my OP to reflect that as well/

    Considering this list of libraries could get pretty big, I think it would be enough to limit each library to a) what is it, b) where can you get it, c) what does it do, d) what does it not do (if anything eg. like how OpenGL does nothing non-graphics related), and e) a link to any pre-existing FAQ's. Otherwise this forum FAQ could end up being humongous (now there's a word I don't use enough).

    Share this post


    Link to post
    Share on other sites
    23yrold3yrold    941
    Okay, I see SDL got a big add into the first post. Points 8 and 9 just add to the bloat and don't really contribute a whole lot; point 4 covers resources for most of that stuff, methinks. Point 7 is also pushing it a bit too; the library's documentation should cover stuff like that fine (either that, or one of the FAQ's/tutorials). That would trim it down to a managable size.

    Share this post


    Link to post
    Share on other sites
    Drew_Benton    1861
    Ok cool I see what you mean for everything. Sorry for the late delay, been without internet for a week now at the Uni and not sure when it's going to get back up. I'll start removing that stuff amd continue with others as soon as I get internet back. So any takers still for the other libraries?

    Share this post


    Link to post
    Share on other sites
    23yrold3yrold    941
    I'll make up Allegro on Monday (my next day off). My spare time is quite short lately; I only have enough time to poke my head in here and make sure everyone is civil and on-topic. [smile] But yes, any info on the other libs would be nice ...

    Share this post


    Link to post
    Share on other sites
    Drew_Benton    1861
    I'll go ahead and do GLFW and GLUT & co. this weekend. Well, at least we are progressing with this. I guess we can just publish the FAQ with these few libaries to start with and as time goes on, add to it. I just now saw Gor435's suggestion for the Audio API's as well, so those will be added too. I'll also do the OpenAL this weekened. Don't be shy folks, we can use all the help we can!

    If you want a little template that you can just fill out with information for a libary, something like this will suffice -
    1. What is <Library Name>?
    2. Where can I download <Library Name> at?
    3. Where can I find instructions to install <Library Name>?
    4. Where can I find tutorials and other information on <Library Name>?
    5. What are the uses of <Library Name>?
    6. One extra thing of choice if desired

    Now the goal is just to offer a quick glance of these libraries. Most of the time, if you want indepth information about a library, you can visit its site, so we do not need to go into great detail, just something that people can glance over and see what are some of the things people talk about in this forum. You do not have to even do all those things, just what you think is enough! We can always add more later...

    Oh since I'm editing this post so much, sure Joel [wink] I don't think anyone would object. As soon as you get info to put up, you can post it or PM and I'll check back later today and update if it's not already done.

    Share this post


    Link to post
    Share on other sites
    PnP Bios    494
    I was wondering if we could add hxRender to the list of available libraries? With version 2, it is fully complete, and fairly stable. I also have documentation for it.

    Share this post


    Link to post
    Share on other sites
    _the_phantom_    11250
    After Drew Benton messaged me I got around to doing a quick Q&A based on the template for OGLWFW.
    Quote:

    1. What is the OpenGL Window Framework (OGLWFW)?

    The OGLWFW is a C++ framework design to allow for the creation and control of windows which are capible of hold an OpenGL rendering context. Windows can be windowed or fullscreen and the framework allows for switching between modes. Methods exist to allow for you to either find a compatible mode for display and OpenGL as well as enumrate all the availble hardware accelerated display modes and retrieve some basic infomation about the OpenGL subsystem installed on the system.
    The OGLWFW also take care of extension initalisation via GLee which is compiled in.
    Finally, a basic event system exists which allows you to listen for window messages via a functor. This system is expanded as the need arises and often by request.

    Currently only a MSVS.Net03/Win32 implimentation exists, however a Linux/X version is in the works.

    2. Where can I download OGLWFW at?

    The OGLWFW can be downloaded from sourceforge and is released under the zlib licence.

    3. Where can I find instructions to install OGLWFW?

    No real instructions exist, its a simple case of download, extract and ensure the library and header folders are in your compilers path. On MSVS.Net03 including the oglwfw.hpp automatically links in the correct lib file for the runtime you are using.

    4. Where can I find tutorials and other information on OGLWFW?

    Examples can be found on the download page at sourceforge.

    5. What are the uses of OGLWFW?

    Creation and controlling of multiple windows, with some events relating to window operations. It also allows easy access to things such as FSAA, the accumlation buffer and all the OpenGL and display modes on the current machine.
    It is also possible to create a window in one thread and the OpenGL context in another to allow for message handing and rendering to accure in seperate threads.

    Share this post


    Link to post
    Share on other sites
    Zeophlite    144
    An important note about SDL should be SDL/OpenGL

    Its important as it shows how to implement OpenGL easily in non-Windows platforms. This is useful as many tutorials only focus on how to use OpenGL with the Windows API (nehe.gamedev.net)

    Share this post


    Link to post
    Share on other sites
    Drew_Benton    1861
    Quote:
    Original post by 23yrold3yrold
    *marches off, grumbling about no free time*


    Oh I know what you mean! I meant to get some more done last weekend, but stuff came up school wise. Oh well, it's not like GameDev is going to up and disappear before we can put together a FAQ [wink]

    Share this post


    Link to post
    Share on other sites
    Rob Loach    1504
    I've finally gotten around to Drew's request of writing one for FMOD:
    Quote:
    1. What is FMOD?

    FMOD is a cross platform audio library to let you easily implement audio into your applications and games. It can play almost any sound format you can think of including MP3s, OGGs, Midis, MOD files, WMAs, etc.

    2. Where can I download FMOD?



    3. Where can I find instructions on how to use FMOD?



    4. What are some other uses of FMOD?

    FMOD can be used to put sound and music into games, multimedia applications or pretty much anything that requires audio. The main benefit to using FMOD is that it is a cross platform library, allowing you to use it on a wide variety of operating systems. Not only is it very powerful, but it's also very easy to use. Just go through Joachim's quick tutorial and you'll see how easy it really is. FMOD Ex brings a new design to FMOD which makes sound and music data even easier to manage.

    5. Are there any other features to FMOD?

    FMOD Ex is a branch off of FMOD that gives it a whole set of new features including a .NET interface for development with C# and other .NET language.

    Share this post


    Link to post
    Share on other sites
    23yrold3yrold    941
    Okay, finally I get to put 5 minutes thought to this. [headshake]

    Anyway, it's getting way too big, especially in relation to other forum FAQ's. Plus it's a lot of links to maintain. Here's my Allegro one, which I think is a bit more managable. Instead of having "Library Specific FAQs", maybe just a descriptive blurb and a link the the official download/FAQ/tutorials, and a note in the general forum FAQ to check out that link before asking dumb nub questions. [razz]



    Allegro

    1. What is Allegro?
    Allegro is a game programming library for C/C++ developers distributed freely, supporting the following platforms: DOS, Unix (Linux, FreeBSD, Irix, Solaris, Darwin), Windows, QNX, BeOS and MacOS X. It provides many functions for graphics, sounds, player input (keyboard, mouse and joystick) and timers. It also provides fixed and floating point mathematical functions, 3d functions, file management functions, compressed datafile and a GUI.

    The library, tutorials, and documentation can be found at Allegro's website.
    Top



    And why am I being thanked in the top post? I didn't do anything until just now. [embarrass]

    Share this post


    Link to post
    Share on other sites
    Drew_Benton    1861
    Quote:
    Original post by 23yrold3yrold
    Anyway, it's getting way too big, especially in relation to other forum FAQ's. Plus it's a lot of links to maintain. Here's my Allegro one, which I think is a bit more managable. Instead of having "Library Specific FAQs", maybe just a descriptive blurb and a link the the official download/FAQ/tutorials, and a note in the general forum FAQ to check out that link before asking dumb nub questions.


    Ok, I'll do some chopping off tonight and start downsizing it to something more appropriate - that or what about something like this: For the actualy FAQ, something a lot shorter containing the posting rules and stuff, and not any stuff library specific. Then we can just link back to this thread as an 'extension' for more information? Would that be do-able? If that was the case, then there's a lot more info that can be made in maybe new posts, and link to those as well. he main FAQ will be very lite and just link to threads that can be updated at will. Let me know what you think about that if you're still around.

    Quote:
    And why am I being thanked in the top post? I didn't do anything until just now.


    I'm sure you were here with us all the way in spirit [wink].

    Share this post


    Link to post
    Share on other sites
    Drew_Benton    1861
    Quote:
    Original post by ostamo1
    http://www.ferzkopp.net/

    then go under software
    then look for sdl_gfx


    Thanks for pointing that out, their web page has been updated. I fixed the link above to reflect the correct page now.

    Share this post


    Link to post
    Share on other sites
    Guest
    This topic is now closed to further replies.
    Sign in to follow this  

    • Similar Content

      • By ilovegames
        You - the chief doctor of the hospital. Working late into the evening, did not notice the majority of hospital workers went home ... But where you disappeared the night shift is also not known. Hastily taking important documents, go home, but something went wrong as usual ... Can you get out of the hospital alive?
        Download https://falcoware.com/AtTheHospital.php



      • By Gator Man
        Game Concept Doc: https://docs.google.com/document/d/1B5eS_eGMke3gk5xPyMLekZY1T7uE2q1pO4vFdALIOC8/edit

        We are looking for every position. From Game designer, to marketer, to programmer, to 3D modeler. Any further questions can be discussed through discord
        DISCORD: Gator#5635
      • By ilovegames
        Wind Of Fear is a game where we have to kill different kinds of waves of monsters packing weapons. The main goal is to survive the waves and pump up your own weapons. There is a store where you will buy new weapons, scattered crystals that restore your life are also on the map!

        Controls:
        WASD - Walking
        Shift - Running
        Mouse1 - Attack
        Space - Jump
        ScrolDown - weapon change
        T - Deceleration of time
        G - Bleed your weapon
        Esc - Exit, pause
        Download http://falcoware.com/WindOfFear.php
         



      • By ilovegames
        Continuation of the first part of the game, Invention. While you were on the island exploring the underground laboratory, the infection was busy spreading throughout the world. In this episode, you have to go through a city populated by monsters in search of salvation aided by weapons that you will find during your travels. The gloomy atmosphere, music and atmosphere and a crowd of walking meat will keep you on your toes!
        Download http://falcoware.com/Invention2.php



      • By Jacob Laurits Besenbacher Kjeldsen
         
        Intro - "The challenges of dynamic system design"
        Custom Quest evolved during development, from a minor quest system used for our own needs in our own game production Quest Accepted, to something entirely more dynamic and customizable, now finally released, these are our thoughts on quest design and developing standalone subsystems. 
        Splitting what is a major production for a small indie team, into smaller installments such as a quest system was a good idea we thought, this way we can get some releases out there and fuel the development of our game. But building a system that works for yourself is one thing, building a unity plugin that will let other developers create quests, missions, and objectives, you would never have thought of is something else entirely.
        The first thing we had to realize was that when building a quest system, the task is not to design great quests, the task is to enable the users to create great quests.
        That still meant we had to find out what good quest design is and what a quest really is.
        Our task was to create a system where the user is free to create creative engaging and rewarding mission experiences for their players.
        What is a quest? - "Cut to the core"
        First off, we need to know what a quest really is.
        A quest is the pursuit, search, expedition, task or assignment a person(s) does in order to find, gain or obtain something.
        In games, quests and missions function in many different ways depending on the genre.
        A single game can contain a multitude of different types of quests put together in just as many ways. In an MMO, for instance, quests are vehicles for the story and the player's progression. In many cases they are formulaic and simple, some can even be repeated, there are hundreds of them and everyone can do them. In other games quests are for single player campaigns only, here they shape each level giving the player a sense of purpose.
        Quests can span the whole game or just be a minor optional task on the way, there are so many design philosophies and creative quest designs that we had to narrow it down and really cut to the core of what is needed for good quest design.
        What all quests have in common is the task, the criteria for successful completion of the quest, and the reward, the goal of the quest, what the player gets out of doing what we ask of him.
        Quests cover an incredible variety of tasks so it was important for us to base our decisions on thorough research. In our research, we found that there are three layers to quest design.
        The type, the pattern and the superstructure.
        Quest types exist within quest patterns and quest patterns exist within the quest superstructure.
        We found that there are 8 basic types of quests these are the various tasks/criteria the player must do in order to complete the specific quest.
        There are 12 quest patterns. These are ways designers can use their quests, connect multiple quests set them up in engaging ways or teach players how to interact with and get the most out of the game world creating variety and engaging the player.
        Enveloping the patterns is the quest superstructure, the overall structure of quests in the game, we found that there are two main ways of structuring your quests.
        Historically quest have a quest giver, an NPC or object that informs the player about the quest, what they need to do, the story behind it and perhaps even what their reward will be should they complete the quest.
        Quest types - "Do this, do that"
        The core task each quest consists of, the criteria for completing part of or all of a single quest. These are the actions we want Custom Quest to be able to handle.
        Kill
        Probably the most basic quest type, the task is to kill something in the game, for example; kill 10 goblins. Gather
        Again very simple, the task is to gather x things in the game world, collecting berries or the like. Escort
        The player must escort or follow a person or object from point A to B while keeping it safe. FedX
        The player is the delivery boy, they must deliver an item to a person or point. Defend
        The player has to defend a location from oncoming enemies, often for a set number of waves or time. Profit
        The player must have a certain amount of resources to complete the quest, contrary to gather quests these resources are resources the player would otherwise be able to use himself. Activate
        The player's task is to activate/interact with one or more objects in the game world or talk to a number of NPC’s. In some cases, this must be done in a certain order for a puzzle effect. Search
        Search an area, discover an area of the game world. This is useful for introducing areas of the map to the player and giving them a sense of accomplishment right off the bat, showing them a new quest hub or the like. Quest Patterns - "An engaging experience"
        Tasks are one thing, and in many games, that might be plenty but we wanted custom quest to let the users create chains of quests, specialize them and set them up in ways that draw the player into the experience, there are many ways to go about this.
         
        Arrowhead
        The most basic quest pattern, the quest chain starts out broad and easy, the player has to kill some low-level cronies. The next quest is narrower, the player must kill fewer but tougher enemies, lets say the boss' bodyguards. The last quest is the boss fight, the player has killed the gang and can now kill the boss. This quest pattern is very straightforward and works well, giving rewards either at every stage or only when the boss is dead.  
        Side stub 
        A side stub is an optional part of the overlapping quest. Lets say quest A leads to quest C but there is an option to complete a side objective B, which makes completing C easier or it changes the reward, for example. The player must escape prison, the side stub is “free the other prisoners” in this example escaping with all the prisoners is voluntary but it might make it easier to overpower the guards or the prisoners might reward the player when he gets them out. The side stub differs from a generic side quest in that it is tied to the main quest directly.  
        Continuous side-quests
        These are side-quests that evolve throughout the game, one unlocks the next, but they are also affected by external requirements such as story progress. This pattern is often found with party members in RPG games, where the player must befriend the party member to unlock their story quests.  
         
        Deadline
        As the name implies these quests are time sensitive. The task can be of any type, the important thing is that the quest fails if time runs out. This could also be used for a quest with a side quest where the side quest is timed for extra rewards but the main objective is not.  
         
        Deja-vu quests
        This kind of quest pattern gives the player a quest they have done or seen before. In some cases, this “new” quest will have a twist or something that sets it apart. It can also be the same sort of quest that exists in different areas of the game world, perhaps there is more than one goblin camp? or perhaps the player has to pick berries daily.  
         
        Delayed impact
        Delayed consequences of a previous decision. Often used in games where the story is important and the players’ choices matter. These quests are tied together without the player knowing. Let's say the player is set the optional task of giving a beggar some gold to feed himself. The player gives the beggar a few gold and is on his way. The next time he meets the beggar the beggar has become rich and rewards the player for his kindness with ten times what he gave.  
        One of many
        The player is presented with a number of quests, they have to choose which one to complete, they can only choose one. The others will not be available.  
         
        Hidden quests
        Hidden tasks that aren’t obviously quests at first glance or are hidden away for only the most intrepid players to find. This could be an item the player picks up with an inscription in it if the player then finds the person the inscription is about he can get a reward for delivering it. A good quest pattern for puzzles, these kinds of quests can really make the game world come alive and feel a lot more engaging, allowing the player to uncover secrets, Easter eggs and discover all of the world created for them   
        Moral dilemma
        Punish the bread thief who stole to feed his family? often used in games that have a good/ evil alignment level for the players, these kinds of quests make the player make a choice about what kind of character they want to play, they get to choose if their character is good or evil.  
         
        Side quests
        Optional quests, these quests are often found in level based games where the overall quest must be completed to get to the next level, the player can optionally do some extra tasks to get more points. The important part is that these are optional but they give the player a reward for, getting everything they can out of the game.  
         
        Tournament
        Tournament style quests, a series of quests that get harder as the player progresses. An example could be a gladiatorial arena if the player defeats five enemies one after the other he gets rewarded as the champion of the arena, but if for example, he fails at the third, the whole tournament is failed and he has to start all over from quest 1.  
         
        Vehicle missions
        Despite the name these quests are not confined to being about cars, these are simply quests where the players control scheme changes to complete the quest(s). An example could be; changing from running around in the game world to driving a tank to destroy a fort.  
        Quest superstructure - "The whole package"
        With quest superstructures, we are venturing into general game design. The superstructure is how the player is allowed to complete quests in the game world. It's basically a question of whether the game is “open world” or a linear experience.
         
        The diamond structure 
        The open world model, think games like The Elder Scrolls V: Skyrim, the player is introduced to the game through a quest, but after that, they can go wherever and do whatever quests they want. There are tons of quests of the above types and patterns, the player is free to pick and choose which to do, giving the player the illusion of freedom within the game world (the diamond). However, the game still ends by completing a quest that is locked and always a requirement to complete the game. This can, of course, be varied by different choices the player has made throughout the game or even have multiple endings. Quests can be concentrated into quest hubs, i.e. towns with lots to do or the like, but they don't have to be completed in a linear fashion  
         
         
        Linear hub structure
        This structure consists of a number of required “bridge” quests that need to be completed in order to unlock the next area or “hub”, each hub can have any number of quests, this could be a town full of people in trouble, each with their own quests and quest chains to complete, when they are all done, the player moves on to the next hub through another bridge quest. Limiting the quest size of the hubs will make the quest structure feel more linear and thereby the game linear, and creating larger more open hubs can make the player feel freer.  
         
        Outcome - "So many options!"
        The development of custom quest has been the quest to allow game developers to create quests and missions that use these types. However, no matter how well we have researched, some one will come up with a new and creative way of doing quests.
         
        The solution for us was to make the system more customizable. Letting users convert their quest prefabs to quest scripts that automatically inherits the core functionality, so the user can freely add their own additional functionality on top of the existing core
        Asset development as fuel - "A learning experience"
        Developing this way, splitting the production into sub systems that can function on their own and even be used by others is not something that should be taken lightly, but if you can build something lasting, something others can find value in using, then the final product will be all the better for it. Custom Quest started as a project we thought could be completed in a couple of months, it ended up taking 7.
        In part this is because we realised that if we were going to release the system, we might as well do it right, that meant creating a system that was customizable and robust, a system that can be added to the users game and not the other way around, a system we could be proud of.
        The experience of developing for other developers is quite different to developing a game. One that has made us much stronger as programmers and as a company, it forced us to think in new ways, in order to create a dynamic and customizable solution. Custom quest has evolved from an asset we could use in Quest Accepted, into a tool others can use to create a unique game experience. All in all, the experience has been a good one and Random Dragon is stronger for it, I would, however, recommend thinking about your plugin and extra time before you start developing.
         
         
        Sources:
        www.pcgamesn.com -"We know you aren't stupid" - a quest design master class from CD Projekt RED
        http://www.pcgamesn.com/the-witcher-3-wild-hunt/the-witcher-quest-design-cd-projekt-masterclass
        http://www.gamasutra.com/ - Game Design Essentials: 20 RPGs - http://www.gamasutra.com/view/feature/4066/game_design_essentials_20_rpgs.php?print=1
        Extra credits - Quest Design I - Why Many MMOs Rely on Repetitive Grind Quests https://www.youtube.com/watch?v=otAkP5VjIv8&t=219s
        Extra credits - Quest Design II - How to Create Interesting MMO and RPG Quests https://www.youtube.com/watch?v=ur6GQp5mCYs
        Center for Games and Playable Media - Situating Quests: Design Patterns for Quest and Level Design in Role-Playing Games - http://sokath.com/main/files/1/smith-icids11.pdf
        Center for Games and Playable Media - RPG Design patterns https://rpgpatterns.soe.ucsc.edu/doku.php?id=patterns:questindex
         
        Special thanks to Allan Schnoor, Kenneth Lodahl and Kristian Wulff for feedback, constructive criticism and background materials.
    • Popular Now