Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411500 Posts in 69373 Topics- by 58429 Members - Latest Member: Alternalo

April 25, 2024, 01:53:18 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsField of Heroes - Soccer MOBA (online + local multiplayer)
Pages: [1]
Print
Author Topic: Field of Heroes - Soccer MOBA (online + local multiplayer)  (Read 2162 times)
Gamieon
Level 0
***



View Profile WWW
« on: November 03, 2016, 04:52:20 PM »





Download from


Development Livestream


Follow



Field of Heroes is an online + local multiplayer game where you guide a ball into an opposing team's goal while fighting them off and defending your teammates. Developed in Unity3D by one person (me!), this game features:

  • Play as one of several classes, and switch between them during the game
  • Online + local multiplayer (you can even do both together!)
  • Play alongside or against automated bots
  • Diverse weapons and abilities
  • Multiple soccer fields and field obstacles to add to the challenge

And long-term stretch goals such as:

  • Clan membership and competitive play
  • Build your own soccer field and make it available to all players!


Initial prototype animations



 



Inspiration

I was probably influenced most by watching an Unreal Editor 4 medieval kingdom fly-through demo; I somehow got to thinking it would be cool to build a Soccer game on it like the old arcade game Pigskin 621 A.D. I was going to do it in Unreal, but Unreal corrupted my original prototype. I'm better at Unity3D anyway. The final straw was inspiration from "What the box?" developer DanielSnd, who demonstrated that quality network games can be made very quickly.


Project Goals and Trajectory

My current goal is to throw together a prototype as rapidly as possible to see if a Soccer MOBA can even exist as a quality game. When ready, I hope to post it on Greenlight Concepts and itch.io. If it does well, I'll look for a studio who can help me transform the prototype into a real quality game with more features.

Though I've spent well under 100 total hours on the project, I managed to hack together a medieval soccer field, ball, functional network and local multiplayer support, two finished character classes, AI support, and documentation that includes a list of things to do and character class balancing metrics. That was largely possible by the Unity Asset Store; lots of great stuff for prototyping! I've also done a little bit of social network posting to draw attention to the project.


What's next?

Finishing the last two character classes, then ensuring the AI and net code still work well when all of them are on the field at once. That should be very exciting to watch...


Don't forget to follow this game's progress!

« Last Edit: February 19, 2017, 07:02:51 AM by Gamieon » Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #1 on: November 08, 2016, 04:26:12 PM »

Just reached two more milestones. The first is the completion of the last two classes; Archer (fast, physical damage) and Alchemist (stuns and support).


The second is adding support for keyboard and mouse controls over just keyboard alone. Aiming is much easier now thought it would be a little better to have some additional visual cues.

I also tested that everything still works over the network...so far...

Now I'm free to pit the bots against each other and see how well they play.
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #2 on: November 15, 2016, 02:19:51 PM »

I got the bot behavior trees ready for the prototype release! Check it out!





The bot priorities are:
  • Ensuring someone is in the same area as the ball
  • Fighting enemies
  • Staying in their assigned area if the ball has coverage

There are four classes in all:
  • Knight - Heavy defense, physical strength
  • Wizard - Ranged magic attacks, magical defense
  • Archer - Speed and crossbow turret throwdown ability
  • Alchemist - Stun attacks and blocking wall conjurings

Each class is designed to counter one class and to not be terribly weak in the face of the other two. Players will be able to change which class they play with each respawn.

Here they are in order:



I did not make them; in fact you can find them in a character pack in the Unity Asset store at https://www.assetstore.unity3d.com/en/#!/content/11004  Smiley


One more thing...have some emojis! Hand Any Key Hand Any Key Hand Any Key
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #3 on: November 30, 2016, 07:42:06 PM »

Hit a big milestone tonight: Multiple local players joining a network room!





Many Unity3D developers like me use Photon Networking to power their games. While Photon treats each running instance of a game as a player, I had to design around treating each Photon player as a running instance of a game. For each Photon player I maintained custom properties; the names of which all prefixed by a local player index. All of the control polling, player listing, etc. revolved around those custom properties. It's something you really have to plan for at the beginning.

