Type your search here:

Newest Videos

Showing posts with label article. Show all posts
Showing posts with label article. Show all posts

Saturday, January 26, 2013

DevCorner: Blender Game Engine

While Blender3D is one of the premier FOSS projects out there, its integral part the Blender Game Engine (BGE) is often belittled as not a serious game engine.

While the criticism is certainly not completely unfounded  and the integration of limited "non-programming" game code creation (via logic bricks) gives it a bit of a "RPG maker" image, it really is a quite interesting platform to work on it seems.
Ok, probably as of now the BGE is really more of a rapid game prototyping engine, but previous experience during the Yo, Frankie! project has actually shown that at least compared to some other well known FOSS engines, it is a serious contender (that Blender Foundation project originally started on Crystal Space, and after many problems was implemented in the BGE in a few weeks only).



So what makes it so interesting? Well for one there is the full integration with a creation tool (obviously Blender3D) so that getting your content into the game is only a matter of making it. No exporters or anything needed... it just works. Then of course there is the fully scriptability via Python, also integrated tightly. Basically you never have to exit Blender, and testing your game can be done right in the editor with one click (no compiling etc. necessary). Oh and did I mention the great physics capabilities via Bullet, also build right in?

In addition your created game will be immediately available on any platform the Blender Game player has been ported (all major desktop operating systems, with an Android port under development and a browser plugin, too). In addition you can choose to publish your game as a single .blend file, giving the users a direct access to all the source files of the game; a wet dream of any true FOSS game developer!
The tight integration with the GPLed Blender Player, has been a major source of discontent with the predominately propitiatory game developing users of the BGE however. Thus there now exists also a few options to encrypt your game and/or run it on an external engine that can be kept close source (but I will not go further into that here). 

You can find a lot of (sometimes really awesome looking: 1, 2, 3) game projects on the Blenderartists.org forum. Now as I said, most of it is sadly closed source with propitiatory artworks, but I also have the feeling that some simply don't know or care about the legal implications of their "freeware" game (which sadly shows that even many people who use a great FOSS tool, mostly care about the "free as in beer" aspect of it). 

One of the more interesting projects right now (which might or might not become a full FOSS game) can be seen in this video:



It shows the most recent work by Martinesh, who is basically BGE's resident game art guru. Two years ago we already featured previous awesome work by him, but sadly that Air Race project is by now canceled.
What he is now working on is however rather a show-case for the really nice new graphical features in the BGE which he and others are developing in the so called "candy" development branch (on his blog there are also more details and nice videos from some time ago).

Another cool recent project it the rewrite of the the logic bricks visual programming idea via nodal logic blocks called Hive.
While not completely integrated into Blender yet, you can already try it via an external editor (the created python code works fine inside Blender). There are also some tutorials and a documentation for it.
Since my programming skills also lack somewhat, I find that an interesting tool... however most likely it is rather a nice way to do some level scripting, than actually programming the real guts of a game with it.

So where can you get started with developing your own game using the BGE? Well, the blenderartists.org sub-forums are always helpful, with some nice beginners video tutorials linked here, here, here and here ;)
There are even some books available (this one in particular is quite recent, which is a plus given the fast development of Blender3D) and there is of course the official Blender documentation.
Oh and a good source of content is (besides our friends opengameart.org of course) Blender Swap (nice interview with one of the creators here).

If you have further questions please comment below or ask over at blenderartists.org!

Sunday, February 19, 2012

Developer interview: SuperTuxKart team.

Unknown 10:57:00 AM
Hi folks,

My name is Artem (KroArtem in IRC) and I wanted to post an article here almost for a year. Nowadays I have an opportunity to do this. Let me introduce myself: I'm studying at St.Petersburg State University, Faculty of Applied Mathematics and Control Processes, trying to become a programmer and a mathematician :) In my spare time I like to test some linux games, report bugs, give feedback, translate them and so on. Actually this is the way I've met SuperTuxKart developers. Today I want to obtain an interview from them.

Firstly, let me remind you what SuperTuxKart is. SuperTuxKart is a kart racing game that features free software mascots, has a cartoony style, includes different game modes and supports multiplayer (split-screen). You can visit STK's site and receive some more information about the game.

SuperTuxKart's new track, Blackhill Mansion

Secondly, I want to name our beloved developers and contributors: Joerg «hiker» Henrichs, Marianne «Auria» Gagnon, Magne «Arthur_D» Djupvik and Jean-Manuel Clemençon aka «samuncle». Please note that there are some more contributors but unfortunately I didn't manage to contact them. I think 4 people would be enough for the interview, though :)

I've prepared some questions and sent them via emails and here are the results:

FG: Please say some words about yourself/your job.

Arthur: My name is Magne, and I am an avid fan of SuperTuxKart. I'm interested in computers, music, animated cartoons and of course games.

Auria: My name is Marianne, I work mostly as a developer for SuperTuxKart. I am going to complete my computer science studies at university in the coming months.

Hiker: I've studied computer science in Germany, and am now working as a consultant for the Australian Bureau of Meteorology. I help them using their supercomputer for their operational and research numerical weather and climate predictions.

Samuncle: I like drawing and hiking. On the professional side, I am currently studying telecommunications to become technician.


FG: Explain in a few words how and when did you join STK's team?

Arthur: Well, I had been playing the game's predecessor TuxKart as one of the few 3D games my computer could handle back in the day in Linux. Later my brother said a fork of the project had appeared in the repositories, so I went on to install STK 0.3. I was impressed by the changes, and decided I would try to follow the project's mailing list. Of course, I couldn't manage to keep quiet, so I engaged in discussion and asked questions, and got always nice, friendly answers back, which made me want to stay with the project and get involved where I could.

