Empires on UE4 (A collaborative project)

Discussion in 'Off Topic' started by Kylegar, Nov 1, 2014.

Thread Status:
Not open for further replies.
  1. Kylegar

    Kylegar Specstax Rule

    Messages:
    2,170
    Likes Received:
    0
    Trophy Points:
    0
    Fuggit, I'll make a thread about this.

    I don't expect this go anywhere at all, but it's something to play around with I think. I started a fresh FPS template and went from there. I've got a basic weapon/projectile sim going, but no art assets. I kinda want to try at doing an open source/collaborative development here for a bit. That being said, I want to leave the option open for taking the next step and making this a game.


    Here is the Repository: https://github.com/RoyAwesome/Empires2

    If you've never used Git or Github before, you need to Fork the repository and submit a Pull Request when you make a change. The Github for Windows client is okay at doing it.

    If you want to contribute, you need to have an Unreal Engine license. You can get it for free if you are a student with the Github Student Pack, or know someone with a .edu email (I'm sure there are quite a few of you). The license lasts a year.

    The Engine version I'm using is 4.5. Fork and Clone the Repo above and just open the project with the launcher. It's super straightforward and should work without issue. You may need Visual Studio, which you can download for free

    So, what should be done? Well, I would love to see the Empires assets ported over. I have the .smd assets if people want to try their hand at porting them over (It's a pretty annoying process). I don't have a good process for this, so if someone (firewarrior maybe?) would like to look into it, that'd be cool. The scale is 1 unit = 1cm.

    I want to get some basic shooter mechanics done as fast as possible. Weapons, Effects, Multiplayer. It's all builtin-ish, so a prototype should come along quickly. There is a visual scripting system that I want to leverage for creating content (like different weapon types and things), but the basic weapon system needs to be made.

    Vehicles are built into the engine. If you want to play with them, be my guest. I don't plan on going there until the FPS part is fun.

    If you want to make a map, there is some good documentation on Landscape, which allows you to make some freakishly massive worlds. I have a heightmap for mvalley that could turn into an awesome Landscape map.


    Update:

    A roadmap has been written. It's split up into 3 parts. Art, Code, and Design (Maps and gameplay mechanics go here. Think of this like Scripting in the source empires)


    Or by Milestone:


    If you see something that can be done, please don't hesitate to do it.
     
    Last edited: Nov 2, 2014
  2. f1r3w4rr10r

    f1r3w4rr10r Modeler

    Messages:
    2,475
    Likes Received:
    4
    Trophy Points:
    0
    Lol that height map looks like a rohrschach test.
    I will have to see where I get a license from. My boyfriend could get an educational one, but that would be on his name.
    IN THEORY I wouldn't even need one if it's just for the assets. I already know how to make PBR textures and the like, so that shouldn't be a problem.
     
  3. Deiform

    Deiform Member

    Messages:
    2,491
    Likes Received:
    10
    Trophy Points:
    0
    I don't know much C++ but I have a question on your code style. Is it correct standard practice to return on a void function? There's a lot of code that could be encapsulated in an if/else statement but you decided to just return. Is that just a personal style, or is there a reason?

    N.B. Genuine interest here; not being pedantic.
     
  4. f1r3w4rr10r

    f1r3w4rr10r Modeler

    Messages:
    2,475
    Likes Received:
    4
    Trophy Points:
    0
    I haven't looked at the code, but what you describe is pretty close to what my code style is like. I also rather like to simply make an if-statement and then just return once I reached my desired goal instead of making a ton of succeeding if/else or even if/elseif statements.
     
  5. flasche

    flasche Member Staff Member Moderator

    Messages:
    13,299
    Likes Received:
    168
    Trophy Points:
    0
    as long as you dont mean to return a value i dont see the issue either.

    also hurray for kylegar :D
     
  6. Grantrithor

    Grantrithor Member

    Messages:
    9,820
    Likes Received:
    11
    Trophy Points:
    0
    I've never done anything super applied with c++ but I would love to see the code if that's alright with you.
     
  7. McGyver

    McGyver Experimental Pedagogue

    Messages:
    6,533
    Likes Received:
    31
    Trophy Points:
    0
    Is there any chance the UE4 SDK will run on a 4GB laptop?
     
  8. Candles

    Candles CAPTAIN CANDLES, DUN DUN DUN, DUN DUN DUN DUN.

    Messages:
    4,251
    Likes Received:
    10
    Trophy Points:
    0
    It's perfectly reasonable to return on a void function, being that all functions have an implicit return at the end. Void functions simply don't return a value when they do return. Saves loads of time on coding that'd be tedious and helps readability.

    Fun fact: If you have a program with a function that isn't void, but you forget the return statement entirely, then it will compile perfectly fine under g++ unless you -Wall it. If your function has a return statement but you forget a value, then it throws an actual error. This threw me for quite a loop one time in an assignment.
     
  9. Kylegar

    Kylegar Specstax Rule

    Messages:
    2,170
    Likes Received:
    0
    Trophy Points:
    0
    I'm a strong believer in the terminate early pattern for fail cases.

    If something shouldn't be happening because of bad data or something isn't set up, As a programmer my line of thinking is 'stop there, don't continue'. When another person reads the code, they also very clearly see 'this is where we terminate, and as long as we get past this condition, the data is valid'.

    It's just style. One I think makes code far easier to read.

    It should. Might be a bit slow, but it should run just fine.

    You just get a license key from the student pack. You can use the key on your own account.

    That's kind of the point of putting it on github ;)

    Anyway, if there is something a programmer wants to do, here is a short list of things that can be done right now:

    • Create a Damage system (I started but only have raw damage). Here is where the code is, and Epic has a pretty decent overview of damage. This is a creative system. You get to decide if you want resistances and how they are stored, as well as if you want physics based damage or just raw hit stuff.
    • Loadout/Inventory system. I was going to do this but it someone wants to tackle it I can play with vehicles.
    • Create slots for the 'Draw Weapon' and 'Put Away Weapon' animations. This is actually super straightforward and the code for that is Here and Here This is done
    • Add recoil patterns. I have an idea for this, modelled after Planetside 2.

    Some art stuff that needs to be done:

    • port over the view models and animations. The code is set up for the Fire Anim. I need to play the draw and put away anims
    • Port over the player models and animations. This will get sticky as we use the source engine humanoid anims. Unreal has some default animations that could be retargeted to our skeleton.
     
    Last edited by a moderator: Nov 2, 2014
  10. ViroMan

    ViroMan Black Hole (*sniff*) Bully

    Messages:
    8,381
    Likes Received:
    4
    Trophy Points:
    0
    Looks interesting I am leaning towards helping a bit. Still sitting on the fence.

    Persuade me
     
    Last edited: Nov 1, 2014
  11. Deiform

    Deiform Member

    Messages:
    2,491
    Likes Received:
    10
    Trophy Points:
    0
    Yeah I did a bit of investigating after I posted on it and it seems people generally prefer early termination than nested code. I can see where you all are coming from. :) I applied for a student pack but since it's the weekend I don't expect I'd get a response before next week.
     
    Last edited: Nov 1, 2014
  12. Kylegar

    Kylegar Specstax Rule

    Messages:
    2,170
    Likes Received:
    0
    Trophy Points:
    0
    I added support for draw weapon and put away weapon animations for the view model. I'm working on the Inventory right now, then i'll probably create a loadout system.
     
  13. Z100000M

    Z100000M Vithered Weteran

    Messages:
    9,120
    Likes Received:
    70
    Trophy Points:
    0
    Slow down or else you'll have to make a ModDB page.
     
  14. Trickster

    Trickster Retired Developer

    Messages:
    16,576
    Likes Received:
    46
    Trophy Points:
    0
    Don't you mean Steam Early Access.
     
  15. Z100000M

    Z100000M Vithered Weteran

    Messages:
    9,120
    Likes Received:
    70
    Trophy Points:
    0
    Might as well indiegogo it

    You're getting the money and when you dont finish it, you'll keep it.
     
  16. Kylegar

    Kylegar Specstax Rule

    Messages:
    2,170
    Likes Received:
    0
    Trophy Points:
    0
    yessss

    give me money
     
  17. flasche

    flasche Member Staff Member Moderator

    Messages:
    13,299
    Likes Received:
    168
    Trophy Points:
    0
    give game get moneh

    also im so gonna contribute to this.
     
    Last edited: Nov 2, 2014
  18. f1r3w4rr10r

    f1r3w4rr10r Modeler

    Messages:
    2,475
    Likes Received:
    4
    Trophy Points:
    0
    What I am more interested in, is if we can actually just simply use the art assets from Empires. I mean of all things you are putting together here that's stuff that is not made by ourselves. So I'd just like to be sure on that one.

    Also: Before we rush ahead, we might also want to brainstorm on what gameplay mechanics UE4 allows us to do that weren't possible with Source. Or if we want to change anything significantly. I mean if people are really interested in helping, we might as well do that, since just simply remaking Empires on a new engine is not going to attract people.

    A third thing: How does the server setup on UE4 currently work? Do you have to host a master server by yourself?
     
  19. Kylegar

    Kylegar Specstax Rule

    Messages:
    2,170
    Likes Received:
    0
    Trophy Points:
    0
    Right now there is no money involved. I was talking to a friend about doing some art and making some cool assets based off the Empires mod assets. I want to port the Sourcemod assets over first, that way we have something to play with and then go from there.



    I was thinking just clone Empires and change things up as we go. I'm implementing something like the Planetside 2 shooter model (it's pretty decent) to improve on the shooting mechanics, but for vehicles and RTS stuff... might as well do what Empires did.

    I want to do a 2142 style titan mode, which is 100% possible in UE4. That's an after Empires baseline thing i think


    Very similar to Source (you have dedicated servers), yes we'd have to make our own master server. I think Steam provides a master server system if we get greenlit (might not have to since we are already on steam), but that's something to deal with after we have a simple game going.


    Basically, every other Empires 'redo' project failed because people got ahead of themselves. I'm making a simple set of shooter mechanics first, getting that playable, then releasing it. Then I'm going to move to vehicles, then buildings, in that order.
     
    Last edited: Nov 2, 2014
  20. Deiform

    Deiform Member

    Messages:
    2,491
    Likes Received:
    10
    Trophy Points:
    0
    The other reason was that the people involved were not coders and they relied on one overworked developer who eventually got annoyed at being told what to do. :p
     
Thread Status:
Not open for further replies.

Share This Page