Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

VB?

Adam P

Augur
Joined
Oct 10, 2004
Messages
63
Location
Silly American
What programming language did you use to make this game? Furthermore, what program for graphics do you use?
 

Wolf Mittag

Wolf Mittag Software Development
Developer
Joined
Dec 18, 2003
Messages
331
Location
Shanghai
Hello AdamP, I wrote the Teudogar Engine in C/C++: about 140,000 lines or 2,400 pages of C/C++ code; printed on endless paper, that'd result in a 650 yards / 600 meter paper trail. With that language (and a clean, disciplined programming style), I found it sufficiently easy to keep control of all this code, to keep it working interdependently, and to keep the entire project reasonably bug-free. And of course C is powerful, and enables you to program almost everything you could possibly think of, in a very concise and convenient way.

As to graphics, Arne mainly used PaintShopPro, and for some things AutoDeskAnimator, while for final touches, organization, additional animation etc we used an in-house painting program.
 

Anonymous

Guest
Adam P said:
ah, nice, many long hours I suppose
Hi, Guys !
Sorry, Wolf !
But MAINLY i used the Autodesk Animator
(a powerful programm from the early 80´s)
and for some stuff i painted in Photo Shop or Paint Shop !

Greetings to all TEUDOGAR players !
 

Adam P

Augur
Joined
Oct 10, 2004
Messages
63
Location
Silly American
So, did you create a program to create maps, monsters, npcs ect. or do you manually put the variables into the code(or attached files).
 

Wolf Mittag

Wolf Mittag Software Development
Developer
Joined
Dec 18, 2003
Messages
331
Location
Shanghai
Yes, there's an in-house Developer's Version of Teudogar with a game world generator and editor. To create a location, you'd first paint a detailed map, much like what you later see in the automap screen, only with different, specific colors for everything, e.g. different shades of gray for wall type A/B/C/etc, different shades of green for forest type A/B/C/etc, and again different colors for floor type A/B/C/etc, earth, grass, swamp, and so on. You'd also draw in markers defining the outlines for the roofs of the houses, markers for doors, beds, columns, cattle stalls etc, as well as special markers for rivers and brooks.

Then you'd run this graphical map through the generator, and thouroughly check (walk around) the resulting basic game world: Does it feel right in natura - e.g., are distances between houses and the size of the houses right? Suffiencent space for all NPCs you later want to live there? Does the resulting settlement as a whole feel natural? and so on. Usually, you'd return to the painting program dozens of time, move some houses, correct some roads, resize other things etc, then re-generate and re-test the whole thing, until you feel it's really perfect.

Next step, you'd define the NPC types you want to be available in this location, and place all NPCs in their respective houses and define their daily schedules: When creating an NPC, you're automatically asked where you want him/her to work/spend his leasure/eat/sleep etc, and define this by simply walking him there. You'd then set a dialogue number and select a portrait for this NPC, as well as make some other settings (specific character type - farmer, warrior, nobleman? hostile towards player? surrender or fight til death? and so on) within the NPC edit screen. Finally you'd assign property within the house information tables and assign someone to look after the cattle.

Now the real work begins - manually furnishing the game world; placing and filling boxes and chests (and defining production), fireplaces, ash and dirt and rubbish, cooking gear, farming equipment, tools for craftsmen, and thousands of other things. This takes days, not just hours (depending, of course, on the size of the settlement). Then you'd have to test-play everything, and when that's done, some final graphical touches, to make the settlement look really inhabited - more garbage, carelessly dropped personal items, broken pottery and so on.

I've been considering releasing the game world editor, but as you can see from this brief description, that'd require writing a huge amount of documentation, as well as adding hundreds of additional checks and data verifications, more convenient menues, some translations etc - i.e., a lot of work, and I think, apart from some basic curiosity (how do you create the game world?), few people would have real interest (i.e. be willing to buy it), so it probably wouldn't be worth the effort.
 

Adam P

Augur
Joined
Oct 10, 2004
Messages
63
Location
Silly American
Nice, nice, I have messed some with map creation, I took microsoft paint, then made a map using green for grass dark green for trees blue for water, so on, then hap a program read the file, set up an array and interpret the data into different map tiles, and finally load the different graphical tiles for the respective colors, I definately need to consider how to use different intermeshing tiles, perhaps make it randomize as it interprets, between 10-12 different tiles, or perhaps only when it draws. How did you make the different tiles look right? You placed them individually?
 

Wolf Mittag

Wolf Mittag Software Development
Developer
Joined
Dec 18, 2003
Messages
331
Location
Shanghai
Hello AdamP, sorry for my delayed reply. Indeed, at first, the very same tile is placed for every tile-type-color. Then, in a second generating step, this basic tile is automatically changed to one of a dozen or more alternative tiles for that ground type (depending on neighboring tiles, and with different frequency percentages for each specific tile number).
 

Adam P

Augur
Joined
Oct 10, 2004
Messages
63
Location
Silly American
Wow, nice. My lazy butt would've just made one transition tile for each possiblity, which isn't a small feat. How many tiles did you end up with? Also, as I mentioned in my previous post ("All I wanted" thread) you have a really nice color choice, giving a mood, I notice this changes from times of the day, so is it more a hue mask that changes throughout the day and the true colors are never seen or are the colors made with a pretty general theme?
 

Wolf Mittag

Wolf Mittag Software Development
Developer
Joined
Dec 18, 2003
Messages
331
Location
Shanghai
Colors: Teudogar's graphics use an old-fashioned 256 colors palette, which is tuned down (reduction of brightness) according to time of day and vicinity of light sources. If you're holding a torch or standing close to a fireplace, additionally the red-value of all colors is increased a bit in order to simulate the glow of fire. (Mouse cursor, font and fire colors remain constant regardless of day/night and light source.)

Tiles: Teudogar uses about 1,500 different ground tiles, and about 3,000 object tiles. (DARGHUL: 2,050 ground and 3,600 object tiles.) That includes about 80 different tiles for earth ground (floor of the houses, paths and roads), and several hundred different grass tiles, some of these for transition between different ground types, and most just for variation within a type.
As a rule of thumb, within a radius of about 6x6 tiles, the same tile oughtn't be visible more than once; otherwise one would see repeated graphical patterns, and the resulting game world landscape wouldn't look natural. To avoid this, there are usually at least 2 or 3 different versions of every tile, some created by simply flipping/rotating the original, some with an entirely different graphical structure.
 

Adam P

Augur
Joined
Oct 10, 2004
Messages
63
Location
Silly American
wow, I expected far more ground tiles than object tiles, the rotated tiles, are they seperate images or did you implement code to rotate some of them?
 

Adam P

Augur
Joined
Oct 10, 2004
Messages
63
Location
Silly American
I did some looking, through the loaded memory on Teudogar, I think you have the same engine now, heh, there is a list of character types. Interesting, you still add to the Teudogar engine when you add to the Darghul, or you have some really weird characters in this game. ha, found some funny strings, too. I had assumed you would add the characters and creatures either in individual seperate files that c++ reads that way each would have specific character group only, however this makes since too.
 

Wolf Mittag

Wolf Mittag Software Development
Developer
Joined
Dec 18, 2003
Messages
331
Location
Shanghai
Some of the object tiles are used as add-ons to ground tiles, e.g. ash or dirt. The rotated ones are stored as separate images, too, in order to keep block-transfer to the graphic card's VRAM simple and fast.

As to the character types, the orcs and goblins you can find available in Teudogar are relics from some ancient piece of code that I took from the original MSDOS version of DARGHUL, just to have some basic values there for first testing of Teudogar's then-new character system. The "real" types like farmers, warriors, henchmen, noblemen, priestesses etc were added afterwards. (Of course for the new DARGHUL version it's quite convenient to have these old character types still in place...)

But the dirty hard-coded stuff you've come accross are only basic character type information tables. Each individual NPC is defined in the Game World Editor, and stored in the game world data files, decently separated from the C++ source code... (Even the hard-coded char info table is in a separate file; the only drawback is that it's a C++ and not a text file and thus requires the .exe to be newly compiled and linked after any changes; I haven't yet found the time to rewrite the code as to properly read in a data file for this table instead, but this could be done easily.)
 

Adam P

Augur
Joined
Oct 10, 2004
Messages
63
Location
Silly American
ah that makes much more sense, later I thought that maybe you considered adding these in during early stages of development, I did some hacking and managed to get some of the equipment that wouldnt be available until later in the game with the full-version :P
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom