Sunday, September 27, 2009

Open source 3D RPG updates

There has been some activity in the most prominent free (as in freedom) software 3D role-playing games DungeonHack, jClassicRPG and Radakan.



DungeonHack





Green, water and village in DungeonHack [more]

DungeonHack (DH) 0.10 has been released in form of win&lin 32bit biaries and a few commits later I was able to compile the game on my 64bit Arch Linux machine. It is the first release of DH that does not rely on non-free libraries.



I played the game for the first time and I was positively surprised. Not only can I move around in the nice-looking (endless) landscape but also fight, cast magic, pick up items, enter houses and dungeons as well as talk to npcs. Physics also work (see barrels video below). On the downside: the current code is crash-happy and there is little content: In toto three houses, two dungeons, two enemy types, two items, one non-player character, one spell).




Zombie roasting รก la DH

The next DH aim is to create a typical RPG village, add some inventory and status GUI and to write a dialog system (the current one runs on boxes). Maybe you feel like giving them a programmer's or artist's hand at achieving one of these or other goals? Then enter the DH chatroom and/or forum (which I find one of the most entertaining floss game forums to read).






When test-playing DH, it appears weird to me that enemies' bodies disappear when eliminated and wish they would drop and also drop loot, which I could then collect into the (also not yet accessible) inventory. When playing the latest release or watching the videos, is there something you feel is missing?



jClassicRPG




Shrine and road in jClassicRPG

There has been much activity lately in jClassicRPG's Subversion repository. There are texture-roads now, the map not only shows terrain type any more but also infrastructure (roads and settlements). Shrines and Igloo buildings appear in the game world and a yeti creature has been added to the game's repertoire.






Usability has increased a lot through mouse menu integration and addition of buttons for map, character status etc. Though the drop-down menus don't act as the ones most of us are probably used to, the GUI-usage learning curve has dropped a lot. I especially like the tool-tip system, which shows usage instructions for the different controls or details about fields in the map. If only the font was better readable...



If you would like to help jClassicRPG grow, I can think of at least one Blender-modelling task: give attack animations to this gorilla. Apart from that you can find ways to help on this page and in this thread. And if you're hardcore, also read the TODO! (Search for "[ ]") :D







What I would like to see in jClassicRPG are cloth/armor items and a menu for equipping my party members with them. (EDIT: already there - left click character portraits.) Also the shiny flowers scream to me "pick me" and I hope that will be a gameplay option some day. Can you think of content or features that would enrich the game?



Radakan




Panda3D integration in Radakan

Radakan's developer announced a while ago, that the 3D view of the game will be postponed and a text/GUI interface would be developed first. Now Panda3D, a fun, BSD-licensed, python-powered game engine is being integrated.



What Radakan's developers could use help with now is exporting their already available media [.7z archive] and some media from OpenGameArt to the Panda3d .egg format. Instructions here (press "next" multiple times to see instructions for various 3D applications).





Radakan's 'behavior' editor
I do not care too much for the 3D part of the game (at least not yet). I would prefer the engine to be more stable, so I could try out the quest and add some detail to it using the behavior editor. What do you think? Is implementing 3D worth the time or would you rather prefer the gui/text-based framework to get developed further?



Off-topic



A little hint if you ever feel like making a gameplay video yourself: I prepared the videos for this post (and other posts) using glc to record and mencoder to encode. Sometimes (for non-OpenGL games) I use recordmydesktop to record. Feel free to ask in the comments or forum if I can help you with making videos.



Another little hint: If you are unable to use YouTube but curious about the videos and can play back mp4 files (vlc and mplayer can handle them), use youtube-dl to download videos for off-line playback.

Friday, September 18, 2009

NAEV 0.4.0 review


NAEV Items [more shots]

NAEV 0.4.0 is out, a game of the space trading and combat simulator genre, inspired by the non-free Escape Velocity. Win32/lin32/lin64/mac binaries are available here.



The new version has parts of the user interface changed and is better accessible, for example through in-game gui keybind editing. Three aspects of NAEV show that usability is a priority: 1) the tutorial is informative without overwhelming too much 2) most combats can be evaded through the run away-tactic (this might be unintended, but definitely liked by me). 3) The automatic jump system, that allows consecutive jumps to systems without having to manually repeat standard maneuvers gives much relief to the player.



The changelog also lists better-looking visuals as well as new sounds and music tracks. As a bonus, all the art in the game is licensed under Debian-friendly licenses. [license.txt: audio, visuals]



Gameplay



Wingmen fighters in action

In NAEV the player starts with a small trading ship and needs to earn money to buy new vessels and equipment. Trading or patrolling missions are the key to income. Though I'm no fan of playing lots of similar missions in a row, I did feel satisfaction, when discovering the most effective way to earn money with them: play patrolling missions and a lot of them at the same time.



