Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1412072 Posts in 69447 Topics- by 58484 Members - Latest Member: bigdog243

June 25, 2024, 05:56:03 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsMaking some 2-player games (local ᴀɴᴅ online multi-player)
Pages: [1] 2
Print
Author Topic: Making some 2-player games (local ᴀɴᴅ online multi-player)  (Read 14358 times)
YellowAfterlife
Level 1
*



View Profile WWW
« on: February 09, 2014, 03:40:50 PM »

Hint: Some of words in this topic are designed to have mouseover texts. TIG doesn't highlight them anyhow though, so I've underlined all of those instead.

Two-player games. An interesting topic. If you are communicating with people via instant messaging or VoIP (e.g. Skype), there can be this common issue of finding a game to play together. If you live not far away from each other, it's a smaller problem. And if you live in different cities, or even countries... well things get complicated.
There's also quite a limited quantity of small games that include online multiplayer, and an even smaller quantity where it is "done right". Perhaps it isn't exactly a mystery, since making even a 2-player game normally implies completely different kind of complexity in development.

... so I thought that I could help the situation a bit. By making games, of course. Small games. Probably not the next "game of year" nominees, but something that can settle your spare time usage for a couple of evenings (and be replayed later). Kind of a thing that you would play with a friend while sitting on a couch. Except couches can be thousands of kilometres apart.
After experimenting with different methods of client-server communication for a while, I've settled at a tech concept that is easy enough for me to work with, and fits the purposes perfectly. Few weeks later I got a draft to a functional state, and so development of couple of games has began.

Total number of games planned is about a decade, with one or a couple being worked on at a time. Information (and links, once available) about games will be added into this post, while new observable media will be posted into this topic. Usual stuff.

Current games are as following:

NUMBARUSH
Arcade(-ish) 3d platformer versus game of reaction and observation.
Players search and capture numbered cells while competing for control over the game field.

Development: Me (@YellowAfterlife)
Music (soon to be heard): P1nch

COLOR NINJAS
Small-scale versus action game about throwing shurikens, painting walls, and possibly being a coward (if you can't stand direct combat). Player, that controls larger part of field by time the counter on top reaches 100%, wins the round.

GIFs of old versions: 1
Development: insweater (@insweater)
Extra graphics: Seth Groom
Multiplayer programming: Me (again)

Spelunky SD
Expansion and modification of Spelunky Classic, which includes... yes, cooperative online multiplayer.

Modding: Me
Announcement: http://yal.cc/introducing-spelunky-sd/
Download: http://gamejolt.com/games/platformer/spelunky-sd/29243/

While this topic is, by least, going to be used as a devlog, feedback is, obviously, welcome Smiley
« Last Edit: July 04, 2014, 03:15:34 PM by YellowAfterlife » Logged

YellowAfterlife
Level 1
*



View Profile WWW
« Reply #1 on: February 09, 2014, 03:41:22 PM »

For purposes of history on NumbaRush:

Day 1
~2 hours in:

Set up 3d, grabbed player model from my own example, added flat terrain rendering.
ART! Or, rather, I've got player texture coordinates wrong. All of them.

~3 hours in:

Camera is calibrated, and game mechanics work.

~4 hours in:

Sticked online multiplayer in. First test with Max (insweater). Entire UI is rushed in under 5 minutes so "rounds won" digits are not aligned correctly. Feels fun so far.

~4.5 hours in:

Added ability to dash on cells captured by you. Fixed UI.

~4.6 hours in:

End of day 1 development. Late on noticing that I forgot to add respawning upon falling out too far out of level. Here you can see Max (almost as a saturated orange dot) running around in the void of Z=-256 (hardcoded minimum coordinate).

Day 2

Introduced a "stomping" mechanic. This permits a player to use the other player as spring, provided that you manage to land on them in the right moment.


Trying to nail some "extruded" terrain. So far, quite buggy.


UI tweaks, random colours, and terrain is now actually working. There's even batching to it.

Day 3

Making a new level. Sudden understanding of fact that my method of displaying cells doesn't really pursue readability.


Swapped level tiles, another multi-player test. Had to calibrate player motion variables down at hundredths of pixel (for reference, a single cell is 8x8 pixels) to make jumping over 2-square-wide gaps bearable.
Started another level, which, unfortunately, still looks as if it's made of coffee even as of writing this.

Day 4
Found a musician! Also a new level:

It became apparent that I either have to do something with cell ID display or only place these on darker tiles, so I pick the first. This level is supposed to be hard, but is mostly annoying (too many cells to capture). So, meanwhile... conveyor belts!


OK-ish, but too simple.


That's better! Also makes it more apparent, where the thing is going.


ART! Well, actually texture coordinates got messed up again. Going to make a function for drawing "safe" quads after all.


This is exactly what conveyors are for.


Also removed 1/3 of cells from earlier made level. Feels better now.

Day 5 (today)

A look back at level 1 with changes in. Also refined some mechanics - capturing a cell now also gives you a "dash", and dashes do not expire until landing on ground, permitting really intense matches between skilled players. And then... TIG topic time!
Logged

FatalSleep
Level 0
**


Game Developer using GM!


View Profile
« Reply #2 on: February 10, 2014, 09:07:39 AM »

@Yellow amazing progress and amazing work! Seems like this has become an amazing project. How many people are making this multiplayer games, can anyone join?
Logged
YellowAfterlife
Level 1
*



View Profile WWW
« Reply #3 on: February 10, 2014, 12:19:17 PM »

@Yellow amazing progress and amazing work! Seems like this has become an amazing project. How many people are making this multiplayer games, can anyone join?
People currently working on games with me are listed in first post. If you feel inspired to make some multiplayer games as well, please do Smiley

Also, progress:

Was a pretty sleepy day, but I added in some angular texture scrolling. This allows for some very interesting effects:


Conveyors are a fair more awesome now too:
Logged

FatalSleep
Level 0
**


Game Developer using GM!


View Profile
« Reply #4 on: February 11, 2014, 11:56:23 AM »

I'd love to make something. I'd need to find myself a composer guy though.
Logged
orange08
Level 2
**



View Profile WWW
« Reply #5 on: February 11, 2014, 12:08:22 PM »

mmmm... cool.

i really like the color ninjas idea... looks interesting.
Logged

YellowAfterlife
Level 1
*



View Profile WWW
« Reply #6 on: February 11, 2014, 03:41:19 PM »

I'd love to make something. I'd need to find myself a composer guy though.
Ah, I can relate. Most of my games remain with music from ccmixter for this reason.
mmmm... cool.

i really like the color ninjas idea... looks interesting.
Thanks!
Hopefully a playable version of that will be out in few days (once Max adds in few more power-ups and levels to play on).

Meanwhile I've added a new level to Numbarush.
Trying out a new style for textures here, and it seems to be working pretty well... what do you think?

Also this level features a new conveyor type. It's fast. Very fast. In fact, you can't move against it in anything other than small hops:
Logged

FatalSleep
Level 0
**


Game Developer using GM!


View Profile
« Reply #7 on: February 12, 2014, 06:35:17 PM »

I just finished the v3 of my networking framework in GML, so I might just be able to get started on something now! :D

Also, keep up the good work, that game looks amazing. I'm jelly of your 3D collisions, I am terrible at those.
Logged
YellowAfterlife
Level 1
*



View Profile WWW
« Reply #8 on: February 12, 2014, 08:35:40 PM »

I just finished the v3 of my networking framework in GML, so I might just be able to get started on something now! :D

Also, keep up the good work, that game looks amazing. I'm jelly of your 3D collisions, I am terrible at those.
Collisions are actually extremely lazy, being based on top/bottom Z coordinate detection, like
Code:
/// d3x_top(x, y, z)
var x_ = x, y_ = y, r = -256, o = id,
    z0 = argument2, z1 = argument2 + alt;
x = argument0; y = argument1;
with (obj_solid) if (z < z1) if (place_meeting(x, y, o)) if (id != o) r = max(r, z + alt)
x = x_; y = y_; return r
(where "alt" is height of objects on Z axis; similar goes for "bottom" script)
Then, before moving an instance, you simply check if the "floor level" on new coordinates is lower or equal to the current one. Vertical (Z axis) movement is simply done separately and is clamped to not descent below floor level or ascend above ceiling.

Also, progress again:
Implemented adjustable controls, gamepad support, and split screen. Toolset used actually doesn't detect my main gamepad though, which is a slight disappointment to me.


In addition, there is a bug that permits to use the other player as trampoline, but I think I'm going to leave this in, since it requires a fair of cooperation between players to pull off.


Also might do a microgame closer to weekend for Flappy Jam. Will only relate by being hard though, noone of that "just another" business.
Logged

FatalSleep
Level 0
**


Game Developer using GM!


View Profile
« Reply #9 on: February 12, 2014, 10:19:03 PM »

I say leave the trampoline thing, it rocks haha. Also on the trampoline GIF, the blue player's outline switches from black to white when jumping off the yellow player's head. Intentional?

I see how you did the collisions. My problem before was that my 3D collisions were completely array based. So each block would be a position in an 3D array. Of course GM doesn't support 3D arrays, so I used a ds_list full of ds_grids, lol. Would be nice to do it like this, but do it right though.
Logged
YellowAfterlife
Level 1
*



View Profile WWW
« Reply #10 on: February 15, 2014, 02:25:16 PM »

I say leave the trampoline thing, it rocks haha. Also on the trampoline GIF, the blue player's outline switches from black to white when jumping off the yellow player's head. Intentional?
Outline color changes indicates temporary speed boost. Other player gets gray color, which means that they are slowed down.
I see how you did the collisions. My problem before was that my 3D collisions were completely array based. So each block would be a position in an 3D array. Of course GM doesn't support 3D arrays, so I used a ds_list full of ds_grids, lol. Would be nice to do it like this, but do it right though.
I'm just using said method in combination with a per-grid square "height map" (stored in a ds_grid). Simple enough, but suits the purposes, with levels not containing that much of bridges or hanging parts.

Of progress, ColorNinjas was reworked fairly in past two days.
The game now is more reflex-oriented (apart of coloring most of stage, you'll also have to kill the other player to win the round), and now there are power-ups. Lots of power-ups. There's even a power-up that makes you shoot homing sharks instead of surikens:
Logged

insweater
Level 0
*


View Profile WWW
« Reply #11 on: February 16, 2014, 08:03:04 AM »

Progress on Color Ninjas. The game is getting more tricky and awesome!

Logged
oodavid
Level 8
***


Discombobulate!


View Profile WWW
« Reply #12 on: February 16, 2014, 10:53:36 AM »

Saw color ninjas on ScreenShot Saturday and thought it fair to put my mark on this thread; looks really really fun, frantic and silly! #followed
Logged


Button up! - Out on Android and iOS

latest release: 13th March 2015
YellowAfterlife
Level 1
*



View Profile WWW
« Reply #13 on: February 17, 2014, 07:07:09 PM »

Saw color ninjas on ScreenShot Saturday and thought it fair to put my mark on this thread; looks really really fun, frantic and silly! #followed
Thanks!

Currently working hard to be able to release a build of game this week.
That implies mostly polish, balance, and... screenshake.

For example, power-ups now have this nice appearance effect:

Addition of tweening can actually be surprisingly easy. I somehow haven't thought of current approach before.

And, while in "endgame", there's a slight chance of picked up bomb powerup to turn into nuke:

Basically, nuke is similar to bomb (in terms of explosions), but projectiles travel much faster, and will explode upon impact with walls or players. In right hands, nuke can be a devastating weapon, especially since it is equally good at both hitting players and painting walls.

In total game now contains 20 different power-ups. Probably will have few more conditional ones, that may replace normal power-ups under certain conditions (like with above-mentioned nuke).

Also I've made this GIF to go along a tweet about new GameMaker: Studio release:

For me that was a long-waited one, since I wasn't able to export a release build with current version of program due to my outstanding luck in finding critical bugs in computer software.
Logged

YellowAfterlife
Level 1
*



View Profile WWW
« Reply #14 on: February 18, 2014, 01:21:14 PM »

More things! Also new visual effect for walls:

This one was almost a draw. Also added same kind of "bumpy" visual for font too:

Second player is loosing the match to confusion effect and then to an unfortunate disc power-up:

Feedback on visuals update is requested Smiley
Logged

rohanm
Level 0
*


View Profile
« Reply #15 on: February 19, 2014, 08:51:23 AM »

This looks great. Certainly following this.
Logged
YellowAfterlife
Level 1
*



View Profile WWW
« Reply #16 on: February 19, 2014, 02:23:30 PM »

This looks great. Certainly following this.
Thanks!

I'm currently working on polishing game further, now discs have these trails:


And nukes emit particles (mostly to make them distinguishable from sharks):


And a picture of this in motion, playing with Aristokrat952 (one's apparently the first person to evade a homing shark like that):

(effect at the end of round is still work-in-progress)

Update: a proper glance at "death" effect:
« Last Edit: February 19, 2014, 03:46:58 PM by YellowAfterlife » Logged

oodavid
Level 8
***


Discombobulate!


View Profile WWW
« Reply #17 on: February 20, 2014, 04:09:42 AM »

Mate that looks really frantic! Loving the attention to detail with the spotlights and slow motion death sequence!
Logged


Button up! - Out on Android and iOS

latest release: 13th March 2015
YellowAfterlife
Level 1
*



View Profile WWW
« Reply #18 on: February 20, 2014, 11:02:53 AM »

Mate that looks really frantic! Loving the attention to detail with the spotlights and slow motion death sequence!
Thanks! Just made it so that it captures actual moment of death, rather than one before it.

Hard to argue with a homing shark in a straight corridor.
Otherwise made some improvements to balance, but that's not something you can easily see on a GIF.
« Last Edit: February 20, 2014, 11:29:35 AM by YellowAfterlife » Logged

YellowAfterlife
Level 1
*



View Profile WWW
« Reply #19 on: March 06, 2014, 05:51:41 PM »

Was quiet here for past two weeks, since some things got in the way. Still have few things to do, but resuming development.

Also, being few evenings of work, this is still not perfect, but, let's say, that I might have added online multiplayer to Spelunky Classic:

Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic