Hurray! Another multiplayer clone project. :)

Discuss and distribute tools and methods for modding. Moderator - Grognak
Post Reply
kcd.Spektor
Posts: 586
Joined: Thu Nov 26, 2015 8:21 am

Re: Hurray! Another multiplayer clone project. :)

Post by kcd.Spektor »

stylesrj wrote:Basically you're in an area where the ships are on your own level, then you encounter one that looks like all the others except it's tougher and requires more/better guns to fight. Although to be fair, they're clearly marked as dangerous.

So perhaps a mechanic to encourage exploration and seeking out events would be is to avoid fighting every pirate within range with high-powered enemies waiting nearby.

Heck you could have "Asskicker the Territorial" in the start sector who's way out of your league but will teach you a lesson in not only just fighting enemy ships, but making sure you're not too flashy about it. Or you'll have enemy ships who'll deliberately flee into their aggro range if they take too much damage or because they're assholes who'll risk getting themselves destroyed in the hopes that you go down first (then as they get blown up, Asskicker hails you to say that you're not worth his time).
Good ideas! :)
User avatar
stylesrj
Posts: 3638
Joined: Tue Jul 08, 2014 7:54 am

Re: Hurray! Another multiplayer clone project. :)

Post by stylesrj »

Some of those ideas could also be perks. Why have an alien who's only good trait is to cloak or teleport?
Can't you buy your Mantis a teleporter pack or a cloaking device?
Overpowered? Yeah but you first have to find a store that sells personnel equipment.

In all honesty, I'm a pretty dull boarder in FTL. I find two Mantises are better than a Rock & Mantis strategy that others use. So instead of creating aliens with a single gimmick that otherwise makes them useless, crew personalisation might work better.
Then again, why bother getting a Mantis when you can get a Human with a Power Sword or something that does the same thing? If you had the choice between a Mantis warrior or better melee weapons, wouldn't you go for the weapons?

No, a Mantis can't use a Power Sword because they've got claws. Haven't you seen them try and use a fire extinguisher? "Dammit!" *clunk* "Dammit!"
kcd.Spektor
Posts: 586
Joined: Thu Nov 26, 2015 8:21 am

Re: Hurray! Another multiplayer clone project. :)

Post by kcd.Spektor »

Gencool wrote:Thankyou!
I have some stuff for the ghosts (they're AI, actually; hard light holograms) but they're kind of unfished. The fire sprite is just a pose as proof of concept.
Check my next post with list of races I've selected, can you draw those?
I was thinking about putting humans in space suits, so that you don't have to re-use FTL's assets, and had a thought;
Excellent idea!
Maybe increase the sprite resolution a tad? to, say, 50x50? That way we get a bit more resolution and it allows for a whole new style of sprite.
I know that probably means they'll either have to be scaled down, or the world scaled up, and a whole bunch of stuff would have to be reworked, though, so feel free to shoot the idea down.
:lol: Funny thing - my mob sprites already are bigger the FTLs :)
They are 44x44 I think.
But making them bigger than that would be hard indeed.
Hope 44 is enough :)
Actually we can try to use 50x50 (if 44x44 won't be enough) just to see how it looks.
jrb00001
Posts: 201
Joined: Fri Jan 15, 2016 2:22 pm

Re: Hurray! Another multiplayer clone project. :)

Post by jrb00001 »

kcd.Spektor wrote:jrb - if you can, please make a small app that does the following?
1. Is a runnable jar that can be wrapped in to an exe
The small demo application is a runnable jar.
kcd.Spektor wrote:2. Running the jar(or when it's wrapped - exe) should show a small window(like it is right now), so it can be closed with pressing the X.
Running the jar opens a small "chat"-like window which can be used like the console. System.in, System.out and System.err are redirected. System.out and System.err are sent into the window and also to stdout / stderr. If you click on the X, it will execute the shutdown command.
kcd.Spektor wrote:3. Can be run from a console without the window
It does not open the window if there is a console available.
kcd.Spektor wrote:4. In it's run method there's an infinite loop.
The method is not called "run" but it works the same way.
kcd.Spektor wrote:5. It should be stoppable by a console command.
Handling of commands is up to you. It does execute the shutdown command if you click the X or press C-c on the console.
kcd.Spektor wrote:6. Requiring input from console should never block the infinite loop in the main run method.
I can not say whether it is fast enough for you but it does not block.
kcd.Spektor wrote:7. The app doesn't use any 3rd party dependencies, just pure java.
Why no dependencies? No dependencies is like reinventing the wheel...

How to use
Write a class which extends ServerLooper and implements the two methods boolean doUpdate(); and void processCommand(String cmd, String[] args);.
  • boolean doUpdate(); is called as fast as possible. Return false if you want to exit the loop.
  • void processCommand(String cmd, String[] args); is called after the user has entered a command. This method is called on the same thread as doUpdate(). A command line is splitted on whitespaces but respects quotes. The first part is the command, all other parts are the arguments.
To start the loop you have two options:
  • void runLoop(String windowTitle, String shutdownCommand); runs the loop on the current thread and blocks.
  • void startLoop(final String windowTitle, final String shutdownCommand); starts the loop on a new thread and returns immediately.
It is possible to execute multiple commands on shutdown, just separate them with newlines.

Download link: https://files.692b8c32.de/ServerLooper.zip
User avatar
Gencool
Posts: 409
Joined: Sun Jun 16, 2013 1:21 pm

Re: Hurray! Another multiplayer clone project. :)

Post by Gencool »

kcd.Spektor wrote:
Gencool wrote:Thankyou!
I have some stuff for the ghosts (they're AI, actually; hard light holograms) but they're kind of unfished. The fire sprite is just a pose as proof of concept.
Check my next post with list of races I've selected, can you draw those?
I was thinking about putting humans in space suits, so that you don't have to re-use FTL's assets, and had a thought;
Excellent idea!
Maybe increase the sprite resolution a tad? to, say, 50x50? That way we get a bit more resolution and it allows for a whole new style of sprite.
I know that probably means they'll either have to be scaled down, or the world scaled up, and a whole bunch of stuff would have to be reworked, though, so feel free to shoot the idea down.
:lol: Funny thing - my mob sprites already are bigger the FTLs :)
They are 44x44 I think.
But making them bigger than that would be hard indeed.
Hope 44 is enough :)
Actually we can try to use 50x50 (if 44x44 won't be enough) just to see how it looks.


44 should be fine!!

Can I ask - are the sprites moving from the centre?

One of my pet peeves about modding FTL character sprites is that they're drawn from the top-left corner.
You can technically make huuuge characters in FTL, but they'll be offset down and to the right as a result.

If you could have the sprites move from the middle, then we could have them 50x50, or 100x100, or whatever, and they'd just be really big.

(It'd be really cool for adding effects like explosions, or smoke, or even making my GIANT-giant alien spiders)


I'll have a look at some sprites tomorrow.
For now, I'm taking a break.
ImageImageImage
- Gencool (aka Puppetsquid) -- I make weird stuff
jrb00001
Posts: 201
Joined: Fri Jan 15, 2016 2:22 pm

Re: Hurray! Another multiplayer clone project. :)

Post by jrb00001 »

kcd.Spektor wrote:
Cog wrote: -Based on how many jump nodes you have visited. (Probably most unforgiving)
-Based on how many enemy ships you have encountered. (a little less unforgiving)
-Based on how much scrap/money you have gained. (a little less still)
-Based on how many separate occasions you have gained scrap/money. (maybe a happy medium, but probably boring that difficulty climbs at a steady, continuous rate, like Oblivion and their level 20 cougars)
-Based on distance (via some distance formula) from home square. (probably balanced but boring)
-Based on the map generating a danger-level for different areas of the map and giving the player some kind of cues to indicate "this area is level 1 danger, this area is level 7 danger" etc. This could be accurate or sometimes inaccurate (off by 1 to 2 levels maybe, randomly.)
If the last suggestion, I would in particular suggest that different races not be stronger than others (like Rogue AI space is level 7 while Engi space is level 1, for instance) though maybe certain races (like aforementioned Rogue AI... I mean captain's edition AI Avatar ships, not Rebel Drone ships) might have a (potentially hidden) modifier to danger level.
Agree.
What about an universe generation algorithm like this:
  • Place the home worlds for all races (owner factor 100).
  • Place other important planets for each race (owner factor 80).
  • Calculate the owner factor for all other planets (substract Math.random() * 3 for each distance unit).
  • If the owner factors are similar (+/-10 ?), there is no owner. If there is a clear winner, that race will be the owner.
The higher the owner factor is, the better are the defenses. A higher owner factor also means you need to have a better relationship or the owner will attack you. Destroyed defenses are rebuilt slowly.
kcd.Spektor
Posts: 586
Joined: Thu Nov 26, 2015 8:21 am

Re: Hurray! Another multiplayer clone project. :)

Post by kcd.Spektor »

Here's a starting list of planned races:
1. Humans
2. Pirates - same sprites as humans(perhaps slightly different) but a separate race
3. Androids - same sprites as humans(perhaps slightly different) but a separate race
4. Rogue AI - engi analog(can't use holograms cuz how do you shoot them then? :))
5. Giant alien spiders :twisted:
6. An alien that has some physical form that is always on fire or an energy being that is something like a fire elemental
7. An alien race that is mix of FTLs - Rock, Cristal and Lanius. - basicli another elemental race.
8. A creepy/monstrous cthulhu like +eyeless race.
9. Some sort of humanoid-lizard species

I want to make it that at some point(some level) you character can select which path of race development to take.
Example Fire/energy elemental race. At level 10 you can select to either go Fire or go Energy.
If you go Fire then you get perk that makes you immune to fires, you can't put the out, you burn nearby enemies.
If you go Energy then you get perk that you provide power to capacitor, you moove faster, your health is lower.
Then when you level up you at some levels can choose one of several abilities to select:
exmaple at level 15 Fire race char can select either Explode ability that alows you to perform an explosion damaging nearby mobs and setting room on fire, or Consume flame ability that alows you to extinguish all fires in some radius while healing you.

Now this is just an exmaple, the perks and abilities will be decided later.

I will make lists of good, and easy to implement perks and abilities.
And when I get to the point on adding them we can decide which race get's which perk/ability.

For now you can start suggesting perks(passive abilities), abilities(active) for these races.
kcd.Spektor
Posts: 586
Joined: Thu Nov 26, 2015 8:21 am

Re: Hurray! Another multiplayer clone project. :)

Post by kcd.Spektor »

Gencool wrote: Can I ask - are the sprites moving from the centre?

One of my pet peeves about modding FTL character sprites is that they're drawn from the top-left corner.
You can technically make huuuge characters in FTL, but they'll be offset down and to the right as a result.

If you could have the sprites move from the middle, then we could have them 50x50, or 100x100, or whatever, and they'd just be really big.

(It'd be really cool for adding effects like explosions, or smoke, or even making my GIANT-giant alien spiders)

I'll have a look at some sprites tomorrow.
For now, I'm taking a break.
Technically you can make sprites of any size, as long as all frames are in 1 line, and each frame is of the same size as others.
the height of a frame is the height of the image, and the width of a frame is width of the image devided by the ammount of frames.
kcd.Spektor
Posts: 586
Joined: Thu Nov 26, 2015 8:21 am

Re: Hurray! Another multiplayer clone project. :)

Post by kcd.Spektor »

Thanks I will have a look at it.

Also another thing you could help with is making the logic trees for ship ai behaviour.
For exmaple:
Pirate crewless drone ship.
Image
Last edited by kcd.Spektor on Wed Feb 03, 2016 9:57 pm, edited 2 times in total.
User avatar
stylesrj
Posts: 3638
Joined: Tue Jul 08, 2014 7:54 am

Re: Hurray! Another multiplayer clone project. :)

Post by stylesrj »

The Elementals could be the ones with the greatest set of perks. Go Fire for burning damage, Energy for the Zoltan goodness and why not add Air if you want to add oxygen support in airless ships? And Water if you wanna add water mechanics (but I'm not a big idea of having a system on the ship that generates water so not only are you managing air and vacuum, you're also managing moisture...)

Along with racial perks, what about personnel equipment?

Suit your Humans in power armour to match up against the Rocks, or give your Spiders a cloaking device to become a greater threat?
Of course some equipment can't be used by others, like Spiders can't use the Power Armour because it's built for Humans, or Mantises can't use Power Swords because claws... or Rocks are the only ones strong enough to wield heavy weapons without setting them up, etc, etc.
Post Reply