Skip to main content
GameDev.net gamedev.net
🔒 Locked

IanOut :: an open source Fallout engine searching for additional coder

Started by mvBarracuda Feb 3, 2005 at 4:26 PM 30 replies 14.1k views
Original Post
mvBarracuda
mvBarracuda
Hi guys this is my first post here @ gamedev, although I've lurked the forums since a while. We (2 big fans of the cRPG Fallout) try to create an open source engine that replaces the very old Fallout 2 engine so everyone can create own Fallout mods with a modern engine. The Fallout community is very active till today, although the release of Fallout 2 was in 1998. However there are still mod teams that try to create mods for Fallout and introduce new locations, weapons and characters. The main problem of working with the Fallout 2 engine is, that it's very hard to create mods with it because the old devs @ black isle (creators of Fallout) created the engine just for Fallout 2 and didn't thought about mod support. :( We're searching for a additional coder, and it would be good if he has some experience with tile based games, but not necessary. We're trying to port the Fallout 2 campaign to IanOut but we're in need of a program that converts the fallout 2 .map files to IanOut format. So if you're interested in helping us out, plz let us know :) Another problem is that Fallout 2 has a fixed resolution of 640 x 480 and only acm sound support and no support for modern gfx and sound formats. We created the engine on the basis of the old Fallout 2 .frm graphics files but support other formats like .frm2, .jpg, .png and .tif. And the engine supports .ogg sounds so that it's easy to create new sounds and music and ogg has no license fees. The whole graphics engine is already done so take a look @ our screenshots. The map editor is working too but isn't very user friendly. Round based combat already works but will be better scriptable in Beta 5. (the rest of our screenshots can be found here: http://nma-fallout.com/forum/album_cat.php?cat_id=12) The last Beta, IanOut Beta 4, features already multiple resolutions until 1280 x 960 and support for Lua scripts to easily script characters and events (quests). However the last release was over a year ago (November 2003) and we try to release the next Beta very soon but we've just got one coder :( Some informations about the used code basis: - Simple Direct Media layer - SDL_image for gfx - SDL_mixer for sound and music - SDL_net and net2 for future multiplayer support - boost libary - Lua for scripting - LuaBind for easy binding ATM our coder is trying to make the release compatible with Linux, because Beta 4 only works under Windows :( Is there anybody interested in supporting this project; I'm sure this is only interesting for you if you're a Fallout fan. But maybe there's somebody out there that likes the idea :) You can find our site here: http://www.ianout.de Our sourceforge site: http://ianout.sourceforge.net Our CVS: http://cvs.sourceforge.net/viewcvs.py/ianout/ianout_beta4/ :pserver:anonymous@cvs.sourceforge.net:/cvsroot/ianout module: ianout_beta4 Or forums can be found here: http://ianout.de/module-pnforum.phtml You can download the latest Beta here: http://prdownloads.sourceforge.net/ianout/IanOut-0.8.5.1-Beta-4-English-Bin.exe?download Sources can be found in the CVS or from the last stable beta here: http://prdownloads.sourceforge.net/ianout/IanOut-0.8.5.0-Beta-4-Src.zip?download You'll need the Fallout 2 CD to install the game because it uses the Fallout 2 .frm files. The sourcecode will only compile under VC++ 2003.net. But Beta 5 should be compatible with linux compilers, too :) If you're interested just send me a mail: mvBarracuda@web.de, add me to your ICQ list: 98600423 or make a post @ our forums. Or just reply here ;) EDIT: Updated the links and added CVS information [Edited by - mvBarracuda on July 8, 2005 11:51:57 PM]
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
Raduprv
Raduprv
I can't help you (busy with my own projects), but this seems like a very interesting project, and maybe you can make something for Fallout as Exult is for Ultima 7. Good luck, and I hope you will finish this task, I'd love to play some good quality, fan made Fallout games.
mvBarracuda
mvBarracuda
Quote:
Original post by Raduprv
I can't help you (busy with my own projects), but this seems like a very interesting project, and maybe you can make something for Fallout as Exult is for Ultima 7. Good luck, and I hope you will finish this task, I'd love to play some good quality, fan made Fallout games.

IanOut will be focused on the engine in the first part. The engine still lacks some features of Fallout 2; but as soon as the engine is stable, we're trying to port the Fallout 2 campaign to IanOut. The campaign can be used as a starting point for modders because otherwhise they would need to build all the maps from scratch. So our intention is to provide a great Fallout-like engine; the modders will do campaings but that's not we're focused on ATM. But we'll try to persuade the Fallout modders to change engines because of the superior qualities of the IanOut engine compared to Fallout 2.

Quote:
Original post by rogerdv
I have my own projects, but maybe i can take care of Linux port.
I always have missed Fallout 2, never found a game like that.

Sounds cool :)

I'll reply here as soon as the new beta is out. Would be very cool to have native linux support for a fallout-like game :)

Btw.: Does anyone know if Fallout 1/2 works under Linux using Wine / Cedega?

[Edited by - mvBarracuda on February 5, 2005 11:50:07 AM]
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
mvBarracuda
mvBarracuda
Quote:
Original post by Raduprv
It looks like you guys are using the right libraries so having a Linux version should be piece of cake, as long as you don't excesively use Win32 functions.

SztupY (project leader & coder) said there are still Win32 functions, but they should be replaced within the next beta. ATM we'er trying to team up to port the Fallout 2 campaign to IanOut. This will be quite a big job but I'm sure it can be achieved, the most important thing is that we get working map converter. Doing the maps from scratch would take ages until the mod is complete.

If you're interested in joining the port team just reply here or in this thread: http://www.nma-fallout.com/forum/viewtopic.php?t=11883
We'll need beta testers for the later campaign, too but ATM but we just need a coder. You need Fallout 2 if you want to become a beta tester because IanOut works only with Fallout2 gfx files!
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
tentoid
tentoid
Hey! IanOut! :) I've been following the project's progress on time to time (I lurk at NMA). Possibly I could help you out but I am not sure if my skills are sufficent or if I have the time. I will have to take a look at the source code some time. :) Probably when I've played FO2 once again!

EDIT: Yes, Fallout works under Wine. I finished FO1 last time when playing under Wine. It worked better with Wine than in Windows 2000!
mvBarracuda
mvBarracuda
Quote:
Original post by tentoid
I will have to take a look at the source code some time. :) Probably when I've played FO2 once again!

I think it's the best way to wait for Beta 4.9 / 5.0 if you want to take a look at the code. The current code is pretty "screwed" and the latest builds are completly different.

Our leader switched to a .dll (.so under linux) input principle, so you can code own gfx / sound plugins; this way we try to get an OpenGL version of the renderer. The main problem was that completly switching to OpenGL wouldn't be a good idea because not everyone got an gfx card that supports OpenGL. So people can (hopefully) choose between the software renderer or OpenGL in the next beta; the same applies for the audio driver. This way there's also room to improve performance on specific platforms. So there will be linux software renderer that will be faster than using the normal software renderer under linux (that's at least my expectation).
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
mvBarracuda
mvBarracuda
Maybe you should take a look @ our screenshot galery here: http://www.nma-fallout.com/forum/album_page.php?pic_id=819>

As you can see we're using alphablending for roof tiles and for the wall tiles if you come close to them. The original Fallout engine didn't use alphablending. The roof tiles were just displayed without any transparancy and if you entered a buidling the roof tiles disappered. It's quite similar for walls: in Fallout you got a "transparancy-circle" around you so if something like a wall comes into this radius it won't be displayed. Their intention was to create this radius because otherwhise items that are laying in the edges of a house couldn't be seen by the player.

However both effects have some major disadvantages: entering every building just to see whats inside surely sucks :( And the circle effect causes some serious problems with doors: if you want to open a door and your standing near it, the door won't be drawn because it's inside the "transparancy-circle"; so you can't click on the door to open it. So you need to do some steps back which is a problem in crowed / small rooms.

IanOut improves these flaws by introducing alpha blending for roof and wall tiles. But there is one major problem: software alphablending using SDL is quite a performance killer. So we try to create an OpenGL renderer which supports hardware alpha blending which will hopefully give the engine a serious performance boost :)

If I got time tomorrow I'll post some screens of Fallout 2 to show you what I mean with "transparancy-circle". :)

EDIT: Here you can see IanOut in full alphablending mode:
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
Raduprv
Raduprv
I don't know if having alpha blended roofs is a good idea. Entering each building to see what's inside adds a lot to the game (more mistery, and more strategy). I remember the Navaro(?) base, where you get the cool armor. The ground floor has opponents inside buildings, and seeing where they are without going in there is cheating.
tentoid
tentoid
When you walked next to a wall in fallout you could see what was inside the building. Perhaps the alpha blending should be done in a similiar fashion (if it already isn't). EDIT: I looked at the screenshots again and it seems that the roof is always alphablended. I prefer the way FO handles it. EDIT2: So I agree with Raduprv.

Alright, I'll wait for the Beta 4.9 or 5. I can probably help you out with Linux-porting and such if you need help.
mvBarracuda
mvBarracuda
Quote:
Original post by tentoid
When you walked next to a wall in fallout you could see what was inside the building. Perhaps the alpha blending should be done in a similiar fashion (if it already isn't). EDIT: I looked at the screenshots again and it seems that the roof is always alphablended. I prefer the way FO handles it. EDIT2: So I agree with Raduprv.

You can see only alphablending @ our screenshots because we presented the eyecandy there. There is an configurator where you can choose between: OFF (handled like in Fallout), AUTO (alphablending while you're outside a house) and ON (full alphablending, just for testing and presentation purposes). So you always got the chance to handle it like in Fallout.

But you're right because it should be an unfair advantage to generally see through the roof tiles. I'll suggest to our coder that we introduce a new var in the city.dat. If the "map-type" flag is set to "enemy" for this city, then you can't look trough roof tiles, otherwhise (in friendly cities, where alphablending doesn't spoil everything) alphablending for rooftiles will be allowed. We don't disable alphablending for "friendly" cities because it saves good time while walking through the streets and looks quite good :) And you have to think about that this feature is a must for people who create maps because they don't want to go into every building just to see if everything on the map was placed correct.

So I'll suggest 3 map types:
- friendly => alphablending for roof tiles allowed
- enemy => alphablending for roof tiles disabled
- caves / underground => alphablending disabled and rooftiles are always displayed; otherwhise all cave roof tiles would disappear while your in the cave; if you've played Fallout you know what I mean ;)

And the good thing is that we could include a script that checks if there are any enemies left on the map and /or if you already entered a certain place on the map (just make it a trigger). If both conditions are true, the script can set the flag from "enemy" to "friendly", so alphablending would work in "cleared" areas which is very useful IMO because you explored the area anyways :)

Here are the promised screenshots: As you can clearly see: @ the Fallout screenshot the door isn't vissible. So you need to go some steps back until it's displayed again. But if you're in small room and you've got your NPC's around you, you often have to kick them out of the roof just to have some free space. IanOut doesn't have this kind of problems because we use half-transparancy so you can still see the door and open it :)

First shot from Fallout 2:


Second shot from IanOut:

-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
godeatgod
godeatgod
I like the idea very much, just ran across it today when i was looking for suport forums for fallout on linux.

I want to help with the linux porting. So count me on.
tentoid
tentoid
Quote:
Original post by mvBarracuda So you always got the chance to handle it like in Fallout.

But you're right because it should be an unfair advantage to generally see through the roof tiles. I'll suggest to our coder that we introduce a new var in the city.dat.

And the good thing is that we could include a script that checks if there are any enemies left on the map and /or if you already entered a certain place on the map (just make it a trigger). If both conditions are true, the script can set the flag from "enemy" to "friendly", so alphablending would work in "cleared" areas which is very useful IMO because you explored the area anyways :)


Sounds good to me!

Quote:

IanOut doesn't have this kind of problems because we use half-transparancy so you can still see the door and open it :)

Yeah, opening doors in both Fallouts has always been annoying because of the transparency.

Oh by the way, I looked into the the FO2 dialogue/script format and the IanOut format.. I don't think that writing a simple converter will be that hard after all. And I think a basic FO2->IanOut dialogue converter, which just creates most of the skeleton code is enough for a start.. (you can fix the scripts later by hand)

EDIT:
Quote:

I like the idea very much, just ran across it today when i was looking for suport forums for fallout on linux.

Fallout runs fine under Wine! I had no problems whatsoever.
mvBarracuda
mvBarracuda
If someone is interested in actually helping us out: our configurator is written in Delphi uses the old .ini syntax.

Our coder wanted to change it into something coded in c++, because this way it could be compiled under non Win32 platforms, too; and he wanted to use XML because the most game files in IanOut are already written in XML style. Anybody with some knowlegde of tinyxml interested in writing a small config programme? It just need to have some dropdown and checkboxes were you can select the options. It should be able to read /write these settings from / to a xml file using tinyxml.

Here is the original ianout.ini, used in Beta 4:
[locations];the temporary directory. You shouldn't change this linetemporary=.\tempor;the locations used by the current mod. Use the configurator if you're unsure what theese lines dolocation_0=location_1=location_2=location_3=location_4=location_5=location_6=location_7=location_8=location_9=.\mod\IanOut;main locations, like the Fallout 2 master.dat locationian_ed_loc=D:\Ianout\mod\IanEdianout_dat=D:\Ianout\IanOut.datcritter_dat=D:\Fallout2\critter.datmaster_dat=D:\Fallout2\master.datmusic=D:\Ianout\Music;modnumber is used by the configuratormodnumber=1;display options used in IanOut[IanOut_options]width=800height=600bitdepth=16fullscreen=1gamma=100gamespeed=40loglevel=5;IanOut extended visuals[IanOut_display]alpharoof=1alphaobj=1;display options used in IanOut[IanOutEd_options]width=1024height=768bitdepth=16fullscreen=1gamma=100loglevel=3

I've created this little xml file; hopefully I didn't screw the syntax :( I'm new to this:
<?xml version="1.0"?><settings> <directories>  <path id="temporary" location=".\tempor"/>  <path id="ianout_dat" location="D:\Ianout\IanOut.dat"/>  <path id="critter_dat" location="D:\Fallout2\critter.dat"/>  <path id="master_dat" location="D:\Fallout2\master.dat"/>  <path id="music" location="D:\Ianout\Music"/> </directories> <mod>  <info name="IanOut Beta 4 v0.8.5.1" location=".\mod\IanOut"/> </mod> <graphics>  <basic_visuals x="800" y="600" bitdepth="16" fullscreen="1"/>  <extented_visuals gamma="100" alpharoof="1" alphaobj="1"/> </graphics> <engine>  <options gamespeed="40" loglevel="5"/> </engine></settings>

If you ask yourself: "Where have all the editor entries gone?" ;) The editor will be a mod in Beta 5. So the editor got no independent .exe anymore; it will be launched like any other mod. The big advantage is that the editor will be nearly fully scriptbased which allows you to modify it in every way without any need to recompile it :)

If you're interested in writing this little config programme, just give me a shout :) I'll send you any needed information and I even got the sourcecode of the old configurator written in Delphi (if this helps you)
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
tentoid
tentoid
Why don't you just use a simple lua script file as the config file since you're using it already? That's what I did in my project. Lua files are nice and clean compared to XML. :)
mvBarracuda
mvBarracuda
All files in IanOut are xml style; it was a programmers decision and I won't change it because our leader has worked on IanOut before I knew what "c++" is ;)

But I'll try my luck on the configurator. I've just set up SDL and will do first steps with tinyXml tomorrow :) Does anybody know a good and simple gui lib for SDL? I want to create some dropdown menues and checkboxes but I don't want to use Win32 functions because the config programme should be portable :)

Any suggestions?
-----PARPG - open source isometric 2d old school RPG still looking for interested contributors
tentoid
tentoid
I would recommend wxWidgets. It's easier to port your wxWidget app than a GTK app. I could have written a small configurator but I don't really fancy the idea of doing any GUI work with C++. I rather use Python or some nice language to do boring GUI programming stuff. :)

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.