« first day (2103 days earlier)      last day (2924 days later) » 

Jon
12:00 AM
1942 for life
servers are down, so i guess i should just kill myself, lol
 
 
9 hours later…
9:07 AM
…or you just cry in a corner
 
 
5 hours later…
2:15 PM
not much game deving on sunday? :)
 
Did someone say the new battlefront was bad? I beg to differ (plus I played both the first two Battlefront's)
 
Sunday is just my day I take away other distractions...
 
2:37 PM
Sunday is my procrastinating study day for all the homework and study I didn't do Saturday ;(
I got my last AP test tomorrow AP bio, then I'm done! :)
 
user92578
referees make ice hockey so much more interesting
 
I need help in push notification
@Tyyppi_77, can you able to guide me?
even other members as well :)
 
user92578
maybe I can
 
basically via custom web server, we are sending push notification
so from iphone device I am sending device token to web server
then using that device token, server will send back to me notification
when admin deliver any message
in this I have one message, usually device token is unique during app life time
but if I remove app from iphone and then install new copy
at that time new device token generated and added over server
but now previously added device token become useless
and by this full service stopped working because in token list there is one entry exist which can't be delivered
this is my full case
how to handle this situation?
I want to ignore that device entry but want to deliver on all other one
 
user92578
3:33 PM
Here's this weeks update, including the gameplay video I compiled! gunhero.surge.sh/#WeeklyUpdate11
 
3:57 PM
@Siddharth You have to pick a point where you "cut your losses"
 
can I show you code?
 
Not yet please
The problem is still theoretical, the code wouldn't matter yet
@Siddharth You want to guarantee that all devices get the message, but you know in some cases it's impossible?
 
yes I know about that
 
I'm just confirming your intentions
 
I read apple guidelines for this
at present only 4 devices are register in database and 1 entry is not valid
so not getting any device notification here
if I remove that wrong entry from server then I got notification
this is the case
and device token is every new install create new one
 
4:02 PM
So does message A (first message) have to reach all devices? Before message B (second message) can be sent to any?
 
so old entry definitely remain exist in device
yrd
yes
only from admin panel you can able to send notification
 
Is it bad if you send message B to the others, even though you are still waiting on one person to receive message A?
 
you are focusing on wrong direction
I just want to send one message on one day
 
You can't know what I'm focused on yet
 
not in bulk of messages at same moment of time
 
4:04 PM
And if you understood what I'm thinking about then you wouldn't be asking this question at all lol
 
I want that fake id get ignored and all correct id devices get messages
right now no one getting message because of just one fake entry
 
But you can't know if an ID is expired
 
I want to detect this fake entry nothing else
then what to do in this case
 
How long might a user pause between updates?
 
because notification is most popular and useful thing
 
4:06 PM
I mean, can a user have their phone off for a week, and then come back and expect the message?
 
per day there is only one notification from server
no not like that :)
I don't want this kind of master service "can a user have their phone off for a week, and then come back and expect the message?"
 
Please just trust my question, it's not what you think...
Does every single person need to get every message, before anyone else does?
Does today's message make yesterday's message pointless? Can you just have the latest message wait for the update?
 
any other person don't have rights to send messages (push notification) to others
 
Look, I more than get that
 
only admin panel user means administrator can able to send notification
 
4:08 PM
I understand every detail of your system with frustrating accuracy. What's not clear is what you want.
 
per day there is only one notification send by him
:)
 
If you tell me about your system instead of answering my question again, I will not talk to you any further.
Are you willing to make all users wait for a week before they get the message?
Or can you let most users get message B, even though one is still waiting on message A?
 
on message A will be ignored and message B is delivered to them
I write full requirement again now
basically there are 4 device tokens entry exist in database
in that one fake entry exist
 
I get that and I don't care about that part
I don't know how to be more simple and direct about the necessary information to solve this problem...
(1) Can you let users [1, 2, 3] get message B, even though user 4 is still waiting on message A?
(2) How long will you let user 4 be "missing" before you consider their ID expired?
 
right now just problem in sending message A only
because yet A is not delivered to any user
so I can't ignore A right now
 
4:13 PM
No.
 
so there is no change to send message B to users
 
You are thinking too specific about one case, you will never solve this on that train of thought
You need to step back and think about the raw core of the problem.
 
I send message B then also then no one can able to receive it
because in coding some mistake exist
you are thinking about queue mistake and packet lost in apple notification
 
No, I'm not.
 
but right now I am struggling with my wrong code
 
4:14 PM
At all, even slightly.
You are 100% wrong in your guess about what I'm thinking, will you stop trying to guess what I am thinking yet?
 
then you are out of focus regarding my problem
 
I mean, we're done here I can't put up with your shit for even 2 more seconds, but I hope you will try harder to open your mind in the future when someone wants to help solve your problem.
 
sorry I need to talk with some other person regarding this
thanks for your time given to me
 
When you fail to understand something, you have to give up on the logic you are using and try something else.
 
here in my code some problem exist in you are talking about some other things
 
4:16 PM
You are the problem here, not anything in the code or in the design.
 
depend on person :)
 
No. Objectively
No opinion involved. Whatsoever.
You've failed to consider or communicate the true requirements of your logical system.
 
I will discuss this with my other friends, I am not angry regarding you because you shared your opinion with me
 
You've only thought deeply enough to guess at what you think you need, but have no analytic methodology.
 
so please don't consider anything wrong about me :)
 
4:18 PM
I don't judge people, but I analyze problems.
 
it is just matter of understanding
 
This problem is EXTREMELY straightforward, the ONLY issue here is your failure to communicate the necessary details I've asked for directly several times.
The algorithm is a very "1 + 1" math problem, but it's "1 + x" and you won't tell me "x"
 
now don't think about this more, just cool down :)
 
You must be speaking to yourself?
I hope you're not "heated" about the way I am, I am not sorry that I am harsh
 
no no its okay, don't worry
really thanks for your time
 
user92578
4:24 PM
he'll probably just ping jon tomorrow about the same issue
 
The ignore button solves so much
 
@KevinvanderVelden lol the real question is who should ignore who
I guess everyone could ignore everyone and then we can all have private conversations and never have to risk someone having an opposing view about anything!
 
It's not that
It's that he constantly does the same thing and doesn't learn
 
I just thought it was funny, considering the extreme limit of using ignore to the maximum :P
It would be like multiplayer notepad with radar off
@KevinvanderVelden I kinda noticed this... My whole attitude shifted the moment I encountered that repulsion to actually doing analytic thought and problem solving.
 
I've stopped even trying to help him weeks ago
But now I've finally had enough of reading it
 
4:30 PM
I was actually trying to set out to be friendly, I remember seeing his name on GDSE this morning and felt like I should reach out
Also to try and help fix my own racism because I've become severely racist after some clients that insisted on outsourcing tasks I defined for their project... to.. odesk
.....backfired
I'm seriously scouring for any evidence that I should not be racist.. and going out of my way to ignore the vast amounts of evidence the support it... and I'm really struggling
 
DH.
He probably doesn't understand everything we type, so he just answer randomly
 
My strongest silver bullet against racism is only "All people are unique."
I seriously don't have a good real world example. It makes it a lot easier to see why so many people around me are racist, most of my neighbors are not as abstract and analytic as I am about things. They prefer real world examples
But I can reject at least a few million more bad examples, before statistical significance at least, so I'm safe for now
Expected value is looking pretty fucking bad though...
 
user92578
4:46 PM
I'm starting driving school tomorrow
 
user92578
Their awesome dynamic lesson managing website is awful
 
user92578
i have no clue if I'm supposed to do something
 
@Tyyppi_77 Nice is this regular day to day driving, or defensive driving?
 
user92578
just the process to get me a drivers license
 
Oh man so a basic class is required for a license at all? We really need that here lol
I don't know how the state of your average roads and drivers are, but I think a good defensive driving class is very worthwhile for anyone
 
4:56 PM
That's the good thing about requiring classes (and good tests) before allowing people to drive
You don't need a defensive driving class to not get killed
 
user92578
tomorrow is just theory
 
user92578
roadsigns and stuff like that
 
user92578
but it's a longish process getting a license here
 
user92578
and costly, ~2K for a piece of plastic
 
Sie
@MickLH Wait what happened? I missed another fire?
Ah I see now.
 
Jon
5:11 PM
don't fart on the fire.
 
Sie
I used to be a lot like that and still fight it off when I notice myself doing it. I always try to understand the code as best as I can so that I actually learn from it. I mean sure you can grab the code from SE/SO but really if you don't understand it you've learned nothing.
 
DH.
5:24 PM
Yeah, no shame in copy-pasting, but at least understand what the code is doing
 
Sie
5:41 PM
So I just finished working on a weapon swap script. However I don't want it swapping in the middle of an action (as the weapon swap is tied to the mouse wheel as are a few other critical controls). So I figure that I'm going to have a bool on each weapon script and have the weapon script check to make sure it is false before it swaps. Is that the best way to do this?
I'm assuming so but I'm not positive.
 
DH.
Just make a single bool that means that the character "is busy with some random action" to avoid moving, swaping weapons middle attack, etc.
 
Jon
6:08 PM
sounds like you are doing it right.
instead of having a bool in each one though, would be better to have it in the base class
 
still liking offworld trading company
not played against people yet thoguh
 
Jon
i'm playing broforce now
 
pretty good game (broforce)
 
Jon
6:26 PM
yah
who's your fav bro?
Indiana brones is shit
 
Sie
Happy mothers day Jon.
 
6:42 PM
@Jon probably Snake. I like the long range.
 
Jon
7:01 PM
you like my walking car?
 
user92578
Looks retarded. I like it
 
DH.
I wonder how a hill walking game can go wrong with this kind of movement
Would be fun
 
7:19 PM
So I got my rendering code working and my networking code, now I've lost the will to carry on
 
7:51 PM
@Darth_Wardy Apply 10ccs of pain directly to the face and threaten to do it again if you don't keep working
 
8:04 PM
0
Q: Are questions about games created using Scratch on-topic?

scriptHeroThere is quite the library of appreciated games made using MIT's Scratch program. The program uses stackable blocks and pieces instead of raw code. I'm wondering whether discussion or asking for debugging help about development of games using Scratch would be on-topic here.

 
8:58 PM
@MickLH meh ... i lack the motivation to even do that
this heat is doing my nut in
 
9:09 PM
@Darth_Wardy bruh...
 
I feel like fighting bugs in game engines is not how I want to spend my life
but really don't want to write my own
 
LOL. Fighting bugs in game engines seems to be an inevitability.
 
these days yeh
people apparently don't write well written engines these days
 
@Darth_Wardy lol nice punchline
 
that's a lot of eefort for a game idea I have in mind
 
9:12 PM
I immediately thought writing your own engine is the source of bugs :P
 
I just want to write the game not the whole dam stack
@MickLH yeh but at least that way when it all goes sideways you can just step through it
if its someone elses black box of code its not so easy
 
Yeah but every single day... there is not ever a day where I don't have to fix something lol
I think writing the engine from scratch has cost me more time than I've spent on the actual game in total
 
I don't mind fixing bugs in my code, I shouldn't have put them there, but crappy issues that should be trivial / not there at all is just cringe worthy
@MickLH yeh that's the problem, and I've tried so desperately to avoid it, but doing so has cost me more time than just writing a game engine lol
 
Writing your own, using someone elses. It's bound to have bugs.
The advantage of writing your own is that you probably don't have bugs in the areas you care about.
 
Lol idk what to say, I tried to hack my required features onto a few different engines and found that my use is too edge-casey and nothing I want is supported
 
9:16 PM
well the engine i'm using atm is in beta, but the issue i currently have is that it doesn't have a networking layer and insists that my game use only .net portable assemblies
oh, shit, i just figured it out
I'll put IoC in the main project and inject a standard socket client in the windows build and worry about the others later
IoC FTW
 
I actually finished the whole pile of refactor and bugfix crap... I've been working on that for so long, I have to sit down and think hard to even pick what direction to push for now.
 
it'll break the engine rules a bit, and won't be cross platform, but if I want to implement the client on other platofrms I can just bolt in a different interface implementation for the network client later and have the IoC stuff return one of those instead
@MickLH well i finally got some core meshing code finished and networking sorted
also have a working world server
and i've got to the point where I am streaming my world data to the client pretty fast
 
good stuff, I'm working on networking too atm
 
scaleable ?
 
yeah
 
9:20 PM
you going for cloud / MMO type stuff or just basic?
I managed to write a simple socket wrapper that does message parsing, so I can stream the raw bytes and it raises events on messages being "completely received"
 
I guess technically it's MMO style networking, I mean I have to solve all the MMO problems because of the edge cases, even though most of the time very few players are in the same area together
 
I got some pretty good routing and its all async too so that's a reasonable start
need to figure out how to test those odd edge cases though
@MickLH sounds like a really large world like ED, or no mans sky
 
Ironically the player should deal with mostly NPCs, and the NPCs present the greatest load on the system
But so far no roadblocks
I've been doing a "security first" implementation, so I'm still working out the handshake to be DDoS-proofed
The first pass defense is a proof-of-work system, where each client has to brute force search for a random integer that makes the packet checksum contain some specific bytes
Then if the checksum is missing the magic bytes, packet rejected. and of course if the checksum is wrong, packet rejected. This should let me control the rate that it's possible for connecting to start at, so if the server is overloaded I just require more proof-of-work in the handshake.
Ideally I'd like to figure out a way to let anonymous users join a game reliably even during an attempted DDoS
 
@MickLH surely thats an infrastructural thing rather than a software thing (dealt with at the routing / OS level), or am i missing something?
 
@Darth_Wardy My handshake process is pretty CPU heavy for the server, a client could crash the server just by starting handshakes as fast as possible. I can't rely on any external firewall because that might block legitimate users
 
9:31 PM
hmm ok
I went for a hub and spoke model
if a spoke drops its no biggy, I can fire up more but the underlying hub will not be affected
 
I went for a "master-manager-client-client" system, the idea is that it will be a hub and spoke system in practice
 
detecting ddos attacks is not something I intend to ever do, my thinking was that I would ultimately just deploy to a cloud and have the cloud figure it out
might be a bit naive though
im probably wrong ... knowing my luck
 
I don't know if it's necessary for most games
But when you connect to my server, both client and server participate in generating a session key which costs a big CPU hit
Before the client has even logged in, I mean
I got it down to milliseconds of processing, but that's pretty heavy still
That would imply less than 1000 connections per second required to crash the server with 100% CPU on network handshakes
It's not crazy to whip up a >1000 node botnet
 
so are you passing that key in every message?
 
Nah the key never gets attached, but both sides have to generate it at the beginning
 
9:37 PM
@MickLH but thats for a single connection server though right ... "single spoke"?
in theory you'd have a load balancer sat over an array of them
 
I could go with a load balancer, and move handshake & authentication to its own server cluster, I just wanted to avoid the complexity of external authentication
It's only generating the key the first time that's expensive, both sides have to generate the same key without ever sharing enough information for anyone else to know the key
 
I've got a routing based system, each message comes in with a header, based on the header the routing engine makes a call
if the socket isn't authenticated it expects a login message
anything else results in a drop
the server will literally just say "fuck off" and drop the connection
I figured that was about as good as it gets
 
I have a similar strategy in that I boot any clients that do anything weird and say "try again"
 
the routing engine in the event of a login call might call a webservice or something, not sure yet exactly how I want it to work so I mocked a simple "list based implementation of the login handler"
 
I went the polar opposite on the routing system though
 
9:41 PM
just so i had something to handle the call
opposite?
how do you handle message routing?
 
Yeah I ask client to route between themselves, and the servers only pass messages when the clients can't figure it out, or the game rules require the message to be processed by a neutral party
Playing with friends on LAN is a pretty important element of my game, so even in online play I take advantage of the faster P2P link instead of making a round trip
 
hmmm, interesting
I did wonder about using p2p based udp packet routing and saving the server round trips but not sure, since all moves in my model come from the server there can't really be much cheating but it adds a lot of server load
 
I have a system where Entities have an "owner" node, and once the server gives ownership to another node, it tries to forget about the object as much as possible
 
haha, how strange, i did the same but the owner in my case is always a server node and never a client
 
I let clients be owners in cases like someone walking through debris on the ground
As soon as you stir up the physics, the server instead of processing a physics tick just dumps all the object ownership on you
Your responsibility to compute physics for them, the server will accept your updates as long as they pass the most basic sanity check
 
9:51 PM
Yeh i was wondering about that
weather to do physics sim on the servers or not
 
More importantly, the server doesn't ask you for updates, but it does give you a key you can use to prove to other clients that you own the objects
 
means needing gpu installs on servers though
@MickLH hmmm, there's an interesting thought, if i was to combine that with my model then I would only need to send the key once
I associate key auth info with the socket itself, once its there, there is no more need to send it again
standard handshake for me is "hello, im <auth data>, <message stream>"
essentially
 
The per-message signatures work out gracefully as a more functional replacement for per-message checksum.
Take the debris example: The only client who cares about the debris owns it, the server can avoid any processing whatsoever, doesn't even need to load the models. If another client enters the area, they already know about the players in the area, and can request the debris info from the player who owns it. If the owner left the area then, they can pass ownership back to the nearest client. If no client is in range they can pass it back to the server, and send the server a state snapshot for it.
Without the signature, every client who saw the debris would need to ping the server to confirm the owner. In that case the server might as well own the pile since it has to lookup data for it and respond to packets constantly anyways.
 
Yeh i deliberately didn't want that
since that would open a cheating opportunity in my game
i mean, does a each client own the rendered player object that the user is controlling in your case or does the server own all players?
having a client own the player means that if the client is compromised they do things like speed hack their own char
seen that in so many games before and it sucks
 
10:24 PM
0
Q: I have a specific question about [specific-question]

scriptHerospecific-question has no description and ironically isn't very specific. The 6 questions using the tag don't have any similarities. Also, if your question isn't specific, then it is off-topic or too broad. Does this make all the other questions on Meta Game Dev SE too broad? Any good post should...

 
10:49 PM
@Darth_Wardy I went with a rule validation system
 
I started trying to build a complex rule system then I eventually settled with basic event handling
I essentially only have a set number of operations that can take place, so I have a means to add a list of handlers for an operation to a concurrent dictionary
 
I try to keep the rules simple. Debris has a low energy to destroy, so it can never reach too high a speed
Player also has a maximum speed, etc
 
but i do have an interesting situation where the message in question needsto be passed between connection servers
I don't really want to be doing cross server "who's nearby" type queries so I rely on the server in question to know and pass on relevant information
so I added a means to say "I handle events in this area for this type of thing"
that then meant I could for example have multiple world nodes, and then have multiple connection servers hooked up to them
then have each world node tell each connection server that it was interested in all world events within an area
that allows me to break the the workload down quite heavily
but it gets really interesting when world nodes need to talk because somethings happening on a world node boundary, and there are players from various connection servers interested in that event
 
I have similar problems at a different scale becasuse any empty space has to be assigned a cell before it can contain entities
 
I feel like i did my bit for that question
@MickLH ah c i don't have that problem
 
11:01 PM
It ends up working well for me because of other weird decisions in other places :P
 
I can even define portions of my virtual world that don't connect nor ever have to connect in any physical way, I just have arbitrary lumps of 3d space
I'm using relative positioning
 
I use relative positioning within a cell, but cells are absolutely positioned
Disconnected worlds can be implemented by putting an empty cell gap between them, and a box around them if you're paranoid
 
i don't need the empty cell
you simply define what you can see, not what you can't see
its not perfect yet though, still working on the scaling of things
I still think I can speed up world loading
 
I don't really have any use for disconnected worlds, so I compromised it for the reliable absolute positioning in the physics simulation
 
streaming the chunks is getting faster with each iteration
it mostly makes sense in situations like in space
I can simply define a region of populated space and not have to worry about the non populated areas
in my case its floating islands so that's sort of like an asteroid field
 
11:06 PM
I use a sparse allocator too
 
but the asteroids could be 10's of km's across
so I could have a large land mass then nothing for 1km
 
You don't need the whole grid, only the cells you use. Actually the asteroids seem like a perfect fit lol I'm using 1km^3 cells
I can scare you about my decision making: I made the physics engine represented by an entity :P
The simulation's origin is wherever the entity is, and all of its children become physics objects, wherever they are
Any time an object collides with something that's not physics animated, it pulls it into the simulation. When any islands fall asleep, they are removed from the simulation.
If one physics simulation is running too slow, it's supposed to split into two physics engine entities so they can run on separate processors, but my method for checking "too slow" is just seeing if the object count is too high, which is not really a good way to estimate physics load at all
 
11:23 PM
@ChrisMcFarland glad you're having fun in the clan
 
@MickLH sounds evil
i've not gotten that far yet
 
I have a friend working on 3D stuff, so I had to do a lot of the fun stuff first so he could play around with it. It was a very successful morale exercise.
 

« first day (2103 days earlier)      last day (2924 days later) »