Along with the repetitive, generated tasks, there are some original missions of different difficulties that allow the plot to progress and/or provide alternative methods of earning credits. They alone are reason enough to give NAEV a spin. The developers want to include more and more story missions, so contact them via IRC or mailing list if you're up to some sci-fi 'quest' writing! :)



A third (or is it fourth?) method of increasing wealth is observing prices and buying where prices are low and selling where products are expensive. However, there is not much of an economical simulation implemented in NAEV yet, so I wouldn't recommend this path for now.



Yet another battle
Scout ships, fighters and battle-cruisers are available in the shipyards of NAEV, different kinds of energy and missile weapons can be bought, various upgrades can be installed. The brainless method of costlier=better didn't work for me, I had to balance the effects and firepower against speed an maneuverability. Running away is more enjoyable to me than fighting and waiting ten seconds for my ship to turn.



The coolest item in the game is the fighter bay. It allows to host small allied ships in your cruiser. After 'shooting' them into space, they will attack enemies and can be controlled with a few simple commands. Place two is occupied by the afterburners, which will give a temporary speed boost at the price of having the view shaken.



Interviews



Next, two questions for the current top 5 NAEV contributors (and two extra ones for the lead dev):




Q1: What is your role in NAEV development?


bobbens: I am the lead developer of naev.



Deiz: I do a bit of everything, as required.



Done graphics, sound, missions, etc., but most of my time has been spent on making the sprites look nice and getting the game to a fairly balanced state.



For sound I mostly hunted things down and vocoded a few sounds to get the results I wanted. For graphics, most of the ship models are sourced from Vega Strike, many of the outfit graphics are based on models by Joss that I've heavily hacked up.



brtzsnr: I coded a couple of features that NEAV lacked (one of them is the faction disks), now I'm working on 3d-models and sometimes I fix bugs. I wish I had the time to implement more complex features.



stephank: I wrote some code to save configuration. It was unable to at the time.



BTAxis: I've provided some game content (two missions and half a dozen systems so far). That is the extent of my active role in NAEV's development. However, I also occasionally put forward proposals for new or improved game mechanics on the project mailing list, and if I can make them convincing enough and/or talk bobbens into seeing things my way, they may one day find their way into the actual game. I enjoy doing that. Thinking up game mechanics, making them work in my head and fitting them into a bigger picture is fun for me.



Q2: What do you want the game to become in the future?


bobbens: I want the game to be as good as the memories of my childhood playing original EV made it to be.



Deiz: Ultimately I'd like to see NAEV be appealing to a broader audience. At present if you're not somewhat familiar with the Escape Velocity/Elite/Freelancer/etc genre there's not too much to grab your attention.



brtzsnr: I hope NAEV to become more RPG-like (have a crew with different skills tree, say one engineer, one pilot, one commander, etc). Also I want more non-linear/intricate stories.



stephank: I played a lot of Escape Velocity, so that's why I got interested in NAEV. It looks and feels a lot like EV right now, but it looks like the (active) developers are mixing in interesting features from other games in the same genre, and even innovating. I would like them to surprise me, more so than me influencing them. :)



BTAxis: I already mentioned the proposals I wrote up. They're essentially the answer to this question, or at least they're the story so far. But if I'd have to explain it in two words, I'd say that I want naev to be a space exploration game that offers a high degree of interactivity while at the same time providing and engrossing and believable world for the player. That is not an easy goal to meet. Most space games that I know of sacrifice one aspect to pursue another, and in the end NAEV may have to as well. But at this point in time, I believe it's doable, and I hope to be part of making it happen. [For more information check out the proposals on NAEV's mailing list]



Q3: What made you start the project?


bobbens: I started the project about 6 years ago by myself when I realized that there was no game like EV (which I had played extremely intensively as a kid) on linux. EV also had major gameplay flaws that should have been worked around.



Since I had no projects at the time I started out with the ambitious NAEV, which over the years has slowly been taking shape and was released recently (one year ago) to the general public.



As of 0.4.0 I'm starting to be pretty impressed by the results.



Q4: What do you think of Star Control II (The Ur-Quan Masters) as an example of a EV-like GNU/Linux game?


bobbens: I only played Star Control II after someone mentioned it to me about 6 months ago. It does seem to have a lot of EV features, but it seems to lose a bit the fast paced-ness of EV and customizeability of the ships. However it does have other great features that EV lacks like the zooming in systems and the dialog use.



It's good to find good features in other games and use them for inspiration in NAEV, it's evolved enough that it no longer is an EV clone. It also takes from all over while trying to keep itself unique.




Latest NAEV gameplay video



Thursday, September 10, 2009

OpenMW interview with Nicolay Korslund


Early OpenMW GUI implementation

OpenMW is a re-implementation of the (non-free) TES3 Morrowind game engine, written in the D programming language. The engine makes use of OGRE and other open source libraries, features an own scripting language called "Monster" and the latest release has the version number 0.6.



Out of curiosity, I asked Nicolay Korslund (the lead developer) one year ago what his motivation for writing OpenMW was. Later I decided to ask some more and now you can finally read the interview, in which Nicolay tells us about Git, OpenMW's development and whether or not to expect original games as a result of the OpenMW project.



The interview




Q1: What is your motivation for writing OpenMW?


Initially the project was started a few years ago (somewhere around 2004-2005, don't remember exactly), out from desire to improve a game I loved and from frustration with bugs and issues that made it less fun than it could be. Having been a programmer for about a decade, I felt that most of the bugs were unnecessary and could easily have been fixed if Bethesda has devoted the resources to it. I started getting that curious 'I could do this better myself' feeling, that you sometimes get when you've been doing a craft for years and aren't satisfied with someone elses work. (Not that I think Bethesdas coding is shoddy in any way, they're a company with limited resources like any company, and sometimes you just don't have the money to improve thing ad infinitum even though you would like to.)



To keep up (or even start) a big project such as OpenMW, though, you'll usually need more than just one big motivation to drive you and keep you going. For example, I knew from the outset that this project was something that others would get excited about, and that's a big motivating factor. The amount of positive feedback I've gotten on OpenMW since release has been pretty stunning, and it really helps to know that what you're making will affect others in a positive way. I had always wanted to contribute to open source software, but so far hadn't found any project I burned for, and none of my own projects ever made it to the point of release.



Another motivation you'll need of course is the joy of working on it - it's a hobby after all. I love programming, I love improving things, and I love reverse engineering file formats. Thee big pluses when you're doing a reimplementation. It also forces you to learn new skills - I've always wanted to learn more game development, such as using a 'modern' 3D engine, but I never had any real motivation to do it before I started OpenMW. On top of all that I had just fell in love with the D programming language, which blew me away to the point of abandoning C++ literally over night. D had (and still has, to some degree) a desperate need for more attention getting projects, and I wanted to help with that. I knew there would be challenges with using such a new language, but I was determined to show that none of them were show stoppers.



Q2: Are other people involved in OpenMW or Monster?


Yes, quite a few really. I started a mailing list for OpenMW about a year ago, after initially getting very positive feedback on the project. The list now counts over 130 members, and even more pay attention to the project through various forums. Only a very small fraction of those have contributed code of course, but many contribute other things like testing, knowledge about the file formats/mods, or simply through feedback and ideas. For Monster I've intentionally run a somewhat lower profile, but there are a few of early-adopter-type developers who are using it in their own engines. If things go as planned though, the two projects will become much more intertwined in the future, and I hope that Monster can contribute a lot to OpenMW (and make my job as lead developer a lot easier.)



Q3: How did you find those people? Or was it them who found you?


I've done very little 'advertising' for my projects - I think I posted about OpenMW on exactly one forum (the OGRE forum), the rest took care of itself. I had to create the mailing list simply because I couldn't keep track of all the individual conversations any longer.



Q4: Are you going to make OpenMW usable with non-Morrowind content, so that new games can base on it? If yes, will you make such a game?


It's very possible that the project will spawn an engine that's usable for other games, but we don't have any specific plans for that right now. Although we are on friendly terms with another project that uses much of the same technology, called DungeonHack. It's very likely that our two engines will share some code in the future.



Even though we're not working on making a generic game engine, it will likely be possible to make much more extensive Total Conversion mods for OpenMW than for the original Morrowind engine. And the scripting features we're planning will let you bend the rules to the point where you would probably not consider it to be the same game anymore. Personally however I have very little talent for game creation (except for the coding part), so I don't think I'll be behind any of those mods myself.



Q5: You've picked OGRE as OpenMW's 3D engine. What about the alternatives (Irrlicht, jMonkeyEngine, Crystal Space, writing an own 3D engine...)?


I think probably all those (and many others) would have been good choices, except the last one. Writing a new engine and getting it to a point where it could compete with OGRE et al. would have taken years, and IMO it's usually a complete waste of time unless you're doing something really unique with it. There are so many good and free off-the-shelf alternatives out there (too many already...), and if you need some feature that they don't provide you can usually add it in yourself in 1/100th of the time it takes you to write a new engine from scratch.



Q6: You recently switched to Git from SVN. What motivated the switch?


Popular demand :) But after trying out Git (and taking the time to understand how it works), I fell completely in love with it myself. SVN is now ancient technology as far as I'm concerned. And with git-svn, Git is even a better Subversion client that Subversion is. However since it's so easy to integrate the two, we are keeping the SVN repositories on-line for the foreseeable future, and existing SVN users don't really need to change anything. I know it takes a real geek to obsess this much over a version control system, but that's how it is :)




More development information



You can find some technical details about OpenMW's codebase on its ohloh page.



Latest OpenMW video