IronDuke’s I-War2 Remake/I-War3

Home Forums General I-War Talk IronDuke’s I-War2 Remake/I-War3

Viewing 15 posts - 16 through 30 (of 114 total)
  • Author
    Posts
  • #19169
    IronDuke
    Participant

    I’ve decided what kind of damage model to implement. Seems to have taken me a whole week to work out. 😮

    Imagine the War Thunder armor viewer. Increase the number of armor segments by five to get a typical corvette’s armor layout. The internal systems will also be modelled with their own colliders, just like the various systems in a War Thunder tank. A key difference, however, is a large internal structure unintuitively named “Internal Structure” that sprawls through the middle of the ship. It’s basically the same as any other system, except that it has one function. When its health reaches 0, ship = boom. Another difference is that while the armor in WT cannot be destroyed, the armor in my system has a health value. The following paragraphs describe why.

    So take a normal PBC shot. When it hits a ship, the angle of impact, the shot’s damage – decrease over distance, and the penetration are examples of factors taken into account. First, there’s a simple penetration check. Armor type, thickness, health, and hit angle are used, as well as the shot’s penetration and speed. The armor type, thickness, health, and hit angle will produce a “resistance” variable. The shot’s penetration and speed will produce a second “penetration” variable. A comparison of these two numbers will follow. If “penetration” is more than 50% (this might get tweaked some) greater than “resistance,” a full penetration occurs. The shot passes straight through the armor. Only a slight amount of damage is inflicted to the armor chunk, with the rest staying on the shot. If “penetration” is between 50% less than and 50% greater than “resistance,” a partial penetration occurs. Say it’s 10% lower than “resistance.” This would make a 40% penetration, so 60% of the damage is inflicted on the armor chunk, and 40% passes through on the shot. Now if “penetration” is less than 50% of “resistance,” then it’s a no-penetration. All the damage is inflicted on the armor chunk.

    So what happens as the armor chunk’s health goes down? That affects “resistance,” as I mentioned that the armor health is a factor. I think I’ll simply have it be a multiplier to “resistance,” with 100% health being a 1.0 factor, and 0% health being a 0 factor.

    Now what happens when a shot penetrates? As in WT, there are many systems in the ship. Whichever system the shot crosses will receive the damage, with another penetration check – not to see if the shot should go through, but to see how much damage it will do to the system, to allow some weapons to be better disablers. Nice and simple. In fact, if a shot has enough penetration and damage to go straight through the armor chunk, hit a system and bring its health to 0, then it will continue on, hit an armor chunk on the other side, run another penetration check, and if it passes, then go straight through and keep flying. MESON CANNONS ANYBODY?? 👿 Also, I’ll implement the ability for some shots to have an area of effect. Yup, antimatter PBCs will damage multiple systems easily.

    Now how about beams and missiles? Beams will operate the same way. Missiles will be similar, the difference being that instead of tracing a line on their impact path to determine what they hit on a penetration, everything within a certain radius of the missile (the blast radius) is damaged.

    There are several advantages with this system. First, it allows for tactical gameplay, making it wise to aim for sections of a ship that have already been hit. Also, it makes the game more realistic, which is a good thing, of course. It also allows for a very wide variety of weapon specialties, with some good against lightly armored ships, others against heavy armor. And finally, while the system in the vanilla EoC would take barely an hour to program, this one is not too hard either. It’s simple math.

    Let me know what you think of it!

    –IronDuke


    I-War 2 Discord: https://discord.gg/RWaabWB
    Very little about the game is not known to me. Any questions you got, throw them at me. 🙂

    #19172
    Chessking
    Participant

    It sounds good!

    Wait, you could program this in an hour? (Or more, but still a relatively short time.) The thing I would get stuck on is detecting where the shot hit. The way my collision code would work (still haven’t written it :unsure: ) is an if statement running through all the vertices of the object to see if the shot is in the “shaded” area. Unless each piece of armor had its own collision hull, I would not be able to tell which one was hit. Or perhaps there is a way to check collisions on each plane, by checking for collision inside a 3-dimensional shape drawn from the vertices to the center of the model. Any input on this?

    BTW, I have only fought one War Thunder battle. Before I downloaded the game, I watched one gameplay video to make sure I wanted it. However, in that short period of time I have picked up most of what I would need to know about the armor system.

    P.S. I have downloaded the correct version of Unity.

    Regarding textures, the textures I generate can be scaled larger or smaller quite easily, therefore generating a new level of detail. If I could get them generating at runtime, the primary benefit would be for ship textures. The closer the ship, the more detail is loaded, and nothing ever looks blurry. I do not know how this would be implemented in Unity, but it would work great for the game engine I plan on making. The textures viewed on the ship would have two layers: the generated layer, and the detail layer. There is no way I can build all of the aesthetic components of the ships into the algorithm, so these would be saved in an image and drawn as usual. Alpha transparency would allow the generated textures to be drawn. The generated texture file would generate chunks of texture and arrange them on the UV to render correctly, or the UV could be layed out to work with a single chunk of generated texture.


    This is one tough navy, boy. They don’t give you time off, even for being dead. -Clay

    Storm Petrel

    #19175
    IronDuke
    Participant

    Unity is awesome. When two objects collide, Unity will call any functions in scripts attached to them called “OnCollisionEnter.” There’s also “OnCollisionStay” and “OnCollisionExit.” (Possibly I screwed up the names; I’ve only used the first one.) It will pass to those functions, as an optional parameter, a class entitled “Collision.” Collision has a ton of useful variables including: relative impact velocity, the exact position of impact, the normal of the triangle that was hit, and much more. Literally everything I need is already done for me. :mrgreen: All I’d have to do is write the damage calculations and give each armor chunk its own collider.

    This is why I’m not writing my own engine. 😛

    I’m honestly not sure how textures updating in realtime would be implemented in Unity either; I’m not too strong on the art side of the engine. I’m not worrying about that for the moment, since coding the gameplay comes before fancy graphics. That and I’m not good at them. :silly: I’m not entirely certain that I understood every single word you said, although I certainly got the drift.

    –IronDuke


    I-War 2 Discord: https://discord.gg/RWaabWB
    Very little about the game is not known to me. Any questions you got, throw them at me. 🙂

    #19178
    Guest

    Iron Duke

    KUDOS to the work you are putting into making this come to life. Before I get to the good bit however a word of warning.

    Atari tend to guard their IP’s aggressively. I know you intend to create a script to check for I-War 2 ownership which is a good thing, because you can argue that in order to play this it will actually encourage newcomers to actually go out and purchase the original game on Steam or GOG. I have the GOG version. But please be careful you aren’t hit with a cease and desist order from Atari.

    I have seen Plasma Pong and Typhoon 2001, both games I enjoyed and both were available free, both shut down by the Atari Lawyers and would hate this to happen to you after you have dedicated months or years of your time to make this happen.

    Now a couple of questions.

    1. Do you intend for this game to initially follow the original story from Independence War 2 and then continue or do you intend for this to be a continuation of Independence War 2.

    2. Will there be support for multiple controllers. I am Currently playing the game with a CH Fighter Stick, Pro Throttle and Thrustmaster TFRP Rudder Pedals set as individual controllers. I have created a control configuration file specifically for this game, as I noted that the originals Flux engine didn’t seem to support more than 5 axis per controller. (If ‘I’m wrong please tell me.).

    Again I wish you all the best.

    Developers, If it ain’t broke is soon will be.

    #19191
    IronDuke
    Participant

    Howdy!
    Thanks for the encouragement and the warning. As for that script, I’m planning on expanding it in a specific way. I’m going to create a little mod when the remake is complete that will be an activator for the remake. Basically, no playing the remake unless you play the first mission with the activator mod running. Then the installation of the remake will be activated. Also, every time you start the remake, it’ll do a check for a valid EoC installation. Pain in the butt? Yep. 😛 As for Atari, I really doubt they’ll pay any attention. This community is a teensy little cult. For us to become a problem, we’d have to have literally a few thousand downloads of the remake, and that’s probably not happening. Even giving a cease and desist costs them money, and we very likely will never be worth the effort. But thanks for letting me know. 😉 If they ever do contact me, I’ll tread on feet of glass.

    1. I’m going to completely recreate the story from the vanilla EoC, with all the missions that they cut out, and quite a few of my own. But all the originals will be there. And the story will continue on at the spot where it stops in the vanilla game, after you destroy the accelerator. I’ll invent much more plot, explaining the arrival of the aliens, and tying up every loose end in the I-War universe.
    2. Absolutely. Yay Unity engine. :cheer: Besides, I’d die if I couldn’t plug in whatever over-the-top controllers start coming out soon.

    –IronDuke

    Edit: While thinking about the Atari situation, it’s entirely possible that my optimism is born of my foolish, headstrong youthfulness. 😆 Being only 18, I have not had much experience with things. We’ll see if I’m wrong.


    I-War 2 Discord: https://discord.gg/RWaabWB
    Very little about the game is not known to me. Any questions you got, throw them at me. 🙂

    #19200
    IronDuke
    Participant

    I have just created the project folder for the game. The first thing I do will be to convert the heavy corvette model from .pso to .lwo, open it in Blender, and save it as a .blend. Unity can then read it right off the bat with no conversion of any kind required. It won’t have textures though. I will then apply my flight model to it, and give the thrusters the right values to produce exactly the same performance characteristics as in the original game. Application of the flight model may take a few days.

    Edit: Turns out setting up the smoothing angles on the ship model is harder than I thought. The problem with low poly models is that the angle between polys of what should be a curved surface may be large than the angle between polys of what should be a corner, so I have to manually mark a lot of edges as “sharp.” The auto-smooth ain’t gonna cut it.
    I have to admire the ingenuity of the modellers of the game; the ship is only 787 tris for 414 verts. For it to look as good as it does shows their skill. And the more I look at the model, the more I can’t help but think that they knew nearly every technique in the book for making the desired shape with almost no geometry.

    –IronDuke


    I-War 2 Discord: https://discord.gg/RWaabWB
    Very little about the game is not known to me. Any questions you got, throw them at me. 🙂

    #19208
    Chessking
    Participant

    Here is my first completed skybox. However, the skybox’s corners seem quite obvious. Any suggestions?

    Attachments:

    This is one tough navy, boy. They don’t give you time off, even for being dead. -Clay

    Storm Petrel

    #19210
    IronDuke
    Participant

    I have a question, yes. How do I open it? 😛

    –IronDuke


    I-War 2 Discord: https://discord.gg/RWaabWB
    Very little about the game is not known to me. Any questions you got, throw them at me. 🙂

    #19213
    Chessking
    Participant

    Unzip the zip file. Inside is a .mat file. Import the file into your asset folder. Go to window–>lighting page to assign it as your skybox. Here are the original six images.


    This is one tough navy, boy. They don’t give you time off, even for being dead. -Clay

    Storm Petrel

    #19216
    IronDuke
    Participant

    :blush:
    derp
    I was trying to open it outside of Unity. I rarely touch the Material assets in the folder, so I literally forgot what their extension was.

    I’ll take a look at it in a minute and let you know what I think within the hour.

    –IronDuke


    I-War 2 Discord: https://discord.gg/RWaabWB
    Very little about the game is not known to me. Any questions you got, throw them at me. 🙂

    #19219
    Chessking
    Participant

    I have been rereading a thread on the Unity forum regarding texture resolution, and should probably increase the resolution to 2048×2048. As it is, (1024×1024), the textures are smaller than my screen, and would have to be scaled to fill it. Which causes it to look blurry. Also, the FOV doesn’t allow the whole thing to be viewed, so some extra resolution would be needed to prevent scaling.

    Edit1: When I make my own engine, I would like to use a procedural skyorb instead of a skybox. This would help with the corners.

    Edit2: By the way, the textures should be seamless, since they are slices out of a 3-d procedural material. It’s hard to see with stars. Once I write my nebulae generator, the seamlessness should be more apparent, and the scenery will be more colorful.


    This is one tough navy, boy. They don’t give you time off, even for being dead. -Clay

    Storm Petrel

    #19222
    IronDuke
    Participant

    Funny how every time I say I’ll do something within x amount of time, I inevitably have an internet issue. :huh:
    I rather like that starfield’s look, and I know what you mean by the corners. That’s an issue I’ve been fighting against as well. I just want to comment that there does not seem to be a distinct galactic center. Try running Space Engine (or just google screenies of it) and you’ll see what I mean.

    I’m just wondering though: I don’t want to have a skybox with pre-rendered stars if I can help it, although that’s fine for nebulae. I want to do what Particle Systems did and generate the stars at runtime as objects, since that way they don’t get huge and blurry when you use a sniper scope or a really high res monitor from 2029. Do you know how to do that?

    –IronDuke


    I-War 2 Discord: https://discord.gg/RWaabWB
    Very little about the game is not known to me. Any questions you got, throw them at me. 🙂

    #19226
    Chessking
    Participant

    Regarding the galactic center: Thanks for pointing that out. That would definitely add to the scene. I will plan on adding that when I have both figured out how and have completed more important parts of the generator.

    Regarding generated stars: Here’s how I would do it in my own engine. I would send out a raycast for every pixel on the screen If it doesn’t collide with any objects after a certain distance, input the coordinates into a 3-dimensional algorithm generating the background and stars. This way, the higher the zoom (and therefore the lower the FOV) the more detail will be generated, without any extra. Perhaps I can pull up some useful information regarding procedural generation within Unity.

    Here is a free sample project regarding procedural generation: Procedural Examples.

    Hey look, an asteroid generator!

    Here is some other stuff I found: stuff and more stuff.

    Edit: and this: getting closer…

    Now to re-download Blender!


    This is one tough navy, boy. They don’t give you time off, even for being dead. -Clay

    Storm Petrel

    #19230
    IronDuke
    Participant

    Oooh, I like that method for generated stars. 🙂 And that way, as you said, you’d see more stars when zooming in, therefore sniper scope is also telescope.

    I saw that Procedural Examples thing, got it, and tinkered with it, but I had difficulty understanding the code. That was a year or two ago though, so I guess it might be time to give it another shot.
    I’m kinda impressed with how quickly you found those; I don’t work particularly fast. (Which must be why I make few mistakes. :mrgreen: )

    For a sky-sphere, making one in Blender is easy.
    -Create sphere using sphere creation tool.
    -Select all polys and click “Flip Normals.”
    -Make the UV map.
    -Save.
    -Have a root beer float.

    –IronDuke


    I-War 2 Discord: https://discord.gg/RWaabWB
    Very little about the game is not known to me. Any questions you got, throw them at me. 🙂

    #19234
    Chessking
    Participant

    Thanks for spelling out how to make a sky-sphere. It has been a long time since I used Blender, and its design is not exactly self-explanatory. Now that I have figured out how to go into edit-mode, things should be a bit easier.

    What I need to know now is how to make the UV map.

    My rapid discovery of these things is due to a couple hours spend googling. B) As a result I have twenty tabs open right now… Most of them are sky-sphere related.

    Edit: hey, look what I found: Epic Findings

    Edit2: I have this new method working in Unity now. However, if the script is being run each frame, it would be more efficient to use a permanently modified mesh/UV. On the other hand, this is what I need to try to adapt the procedural code to the sphere.


    This is one tough navy, boy. They don’t give you time off, even for being dead. -Clay

    Storm Petrel

Viewing 15 posts - 16 through 30 (of 114 total)
  • You must be logged in to reply to this topic.