Fuck yes !

it-fucking-lives

Behold ! The Game Editor running on Windows ! I’ve been striking in the wind for months and finally there’s a piece of Fallout Equestria that works on Windows. Turns out the only thing needed for something to compile properly was the code for the future Panda3D 1.9 version.

As expected, nothing of Panda3D actually works (that’s a whole other story), so of course the Level Designer tab is just a shrotcut to the beloved Windows’ crash solving dialog. Still: everything else works fine and dandy and that sure is great news !

EDIT: As a matter of fact, with a few more hours of investigation, Panda3D was also able to work. We still have a few issues, namely I had to comment out all the collider building (there’s a single particular call to Panda3D that systematically crashes for some reason), ¬†and I’ve been unable to load any model or texture… which sort of kills the purpose of a Level Designer.

The result of this is that the Game Editor doesn’t crash anymore, the Level Designer is accessible, but unusable due to the lack of models. With these progresses I’m sure of it, the working Windows build isn’t far anymore.

EDIT#2: And with a few other hours, most of the game works as well (that is, except for the collider and asset loading issues) ! This is an accurate depiction of me right now:

yesyesyes

5 comments on “Fuck yes !

  1. Kingsquee says:

    Congrats man, glad you’ve got those issues ironed out!

    Are you planning to clone the Fallout 1 / 2 mechanics, or are you mixing things up a bit to more suit FoE? Levitating multiple weapons, blowing through walls with a balefire egg launchers, and watching Xenith sneak around on ceilings are practically hallmarks of the setting. :3

    • Michael says:

      Well, a little bit of the two. Essentially it uses the mechanics of Fallout 1/2/Tactics: it makes a lot of sense and is relatively easy to implement. There are a few contraptions that are implemented to better represent the FoE universe: we have spell casting (planned but not done yet), battlesaddles and mouth grips.

      Flying was often mentioned, but it’s unlikely that I’ll actually implement it. I don’t want to do something that won’t work right, and I don’t know yet how to implement flying in a way that both make sense and bring something really interesting to the gameplay.

      The rush of the balefire egg launcher probably won’t see the light in our game. Regular weapons won’t destroy the furnitures, only explosives can do that, and only on the walls we decide can be destroyed. Splash effects for weapons are not implemented yet, so I’m not considering anything like a belfire egg launcher yet ! That would be glorious though.

      • J Harton says:

        I think it’d be pretty sad if some kind of flying wasn’t implemented. I did make some suggestions on the wiki page for races, but you guys have to figure out how to -actually- implement things. If you don’t I would recommend against allowing pegasi as a player race, since that’s a big draw/disappointment factor for a pegasus character.

        It seems to me that the easiest way to handle flying is just having an ability to change how high up you (your character) are. Then, short of take off/landing and height adjustment (i.e. no moving down at an angle except maybe in animation/cut scene where you aren’t in control), you can only move in the x-y plane. If you implement some kind of multi-level viewpoint/perspective zoom (3-5 steps maybe) then you are a lot closer to doing flying as described since being at a height can be shown as seeing more of the ground and things on the ground being smaller from your perspective. It’s a sort of 2.5d space where height sort of exists but you don’t worry as much about it. The biggest problem is like a missile flight or a pegasus landing other than a vertical drop, but unless you animate it you can approximate it by moving the pegasus to the ground or the missile to the flying target (then you just have like a muzzle flash animation and some kind of splash effect? on the target. (i.e. you). Assuming that the player can’t see flying creatures might help or just showing them as shadows (circular/rectangular shadows easier than shaped ones, but less useful to gameplay) that are sized for how much ground they would block the light from (calculated).

        While I am rambling here, cover would be cool too. I.e. being able to duck/hide behind objects. It should be too hard. You just need a UI button/skill activation, a way to determine what objects are between the player(target) and the attacker/observer and some basic rules about what kind of cover certain objects can provide.

        Not sure why you wouldn’t just implement furniture durability and set weapons up to reduce their durability (sort of like armor wear in other games). When something gets broken it ceases to be useful as cover, etc and if it’s reduced to 0 durability it crumbles to dust/breaks into scrap metal/etc.

        Levitating and stacking items would be awesome but I don’t think I can grasp the level of coding pain required. Although, once again, some basic static animation and a point-click approach would be much simpler. Either just make it 1) click thing 2) click desired destination 3) determine if you can move it 4) animate results: either you move it smoothly to new place or drop it randomly in between (assume that things drop straight and land flat for simplicity). Since you see it from above, if you had the kind of code as noted above (pegasi), then you could show lifting/setting down as changes in height of the item which visibly speaking would correspond to changes in the apparent size in x-y plane from the player’s perspective Obviously it be a 0/1 lifted/set down kind of thing, but it would enhance the interactive feeling.

        Will there be any new blog posts soon or is progress limited?

      • Michael says:

        The spacialization wouldn’t be a problem for flying: projectiles currently simply fly from the weapon to the target (with some dispersion when it misses).
        You could think that landing would be the same thing, but pathfinding plays a greater part in the landing. Do you just ignore pathfinding and land wherever you want (as long as it’s not inside a building).

        We can’t use flying to show more of the camera: the camera is fine as it is and its height can be adjusted by scrolling the mouse. It’s a system that works pretty well.
        However we can still implement something like this by making the character’s field of view bigger when he’s airbourne.
        Also (and this doesn’t require any change, it would already happen if we did it), the fact that your character is high in the air would give him another point of view, and possibly you could detect characters that you couldn’t before because something was in the way of your line of sight. And of course, it goes both ways: other characters will probably see you more easily.

        However a few things are simply not possible without changing everything: for instance, if you fly, you should assume that someone can walk on the ground that is under you. This we can’t do.
        You should also expect to be able to land on a ceiling: but that would require the pathfinding to have two different types or arcs, the second type being only available for flying characters. That one maybe doable, but not in a way that satisfy me (it would be a hack behaving like a door that only let flying characters pass).

        On the subject of cover, yeah if we end up doing flying, we’ll go all the Fallout Tactics way and do the cover things.
        We won’t do modifications such as cover bonuses for furnitures and all though. We use real line of sights by making a ray start from the character’s centre to the target’s centre, and check if anything is blocking the ray. Ducking would make your centre be lower, thus it would block the line of sights probably more often. Other bonuses (damage resistance, critical chance) could also be associated with ducking. Same can be done for flying by the way (armor class for higher dodging probability).

        On levitating, it would be possible, but only for what we call “dynamic” objects (and not even all of them). We could implement it for characters and items: I believe it was you who suggested levitating an enemy’s weapon to yourself after you make him drop it. That’s doable. Requires a lot of changes, but pretty much the same changes as teleportation: and we’re definitely doing teleportation (might seem a bit weird to see those two things are basically the same problem to me: it’s because the only problem is implementing a way for the character to pick a place in the map to move the object to / to teleport to: technically not so complicated, but it requires implementing a new state, and that requires touching a lot of existing code).

        About blog post, it might take a while yes.
        There has been no progresses on the game itself, I’m all on the Windows port right now, and it isn’t a sinecure. It seems like everything works but the collision tests. Unfortunately, nothing works without the collision tests (can’t pick things with the mouse, can’t check line of sights). That and several crashes, all caused by Panda3D’s memory management stuff (but as Hippocrate would say, we have to look for the mother of all causes: and that might be just about anything, from an actual Panda3D bug to a misuse of the library or even a bad build of the library. All that with of course no way to check which assumption is true). Things are rough right now.

        It’s even harder because I’m the only one in the team that can compile on Windows.
        For instance, the most problematic (and possibly the mother of all cause) bug we have: I’ve been able to reproduce that bug in Panda3D with different builds (including the official ones)… but apparently I have the only computer that can makes bug happen: I wrote a sample of 20 lines of code reproducing the bug on all the builds… however I was the only one with which these 20 lines were crashing !
        Who knows, maybe if someone else was trying to build the game, it would work ? Though as a pessimistic developer, I would rather assume that he’d just stumble on another set of bugs.

        So yeah. It’s rough. But we’ll make it work eventually.

  2. bryfury says:

    Awesome news! i, as a windows user guy humbly thank you, and would love to join you in that jumpy yes yes yes dance ^^

    Cheers =D

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s