User Tools

Site Tools


Sidebar

Current version: 0.8.4
iOS: 0.8.1+
Android: 0.8.4 (Play/Market version is obsolete!)

Github Coding has become social! Fork us!


News

Latest commit

https://github.com/gemrb/gemrb/commits/master

# ideally, but does not work on sourceforge (does elsewhere); even http proxies don't help rss>https://github.com/gemrb/gemrb/commits/master.atom 1 author 30m sidebar for frequently accessed stuff

newgame:newgame

New Game

This page should serve as a list of needed things and ideas for creating a trivial GemRB dataset (aka “game”).

The goal is to create a completely free (in the OSS sense) dataset which could be distributed with GemRB and also serve as a reference for writing documentation if we ever get to it. Preferably it could be done with free tools, so that the process is repeatable by users.

Options

There used to be a project called DragonLance Total Conversion (DLTC) whose goal was to create a complete game for the (original) IE engine. Unfortunately it's not useful for us, because the licence was certainly not free and it required the original datasets to a large degree. It's now dead, but the files are still available.

Needed Resources

Due to the Free/Libre software nature of GemRB, some disclaimers apply. No original data can be redistributed, so for any Free game effort, the art has to be done from scratch (modifying the original art does not exempt it). The game data is the biggest issue, since the engine can be extended much more easily from our (coder's) point of view. Scripting, story-telling and dialog is also something the modding community is well versed in, so it all comes down to classical art.

This includes at minimum area backgrounds, character animations, gui skins, various icons (and cursors), music and sounds. While this amounts to a lot of work, do not forget that some appropriate art already exists out there (eg this or this and this) and possibly just needs a conversion to one of the IE formats.

But, there is also some selfinitiative shown and we already have some new character animations (one of the hardest/most tedius things to do):

Also area graphics:

Here's a discussion about the details of creating them. You can also find a begining of a 3d modelling tutorial here, with a focus on area graphics.

There's a special namespace (folder) on our wiki, where myownlittlworld prepared some templates to get started. It's practically empty now, so you (yes, you) are encouraged to contribute ideas, wishes etc.

So, to create a new game or just a demo that can be bundled alongside GemRB, both more artists and some coordinators are needed, since there is a lot that can be salvaged from existing efforts.

  • At least one avatar, preferably two. It does not have to be pretty, it just has to be able to express stand and walk animations. Could be done in Blender with some GIMP work. The avatars available on the net are mostly nonfree, unfortunately.
  • One or two rooms. They could be connected with a door and should contain some containers.
  • Item or two.
  • Some simple GUI and associated scripts. If the scripts are simple enough, only a small amount of windows is needed - intro screen, game window and e.g. inventory window could be enough for a humble beginning.
  • Half a dozen of GUI feedback sounds like pushing a button or closing a window. At least the former one is needed.
  • Optionally a musical score. It does not have to be a great piece of art, something atmospheric would be Good Enough™. Look up Nox Arcana on YouTube for ideas :-). audio
  • A minimal set of IDS and 2DA files to make the engine happy. Probably a whole lot of them is required now, but in many cases a skeletal one would hopefully suffice.
  • TLK and KEY files. Should be trivial to create.

Some of this is already done for the bundled demo stub, so check there (/demo/data).

Potentially these item description and portrait graphics could be used (consult the author): http://ruloc.deviantart.com/gallery/?offset=72

Other

  • GemRB internals are currently tied to the PlayerCharacter structure, which makes us depend on AD&D rules to some degree. Greater separation would be better, like moving things (if possible) to a plugin.
  • Use the bundled demo as a starting point
  • WRT the ruleset, Pathfinder looks promising and is licensed under the Open Game License
  • WRT the setting, not much thought was given to it, but there are also (semi)free ones out there like Porphyra

Potential New Games

While it would be great to focus development on one game at a time, ideas often occur for other games that are just too good to let go. This section is for those ideas, so that they can be recorded and not lost. If you're submitting a completely new idea, it might be good to see if your idea can eventually be incorporated with an existing project in some way, in effect bringing to bear the best traits of both. If you're going to hassle about licensing issues, please license your content under the GPL 2 to allow the greatest utility to the GemRB project… If indeed, you want GemRB to use it.

New game development should be modeled off the game template, this gives you an outline and a couple questions directing you where to start creating an entire world, it's inhabitants, and major events. Other, more realistically ambitious templates include: Plots, Characters, Locations, Items, and Capabilities.

If you're filling out a template, you should fill out the sections relating to the idea you're adding and then provide appropriate links to the ideas in the other sections (if you're making a character, fill out the character information, but just provide a link and short description to the town the character lives in - fill out the town's information on the town's own page).

Lists of ideas for a new game

Technical GemRB start up details

When you run GemRB, here is what happens:

  1. The core initialises, loads all the plugins and preloads some data
  2. The main game loop is started
  3. Start.py in the game's guiscript directory is run
    • LoadGame(None) will set up a new game by loading the default GAM file and linked resources
    • Party members can be created with CreatePlayer()
    • EnterGame()
  4. MessageWindow.py is run
  5. Game is up and drawing
  6. QuitGame() and Quit() to terminate

Other guiscripts are run on demand, but mostly by direct calls from the guiscript side.

Other technicalities

  1. When you need to use existing GemRB actions, add their (bg2/iwd2/desired) signature to data/action.ids. Same holds true for trigger, instant and object IDS files. You can look them up on IESDP (see sidebar).
  2. You can add new strings to dialog.tlk with WeiDU --nogame --strapp “String1” demo/dialog.tlk --tlkout demo/dialog.tlk and look them up with WeiDU --nogame --string 1 demo/dialog.tlk.
  3. New actor animations require new entries to avatars.2da with a matching animation id and type.
newgame/newgame.txt · Last modified: 2015/02/22 16:01 by lynxlynxlynx