Author Topic: SuperMarioWar crossplatform port  (Read 4218 times)

Offline rahn

  • Newbie
  • *
  • Posts: 14
SuperMarioWar crossplatform port
« on: March 10, 2015, 09:27:03 AM »
Play Now:
Web Player (build is easier to keep up to date)
http://sepehran.de/smw/

Mobile-/PC-Platform builds on request.

Archiv (not compatible with latest builds)
Spoiler
28.03.2015: first public alpha release of SMW MP Deathmatch!

Features:
 * Online/Lan Multiplayer
 * ListenServer: every Client can Host - open UDP Port 25005 if NAT Traversal doesn't work
 * Characters: Mario, Pikachu, Kirby, BubbleBobble, Carbuncle, Toad
 * Items: Star, FireFlower, Bomb, IceWand
 * Maps: classic
 * GameMode: Deathmatch without Roundlimit, endless game!
 * Player move prediction

Upcoming Features:
 * Bomb: pickup and throw
 * Teams
 * Color selection
 * Mapselection
 * GameSettings: Roundlimit (Points, Kills, Lifes), Teamattack (enabled), Selfattack (enabled), SpawnProtection (enabled; time)

Known Bugs:
 * ALOT
 * Server has advantage (its not a bug its authoritative networking)

Input Control
Keyboard:
E to use Power
2x Escape to go back to MainMenu

Android
2x Back to go back to MainMenu


Web Player (build is easier to keep up to date)


Windows

Android [tested on Samsung Galaxy SII (800x480, Android 4.1.2) and Nexus 5 (1920x1080, Android 5.0.1)]

Blackberry [tested on Z10]

Windows Phone 8
Spoiler
Download: currently not available  (I need Windows 8 to built it)
archive password: ground_up_build_by_rahn

Mac OS X

Linux

have fun

please report bugs!
thx



Hello 72dpiarmy,

I was falling in love with this game since I installed it on my jtagged Xbox 360 in 2010. It's a AAA-Homebrew and with friends more fun than alot AAA-hyped games!
I'm new to this Community and working on a crossplatform port (Android, iOS, BB10, Windows Store, Windows, Linux & Mac) of the Game with Multiplayer feature.

The Game is far away from a full port!

Current Features

Singleplayer
 - one Map
 - Deathmatch: with 3 Bots
 - Power-Up: Star

Multiplayer
 - one Map
 - Deathmach up to X Player
 - Power-Up: Star, Fire-Flower

Software Engineering
Spoiler

Classes


Animation


Sequence Diagrams

Movement


Collecting Star and getting Invincible


HeadJump



The questions I ask you, I never read about the GPL or other open-source licenses and don't know what is allowed and what is against the law.
Are the Spritesheets (World-Tileset and Characters) licensed or can I use them within my Project?

actuall gamefootage (screenshots, gameplayvideo) or the build will be uploaded if there is no license issue!

If the game gets more final i want to make some money with it, because of that i'm asking the license thing. ... maybe i need to rename the characters at that time because of trademark issues (Nintendo, Sega, Pokemon...)

greetz
Rahn


______________________
my english needs to evolve!
« Last Edit: April 12, 2015, 06:44:51 PM by rahn »

Offline GaM3r2Xtreme

  • Gettin' Into the Swing of Things
  • **
  • Posts: 33
Re: SuperMarioWar crossplatform port
« Reply #1 on: March 10, 2015, 01:56:03 PM »
Since the sprite-sheets and common characters like Mario and Yoshi are based off of Nintendo games, Nintendo has the right to those trademarks. In other words, you would not be able to use any kind of mention of their property or ideas while making some money off of it in your own game. I can see major lawsuits being sent your way if you were to do this.

I looked up a GPL license and here is a link that explains what can and can't be done in pretty simple words:
https://tldrlegal.com/license/gnu-general-public-license-v3-%28gpl-3%29

It looks like you have some good ideas for your game, but I don't know if you could directly port SMW as it stands now. BTW, I know fluffypillow currently has some netplay capabilities being worked on from the SMW Github page.

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #2 on: March 10, 2015, 02:33:05 PM »
Thank you GaM3r2Xtreme for your reply.

I dont use any off the original smw source code; GPL affects the spritesheets? The version i'm working on is completely written by myself in C# and Unity. Unity gives me the possibility to build for all devices (even mobile).

If the Game gets serious Characternames and sprites can be easily replaced to avoid trademark issues.



Offline fluffypillow

  • Regular
  • *****
  • Posts: 136
    • smwstuff.net
Re: SuperMarioWar crossplatform port
« Reply #3 on: March 10, 2015, 05:32:54 PM »
Wow, looks like you've been working on this for quite some time, why didn't you tell us about it before? :)
Now, about the legal stuff: the source code is under GPLv2, and the game assets use the Artistic/Don't-sue-Us License.

tldrlegal is a bit too simple, so I'll try to present the licenses as human-readable (could be useful for future developers too).

GPLv2 means the following:
- you must release the source code
- you can ask money for "the physical act of transferring a copy", and for "offering warranty"
- you must include this license with your program
- if your program is free, you are not responsible for damages caused by it
- others can modify and distribute your code if their program will be under GPL too

An Artistic Licensed file:
- must be publicly accessible or public domain
- if you change it, you must provide instructions on where to get the original
- you can not ask money for it on its own, but you can include it in commercial products

If you don't use SMW's source in your program, you don't have to release it under GPL. However, you still have check proprietary licenses. "Super Mario" is a licensed trademark of Nintendo, and you are not allowed to create anything related to their games. You can be also sued for similar gameplay or similar name too, even if it's your own name.

Now this might be a little shocking if you haven't worked open source before, but it has its own benefits too. In any case, welcome on the board!
smwstuff.net
Working on: Netplay, Content hosting site, asm.js port

Offline MC Jimmy

  • Global Moderator
  • Ain't Nothin' but a Hound Dawg
  • *
  • Posts: 4965
  • Pon de replay?
    • MC Productions
Re: SuperMarioWar crossplatform port
« Reply #4 on: March 10, 2015, 08:53:26 PM »
I don't know anything about licenses, but I have a windows phone if you want me to help bug test and stuff when you are ready to release something.

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #5 on: March 10, 2015, 09:33:13 PM »
Thank you fluffypillow for making the open-source usage more clear.

The GPLv2 code is clear now, because I don't use it. ;-)

The sprite sheets need to be replaced for a final release to avoid getting sued.

Yeah you're right, there is some effort in this project. It's almost one year ago when I got interessted in developing games and installed Unity for the first time. It was an amazing feeling when the first build of nothing but a cube controlled by accelerometer was running on my mobile. In this special moment I realized that I have to develop a game and because there is no working smw port for android and ios I had a challenge. :D

Even if the project was now 4 months on hold my aim was and still is finishing the multiplayer deathmatch part and releasing it to the app stores.

Unity 5 got released this week and is now with all features completely free for personal use. With Unity 4 I had to pay over 5000 EUR for Pro Version + Android and iOS Pro Addon to use .net network coding cross-platform. So this little payment problem is gone and I can resume work.

For now (homelab) I choose a dedicated Masterserver to register and list current gamesessions with a Facilitator service to provide NAT Traversal (punchtrough) and allow playing behind firewalls.

A relay and dedicated Gameservers are not planed at the moment. Every Client can also run the Listenserver.

I choosed this Network architecture because if the game is released in App Store's 90% of the user dont know how to handle dedicated Gameservers, and if i provide those servers worldwide they will cost me alot without knowing if that game is paying it out.

The NAT traversal needs some more adjustment (Matchmaking logic) to handle Player behind restricted NAT, too.

As I said the project was four months on hold and while reviewing the code I got a little headache. xD It needs some time to get back in the gamelogic but I will update you and provide some playable alpha.




Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #6 on: March 14, 2015, 10:19:25 PM »
okay guys, i'm back in

working right now on the CharacterSelection Menu



Change Character sequence diagram

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #7 on: March 17, 2015, 10:45:20 AM »
Character Slection Menu works and syncs to all Clients.

 - Every Character can only be used by one Client, Server is authoritative and controls the character allocation.

Next Step: Team feature

I want to implement the teams feature and till now i pushed the coloring of the Character Sprites succesfully aside.
How ever I have to face this problem now.

Can somebody describe how the Sprites get theire dynamic team color?

I used ImageMagick to neutralize all bmp spritesheets from SMW