As for the "New game" ceremony where everyone chooses their player, I spent days trying various things that didn't work. I eventually settled on the Team Fortress 2 approach of having a team select followed by a character select. To minimize confusion and screen "real-estate" usage, I made it so players would choose with just one button rather than shifting their player names around in the lists. I also made it so you can see who chose what team and what character; even if they're on the other team.

The next step is to ensure the "New game" ceremony works for network players as well; after that I can work on the nuances of game play that are tricky and often taken for granted -- mid-game player joins, exits, chat, and more. One of the most important things is that players stay engaged; I don't want people to wait a moment longer than they have to for joining a game.
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #4 on: December 14, 2016, 06:31:02 PM »

I haven't posted in far too long, and I have a bunch of updates to report!

Main menu lobby



First, the game list is functional. Nothing fancy, just a list of games and a play button for each. It does work, however.


Help screen



Then there's the help screen. You can hold down F1 at any time in the game to see button bindings and player classes. Now that I look at it, there seems to be a design flaw where I don't account for the joysticks for local players 2, 3 and 4. Should be easy to fix by moving those binding listings into the class section.


Respawn



To support multiple local players, I ensured the respawn countdown and menu appears over the player that died. Everyone can change teams and character classes. Local players 2, 3 and 4 can quit the game as well.


Goal!



I finished the goal sequence. Really simple, but I'm happy with it. It's a prototype after all. Oh, and since the animation, I fixed it so the health bar disappears when the goal is scored since they seem to be in the way.


What next before release?

  • Fix the help menu per my note above
  • Make the player menus disappear as appropriate when a goal is scored
  • Pause the game clock during the goal sequence
  • Lots of private network testing without AI players
  • Lots of private network testing with AI players
  • Music and sound effects

After that comes testing with a close circle of friends. After that, the public prototype which will hopefully be in late January!  Hand Any Key  Hand Any Key  Hand Any Key
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Pixel Noise
Level 10
*****



View Profile WWW
« Reply #5 on: December 15, 2016, 05:16:39 AM »

Cool idea, and nice progress you've made over the last month! It's looking good. Doing everything yourself?
Logged

Pixel Noise - professional composition/sound design studio.
 https://soundcloud.com/pixel-noise
 https://twitter.com/PixelNoiseMusic
 https://pixelnoisemusic.bandcamp.com/

Recently completed the ReallyGoodBattle OST!  https://www.youtube.com/watch?time_continue=2&v=vgf-4DjU5q
Gamieon
Level 0
***



View Profile WWW
« Reply #6 on: December 15, 2016, 11:48:35 AM »

I'm doing all the development myself, but progress is fast because of all the Unity packages and third-party assets I use:

  • Photon networking
  • Medieval character assets
  • Medieval town art assets
  • TextMesh Pro
  • FX Quest
  • Behavior designer (for bot players)
  • (Art from Turbosquid)
  • (Music and sound effects from Audiojungle)

I've only put in maybe a few hours a day at the most; I come home from a long day at work doing non-game development and go out often on the weekends.

Once I add visual juice to the game play and settle on what shaders to use (the grass and character shaders don't look quite right to me), then the screenshots and video clips will rock  Hand Shake Right.
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #7 on: December 21, 2016, 01:04:08 PM »

Two big updates today. First, I finally made a video demonstrating the game play with music, sound and other effects. It's me playing in a 3v3 game with bots:





Second is the main menu animation:





These are significant milestones, but I have a bigger one to tackle: Ensuring network play is smooth.

As you can see from the 3v3 video, the play is intense; so much so that I have concerns that the net play will fail because of latency. What I have right now should work, but it will take a ton of testing. I'm now at the point where I can start getting testers to help me out.

I also have a laundry list of known bugs I need to finish going through. Altogether, I think I'm still on track for a January prototype release.
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #8 on: January 05, 2017, 08:04:04 AM »

After only an hour of work I now have a playable castle level! Note how the arena is not a perfect rectangle and how the players are immune to darkness (easy to see).





Meanwhile testing has gone well. For a prototype it's definitely playable but there are a couple more quirks I want to fix...among them is Windows SmartScreen thinking the game is unsafe which I need to figure out. If testing goes well tonight then I can begin making the itch.io and Greenlight Concept portals.

For those of you curious as to how the ball behaves reasonably stable and not jumping all over the field (that anyone has reported), check out my featured GameDev.net article on how I manage the ball at https://www.gamedev.net/blog/1606/entry-2262506-brainstorming-online-soccer-ball-control/
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #9 on: January 08, 2017, 06:16:05 PM »

Had a stellar night of testing on Saturday. I started a Twitch stream at https://twitch.tv/gamieon intending to do a little bit of solo testing, and people in the audience asked if they could play. I built and published a copy; and before I knew it, I was in a game with I think four other people! Lots of bugs were identified and almost all fixed.

I think I'm almost ready to pull the trigger and create the itch.io and Greenlight Concept pages; just need to build a media kit. As it's a Sunday evening, I think I'll chill and do it tomorrow.
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #10 on: January 16, 2017, 02:33:16 PM »

Field of Heroes is now available for download from itch.io!

https://gamieon.itch.io/field-of-heroes









Features include:

  • Online playable up to twelve players
  • Local play with up to two players (join online games too!)
  • Four character classes with unique weapons and abilities
  • Two different arenas
  • Play with or against bots

Please leave me feedback on itch.io if you'd like to see development continue! For now I'm going to take a break and see if the project gets any traction.
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #11 on: February 19, 2017, 07:00:54 AM »

After a few weeks of letting the project simmer, I've done two things: First was uploading the project to GameJolt at:

https://gamejolt.com/games/field-of-heroes-prototype/232101

The second thing was commissioning a highly skilled game designer who goes by the handle Highsight to write up a design document to give the project a chance at reaching its potential. It will be a while before it gets fully designed, but I will be hosting his channel every Wednesday and Thursday night at 8:00PM EST. Watch the design come to life real-time, and even share your feedback!

https://twitch.tv/gamieon
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #12 on: April 09, 2017, 03:36:56 PM »

Haven't had an update for a long time. The initial reception was pretty cool; not a ton of downloads. I decided anyway to make some improvements including:

  • Each hero now has three abilities
  • Rather than dying and respawning, heroes are now knocked out and awakened in place
  • Ball now experiences drag so it won't just coast across the field
  • New HUD on the lower left
  • Bots now prioritize ball control over fighting (but they still fight a lot)

Here's how it looks (note: it's not released yet)!





Again, it's not released yet. I'll post again when it is!
Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Gamieon
Level 0
***



View Profile WWW
« Reply #13 on: July 13, 2017, 03:43:39 PM »

First update in three months; at least you can't get me for spamming Smiley

During that time I made the painful decision to switch from Photon Unity Networking (cloud-based) to Bolt Networking (pure client-server) and rebuilt the network infrastructure of the game. I did it for these reasons

Performance
Using PUN when I tested with two machines on my LAN, there was always a noticeable delay between the time I moved my character and the time it moved on my other machine. That delay is equivalent to the time it takes for the state packets to travel over the Photon relay with dejitter enabled (at least I think it was enabled because when I turned off dejitter in Bolt, my packets no longer arrived in order). I later determined the delay to be 150ms, and that was round-trip back to my home network. With Bolt the delay was almost non-existent after turning off dejitter.

Authority
Even if performance weren't an issue, having a floating "master client" always was. With PUN one of the players; usually the one who launched the game, is the "authority" until they leave and someone else takes over. In the final product, there must be a dedicated server running on a server farm under Gamieon's control to minimize cheating and manage player stats. Plus with a single dedicated server I don't need all the clients to have enough data to prepare to take over that role should the "master client" leave. It's complicated to support that in code.

But don't let that deter you from using PUN; I find it to be great for prototyping. I was able to successfully whip up a completely playable two-field prototype in under three months with it. No players had to go through the trouble of opening firewall ports to start and host a game like they do with pure client-server either.

Meanwhile the good people at Meta3D studios continue to model new art for the big makeover to finish in a few months. I'm also adding more abilities to the players with help from a game designer Highsight; you might have caught his Indie Insights streams. If not, then go visit https://twitch.tv/Highsight sometime. He will even stream some Field of Heroes testing! Here's one of the abilities I just added: "Charge Shot"

Logged

Gamieon - Single-developer hobbyist indie gamedev studio
https://www.twitter.com/gamieon
https://twitch.tv/gamieon
http://www.gamieon.com/games
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic