DarkFO Announcement

Discussion in 'Fallout General Modding' started by darkf, Aug 8, 2014.

  1. darkf

    darkf Caller of the Void Modder

    Jul 12, 2014

    DarkFO is a project that I've been working on for the past three months, with some much-needed help from a friend.
    It is a re-implementation of the Fallout 2 engine using Web technologies. This means that its goal is to run the entire vanilla Fallout 2 game, and mods using the same engine, in a Web browser.

    That is not the only benefit though. Since it is a modern engine recreation, it will also allow for:

    • More extensive mods: Total conversions, modded engine core, UI, etc. Scripts have access to the entire engine
    • Fixes to the original game or game engine are made much easier than patching the executable (i.e., what Sfall does)
    • Support fan/unrelated games based on an isometric/hexagonal CRPG engine
    • Lots of stuff that I am not creative enough to list here

    Clearly this is a large undertaking, but a lot has already been accomplished:

    • Basic gameplay (movement, object usage, looting, general environment interaction, etc.)
    • Combat (for the most part; work is still being done!)
    • Scripting
    • UI (not all finished, but the basic UI is definitely in)

    The game is what I consider at a "Technically Playable" status -- that is, it's playable enough to technically finish the entire main questline. Straying off the beaten path too far will land you in a world of hurt, more than likely. (Or refreshing side quests, who knows?)

    For three months of work, from one or two guys, that's pretty impressive as it is. But work will go into it until it's capable of running the entirety of Fallout 2.

    In addition, I've been keeping a variably-updated devlog at darkf.github.io/ if you are at all interested in the technical aspects (and rants) that go into it.

    Finally, here are some screenshots:


    Let me know what you think so far. :lol: (Also, URL posting limits ahoy.) (Also, can I be in the super special modders group now?)
    • [Like] [Like] x 2
  2. Felipefpl

    Felipefpl Look, Ma! Two Heads!

    Jun 17, 2010
    your project involving web is the first i heard of, congratulations and good luck with it.

    the choice of font was nice, we can choose others if we want? it's one possibility i wish we had with all games, choose a font we like to see.
    Last edited: Aug 8, 2014
  3. darkf

    darkf Caller of the Void Modder

    Jul 12, 2014
    Yes, you certainly can: the entire UI is moddable/skinnable.
  4. phobos2077

    phobos2077 Mildly Dipped

    Apr 24, 2010
    Too bad nobody ever managed to finish proper engine remake for desktops... That would be a salvation for modders.

    I'm a web developer myself. Say, what technologies are you using for this?
  5. darkf

    darkf Caller of the Void Modder

    Jul 12, 2014
    No reason you can't run it on a desktop, or pre-package it in a .exe. Is that not good enough...? :P

    I'm using HTML5 (currently Canvas for the game), JS (with jQuery for most of the UI and XHR stuff) and CSS3.
  6. phobos2077

    phobos2077 Mildly Dipped

    Apr 24, 2010
    So will it be able to run with original maps, prototypes and scripts files? If that is so, that's an interesting undertaking. Considering that we have NodeWebkit and such. The biggest downside with this is a performance.
    I would personally liked more if it was written in C, like OpenXCom or OpenTTD.
    OpenXCom for me is an example of a perfect remake. They fully support all original file formats (you can use original game files), and at the same time, all libraries can be extended easily using yaml (best modding support I've ever seen in a game). Fallout, of course, is much more complex than XCOM. Still such approach is a way to go. It booms modding a great deal.

    Will it be open source?
  7. darkf

    darkf Caller of the Void Modder

    Jul 12, 2014
    It is able to run the original data, yes. The only caveat at this point is that you have to convert them once ahead-of-time with scripts I provide, although there's no reason I couldn't remove that requirement too. (It would just increase load times and be more awkward to work with.)

    I don't see how using a modern JIT implementation for a 2D game engine for a game written in the 90s is a performance issue. After it's optimized it should be fine. Writing it in C would just make it a lot more awkward to develop and maintain, which are major downsides to a negligible performance boost. If I were to rewrite it, I would probably do it in a statically typed language, but it is what it is. :)

    I plan on it being open source so that people can improve and use the engine for other games. I'd love to see more Fallout-like titles, so if I can help with that in any way, that's great.
    • [Like] [Like] x 2
  8. lujo

    lujo Look, Ma! Two Heads!

    Jun 14, 2013
    ^ I'm loving this A LOT, but errr, hasn't bethesda often issued "cease and desist" orders on such projects?

    Working on a fallout-like game is kinda my dream though, so fingers crossed XD
  9. Lexx

    Lexx Background Radiant

    Apr 24, 2005
    Bethesda doesn't care. Never since we started working on FOnline (2238) in 2009 anything like a C&D happened. Sometimes I am wondering if people put out that C&D thing, because they would be too lazy to ever start / finish such a project (speaking generally, for other games too). And some pissed off kids even wrote angry letters to Bethesda and demanded from them to take us down. Lawl.
  10. darkf

    darkf Caller of the Void Modder

    Jul 12, 2014
    I was actually wondering how you guys don't get C&D'd for hosting parts of their IP, but yeah, their lawyers must not get paid enough.

    I'm avoiding this altogether by not really distributing material property of (now) Bethesda: instead you will provide the game data and it will work off of that. The engine itself is all custom work, mostly my IP.
  11. hexer

    hexer It Wandered In From the Wastes

    Dec 7, 2013
    What about FOnline ?
  12. phobos2077

    phobos2077 Mildly Dipped

    Apr 24, 2010
    As far as I know, it can't be used to play single player fallout with all original maps and scripts. Is it not?
  13. Forgotten Knight

    Forgotten Knight Time traveler stuck in time... Modder

    May 24, 2006
    This option sounds way better than having yet another engine used strictly for Fallout. It would be a mess since there are tons of modding tools for Fallout. Not to mention that people haven't learned to work with the old tools alone and now this new WEB tech:mrgreen: It's a bold move:clap: but how did you even came up with an idea to make a new engine, was the "old one" so bad?
    I personally find this quest for the ultimate Fallout engine something like... hm, hidden pot of gold behind the rainbow. Not to spoil the mood here:vatted:just sharing my humble opinion:slap:

    :mrgreen:,from a distance it seems they show no interest but just like hawks, nobody will see them coming.:look: S+Fall:rip:
  14. Stratege

    Stratege First time out of the vault

    Aug 8, 2014
    Heya, I'm the other guy working a bit on the engine.

    you have no idea. Seriously. It does what it does well, but the reason there are so many modding tools is probably because of how difficult it is to mod it. The benefit of writing it in JS is that it becomes a lot easier to mod. No more hacking around in binaries to change something. Not having to rely on documentation and prayer when you write scripts (hint: do_check can not result in criticals even though the original scripts check for it rolling criticals.)

    It's not about having the ultimate Fallout engine, it's just about having one that is open source, which afaik none of the other attempts are.

    no point in that, you lose expressiveness for a negligible performance gain. The game is from 1998. Moore's law alone says that our computers are 256 times as powerful as they were back then. That gives you a lot of wiggle room and so far performance hasn't proven to be any kind of problem. Perhaps I'm missing the point though and instead it's a dislike for HTML/CSS/JS? In which case: yeah, I get you. Funnily enough JS is just the kind of mutated mess that fits fallout though.
    • [Like] [Like] x 1
  15. Felipefpl

    Felipefpl Look, Ma! Two Heads!

    Jun 17, 2010
    heh, i guess i should have expressed myself better, it will be possible to change the fonts when we are playing the game? (not when modding it although that's good to know). that's the feature i'd like to see in all games that exist. ;)
  16. Lexx

    Lexx Background Radiant

    Apr 24, 2005
    If someone spends time on writing a script converter, it would be pretty possible, as the Fallout scripting language is rather basic and AngelScript / the FOnline engine can do lots of stuff.
  17. phobos2077

    phobos2077 Mildly Dipped

    Apr 24, 2010
    How about other file formats, prototypes, maps, etc? There are very many game-related stuff that is hard-coded in fallout2.exe. I guess it will take a team of programmers and several month of work to make Fallout 2 to work on FOnline engine, is it so?

    I will be SO happy if there would be a proper engine remake with friendly modding support (nothing hard-coded, modular file/libraries structure for better mod compatibility, good OOP scripting language, etc.). I would be able make so much more with the same amount of time that I spend currently on modding (I just spent crazy 7 hours today just to figure out a way to put land mines easily, I thought this engine want to kill me).
  18. tester123

    tester123 It Wandered In From the Wastes

    Aug 16, 2011
    What are you talking? There is already FOnline Engine which is modern engine, supports Fallout dat files and whole game system + you can add files from Fallout Tactics, Arcanum or whatever you want. It also has multiplayer support which means we have a few FOnline servers such as FOnline: Reloaded, FOnline: TLA mk2, FOnline: Ashes of Phoenix, FOnline: Requiem, FOnline: 2, FOnline: Desert Europe and so much more servers and projects based on that engine. http://fodev.net/forum/index.php?topic=29571.0 - here is status of FOnline Engine games.

    So don't tell me that there isn't any new version for Fallout. Hexer develops Van Buren single player game on FOnline engine. You can read interview about Van Buren here - http://fodev.net/forum/index.php/topic,29600.msg259810.html#new

    I can say there is engine but too small modders who want help and use it, not only for servers but for singleplayer mods/games. ;)
  19. Forgotten Knight

    Forgotten Knight Time traveler stuck in time... Modder

    May 24, 2006
    Human speed was always the problem and new engine won't make us mod harder. Mr.Moore should consider convincing his Intel buddies to lower their prices instead so i can afford that 256x performance gain:mrgreen:. Java is so popular today and everybody is talking about it, one can't just dislike it because it's new. And reminds me of sweet Minecraft, so lovely:ugly: I guess i'm just too oldschool:crazy:... i totally forgot to welcome you:mrgreen:
    Btw, there's a lot of potential in what you're doing.
    Story of an old car mechanic:"They are still messing around with that old engine, trying to reinvent the wheel, that still runs. But if you take a step back you can see that the whole car is actually so rusty..."
  20. darkf

    darkf Caller of the Void Modder

    Jul 12, 2014
    Oh, sure. Changing stuff dynamically is possible (and pretty fun).

    Yeah; that's one of the secondary goals. We have scripts to extract the hardcoded data from the executable and place it in a nicer extendable format. So for example you can add new elevators to elevators.json. You can edit critical hit/failure tables. et cetera. The rest of it is mostly parsed from the original game data, so if you're already used to hacking up {CITY,WORLDMAP,AI}.TXT, .MSG files, etc. then it should work fine just editing those.

    Another secondary goal is supporting Sfall extensions so that mods using that (like RP I believe?) work as well.

    And I know you guys love FOnline and all, but there are threads specifically for that. :P As far as I know, FOnline's goals are orthogonal to this one's, and the only overlap seems to be "new games created using a more sane SDK".