×

Jim Dunne's video: ALTTP multiplayer demo part 3

@ALTTP multiplayer demo part 3
This is a work-in-progress demo where two players (using my modified fork of the bsnes emulator) can connect to each other over a network and see the other player's Link avatar in their game as he moves around the Hyrule world. See previous Part 2 at https://youtu.be/ZKjiE2MBXSU Nightly builds here: https://cirrus-ci.com/github/JamesDunne/bsnes-angelscript Download this specific version: https://github.com/JamesDunne/bsnes-angelscript/releases/tag/v109.3-angelscript NOTE: Game ROMs will never be provided! This is the first demonstration video showing cross-platform network communication between Windows and MacOS. For this demo, two machines are used: a Windows 10 desktop PC (off screen) and a MacBook Pro late 2016 model running MacOS Mojave 10.14.6 (on screen). Both machines run the same version of my modified BSNES emulator and use the same copy of the script code. The two machines are directly connected via a CAT-6 ethernet cable with static IPv4 addresses. The player on the Mac (local) has progressed through the game and has upgraded to the fire shield. The player on the PC (remote) has just finished the intro escape sequence and only has the starter shield. Showing two Link avatars with different shields would be incredibly technically challenging (if not impossible) if attempted via ROM hacking due to the way the game dynamically updates Link's sprite graphics every frame for animation purposes as well as changing the shield appearance. I have not tested connectivity over the public Internet yet, only local networks. I see no reason it shouldn't work over the public Internet, provided UDP ports are forwarded properly through NAT devices (home routers) and the IPv4 addresses are known on each end. IMPROVEMENTS SINCE PART 2: * Focused on Windows support to get networking code working there since it required extra porting effort. * Scripting support reports more detailed exception messages for network errors to aid in debugging. * Using Cirrus CI as a continuous build system to get builds for MacOS, Windows 64-bit, Windows 32-bit, and Linux 64-bit running. DISCLAIMER: At this point this is just a technical demo and is not made to be user-friendly yet. No other game state is synced between emulators, just the appearance of Link. WHERE TO FIND IT: This is all accomplished using my own fork of byuu's fantastic bsnes emulator. You can find my fork at https://github.com/JamesDunne/bsnes-angelscript . My bsnes fork integrates a scripting language called AngelScript ( https://www.angelcode.com/angelscript/ ) with the emulator and exposes some very basic functions and properties for scripts to access memory and state with. Scripts also define well-known functions pre_frame and post_frame which are called before a frame is rendered and after a frame is rendered, respectively. This demo video was rendered using the code from this specific git commit https://github.com/JamesDunne/bsnes-angelscript/commit/757a9c82e156cd2a4c802167df03debe0750dd42 HOW TO RUN IT: Run `sudo ifconfig lo0 alias 127.0.0.2 up` to create a loopback alias for 127.0.0.2. Run `./test.sh` script in a Terminal tab to open instance 1 Run `./test.sh` script in a new Terminal tab to open instance 2 (or in Finder, right-click the app bundle and shift-option-left-click on Open to open a new instance) The IP address in instance 1 should work as-is so just click Start there. In instance 2 you'll want to swap the two values so the Server IP is 127.0.0.2 and the client IP is 127.0.0.1. Click Start on both instances and load a saved state or play through the game on both emulators to see both Link avatars on both screens.

12

0
Jim Dunne
Subscribers
2.4K
Total Post
65
Total Views
1.1M
Avg. Views
21.5K
View Profile
This video was published on 2019-09-18 09:15:57 GMT by @jsd1982 on Youtube. Jim Dunne has total 2.4K subscribers on Youtube and has a total of 65 video.This video has received 12 Likes which are lower than the average likes that Jim Dunne gets . @jsd1982 receives an average views of 21.5K per video on Youtube.This video has received 0 comments which are lower than the average comments that Jim Dunne gets . Overall the views for this video was lower than the average for the profile.

Other post by @jsd1982