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

Monday, January 27, 2014

Linux Game Awards: PotM March 2014 VOTE NOW!

It's time for another installment of the somewhat bi-monthly Linux Game Awards:

Project of the Month March 2014


The list of nominees is again quite interesting, so choose your favorite.

This months winner was 0 A.D. by the way... I guess we need to increase the promotion efforts a bit in case you weren't aware...

Tuesday, November 26, 2013

Linux Game Awards voting open now!

Quietly in the background a group of open-source and Linux enthusiast websites (full disclosure: including FreeGamer ;) ) has developed a new platform for promoting open-source games: http://www.linuxgameawards.org/

One of its regular features will be a monthly award and a related promotion drive for the winner on all affiliated sites.

Project of the Month January 2014

As a start, our community came up with the first 10 nominees for the January 2014 award and you can now vote for your favorite game of those here.

P.S.: One of the nominated projects, SuperTuxKart, had a new release today also. Don't forget to check it out and vote for them if you like it.

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.

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.


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