Duke4.net Forums: Fusion - Duke4.net Forums

Jump to content

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

Fusion  "A Duke3D multiplayer oriented port"

User is offline   Photonic 

#1

Attached Image: game.png
github.com/Photonic-source/Fusion


A 32bit OpenGL port of Duke Nukem 3d focusing on peer to peer network stability and ease of use.


Fusion brings Duke3D Multiplayer to everybody. With a simple to use installer and URL protocol launching, you are just clicks away from a Dukematch with your friends over the internet or LAN.


To launch Fusion from your browser it's "fusion:-dir full -host 2" to host a 2 player multiplayer game.
Then "fusion:-dir full -join [HOST IP ADDRESS]"

eg. Here I've been playing a lot of LAN while testing.
player1 "fusion:-dir share -host 2"
player2 "fusion:-dir share -join 196.168.0.10"

This takes most of the legwork away from new users and lets hosts send links to their friends who can then just click to play. No thirdparty software or server needed. With that said this port is ready and waiting for a website to host chats and generate some buttons to start matches.


Instructions.
1. Download and run installer from the bin folder on github
2. Run game once in single player and setup your preferences
3. Click a link or make a shortcut and play.
*) Port-forwarding required to host games.
*) fusion.exe needs to be allowed past your firewall
7

User is offline   RADAЯ 

  • Zionist Shill

#2

What does this do that the classic XDuke/HDuke + Yang combo doesn't?
1

User is offline   Photonic 

#3

It doesnt require Yang for one. Make a URL link and launch it from any chatroom, email, irc, discord, steam group, bbs...
Is hduke opengl polymost? This is.
Eduke con support is there.
Host join works with duke connector i think.
-f# parameter to lock all players into custom packet sending modes. See source

More to come

This post has been edited by Photonic: 15 March 2020 - 04:50 PM

0

User is offline   Photonic 

#4

You don't need the installer, the exe is in the bin folder too, you just need to add the URL Protocol keys to the registry if you want to run it that way. Any links can just be copy pasted to the command prompt as arguments if you don't like registry edits.
eg.
"fusion.exe fusion:-map e1l1"
And all the classic net args work still, -net -n0:4 for master slave, or the ip ip n1 ip style.
0

#5

While this port is good, there's only one problem.
it's not detecting modified con files. it just uses the internal defaults.
i'd really appreciate it if you would fix that. cause it's kinda annoying.
1

User is offline   RADAЯ 

  • Zionist Shill

#6

View PostPhotonic, on 15 March 2020 - 03:31 PM, said:

Tell me what you think. The port is only a small part of it, the URL launching is the game changer.


View PostPhotonic, on 15 March 2020 - 04:42 PM, said:

It doesnt require Yang for one.


That isn't really a feature. Yang just doesn't support Fusion.

View PostPhotonic, on 15 March 2020 - 04:42 PM, said:

Make a URL link and launch it from any chatroom, email, irc, discord, steam group, bbs...


URL links are just 1 step removed from a command line interface. This is not easier to use than a GUI program.

View PostPhotonic, on 15 March 2020 - 04:42 PM, said:

Is hduke opengl polymost? This is.


But you're using the old pasty-looking polymost renderer, and software mode isn't an option. (it also only recognizes 4:3 resolutions on my machine btw) Your renderer of choice is certainly not a feature at the moment.


If you really want to innovate in the area of game launchers, what Duke needs is an OPEN SOURCE GUI launcher that fully supports the latest source ports and their unique features. Basically, Yang only supports XDuke. A new launcher that fully supports XDuke, HDuke, NDuke, EDuke32 OldMP, Rednukem, and NBlood is severely needed at this point. I've always thought of creating one myself, but the thought of the ensuing client war dissuades me.

This post has been edited by RADAЯ: 15 March 2020 - 07:37 PM

2

User is offline   Striker 

  • Auramancer

#7

I'm wondering if this functionality would be better off merged with EDuke32-OldMP. This seems to be using a much older version of EDuke32 code as a base, containing a lot of bugs I've since fixed (like music volume not working), and none of the quality of life fixes.

There's also NetLauncher, which makes direct IP connections and loading mods very simple. I plan on adding support for other ports to NetLauncher as well. Maybe URL support could be added to that. (Maybe netlaunch://<ip>, nothing else would be needed since map, player count, etc is already handled by the program itself.)

NetLauncher source: https://gitlab.com/mossj32/netlauncher

This post has been edited by Striker: 15 March 2020 - 08:58 PM

2

#8

View PostPhotonic, on 15 March 2020 - 04:42 PM, said:

A 32bit OpenGL port of Duke Nukem 3d focusing on peer to peer network stability and ease of use.


Fusion brings Duke3D Multiplayer to everybody. With a simple to use installer and URL protocol launching, you are just clicks away from a Dukematch with your friends over the internet or LAN.
This takes most of the legwork away from new users and lets hosts send links to their friends who can then just click to play. No thirdparty software or server needed. With that said this port is ready and waiting for a website to host chats and generate some buttons to start matches.
More to come

All of this sounds like a very interesting WIP.

I think that waiting a lil bit for improvements won't hurt anyone, more alternatives the better imo

1

User is offline   Photonic 

#9

View PostRADAЯ, on 15 March 2020 - 06:58 PM, said:

If you really want to innovate in the area of game launchers, what Duke needs is an OPEN SOURCE GUI launcher that fully supports the latest source ports and their unique features. Basically, Yang only supports XDuke. A new launcher that fully supports XDuke, HDuke, NDuke, EDuke32 OldMP, Rednukem, and NBlood is severely needed at this point. I've always thought of creating one myself, but the thought of the ensuing client war dissuades me.

Yes this, but not software, just a webpage.

View PostStriker, on 15 March 2020 - 08:52 PM, said:

I'm wondering if this functionality would be better off merged with EDuke32-OldMP. This seems to be using a much older version of EDuke32 code as a base, containing a lot of bugs I've since fixed (like music volume not working), and none of the quality of life fixes.

There's also NetLauncher, which makes direct IP connections and loading mods very simple. I plan on adding support for other ports to NetLauncher as well. Maybe URL support could be added to that. (Maybe netlaunch://<ip>, nothing else would be needed since map, player count, etc is already handled by the program itself.)

NetLauncher source: https://gitlab.com/mossj32/netlauncher

Please feel free to grab it. I have a folder in /rel/url_bat_scripts that has a wrapper for EDuke32-oldmp. The code is in winlayer.c in engine (it converts url encoded + and %20 into spaces for the command line.


Thanks for the feed back guys.
0

User is offline   Photonic 

#10

View PostHollaback Duke (defiatron), on 15 March 2020 - 06:47 PM, said:

While this port is good, there's only one problem.
it's not detecting modified con files. it just uses the internal defaults.
i'd really appreciate it if you would fix that. cause it's kinda annoying.

Pack'em into the GRP file. Or stick with oldmp it's less picky on loose files.

Don't try autoload it's disabled, more harm than good when trying to start netgames with less experienced players.
0

#11

View PostPhotonic, on 16 March 2020 - 01:07 AM, said:

Pack'em into the GRP file.

Worst advice ever. You should make it a priority to fix the loose file issue.

Also you should post some videos, showing off your port in action.

This post has been edited by icecoldduke: 16 March 2020 - 07:11 AM

2

#12

View PostPhotonic, on 16 March 2020 - 01:07 AM, said:

Pack'em into the GRP file.

While i do not like that advice, it sounds like a good idea for me to pack my mod (Blood And Ice) into a GRP file once it's finished. Cause right now, the folder it's being developed in is a fucking mess.

Attached Image: What_The_Fuck.PNG
Keep in mind, This is only a small part of the folder.
0

User is offline   Hendricks266 

  • Weaponized Autism

  #13

>Another fork of an old-ass EDuke32 version

Pass.
2

User is offline   RADAЯ 

  • Zionist Shill

#14

 Photonic, on 16 March 2020 - 01:03 AM, said:

Yes this, but not software, just a webpage.


Why?
0

User is offline   Photonic 

#15

 Hendricks266, on 16 March 2020 - 08:07 AM, said:

>Another fork of an old-ass EDuke32 version

Pass.

Yes. This is definitely not something you would appreciate.

Radar-why?
Because that is the direction I am going. If you do write that open source network guide let me know though k.

About yang... I think i broke support for it by renaming game_dir to dir. I will fix that and make sure it works with yang tonight.
0

User is offline   Player Lin 

#16

View PostHollaback Duke (defiatron), on 16 March 2020 - 07:59 AM, said:

While i do not like that advice, it sounds like a good idea for me to pack my mod (Blood And Ice) into a GRP file once it's finished. Cause right now, the folder it's being developed in is a fucking mess.



This reminds me about Lord Misfit's NR-IotDM mod...(v5.22 on my hard disk, not latest or even his latest github repo...just still updates on late of last year, but from the readme, still have to extract all files before try to running...)

Attached Image: temp__uh.png
(NR mod files + NR HRP pack)

That's not a good way to manage your mod with large amount of loose files...

(Sorry about offtopic, but loose files sometimes can be very...annoying.)

This post has been edited by Player Lin: 16 March 2020 - 10:28 AM

0

#17

Photonic, if you're gonna make a multiplayer oriented port, remember these little pieces of advice.
1. Do not base it off of an old eduke version. (MOST IMPORTANT!)
2. Do not strip a bunch of features away. (Like some resolution options, software mode, etc.)
3. Make a multiplayer client to go along with your port. (Make something like meltdown, minus the malware.)
4. Support loose con files (Like the normal eduke.)
5. Have the URL launching as a part of the client.
Now, i'm not someone who programs source ports, but i'm sure these pieces of advice will help you along the way.
0

User is offline   RADAЯ 

  • Zionist Shill

#18

 Photonic, on 16 March 2020 - 10:20 AM, said:

Radar-why?
Because that is the direction I am going. If you do write that open source network guide let me know though k.


What I mean is, do you think an http based launcher is superior to a GUI program? If so, why?
1

User is offline   Photonic 

#19

 RADAЯ, on 16 March 2020 - 10:38 AM, said:

What I mean is, do you think an http based launcher is superior to a GUI program? If so, why?

I feel a bit more secure launching from private means myself. Portforwarding and advertising ips publicly is sketchy in my honest opinion.

I like the idea of something like build&shoot or qlstats for Duke. Obviously it would differ due to differences between c/s and p2p, actually thats the heart of the issue. I believe p2p netcode will prove to be superior to c/s in the end. Hell quake was built around c/s and ping wins everyday, i wont enter euro servers. P2P has its place, deterministic multiplayer ftw!
0

User is offline   Photonic 

#20

 Hollaback Duke (defiatron), on 16 March 2020 - 10:33 AM, said:

Photonic, if you're gonna make a multiplayer oriented port, remember these little pieces of advice.
1. Do not base it off of an old eduke version. (MOST IMPORTANT!)
2. Do not strip a bunch of features away. (Like some resolution options, software mode, etc.)
3. Make a multiplayer client to go along with your port. (Make something like meltdown, minus the malware.)
4. Support loose con files (Like the normal eduke.)
5. Have the URL launching as a part of the client.
Now, i'm not someone who programs source ports, but i'm sure these pieces of advice will help you along the way.

EDuke 2.0 had solid net code. NAM over dialup was great... Damn i feel old.
0

User is offline   Mark 

  • Honored Donor

#21

I'm only guessing here but I think Photonic looks at his release as something decent to play until the time the "proper official" full featured version comes along. So I won't join in with asking for this, that and the other thing. He released now after hearing about the corruption on an online server. This is a temp alternative.

This post has been edited by Mark: 16 March 2020 - 11:17 AM

0

User is offline   RADAЯ 

  • Zionist Shill

#22

There are perfectly decent ways to play Duke Nukem 3D online already. If you've heard otherwise, it's disinformation.

No offense to Photonic, but this source port is worse than at least 5 other methods I could name.
2

#23

View PostPhotonic, on 16 March 2020 - 11:07 AM, said:

EDuke 2.0 had solid net code. NAM over dialup was great... Damn i feel old.

Yeah. but i don't think anyone even uses EDuke 2.0 anymore. what i meant to say was do not use old eduke32 versions as a base.
0

User is offline   Photonic 

#24

View PostHollaback Duke (defiatron), on 16 March 2020 - 11:38 AM, said:

Yeah. but i don't think anyone even uses EDuke 2.0 anymore. what i meant to say was do not use old eduke32 versions as a base.

I can understand why you might say that, but I disagree, rancidmeat lacks much under the hood. The netcode looks fancy... I've got a few branches here that are wip using some of xdukes netcode changes, also a whole new pre_netready() where the host tells the joiners what's happening, basically they just need to -join [IP] and all the game specific variables are sent before the game starts (see zdoom netcode) Then "if and when it's done" I do have ideas for putting most of this stuff right into the main game single player launcher.

Bringing up -f# use it, set up packetrate values that are appropriate for your players ping. Don't expect miracles but cross country games here stay in sync (Ontario-BC, also Ontario-Brazil was solid)
0

#25

View PostPhotonic, on 16 March 2020 - 12:18 PM, said:

I can understand why you might say that, but I disagree, rancidmeat lacks much under the hood. The netcode looks fancy... I've got a few branches here that are wip using some of xdukes netcode changes, also a whole new pre_netready() where the host tells the joiners what's happening, basically they just need to -join [IP] and all the game specific variables are sent before the game starts (see zdoom netcode) Then "if and when it's done" I do have ideas for putting most of this stuff right into the main game single player launcher.

Bringing up -f# use it, set up packetrate values that are appropriate for your players ping. Don't expect miracles but cross country games here stay in sync (Ontario-BC, also Ontario-Brazil was solid)

Why not just spend the time and merge back the old netcode into the current codebase?
0

User is offline   Photonic 

#26

View Posticecoldduke, on 16 March 2020 - 12:24 PM, said:

Why not just spend the time and merge back the old netcode into the current codebase?

The game code is too far gone to handle deterministic netgames.

This post has been edited by Photonic: 16 March 2020 - 01:10 PM

0

#27

View PostPhotonic, on 16 March 2020 - 01:09 PM, said:

The game code is too far gone to handle deterministic netgames.

How so? The game still uses pseudo random number generation right?

This post has been edited by icecoldduke: 16 March 2020 - 02:54 PM

0

#28

View Posticecoldduke, on 16 March 2020 - 02:49 PM, said:

How so? The game still uses pseudo random number generation right?


Why do i feel like photonic is coming up with excuses? something really seems off about him.

This post has been edited by Hollaback Duke (defiatron): 16 March 2020 - 03:12 PM

0

User is offline   Photonic 

#29

 icecoldduke, on 16 March 2020 - 02:49 PM, said:

How so? The game still uses pseudo random number generation right?

Meh. Youre probably right, but was beyond the scope of my project, and ability too to be frank.
0

User is offline   Photonic 

#30

 Hollaback Duke (defiatron), on 16 March 2020 - 03:11 PM, said:

Why do i feel like photonic is coming up with excuses? something really seems off about him.

Hi. Who are you? Recent name change?
0

Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options