Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411507 Posts in 69374 Topics- by 58429 Members - Latest Member: Alternalo

April 26, 2024, 02:48:54 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsRifter - Out NOW on Steam! :)
Pages: 1 2 3 [4] 5 6 ... 13
Print
Author Topic: Rifter - Out NOW on Steam! :)  (Read 28149 times)
TheCams
Level 0
**


View Profile
« Reply #60 on: March 22, 2016, 08:06:16 AM »

This is really cool, looking forward to see more!
Logged
io3 creations
Level 10
*****



View Profile WWW
« Reply #61 on: March 22, 2016, 10:12:19 AM »

Since the player will be swinging a lot, I thought that perhaps "Swing Fling" could be an alternative.  However, there seems to be a kids game and some other parties with the same title though.
I feel like it's SO hard to come up with something that's NOT suggestive in any way! :D I'm not an English native speaker so I'm constantly doubting myself, googling and using the urban dictionary to check if the names I come up with are nothing sexual.
"Swing Fling" seems to be dancing related as well. I like the name on its own, but it seems to have too many meanings already.  Sad

Thanks a lot for your suggestion, though! "Swing" is definitely a term I might use.  Beer!
A *dirty mind* is a beautiful thing!   Noir Well, hello there!

Yeah, some words have many meanings.  Some of the other games I've found seemed to have something to do with a dog sitting on a swing that was hanging from a tree. The game didn't load, I only saw a screenshot.   However, if you provide a little context (e.g. thumbnail/preview image) then the intended meaning will become clear.

Now that you mention it, "swingers" could give the game a very different direction. Grin    However, in general, I wouldn't be too worried about it words.  In schools, the word ball is still used in physics and PE classes.  The same is true for many other words.  English is not my first language either but there are words in my native language with a "common" and "other type" of meanings.

Having played Bionic Commando - both the 2d version a long time ago and also the 3d version some years ago, I've been thinking about doing a swinging type action type game.  In general, what kind of game are you going for?  So far it looks different from my vision but of course there's more than one way to skin a cat. Smiley   If you have a clear idea, I might be able to come up with some better suggestions for the title.

About the level editor.  I'm sure the level designs will be set for the game.  What about the "procedural" looking polygons graphics?  Are those going to be set as well or will be generated uniquely when the level starts?
Logged

maxl
Level 2
**



View Profile WWW
« Reply #62 on: March 23, 2016, 05:13:59 AM »

A *dirty mind* is a beautiful thing!   Noir Well, hello there!

Yeah, some words have many meanings.  Some of the other games I've found seemed to have something to do with a dog sitting on a swing that was hanging from a tree. The game didn't load, I only saw a screenshot.   However, if you provide a little context (e.g. thumbnail/preview image) then the intended meaning will become clear.

Now that you mention it, "swingers" could give the game a very different direction. Grin    However, in general, I wouldn't be too worried about it words.  In schools, the word ball is still used in physics and PE classes.  The same is true for many other words.  English is not my first language either but there are words in my native language with a "common" and "other type" of meanings.
Yeah, it's almost impossible to avoid it entirely as there are so many different slangs and meanings for words. I just don't want to name it in a way that makes a significant number of people go " Well, hello there!Grin If I were to make a game with a sexual conotation, then a name with a double entendre would be awesome!

Having played Bionic Commando - both the 2d version a long time ago and also the 3d version some years ago, I've been thinking about doing a swinging type action type game.  In general, what kind of game are you going for?  So far it looks different from my vision but of course there's more than one way to skin a cat. Smiley   If you have a clear idea, I might be able to come up with some better suggestions for the title.
My vision for the game is still not crystal clear and I'm still experimenting with a lot of different elements/game-modes/... One of the ideas is to have challenge levels, that are basically time-based, where players compete for the fastest time to beat it. I feel that would definitely work in a single player settings, and might or might not work in a two player multiplayer settings, where both players have to reach the finish line for the time to be stopped. So you'd have an incentive to help each other out.

Another thing I want to try is more of an arena-based settings, where the players have to fend of waves of enemies that might approach from different angles. They would have to jump back and forth between places to adjust for the situation. Maybe they have to defend something in the middle of the map, not sure yet.

Third idea is to have levels that are more puzzle focused, where the two players have to work together and help each other to get to places they couldn't reach alone. Those levels would not be timed to give players as much time as they need to think about what to do.

The fourth idea is to have the game be more exploratory, with a big world to explore and find things in. But I'm not really digging that approach right now.

Generally, I feel that I want to reuse levels quite a bit and the way the game plays now supports that. I have played some areas dozens of times, but still find different approaches to maneuver through them. This is indicative of a good replay value and works well with the speedrun and arena based game-modes.
Some of the ideas above would combine well I think. Maybe simply have multiple game modes, one being speedrun based levels, others more puzzle heavy.

The idea of having a co-op multiplayer game like this is SO intriguing to me, so I'm always looking for elements that push the players towards a more helpful playstyle. One idea I'm toying with is to have a shared life-counter. A death of a player reduces it and if it gets to zero, both players lose.

I'm curious about your ideas now! Care to share? Smiley

About the level editor.  I'm sure the level designs will be set for the game.  What about the "procedural" looking polygons graphics?  Are those going to be set as well or will be generated uniquely when the level starts?
The triangulations are saved in the maps, but I can trigger recreations in code if I want to. The triangulation process gets pretty cpu-expensive, so I'm leaning towards keeping it stored in the map files, which would also allow me to control the visual details better.
Logged

Currently:


Released games: Nubs' Adventure | Rico
io3 creations
Level 10
*****



View Profile WWW
« Reply #63 on: March 23, 2016, 10:22:43 AM »

Thanks for the explanations.  Sounds like at this point, you can still go in a variety of directions. 

I've been also thinking about co-op type games and one major issue is that if you force that certain parts have to be completed by two people, then that could limit the number of people who will enjoy or at some point may even be able to complete the game.  A few possiblities that I thought of before.
-Create a decent AI for one of the characters.  Depending on the type of gameplay, this can be fairly easy or quite complex. 
-Have different levels (or at least remove/change the parts that require two players) for single player mode.

One game that comes to mind that can be played both as a single player and co-op is Brothers: A Tale of Two Sons.  However, in that game, movement is fairly slow and each player character requires few control buttons.  But that having to swing and shoot with 2 people on one controller could be quite a challenge Grin


I've alsore read comments for various co-op games people mentioning that single player mode was much more difficult to complete.  However, that's probably more of a game balancing type issue that can be solved more easily by setting up enemy attacks and values in a way gameplay is fairly similar.

At this point, my game is at a conceptual stage as I have more ideas than time. Grin  But things are looking good now and I'll be able to focus realizing more and more of them.  However, I have started taking notes about what may be good ideas and I'm thinking about adding the grappling hook as one of the tools that StickMan Sam can use in his "agent" adventure series.  So, much like Bionic Commando, the main focus with the grappling hook would be on avoiding various dangers, action (i.e. coming up ways to defeat enemies) and solving puzzles to reach certain places.  With the "power of box2d", Smiley  I'm thinking of being able to grab onto moving objects (e.g. elevator or other moving platform) and flying vehicles/enemies (assuming they have neccessary power/thrust to remain flying).  Those types of options could create unique challenges and opportunities for more/different fun).  Smiley
The StickMan Sam series for me has been about learning game making (starting with Flash about 10 years ago) and developing various game engines that could be used in other games.  So the graphics are very minimal but I did add some comic elements to the story that many people seemed to enjoy.  Smiley   There are some other mechanics I also want to explore.  Those are a secret for now. Wink   Alhough, I've seen other games implement them, haven't seen those in an action type game yet.   I've started looking into Unity and now, that Flash's future is kind of unpredictible (as one of my earlier games already have some strange issues showing up that weren't there before), I'm thinking of redoing and continuing the series with Unity.  That way, more people could enjoy the fun - perhaps forever! Grin   Plus, I have a few spin-off ideas that at this point would benefit more from being created with Unity than Flash and it would be easier to transfer the engines.

The triangulations are saved in the maps, but I can trigger recreations in code if I want to. The triangulation process gets pretty cpu-expensive, so I'm leaning towards keeping it stored in the map files, which would also allow me to control the visual details better.
Yeah, that makes sense.  Sometimes certain looks will work better than others and it's easier to fine-tune the triangulations if you need to adjust something here or there.  Perhaps for an "infinite swinger" type game (another game mode Smiley ) that might be useful.  However, as you mentioned, if triangulation is CPU intensive, then it would be better to go with a module based level generation where you already have modules pre-rendered and just stitch them together during run time. 


I made the switch to proper 60 FPS rendering.
...
Implementing frame interpolation solves this, as it calculates the intermediate state between two logical frames and draws that.
Sounds interesting.  How do you do that frame interpolation?  Are you processing the visual images after the scene has been rendered or something before that?
Logged

maxl
Level 2
**



View Profile WWW
« Reply #64 on: March 24, 2016, 06:38:44 AM »

Awesome suggestions and ideas!  Beer!

I've been also thinking about co-op type games and one major issue is that if you force that certain parts have to be completed by two people, then that could limit the number of people who will enjoy or at some point may even be able to complete the game. 
Very true! I plan on having the two (single-player and multi-player) very much separate. Player who want to player alone simply choose the single player maps/levels/parts. Similar to how many other games divide the game into singleplayer/multiplayer game modes. Offering AI players is a very intriguing, but tremendously difficult task. I don't want to go down that road because I fear that even if I spend a LOT of time working on AI players, they will never be satisfactory co-players.

One game that comes to mind that can be played both as a single player and co-op is Brothers: A Tale of Two Sons.  However, in that game, movement is fairly slow and each player character requires few control buttons.  But that having to swing and shoot with 2 people on one controller could be quite a challenge Grin
Yeah, the game is way to fast-paced for one player to control both at the same time. However, I do this while play-testing (I switch between the two by hitting TAB), but its not a very pleasant gameplay experience.

At this point, my game is at a conceptual stage as I have more ideas than time. Grin  But things are looking good now and I'll be able to focus realizing more and more of them.  However, I have started taking notes about what may be good ideas and I'm thinking about adding the grappling hook as one of the tools that StickMan Sam can use in his "agent" adventure series.  So, much like Bionic Commando, the main focus with the grappling hook would be on avoiding various dangers, action (i.e. coming up ways to defeat enemies) and solving puzzles to reach certain places.  With the "power of box2d", Smiley  I'm thinking of being able to grab onto moving objects (e.g. elevator or other moving platform) and flying vehicles/enemies (assuming they have neccessary power/thrust to remain flying).  Those types of options could create unique challenges and opportunities for more/different fun).  Smiley
The StickMan Sam series for me has been about learning game making (starting with Flash about 10 years ago) and developing various game engines that could be used in other games.  So the graphics are very minimal but I did add some comic elements to the story that many people seemed to enjoy.  Smiley   There are some other mechanics I also want to explore.  Those are a secret for now. Wink   Alhough, I've seen other games implement them, haven't seen those in an action type game yet.   I've started looking into Unity and now, that Flash's future is kind of unpredictible (as one of my earlier games already have some strange issues showing up that weren't there before), I'm thinking of redoing and continuing the series with Unity.  That way, more people could enjoy the fun - perhaps forever! Grin   Plus, I have a few spin-off ideas that at this point would benefit more from being created with Unity than Flash and it would be easier to transfer the engines.
Oh cool, so the stickman sam series is yours? Smiley



I made the switch to proper 60 FPS rendering.
...
Implementing frame interpolation solves this, as it calculates the intermediate state between two logical frames and draws that.
Sounds interesting.  How do you do that frame interpolation?  Are you processing the visual images after the scene has been rendered or something before that?
I do 30 logic steps per second. But I want to have the scene redrawn 60 times per second. Before, I was simple taking the last logic state thats available and drew that, which resulted in each logical frame being drawn twice. Which in turn does not produce 60 smooth frames, but is effectively just 30.

What I did now is take the two last logic frames (which are just data, nothing is drawn yet) and, depending on how far the time has progressed, draw the game state as an interpolation between these two logic frames. Put differently, I calculate the visuals like this:
Code:
val frameFraction = /// something between 0 and 1, depending on the time
val drawState = latestLogicState * frameFraction + previousLogicState * (1 - frameFraction) // linearly interpolate between the last two logic states
draw(drawState) // draw that
This gives me smooth 60 FPS, even if the logic (physics and all the other stuff) is only executed 30 times per second. The only downside is that I'm now about frame (1/60 second) behind in the drawing, but the player does not notice that. Smiley
Logged

Currently:


Released games: Nubs' Adventure | Rico
maxl
Level 2
**



View Profile WWW
« Reply #65 on: March 25, 2016, 11:18:34 AM »

Been working on how to make the multiplayer aspect of the game more fun. I'm really fond of the concept of asymmetric multiplayer. That one player can do stuff the other can't, like go through a door or hook onto something. For example, I have the first (green) player able to hook onto green rocks but not magenta ones and vice versa.

I want players to overcome obstacles together, so here's a mechanic I came up with. Each player can turn himself into a hooking point that the other player can then use to climb. Looks like this in action:




What do you think?  Smiley
Logged

Currently:


Released games: Nubs' Adventure | Rico
Pixel Noise
Level 10
*****



View Profile WWW
« Reply #66 on: March 25, 2016, 02:32:05 PM »

Definitely support the idea to include multiple game modes.
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
maxl
Level 2
**



View Profile WWW
« Reply #67 on: March 26, 2016, 08:48:19 AM »

Definitely support the idea to include multiple game modes.
Will be in the game for sure! Smiley
Logged

Currently:


Released games: Nubs' Adventure | Rico
io3 creations
Level 10
*****



View Profile WWW
« Reply #68 on: March 26, 2016, 12:11:34 PM »

I like the asymmetric idea that you showed in the video.  That type of gameplay would certainly require and enhance the co-operation aspect that you are going for. Smiley

The combined life aspect could also be interesting.  At first I was thinking that it would better to start with twice the original health but as I thought about it, starting with the same amount as you normally do, as you mentioned,  would make people more aware of it and would/could influence them more in terms of taking risks.

What I did now is take the two last logic frames (which are just data, nothing is drawn yet) and, depending on how far the time has progressed, draw the game state as an interpolation between these two logic frames. Put differently, I calculate the visuals like this:
Code:
val frameFraction = /// something between 0 and 1, depending on the time
val drawState = latestLogicState * frameFraction + previousLogicState * (1 - frameFraction) // linearly interpolate between the last two logic states
draw(drawState) // draw that
Actually, I did similar interpolation before and understand the "how" part.  What I'm curious about is the "what" - i.e. what do you mean exactly by logic state.  I'd imagine is't similar to a save state where you store every object's position and you are using those positions for interpolation.  Part of my confusion may have been caused by that for some reason I thought you were using Unity and that's why was wondering if there's some built-in way to keep track of the logic states as you described.  As I revisited the previous pages, I don't see it being mentioned, so probably it was another project.  So, is the logicState something built in or perhaps some kind of object that you create to keep track of the various objects and their graphics related properties (position, scale, etc) to allow you the drawing.

Also, after reading your original post about frame interpolation, I did a quick web search and appearantly there are projectors that can "smooth" 30FPS movies to 60FPS at the image level.  However, there can be various distortion/ghost effect issues and there isn't a proper standard either so there may be different results on different machines.  That's why I was wondering if you did something along those lines.


This gives me smooth 60 FPS, even if the logic (physics and all the other stuff) is only executed 30 times per second. The only downside is that I'm now about frame (1/60 second) behind in the drawing, but the player does not notice that. Smiley
Yes, they won't notice a thing.  It'll be our little secret! Grin


Oh cool, so the stickman sam series is yours? Smiley
Yep, StickMan Sam is my baby. Grin
Logged

maxl
Level 2
**



View Profile WWW
« Reply #69 on: March 28, 2016, 01:39:52 AM »

Quote
Actually, I did similar interpolation before and understand the "how" part.  What I'm curious about is the "what" - i.e. what do you mean exactly by logic state.  I'd imagine is't similar to a save state where you store every object's position and you are using those positions for interpolation.  Part of my confusion may have been caused by that for some reason I thought you were using Unity and that's why was wondering if there's some built-in way to keep track of the logic states as you described.  As I revisited the previous pages, I don't see it being mentioned, so probably it was another project.  So, is the logicState something built in or perhaps some kind of object that you create to keep track of the various objects and their graphics related properties (position, scale, etc) to allow you the drawing.
Everybody today assumes by default that one is using Unity. And I can't blame them, as it's so ubiquitous and everybody and their dog uses it. Wink
When I say logic state, I mean all the attributes of all the objects that are in the game at a certain point in time. Things like position, angle, velocity, other physical properties like if it is touching something, stats like health, ... The latest logic state is always the one that is currently worked with. But additionally I store a copy of the current state after every logical frame. I need this for the networking part anyway, so it was already implemented. I actually always have about the last 2 seconds of gameplay stored in memory. I had to build this for myself unfortunately, was a good learning experience though. Smiley

I'm using libGDX for this project along with Scala, which I hope gives me a +2 to nerd-credibility. :D

Quote
Also, after reading your original post about frame interpolation, I did a quick web search and appearantly there are projectors that can "smooth" 30FPS movies to 60FPS at the image level.  However, there can be various distortion/ghost effect issues and there isn't a proper standard either so there may be different results on different machines.  That's why I was wondering if you did something along those lines.
The problem that these projectors have is, as you said, ghosting/tearing. The projector simply cannot really know the intermediate frames, so it has to assume things. I'd expect the results to be somewhat blurry, especially with fast motion on screen. In Grappling Fling, I actually know how the game has to look at every moment in time, it's just a matter of calculating/interpolating it. Smiley
Logged

Currently:


Released games: Nubs' Adventure | Rico
maxl
Level 2
**



View Profile WWW
« Reply #70 on: March 28, 2016, 10:29:23 AM »

Been working on a logo. Not fully happy with what I've got right now, but it's not that bad, I guess. I think it doesn't read that well and I'm not sure at all about the choice of font:



 Smiley
Logged

Currently:


Released games: Nubs' Adventure | Rico
io3 creations
Level 10
*****



View Profile WWW
« Reply #71 on: March 28, 2016, 10:53:20 AM »

Thank for the details.  That's pretty much what I had in mind.  Some systems have built-in pause or even quick save functionality.  That might be used for processing logic states but chances are, as you mentioned, most likely you have to build it yourself. 

About the networking part:  do you store the logic states for last 2 seconds to help with lag issues perhaps?


Actually, I didn't just assume that you were using Unity but thought that I read that you were using it.  That's why I wrote that I went back and checked the previous pages.  Yeah, Unity seems like a good choice for game development - for us non-masochists.   Angry Cheesy  Having said that, I personally prefer writing code than using the Unity editor and want to avoid the drag-and-drop approach as much as I can. Smiley

Yeah, you'll definitely get your +2 nerd-credibility as I might have heard about libGDX and Scala but can't recall.  Grin

I like the style of the title, but I noticed a few things. 
Right now, the title looks like: Crappling Hook.   Who, Me?   While you probably don't have to worry about "crapple" http://www.urbandictionary.com/define.php?term=crApple but crap would be a different issue. Wink
I would make the guy in the G swing up more (close to being horizontal) and then the connecting line would make the horizontal line in the G more apparent.
Also, I would use a non-cursive font.  While I agree that the "free flow" aspect of cursive writing fits the swinging them very well, those extra details can make it harder to read, especially for those that are not familiar with cursive writing or used different characters (e.g. Asia). And the r is a somewhat rare version from what I've seen.
Logged

maxl
Level 2
**



View Profile WWW
« Reply #72 on: March 29, 2016, 01:24:47 PM »

About the networking part:  do you store the logic states for last 2 seconds to help with lag issues perhaps?

Its a bit... involved. What I do on the client is called "client side prediction". That basically means that the client does not need to wait for the server to give its ok before it does something. So if a player pressed the key to go right, the player character immediately goes right on the client. That's to ensure a lag free, responsive game. Now, the server still has to check if everythings alright (cheating, but also if two players want to do things that affect each other). To do that, the client sends the player's input every frame to the server. The server takes them and applies them to its own simulation (it runs the complete game itself as well). After applying the inputs, it sends a message with the current state after the client's inputs are applied. This state is what is actually happening (server has the authority).
The client receives this state, but, due to network latency, this update is - while correct - unfortunately from the past and hence outdated. So the client has to compare the received state with the state it has stored for that moment when it sent the corresponding input to the server (which is why I need to store the past states). If they are the same, everything is peachy and the client can continue.
If there's a difference however, it gets tricky and that's called "reconciliation". The client just knows that "at this time in the past I had THIS state, but it should have actually been THAT state". So it needs to take the received state from the server and simulate the game from that moment on until the present time, applying all the player's inputs again at the right times. The end result of this simulation is what the client should actually have as its state, so the results of the simulation must override the current state. I additionally do an interpolation over a couple of frames, so things don't jump erratically, but rather slide towards the correct state. Does that... make any sense?!?  WTF
BTW, none of this is my idea. There are some really smart people who figured this out, including John Carmack and the guys from Valve:
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
http://gafferongames.com/networking-for-game-programmers/
I had a really hard time understanding and implementing all this. Gomez

Actually, I didn't just assume that you were using Unity but thought that I read that you were using it.  That's why I wrote that I went back and checked the previous pages.  Yeah, Unity seems like a good choice for game development - for us non-masochists.   Angry Cheesy  Having said that, I personally prefer writing code than using the Unity editor and want to avoid the drag-and-drop approach as much as I can. Smiley

I wish I could say anything about Unity, but the truth is, I've never used it before! I want to one day, but I can't do that now. I know I would fall into a hole of exploring all the stuff there is and suddenly, months have passed without me having done anything productive!  Grin

I like the style of the title, but I noticed a few things.  
Right now, the title looks like: Crappling Hook.   Who, Me?   While you probably don't have to worry about "crapple" http://www.urbandictionary.com/define.php?term=crApple but crap would be a different issue. Wink
I would make the guy in the G swing up more (close to being horizontal) and then the connecting line would make the horizontal line in the G more apparent.
Also, I would use a non-cursive font.  While I agree that the "free flow" aspect of cursive writing fits the swinging them very well, those extra details can make it harder to read, especially for those that are not familiar with cursive writing or used different characters (e.g. Asia). And the r is a somewhat rare version from what I've seen.

Very good input! I agree with all your points. Yeah, I was looking for a "round" font that fits the game's fluid movements, but not really happy with it. But the "r" is rare like that, really? I learned to write the small r like this in school.   Shrug
Logged

Currently:


Released games: Nubs' Adventure | Rico
io3 creations
Level 10
*****



View Profile WWW
« Reply #73 on: March 30, 2016, 01:11:10 PM »

Interestingly, I've also looked into networking (for StickMan Sam's potential co-op mode) and was facing the same issue of lag.  I haven't actually implemented anything but was thinking about how resolve lag issues.  Let's say the character is running to the left but starts running to the right and there's a lag of 1 second (as an example).  That would mean the character on the client would continue running to the left and only one second later would it receive the instruction to start running to the right. 
1) "teleporting": if the server simply sends the location and speed of the character when something changes, then the new position will be very different and seems like the character jumps in space.
2) "superfast man":  the approach you mentioned about interpolating between states would require the character to cover a longer distance than it can cover with it's regular speed i.e. it would have to faster and could appear "cheating".  Of course, most lag isn't that large so the extra speed boost won't be that extreme.  As you mentioned, it's better to interpolate to have a smoother looking gameplay than jumpy teleporting guys.  Thought, if the lag is really large, then it might be better.

Now, the server still has to check if everything's alright (cheating, but also if two players want to do things that affect each other). To do that, the client sends the player's input every frame to the server.
Do you need to send it every frame?  For my game, to save bandwidth, I was thinking, that since each client simulates the game, I would only need to send when a key is pressed and released and not when a key is actually down.  Of course, you'd have to have a type of input systems that uses that approach rather than the common ones that check if a key actually being pressed.  There might be some other aspects that need to be considered so I can't say which approach is better.

But the "r" is rare like that, really? I learned to write the small r like this in school.   
That's interesting.  As I was growing up, I've seen some people use variations of certain characters but can't recall an "r" like that.  Perhaps much like accent, this may be regional?
Logged

maxl
Level 2
**



View Profile WWW
« Reply #74 on: April 02, 2016, 11:30:48 AM »

Interestingly, I've also looked into networking (for StickMan Sam's potential co-op mode) and was facing the same issue of lag.  I haven't actually implemented anything but was thinking about how resolve lag issues.  Let's say the character is running to the left but starts running to the right and there's a lag of 1 second (as an example).  That would mean the character on the client would continue running to the left and only one second later would it receive the instruction to start running to the right. 
1) "teleporting": if the server simply sends the location and speed of the character when something changes, then the new position will be very different and seems like the character jumps in space.
2) "superfast man":  the approach you mentioned about interpolating between states would require the character to cover a longer distance than it can cover with it's regular speed i.e. it would have to faster and could appear "cheating".  Of course, most lag isn't that large so the extra speed boost won't be that extreme.  As you mentioned, it's better to interpolate to have a smoother looking gameplay than jumpy teleporting guys.  Thought, if the lag is really large, then it might be better.
There are two things to look at: how to show the local player character and how to show the representation of other player characters. The local player character (the one that the user controls) should always react immediately to user input, not wait for anything from the server. Remote player characters are generally interpolated from past received positions from the server. That means that you don't get any sudden jumps in movement, but the character is displayed slightly in the past (which makes direct interaction between characters much more difficult, but that's another story Grin )

Now, the server still has to check if everything's alright (cheating, but also if two players want to do things that affect each other). To do that, the client sends the player's input every frame to the server.
Do you need to send it every frame?  For my game, to save bandwidth, I was thinking, that since each client simulates the game, I would only need to send when a key is pressed and released and not when a key is actually down.  Of course, you'd have to have a type of input systems that uses that approach rather than the common ones that check if a key actually being pressed.  There might be some other aspects that need to be considered so I can't say which approach is better.
The problem with only sending input changes is that if one packet gets lost (and packets get lost on the internet all the time), you simply miss the change on the server and there's a discrepancy between client and server... so it's not really an option for many games. Sad

But the "r" is rare like that, really? I learned to write the small r like this in school.   
That's interesting.  As I was growing up, I've seen some people use variations of certain characters but can't recall an "r" like that.  Perhaps much like accent, this may be regional?
Yeah, it's regional for sure! Smiley
Logged

Currently:


Released games: Nubs' Adventure | Rico
maxl
Level 2
**



View Profile WWW
« Reply #75 on: April 05, 2016, 05:00:10 AM »

This is what I'm working on:


Logged

Currently:


Released games: Nubs' Adventure | Rico
io3 creations
Level 10
*****



View Profile WWW
« Reply #76 on: April 06, 2016, 10:50:12 AM »

The problem with only sending input changes is that if one packet gets lost (and packets get lost on the internet all the time), you simply miss the change on the server and there's a discrepancy between client and server... so it's not really an option for many games. Sad
Excellent point!  That could lead lot lots of major teleporting, wall hugging and other strange events. Grin
Logged

io3 creations
Level 10
*****



View Profile WWW
« Reply #77 on: April 06, 2016, 10:51:57 AM »

This is what I'm working on:



Is that a "And now for something completely different" Monty Python cameo where the giant foot could squash you?   Grin
Logged

maxl
Level 2
**



View Profile WWW
« Reply #78 on: April 09, 2016, 01:34:05 PM »

Working on improving the responsiveness of the character, making him turn faster and just be faster overall:





Also, I've been improving (I hope) the background rocks and the ocean so players get a better depth perception and more the feel of a three dimensional world... even though it totally isn't!  Grin

Quote
Is that a "And now for something completely different" Monty Python cameo where the giant foot could squash you?
I'm more aiming for Shadow of the Colossus-style bossfights Wink
Logged

Currently:


Released games: Nubs' Adventure | Rico
maxl
Level 2
**



View Profile WWW
« Reply #79 on: April 11, 2016, 04:57:26 AM »

New logo time:



I found the old logo to be hardly readable and the word "grappling" didn't look good with that font at all. "Fling" looks cool that way, so I kept it. Having the player characters form a letter with their trails was a neat idea, but too gimmicky. I dig the trail effect itself a lot though. Rearranged it so that it flows through between the letters, which makes the logo more interesting. What do you think? Smiley
Logged

Currently:


Released games: Nubs' Adventure | Rico
Pages: 1 2 3 [4] 5 6 ... 13
Print
Jump to:  

Theme orange-lt created by panic