imagemagick -alpha set -channel RGBA -fill none -opaque "#FF00FF"

Original




Neutralized (set transparency)




With the team feature... some parts of the sprites need to get the color of the team to make out who plays with or agains me.
Can somebody explain how this is done with the bmp's

the designer (i think it's fluffypillow) of the greate site http://smwstuff.net/browse did it, too.

would be nice to get some information about this.
whats the name of this image modification technique?
« Last Edit: March 17, 2015, 02:32:07 PM by rahn »

Offline fluffypillow

  • Regular
  • *****
  • Posts: 136
    • smwstuff.net
Re: SuperMarioWar crossplatform port
« Reply #8 on: March 23, 2015, 06:02:13 PM »
The actual skin colors depend on the palette file included with the game. SMW replaces the pixels of the original image with the color on the palette. The palette defines color schemes for various states of the player, like frozen, tarred or invincible, so you don't have to draw them manually for each skin, and it works and customizable for the different teams. There are some guides about how skins work on this forum (in the How-Tos section), and you might find explanation images on various parts of the net too.
smwstuff.net
Working on: Netplay, Content hosting site, asm.js port

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #9 on: March 28, 2015, 03:24:38 PM »
28.03.2015: first public alpha release of SMW MP Deathmatch!

Features:
 * Online/Lan Multiplayer
 * ListenServer: every Client can Host - open UDP Port 25005 if NAT Traversal doesn't work
 * Characters: Mario, Pikachu, Kirby, BubbleBobble, Carbuncle, Toad
 * Items: Star, FireFlower, Bomb, IceWand
 * Maps: classic
 * GameMode: Deathmatch without Roundlimit, endless game!
 * Player move prediction

Upcoming Features:
 * Bomb: pickup and throw
 * Teams
 * Color selection
 * Mapselection
 * GameSettings: Roundlimit (Points, Kills, Lifes), Teamattack (enabled), Selfattack (enabled), SpawnProtection (enabled; time)

Known Bugs:
 * ALOT
 * Server has advantage (its not a bug its authoritative networking)

Input Control
Keyboard:
E to use Power
2x Escape to go back to MainMenu

Android
2x Back to go back to MainMenu


Web Player (build is easier to keep up to date)


Windows

Android [tested on Samsung Galaxy SII (800x480, Android 4.1.2) and Nexus 5 (1920x1080, Android 5.0.1)]

Blackberry [tested on Z10]

Windows Phone 8
Spoiler
Download: currently not available  (I need Windows 8 to built it)
archive password: ground_up_build_by_rahn

Mac OS X

Linux

have fun

please report bugs!
thx
« Last Edit: March 29, 2015, 12:01:06 PM by rahn »

Offline fluffypillow

  • Regular
  • *****
  • Posts: 136
    • smwstuff.net
Re: SuperMarioWar crossplatform port
« Reply #10 on: March 28, 2015, 04:39:52 PM »
No free slots on ul.to :(
smwstuff.net
Working on: Netplay, Content hosting site, asm.js port

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #11 on: March 28, 2015, 04:46:40 PM »
No free slots on ul.to :(

? can i upload directly in the forum?

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #12 on: March 28, 2015, 05:16:14 PM »
*Mega Links added

Offline fluffypillow

  • Regular
  • *****
  • Posts: 136
    • smwstuff.net
Re: SuperMarioWar crossplatform port
« Reply #13 on: March 28, 2015, 05:38:53 PM »
Thanks! Now, you didn't include 64 bit builds in the Linux package, the required libraries of an x86 build are not installed by default on most 64-bit Linux distributions. This is a common issue, I wonder why isn't there a warning in Unity about this.
« Last Edit: March 28, 2015, 05:42:23 PM by fluffypillow »
smwstuff.net
Working on: Netplay, Content hosting site, asm.js port

Offline rahn

  • Newbie
  • *
  • Posts: 14
Re: SuperMarioWar crossplatform port
« Reply #14 on: March 28, 2015, 06:04:40 PM »
uploading the universal linux build right now (x86+x86_64)

links updated:
https://mega.co.nz/#!CZVFUBDa!s_O9MfWOIHpr9k4R09A-qEEZt906Nj-gpeX_3nNPtwU