Auria: I liked kart games like Mario Kart. So many years ago I downloaded STK - version 0.3 I think. However this old version had major issues; so I decided I might as well do small improvements, like replace the then cylindrical lighthouse with something better, etc. And a few years later here I am, core developer :)

Hiker: I discovered TuxKart as part of a suse Linux installation, and soon found that a 'Game of the Month' had started intending to improve TuxKart. That project had basically been abandoned (due to some disagreements between the original developer and the GotM-team). A fork was created to save their work, but the project was dead. I basically picked up the project from there, fixed the bugs and performance issues, and did a first playable release of STK. Then I was hooked on ;)

Samuncle: Initially, I wanted to propose ideas that could help improve the graphics. I liked STK but I thought we could do better visually.


FG: Say what role do you have in the project? (Leader, package maintainer, etc)

Arthur: I mostly test and give feedback on the project, report bugs, write updates on our blog, and make some trivial changes now and then, mostly graphics related.

Auria: I am a core developer to the game itself, and occasionally work on 3D modelling. I am second only to our benevolent dictator Joerg :)

Hiker: I am one of the two project leaders.

Samuncle: I work on the graphics of the tracks. I build new tracks from start to end, or I improve existing tracks. I use mainly blender for the 3D, gimp for textures and mypaint for drawing.


FG: Why do you work on this project?

Arthur: Because I like the game, and because it's a very unique project in the world of Free software. It's an arcade racing game with only mild cartoon violence, and it has a very distinctive gameplay. Most other Free racing games are more realistic and doesn't have a cartoonish theme. Also because the developers are very nice people, and the community as a whole is good to be in.

Auria: I like kart games, I like programming, I like the STK team.

Hiker: Originally my main motivation was to give something back to the open source community by fixing the performance problems STK had after the GotM project. But then I got interested in the game, and still have some ideas I might want to implement once I have an engine with all features I need. Additionally I hope that STK might serve as a teaching tool as well, it would be easy for schools to pick up and perhaps use STK in their lessons.

Incidentally, the fact that it is like Mario Kart was never a point for working on STK - I had never played any kart game till two years after I started working on STK (and people kept on telling me: "It's like MK", so after a while I decided to have a look).

It also keeps me entertained on my way to work, since I mostly work on the train on my way to work :)

Samuncle: Because I would like supertuxkart to have nicer-looking graphics. Along the way, I also use this as an opportunity to learn blender and another tools. It's also fun to play a game you contribute to.


FG: Are you satisfied with existing development? Do you think STK needs more contributors/testers/artists?

Arthur: I am satisfied with the direction of the game, I only wish things would happen faster! But for that to happen, we need more people to help contribute. So if you have something you think would add to the game, please come forward with your skills, or just your ideas (though we get millions of those, and usually fall short on man/woman-power). Programmers and 3D artists are especially welcome, but as said everyone can get involved as much as they want to. And we're all a friendly bunch, so getting involved isn't hard. :)

Auria: We could certainly use with a few more developers and artists :) the networking feature, for instance, is often requested and help would be welcome in making it come

Hiker:r: Well, the team could certainly be bigger, with atm two code developers and about two regularly contributing artists many things take much longer than necessary, or need to be postponed till later.
But the team itself works quite well together, so I am quite happy about this.

Samuncle: I think a network mode is what STK lacks most, so if someone could work on this it could help get things moving forward.


FG: How do you see STK in the future?

Arthur: I see it as an even greater game, with more fun, more polish and a larger community, and also an online multiplayer community. In short, I think it can only get better from here. :)

Auria: As any open source project, it's very hard to see the future. Let me just say that I would like STK to grow with a solid set of nice-looking tracks, improved AI and better single player mode as well as multiplayer.

Hiker: By switching to a more modern graphics engine we have opened the way for much better looking tracks, and slowly we are replacing older tracks with newer ones. Support for networking will certainly give STK more appeal to a wider audience. By then I hope to find some time to implement more game modes to make STK a more unique and interesting game, and less of a 'copy' of other kart games.

Samuncle: Hmm, I don't really know ^^ I would like it to be more cohesive (not less fun though), that there is more unity (between tracks, most notably). I would not be against reducing the number of tracks to improve their quality (because maintaining a world takes time)


FG: What do you think is important, what do you like / don't like in stk's development/community/etc.

Arthur: The important thing is to have fun, and stay cool. We are blessed with very stable project leaders, who have been pushing the game forward for many years. So even though I'd sometimes wish development would be faster, it's important that people do things in a tempo they are comfortable with, and don't burn out. Also, there are more important things in life than STK, but I do say it has made mine a little richer. So if you like the game, feel free to register at our forums, join the mailing list and IRC and take part in the discussions. :)

Auria: It's important and very welcome to get help with testing, especially when betas or release candidates and released; translations are also very important. The less fun aspect is managing everyone's expectations, people have many ideas of what they would like us to code for STK but it would take 10 of us to do it all :)

Hiker: In contrast to commercial game design we have only limited influence on the 'style' of tracks, since especially the kart and track design is done by various artists, mostly following their own taste. We nevertheless try to maintain the vision where we want STK to be at. With the addon-server we luckily have now the option to publish karts and tracks that might not fit in the main game for everyone to download. It of course means that Auria and myself sometimes have to be the (hopefully) benevolent dictators, but I think that is very important in order to keep STK on track.

The most disappointing point is that we often get people interested in helping to develop STK, but they then disappear leaving a less than half finished mess of code behind. I guess many people overestimate their available time, or underestimate the complexity of STK.


Finally I want to say that we're waiting some new and interesting additions, like Overworld, a big track from where the player will start his journey, or... but hey, feel free to follow SuperTuxKart updates via forum, blog or mailing lists! :)

Wednesday, February 15, 2012

Morrowind Open Source Projects: Who They Are, What They Do And What They Will Become

Hey Freegamers, 

My name is Antoine and I’ve been a devotee of this site and the Linux Game Tome for years. Now I have the priviledge to contribute back an article. Thank you qubodup for helping me out with this article. I love open source games, but I have a particular soft spot for those that allow creativity and collaboration from their users. Imagine if there existed an open source, and therefore completely editable, game engine with as much content as Morrowind’s fans have created available for it? As many of you are aware, there are currently fan projects working to extend the life, reach, and functionality of The Elder Scrolls III: Morrowind far beyond what’s possible using Bethesda’s Construction Set modding tools.


Can you guess which screen is rendered by what engine? :)

About Morrowind: Morrowind is an enormous proprietary game loved by fans for its atmospheric and immersive world filled with bizarre giant mushrooms, homes built into giant vines, and barren wastelands. However, it was plagued by software bugs, had many elements that were half-baked in their execution, and its game engine took poor advantage of GPUs. Some of these problems fans were able to address with unofficial patches and mods, but others could not be solved without changing the actual game engine.

When I found an open source reimplentation of the Morrowind engine I had to become involved. I’m very new to the group, but I’m helping out the PR team. However, just days after finding OpenMW, I discovered two more such projects existed, with rumors of a fourth. Mark Siewert of The Crystal Scrolls (and soon OpenMW), said the multitude of projects are a testament to the interest people still have in this game’s strange world. Indeed, look at the massive undertakings of fan projects like Tamriel Rebuilt, MGE XE, MGSO, or type in on YouTube “Morrowind 2011” or “Morrwind 2012” and you’ll get a sense for the countless hours fans continue dedicating to improve Morrowind a decade after its release.

I spoke with the developers of the different engines about their projects to get an idea of what their development status is, what their goals are, and how they’re accomplishing them. A quick disclaimer; you need a legal copy of Morrowind to use any of these engines for playing Morrowind. You can get one from steam (it goes on sale every couple of months) or by purchasing one on ebay.

OpenMW began in 2008 by Nicolay Korslund, it uses ogre3d, bullet physics, OpenAL, OIS, NifLib, and MYGUI. Nicolay stepped down as project lead last year and was replaced by the developer Marc “Zini” Zinnschlag and is joined by many great developers.

Project Aedra, was started by Tom Lopes in 2009. It employs NifLib, Bullet Collision, Quake 3 Arena for "pmove" character controller code, and the FastLZ library.

The Crystal scrolls was started by Mark Siewert in 2007 and it employs the Crystal Space 3d engine.

So what do these projects have in common? Well, they are licensed under some form of the GNU GPL license, written in C++, and aim to have all the features of original Morrowind, including compatibility with all official and unofficial expansions and plug-ins (and those based on external programs such as the Script Extender). Their individual goals are listed below. 


Additional Goals:

OpenMW
Project Aedra
The Crystal Scrolls
  • Allow greater modification: change game rules, create new spell effects, etc through scripting.
  • Fix system design bugs, like the "dirty" GMST entries in mods, and the save game "doubling" problem
Post 1.0:
  • Improve the interface and journal system
  • (possibly) improve game mechanics, physics, combat and AI
  • (possibly) support multiplayer
  • (possibly) improve graphics to use more modern hardware
  • Be blindingly fast
  • Multi-thread support
  • Multiplayer support
  • Modern graphics engine
  • Upgraded physics engine
  • Upgraded AI
  • Fix bugs in Morrowind (mostly related to data merging)
  • Add many functions of FPS Optimizer including a fix for the world map
  • Support for multiple .ini files, with each capable of overwriting some of the default settings.
Post 1.0:
  • Support for external tools that modify the Morrowind.exe like Morrowind Script Extender
  • Multiple world spaces like in Oblivion (would reduce mod compatibility issues)


Features:


OpenMWProject AedraThe Crystal Scrolls
WindowsDoneDoneDone
Mac OS XDone--
GNU/LinuxDoneWine-
Game launcherDone-Planning
ConsoleNearlyNearly-
HUDEarlyPartial-
Render InteriorDoneNearly-
Render ExteriorPartial*NearlyDone
Sky RenderingEarlyDonePartial
Day/Night CycleDoneNearlyPartial
NPC RenderingNearlyPartialDone
NPC AnimationsNearly-Nearly
NPC Dialogue Nearly**--
Sound effectsPartialDone-
MusicDoneDone-
Object CollisionPartialDone-
Object interactionNearlyNearly-
Water LayerNearly**NearlyPartial
ScriptingNearlyPartial-
Multiplayer-Early-
Plugin Merging--Planning
Graphical Replacer SupportDoneDone-
Multithread Stream Loading-Partial-
Hardware Animations (Shaders)PlanningPartialNearly
Load DoorsDoneDone-
Render Particle Effects-Planning-
Read Scrolls and Books-Done-
Menus -Partial-
Ground Blends-Early-
Distant Land-Partial-
JournalPartial--
Nearly** = Code is in the repository, but not in the latest release.
Partial* = Code is in repository, but likely to not be activated in a release for quite some time.
- = No code or planning done yet, or possibly not intending to include.

When is your next release?

OpenMW: No exact date, but we are on the verge of our big 0.12.0 release.

Project Aedra: One was just released. The latest download is r163.

Crystal Scrolls: After recently returning from an unexpected and prolonged hiatus, I released a new snapshot two weekends ago.


What’s next?

OpenMW: Work on version 0.13.0 has already begun.

Project Aedra: Everything (in no particular order); scripting, multiplayer, key binding, animated textures, GUI, conformance (tweaking every little thing to be the same as in Morrowind), ground blends, bug fixing, animated skins, distant Land, 3D SFX, and shaders.

Crystal Scrolls: I am going to join forces with the OpenMW team and help them in getting their own project out of the door. While I will still continue developing this project, I also want to see one of the many Open Source Morrowind projects completed. And from my point of view, OpenMW is likely to reach maturity first. I am planning to do more work on things that do not depend on the renderers, so this should be of use to OpenMW as well.
Concerning Crystal Scrolls 0.3:
  • Plugin/Mod support. Possibly with a launcher which lets you disable/enable plug-ins 
  • Support for original save games (it's no that different from plug-ins). 
  • Object interaction. This will enable many additional features, such as picking up objects, entering internal cells, and more. 


How big is your team?

OpenMW: We have eleven active developers (with varying degrees of involvement with OpenMW) and five people working on things like package maintenance, public relations, and website administration. Our team list is here.

Project Aedra: 1 person, me!

Crystal Scrolls: Myself.


How can people contribute?

OpenMW: If you are skilled with C++ or have game programming skills please register at our forum, look at the version 0.13.0 thread and find an unassigned task, assign it to yourself and get started. Also we want people with fast computers and video editing skills to record demonstration videos for Youtube. We hope that releases post 0.13.0 will be playable enough to necessitate many bug testers. If you are learning how to code, download and have a look at OpenMW.

Project Aedra: I'm looking for C and C++ game programmers with prior experience who can help program.

Crystal Scrolls: There are many ways to help out. Now that rendering and animation is mostly out of the way, it is feasible to start implementing more features. My primary goal for 0.3 is to add plug-in/mod support, and object interaction, but one can easily imagine things that are not blocked by this feature: sound, the console, scripting, etc. So if you want to help, install the program and find something that is missing and that might not depend on plug-in support or object interaction.



There you have it folks; three projects sharing a lot of common ground, but with some different goals and feature sets. Which is the best? That depends on who is asking. I suggest trying out all three every six months or to see how their changing and defining their own style. No doubt they will influence each others development with ideas and solutions. It is very exciting that Mark Siewert is joining the OpenMW team. Here’s to open source, games that facilitate creativity, and the preservation and improvement of games for posterity!

Wednesday, December 21, 2011

Why we need a stronger copyleft for artists, and how this might be accomplished.

Unknown 12:22:00 PM

Currently, art copylefts are weak with respect to code. If I'm a programmer and I want to write code that's specifically for use in libre software, all I have to do is slap the GPL on it and I'm done. If someone uses my code in their program, they either have to GPL their program or I can force them to stop distributing it.

Artists don't receive the same protection. If I want to make a piece of art (be it an image, model, sound file, etc) for use in libre software, I'm out of luck. As it stands, all the people using my art have to do is share their modifications to my art and they're free to do whatever they want with the code. There aren't currently any acceptable libre licenses that cover a situation in which a program loads a specific art file. (Mind you, as an artist, it doesn't matter to me if someone loads my file in a proprietary editor, the same way it wouldn't matter to me as a coder if someone loaded my GPLed code into a proprietary text editor. More on this later.)

Over the last couple of years, a number of artists who have been frustrated by this particular issue have come to me and asked me what could be done about it. Many of them have asked me to include a noncommercial licensing option on OpenGameArt to address this issue. Unfortunately, NC licenses are incompatible with free software and as such I'm not able to include them on OGA without seriously violating the stated mission of the site. NC licenses do somewhat address this issue (although mostly by accident), but the problem with them is that they're far too broad about how you can use the media in question. A better solution is needed.

So, a few months after OpenGameArt.org was founded, I had a discussion on the debian-legal mailing list about licensing that would expand the copyleft for artists by (in short -- please read the details of my plan before criticizing) forcing the programs that load a specific piece of media to also be licensed with a strong copyleft.

At the time, I was politely shot down. In their defense, at that point I was just a random person off the street with yet another random idea for yet another random license. Two and a half years later, I'm now recognizable by at least two or three members of the FOSS community (making me a small-time contributor instead of just a random dude) and I've had long discussions with people about the specific provisions of what exactly a license like this would require and how it would interact with free software.

Now, the key here is that for something to be free software (or compatible with free software), it can't prohibit "bundling". Bundling in this case is the idea of including multiple separate programs in the same archive. For something to be free software, the license must allow it to coexist peacefully with proprietary software.

In any case, for the purpose of this discussion, I'll refer to this hypothetical media license as the Foo License. Any media released under the Foo License would require that any code that specifically references that piece of media be licensed under a strong copyleft (such as the GPL or the Foo License or others -- we can define these by enumerating them specifically or just listing a set of requirements). If a program does not specifically reference the piece of media covered under the Foo License, then the program would not trigger the share-alike requirement.

To give specific examples of this, if I write a game that loads a certain sprite that's covered by the Foo License, my game code would need to have a strong copyleft. Conversely, if I distribute an image viewer (or editor) along with a bunch of images that are covered by the Foo License, the image viewer would not fall under the sharealike clause because there's nothing in the code that tells it to reference a single, specific Foo Licensed image.

Now, some game engines are clearly generic. If you run that engine on a specific data file or point it at a specific tree, the resulting game could be completely different from one stored in a different data file. The Doom engine is a specific example of this, although there are many, many others. In this case, the engine itself is completely generic, and would fall outside the scope of the Foo License. What is not generic here are the scripts and data files that define the actual game. In these cases, while the engine itself is generic, the script layer is not, because it has to reference specific items in order to load them and tell the game engine what to do with them. A generic engine like this is essentially a VM, and much like the GPL, the Foo License would not cover that the VM that runs the code.

One argument I've seen against this is that it's possible in some cases for people to construct specific, inconvenient examples of how you might skirt the requirements of the license. I can't deny that those situations exist, however the same sorts of situations exist for the GPL, and coding around them is a fairly effective deterrent (not to mention the fact that deliberately circumventing a license puts you on shaky ground anyway). It's been done, but it's not done all that often and it tends to make things inconvenient for both programmers and their customers. In any case, no edge case like this that anyone has brought up before has rendered the license non-free, so even if the Foo License is imperfect, it would still, like the GPL, work in most cases.

So, I'm looking for comments on this, but before you comment, please make sure you've read this carefully. Below is some copypasta that I'll use to answer you if you ask a question that I've already addressed. Please consider these answers before you ask, and if you're guessing that I'm going to respond with one but you believe it doesn't apply, explain why. :)
  • [ ] While your example could conceivably get around the intent of the license, it would be inconvenient to implement and doesn't render the license non-free. In any case, the GPL has similar edge cases.
  • [ ] The program you mentioned is a generic viewer/editor and is not programmed to reference *specific* media files.
  • [ ] In your example, the engine would not be covered because all of the media is referenced in a completely separate script layer, which *would* be covered.
  • [ ] In your example, the engine would be covered because it references the media in question by name.
  • [ ] I understand your wariness, but the fact that this hasn't been done in the past don't make it not worth considering.
  • [ ] Just because there are multiple ways we could decide how to address this issue, doesn't mean that it's ambiguous. It must means we need to talk about which way would be best and settle on a decision (see additional comments).'
  • [ ] While it may initially seem that the GPL would cover this case, the FSF has clarified (see "Non-functional Data") that art is data, and the linking requirements in the GPL do not apply in the case of art.  Thus, even if the art itself is GPLed, the FSF doesn't consider it "linking", and the share-alike requirement is not triggered. (Added 12/28)
Okay, bring it on. I love a good controversy. :)

Bart Kelsey
OpenGameArt.org

Monday, June 27, 2011

Dev-corner: How to request art for your FOSS game project (and how not to)

Unknown 11:08:00 AM
During my tenure thus far as the head of OpenGameArt.org, I've run into a lot of different requests for art by various projects. I'd like to start out by saying this: Please, if you need art for your FOSS project, don't hesitate to come ask us! That's why we're here. :)

That being said, there are ways to ask for art, and ways not to. Unlike some places, we'll never yell at you for not asking correctly, but there are still some things you can do (and avoid doing) to make your request more likely to be filled. I'd like to go over these today.

Be specific about what you want.

By far the biggest challenge in making art for FOSS games is that projects will have artists come and go, and because of that it's difficult to maintain consistency between pieces of art. It's possible to have a bunch of art elements that are all individually excellent but have a game that looks horrible because the art elements don't go together well.

The first thing you need to know is what general theme you're looking for. Describe it and provide examples and references. That will give your artists a general idea of what to go for.

If at all possible, you'll also want to provide a color palette for the artists to use. Your palette doesn't need to be enforced with an iron fist, but it does need to be enough to give artists direction so that whatever thematic elements they make will fit into your game. If you're making a game with a dreamy pastel theme, dark, gritty colors aren't going to fit (and vice-versa).

Provide design guidelines. This is particularly important for your user interface icons. Tell us how thick you want the outlines to be. Tell us if you want things to be angular (and, if so, what angles), or rounded. Should we use gradients? Pixel art? Vector art? Digital painting? If possible, write up a short document describing how to produce the general look of what you're going for.

Now, that's a lot to think about, and it applies a lot more to large requests than small ones. If you're only asking for a couple of things, you can get away with a few general bullet points describing what you want. If you've got a large, ambitious project, your design guidelines really ought to be part of your design document.

People have expressed hesitation in the past about making these decisions because they'd rather leave them up to the artists. That's a valid concern, and we'd love to help. If you don't have a set of design guidelines, come talk to use on IRC (#opengameart on freenode) and we'll walk you through the process. We may even draw some up for you by request, as long as you're willing to take part in the process. :)

Make it easy.

Art is like code. It takes a lot of time and effort. If you're asking someone who doesn't have a vested interest in your project to spend their spare time making you something, you have to meet them half way. Make a list of the specific pieces of art that you want, and make sure that it's up to date. Many projects keep wiki pages that show their art assets. If you have such a wiki page, it's absolutely imperative that it be updated with the art that you already have, so artists know which things they ought to be working on.

Don't expect artists to poke through your code repository to figure out what you need versus what you already have. A lot of artists aren't familiar with version control systems (nor should they need to be). In general, it's not a good idea to ask an outside artist to do legwork that you're capable of doing yourself. Even if you find an artist who's willing to do that work for you, the hours they spend organizing your project's existing art will be hours not spent utilizing their artistic talents, which is a waste.

Be nice.

Hopefully I'm preaching to the choir here, but be understanding of the fact that a lot of artists don't code. Many of them don't use Linux. This doesn't mean they're dumb or that they lack talent -- they like to work in an environment where they're the most productive. Artists (and other people) will tend to gravitate to projects where people are polite and accepting

Mind you, it's perfectly reasonable to ask that your art assets be created with FOSS tools, but be aware that it's a trade-off -- on one hand, it's a badge of pride for your project to have a 100% FOSS workflow, but on the other hand you shrink the pool of available artists. If you're going this route, explain yourself politely, and many people will be willing to work with you on it.

Be realistic.

If you're coming in with a very ambitious project (like an MMO) and requesting very specific resources, be prepared to produce several hours of real gameplay. This isn't a hard and fast rule -- we make exceptions from time to time, based on circumstances. If the art you're requesting is something that would be generally useful to a lot of projects, we'll be more likely to help you out, because we know the time won't be wasted even if you don't end up using it yourselves. With one exception, we've turned down art requests for MMO projects that don't yet have solid gameplay. This isn't out of spite -- we just have limited resources, and need to put those toward projects that are more likely to succeed.

If your project is one or two people with a concept for a great MMO, you're not ready for art assistance yet. Expand your team and build a game. If we have the necessary resources, we'll try and help you once you have something that runs with real gameplay (quests, etc).

On the opposite end of the spectrum, some projects are essentially finished (playable, with placeholder art), and come in with relatively small requests. These are the types of requests that we'll address first and with highest priority, because we know that the art will be used almost immediately. If you have a mostly finished project with programmer art (or art lifted from unlicensed sources), we'd love to help you! Come talk to us. :)

Trade.

If you have a talented artist (or musician, sound effects person, etc), and you need some art that's outside of that person's comfort zone, find out if they'd be willing to help out another project in exchange for one of their artists helping your project. There's a lot of art talent out there in the FOSS community, but there's not quite enough to go around for every project. Trading art between projects is a great way to get your requests filled. If your game project has talents (art, coding, audio, writing, etc) that you'd be willing to trade for other art, note that in your request, and someone on another project might see it and be willing to help you out.

Buy.

I think the anti-commercial sentiment in the FOSS community is starting to subside a bit, but it's still out there. Artists have to eat and pay rent too, and if you'd like good art for your project, sometimes the best thing to do is just spend money on it (particularly if OpenGameArt can't help you for whatever reason). There's nothing wrong with spending money on a Free project -- remember, it's free as in speech, not as in beer. If you believe in your project and have been willing to sink a lot of hours into it, you might want to consider sinking some funds into it too, if you have cash available. I've commissioned a lot of art myself and I have a good idea where to look and how much people generally pay for good art, so I'd be happy to talk to you if you have questions concerning doing your own art commissions.

Other caveats

If you're requesting art from OpenGameArt.org, be understanding of the fact that some resources are harder to provide than others. Pixel and vector art, and untextured, low-poly 3d models are relatively easy. Sound effects, music, and concept art are somewhat harder. High poly 3d work, particularly with textures, takes the most time. Given our limited resources, we'll be more likely to spend our time where we can be the most effective. You can always feel free to request anything, but be understanding of the fact that some requests are easier than others.

In conclusion...

Art isn't easy, and as a community we're still figuring out how to integrate artists into the FOSS movement. I'm kind of rare in that I'm a good coder and a decent artist -- not great, but enough to have some understanding of the issues that artists and coders run into when trying to communicate. If you don't know how to make a request, come talk to us, or make a post in the OpenGameArt.org art requests forum. If we need more information, we'll ask for it. :)

Thanks for reading!

Bart K.

(BartK on irc.freenode.org -- again, you can find me in #opengameart).

Thursday, January 27, 2011

Developer Interview: Lips of Suna: What do you get when you mix Rogue with a dash of Minecraft, Steampunk, Cooperative gameplay, and a generous helping of tongue-in-cheek humour?

Unknown 8:34:00 AM
According to FOSS game developer and Lips of Suna project lead Ari Mustonen (aka Nekotaku, amuzen) the answer is the perfect, intelligent, witty, dungeon crawler. As luck would have it he, along with the Lips of Suna dev team and supporters, have set about the monumental task of realising this vision, reaching a major milestone yesterday with their 0.2.0 release.



For players, Lips of Suna, or LoS as it's known, is a cooperative online, persistent dungeon crawler/RPG, with deformable terrain, procedurally generated dungeons,seamless gameworld, actual player skills instead of leveling, and witty storyline giving the the player and any friends online the opportunity to do battle along side the world's five races as they descend into the depth of the dungeons of Suna to save their world. Unlike a lot of other RPGs/FPS of various flavours success will really depend on knowledge, cooperation, strategy as well as skill.












The Freegamer team caught up with Nekotaku yesterday:





FG: The obvious question, of course, is why FOSS?

Because it's fun and convenient. The FOSS game development circle is somewhat small and fragmented but that and people generally being friendly and open-minded makes it easy to get into it. You only need to play by the few simple rules and you're a respected member of the community. You can host your project for free on a number of open source development sites, you can borrow useful code from incredibly many projects, you sometimes get free coverage on some popular sites, you can get lots of new users with next to no extra effort by getting packaged by Linux distributions, and so on. All that just because you're FOSS. It's a great choice for a hobby project even if you're not into the ideology itself, I think.

FG: LoS has gone through a lot of changes and re-iterations over the years, what is your overall vision for LoS; what would you like to achieve and how has this changed from the original vision

The grand vision when we started the project was to develop a manga style cooperative multiplayer RPG that had no experience levels or other character progression mechanisms. We wanted to have fun time making a game that one can pick up at any time and play with one's pals or some random people without having to worry about being rejected due to not being in the same level with others.

I think that the core concepts still stand strong but the details were horribly blurry for the longest time. The grand vision itself is easy to set in stone but guessing how things will fit the big picture and work together in the more detailed level is challenging. Quite a few smaller ideas have been amended on paper as it has become evident that they won't work as is. There have also been several occasions when an idea already being implemented, despite sounding good on paper, turned out to be so infeasible that it required major changes or had to be ditched entirely.

FG: You have implemented a lot of rather cutting-edge technologies in the LoS engine; how has surfing the cutting edge treated you so far and what new tech would you like to see gain traction?

I'm not sure if any of it is really that bleeding edge. The graphics code is probably the closest to it, though since the graphics hardware I target is already one generation behind the capabilities of the graphics card I have, it hardly feels like that. Most of the things in other areas have been done before too by other games.

Lots of things I did were new to me, though, and I had lots of fun researching and testing them. Especially in graphics programming, the newer things tend to be very easy to use, to the point that I actually regret not going for OpenGL 3 earlier. For example, implementing hardware accelerated skeletal animations only took one day to get working. There's a number of nice features that help you speed up the graphics code while actually making it simpler.

I don't know if other projects should bother much with the fancy new technology. On the other hand, when you have modern graphics card, it would be nice to have games with pretty graphics but on the other I'd rather like to see games focus on the basic gameplay and the content rather than some engine features. However, if you're interested in the new tech, I think it's not a bad idea to dip into it a bit, learn something new in the process, and implement a couple of things that your game can use.

FG: What is your vision of the future of FOSS gaming? Where would you like to see it go, and where do you think it will actually end up?

I'd like to see FOSS games explore difficult and controversial subjects more instead of obsessing over moral and political correctness. I think one of the great things about games is that you can experience harmful and disgusting things without real harm. However, FOSS games offer nothing to people who crave for such experiences since it's all but impossible to even find a character who says "fuck" or to hear a dry mention of sex, much less to see the real deal.

I think FOSS projects generally have a great sense of professionalism and want to look very organized and serious. The ideas tend to be traditional and tame most of the time as well. Even though I'd like to see fresh and radical ideas for a change, I doubt it's ever going to be commonplace. People make the kind of games they like themselves and organize their projects to benefit their own needs. Career motivations and maintaining a neat public image of oneself are big factors so it takes a lot of courage and nerve to radically defy the status quo.

FG: LoS has a rather... unique... sense of art direction. Are there any specific inspirations design wise in that regard, and how do you think it has affected the development process?

The project was founded by two regulars of a tiny anime and manga community so the choice of art direction was pretty obvious back then. We never concerned ourselves about whether the mainstream would like the style and what they'd say if they didn't. It's just me now but I still don't let the external pressure limit the artistic freedom.

Actually, there's no external pressure to speak of. Everyone in the FOSS circle is so timid that you can go for years without anyone being able to find the words to bluntly say that nudity and panties offend or intrigue them. As long as you have thick enough skin to ignore the regular trolls, you could easily be even more blatant without any meaningful consequences.

Over time, the art direction has been affected a bit by a couple of other games, such as Oblivion and its mods. It's eye-opening to witness someone make the skimpiest armor and others not only not complaining but rather endorsing it hundreds of times and downloading tens of thousands of times. I think people with a more adult taste are a legitimate target audience for a FOSS game, and an easy one even since there's no competition at all.

FG: LoS has it's own custom written 3d and game engine, whereas there are loads of open source engines of all shapes and forms already in existance. Why did you choose to go this route, and would you do so again if you where to begin a new game project?

Learning new things as I develop is a big factor to me and graphics programming has always intrigued me. I think the biggest reason why I chose this route was the educational aspect. Researching all the new techniques and learning the ins and outs of different rendering techniques has indeed been a lot of fun. Studying and testing all the different things took quite a lot of time but the 3D engine code itself is only a bit over 9000 lines of C code currently. Writing that with the knowledge I have acquired wouldn't take very long so I think it'd depend on circumstances whether I'd write my own engine for any future project or if I'd use an existing engine.

Using an existing engine isn't always so easy either. If you have a very specific list of requirements and some of them are less common ones such as dynamically changing terrain, heavy use of paged geometry, and modifying meshes on the fly, it's hard to tell if any given engine will fit your needs and if it doesn't, how easy it'll be to add the required features. Other factors such as uncertain requirements, ease of integration, quality of documentation, complexity of the code base, and so on can also significantly impact how well the engine will work for you.

I use quite a few libraries already, though. ENet for networking, SQLite for saving and loading data, and Bullet for physics, for example. The smaller libraries are easy enough to use but Bullet is giving me a lot of trouble and I'm afraid that doing things such as collisions responses for the terrain properly would require doing something unsupported such as implementing your own collision shapes. It's quite a pain and terrain physics are quite broken as the result.

I don't think there's one right way to sort out the engine. If you think that you'll have more fun if you write the engine code yourself and you'd like to take the time to write an engine that solves the problem well, write it yourself. If you don't have interest in engine development and don't mind some rough corners getting on the way of development of the actual gameplay and content of the game, use an existing engine or glue several libraries together to make one. Whichever route you take, it'll still take several years to complete an ambitious project, I think.

FG: Terrain deformation, has become fashionable, through Minecraft's arrival (1 million units sold and all that).. We understand that LoS will feature deformable terrain, but work was done far prior to the Minecraft craze. What were your inspirations and in what areas in the game is terrain deformation used?

I think Nethack was the original source of inspiration. The idea was to support mining in a similar fashion, but in 3 dimensions, to allow players to move more freely and gather resources in interesting ways. Since then, Dwarf Fortress has done good job at utilizing the third dimensions and, judging by gameplay videos, Minecraft seems to have a lot of interesting ideas too.

I think 0.2.0 is the first time LoS has had any real success with voxel terrain. The previous iterations had serious scalability and usability issues but it's finally getting to the point that you can have a full-sized map without the game crawling to halt, and you can do something useful with it. Getting it to work has been quite an exercise of trial and error and finding compromises and it still isn't quite there yet.

FG: You and other projects such as 0ad have chosen to get playability and enjoyability in sooner rather than later. What are the advantages and do you reccomend adjusting development cycles for all FOSS projects? 

This may be an accurate statement in the grand intergalactic scope but from my point of view it took a long time until the actual playable bits started to emerge. I feel that LoS is actually the opposite since it wasn't much more than an engine technology demo until late last year, which is when I decided that the internals were good enough to be able to support the game. I think it'd be more accurate to say that LoS has simply chosen to get playable.

However, I do think that you should aim for playability as soon as possible, especially if you want to have contributors or have existing team members and you want to keep them around. If you're already working alone and don't have a lot of faith in your recruitment skills, it might be the same to get the most disruptive internal changes out of the way now when no one's around to get affected by them.

The timing can vary but you need to decide at some point that you're making a game rather than an engine, a technology demo, a portfolio or something else. Some genres are more forgiving about it than others but I think that at least content heavy game types and games with complex game mechanisms will never get done if you don't consciously start focusing on content and gameplay. RPGs are particularly nasty in that respect since with the engine alone you just have a fancy walking simulation and the interesting stuff is all content and intricate game mechanisms put together.

FG: 3 years of development is a long time, and you were involved from conception through the hard initial periods of coding without much in the way of tangibles to demonstarate and gather contributions with, through to to geting to the stage where the project is taking off. You would undoubtedly have garnered some insights on avoiding the slings and arrows of FOSS development. Any tips for FOSSers at the beggining of that journey?

This is probably the most useless tip ever but projects die when they're killed. I'd say the biggest factor determining how successful your project will be is how much and for how long you work on it. An hour or two of useful work per day with no end keeps the project healthy and eventually leads to success, whereas affairs with the opposite sex and other real world phenomena increase the chance of failure.
.
Now, following from that, I think that you as the developer are the primary audience of your own game. If you design the project so that you will love to work it for years to come, it's more likely to be a success than a project that's designed to appeal to the largest possible audience but the developer isn't ecstatic about it. This is because the former will probably finish whereas the latter will likely die when the developer loses interest.

FG: Who would you like to thank?

#freegamer for wasting so much of my time with all the interesting discussions and for allowing me to waste your time with random status updates and pointless rants





The LoS development comminity is a very accesible place with no formal obligations or requirements where people can come and contribute with feedback, 2d/3d art, music, scripts or code in whatever areas of the game they feel like. So head over to their forums, and visit their wiki.

Thursday, January 20, 2011

How to Advertise your FOSS game

Unknown 7:44:00 AM
Have a nice new FOSS game that no one knows about? Make it known through these (rather obvious) tried and tested ( not really ;) ) methods:

Forums


A Delicate Balance
Make a nice generic post with a couple (not too many!) screenshots, relevant links etc. Also, remember to stick around and answer questions and generally contribute to the forums you are posting to, you don't want to be a spam bot ;)

Post on the FreeGameDev forums! Fastest way to get an article on the blog, and a bunch of helpful people willing to give you a hand with development ('' previous parenthesis ;).

Linux Distro Forums: Always a safe bet (links go to relevant gaming sections)



Propaganda


0A.D. video posted in 2007 that still attracts players

Make Video for Advertising goodness! Videos > Pictures > Words when it comes to marketing.
Upload to Youtube/Vimeo/Vidsiteofchoice and attach it to the posts you make on the sites mentioned below


Post everywhere! The more places you have presence, the more eyeballs fall onto your work, the more players you attract. There are lots of places to post to, so give this task to some of those pesky FOSS hangers-on who don't code or make art (Like me! :D)

General game databases:

  • ModDB / IndieDB : ModDB recently split into two, IndieDB is where you want to post if you have a standalone game. Also, these sites are huge so it will be harder to get noticed
  • GameBoom : The site sponsoring OpenGameArt, Gameboom wants to host communities for (preferably FOSS) games
  • IndieGameMag : Haven't had success with this one, but it allows for user submissions so...
  • The Indie Gaming Source : Another database for indie games, nice categorization and more indie than IndieDB ;)
  • GameJolt : For freeware games only! Gives you hosting space for files as well, kinda like sourceforge like site for games - the development tools :P Has a special section for open source games



Linux Only

If the game runs on Linux, here are a couple of Linux gaming sites where you can post to:

  • Linux Game Database  : Nice database for all kinds of Linux games
  • Gaming on Linux : A community like news site for Linux games
  • Linux Games : Another blog (hiss :P) that allows for user-submitted articles
  • Penguspy : Another database like site but with strict quality moderation 
  • HappyPenguin / LinuxGameTome : Most well known Linux game database, it has been down/sickish of late though... It's served the community well though, so lets not talk bad of it 


Web Aggregators:


Kind of hit-or-miss because they require people to vote for you... Getting your audience right is key, reddit's subreddits are good for this

  • Slashdot : The g.old standard for geek/open source news aggregation, a tad difficult to get published though 
  • Reddit : /r/linuxgaming , /r/gamedev , /r/indiegaming , are good subreddits to submit too, not all of them at once though, that'd be spammy ;)
  • FSDaily  : A free software specialized news aggregator
  • Flattr and YouTipIt : Aggregators with cash backing (but more on those later ;)
  • Wikipedia : If you're lucky, Wikipedia can point a lot of people at your game. However, it isn't really a place to market your game/service, so you have to have some kind of proof that your game is noteworthy


 Micro/blogging

 Use Identi.ca / Twitter to get news to your readers fast. Identi.ca has nice groups, such as !fossgaming and !linuxgaming that you can join and post news to. Having timely updates show users (ones that don't know about commit logs) that the project is active, and all that social media stuff :P

Blogging in general is good as well, keep people updated = keep people excited and interested = get people playing (for example proprietary/open source game developers Wolfire)

Development Centric Advertisement

Knowing who you want to market to is an essential ingredient to a successful campaign; while you might pick up developers on more general sites, specialized, development centric sites have a far higher ratio of developers/users


  • Freshmeat : A database of open source software, with lots of game projects on it
  • Sourceforge : The biggest open source project hosting site (not researched, ain't Goat an exemplary journalist), it does have the best project discovery features as well. You don't necessarily have to host your code here; it's still a good place to have a presence on
  • Engine forums: If you use Ogre, post on the ogre forums, if you use blender, BlenderArtists is a good place etc. Not a very difficult concept ;)
  • Engine Databases: If your game is codeveloped as an engine (which is horrifyingly prevalent) DevMaster is an example of a place to post your engine on. Rather successful in my experience with Syntensity
  • Gamedev.net : A pretty active game development community


Release Early, Release Often!


And repeat all steps above on every release. Golden rule and all that

More!

The internet is big, Goat's memory is bad! Comment below if I missed anything and I'll update the post.. Or maybe move it to a wiki page...

Pages