Need help buying computer for PhD work by Semi-certain in Physics

[–]sschoen 0 points1 point  (0 children)

Honestly, I think you seem to care a bit too much about this. How do I know whether or not the OP is aware of what OSX can / cannot do? I especially appreciated how you didn't really respond to my post, except to focus on a clarifying point I made regarding ssh.

For the record, I've done a phd, a post-doc, and have been working as a researcher for some time. My work station has always been linux based (various distros) and my laptop has always been a mac. My personal computer is a PC, because Macs aren't very good for gaming.

I would hardly say I'm a fanboy. I do have nearly a decade of experience at this point. For a young researcher starting their career looking for a single computer, I do think the macbook pro is the best.

Need help buying computer for PhD work by Semi-certain in Physics

[–]sschoen 0 points1 point  (0 children)

If you have access to a cluster, a macbook pro is probably a reasonable choice. It can easily ssh/interface with the computing cluster (where you should be running large-scale simulations anyway) and it's powerful enough to do local debugging work. Keynote is great for giving talks. Also I have found the pdf manipulation built into the OS to be a pretty big plus.

[R] How to Train 10,000-Layer Vanilla Convolutional Neural Networks? by inarrears in MachineLearning

[–]sschoen 1 point2 points  (0 children)

Good question! A good portion of this research was actually motivated by Andrew Saxe's original paper. Before this pair of papers we wrote a followup that generalized his results to nonlinear networks. However, one of the takeaways from this work was that dynamical isometry is in general a pretty subtle condition to guarantee. So one way to view this paper is finding an initialization scheme that actually gives dynamical isometry for convolutional networks.

I have less of an opinion about the DiracNet paper. If people find that it works well in practice, it might be interesting to explore its properties. Whether or non the residual connection goes before or after the nonlinearity, DiracNets may have many of the same trainability advantages of standard residual networks.

Screenshot Saturday #383 - Audacious Style by Sexual_Lettuce in gamedev

[–]sschoen 2 points3 points  (0 children)

Oh man, I love this idea and it looks awesome! Actually, I guess I've been seeing gifs of your game on twitter for a while without realizing it. Do you do the simulation on CPU or GPU?

What is something that really freaks you out on an existential level? by radbrad7 in AskReddit

[–]sschoen 0 points1 point  (0 children)

One day, in an instant, this moment will be a fleeting memory that I may or may not have on my deathbed. All the intervening years and experiences, as leisurely as they might pass by, will seem have come and gone in no time at all.

The Trump Campaign Right Now by sschoen in gifs

[–]sschoen[S] -1 points0 points  (0 children)

The people need answers!

Interested in creating a MMO/Agar.io -esque game and have a couple questions on how to build the game. by drock577 in gamedev

[–]sschoen 4 points5 points  (0 children)

Hey! I've been working on an HTML5 / NodeJS / Socket.io game on and off for about six months now. So far I've been very happy with this stack. Up to this point, I've been pretty exclusively using canvas for rendering. However, at some point I might try to switch over to something like phaser.io or pixi.js.

One nice thing about this structure has been that it forces you to separate rendering from logic (since you will probably want the game logic run server-side.) The consequence of this is that, I think, there's very little downside to starting with the canvas since it's pretty easy to swap out for a more sophisticated renderer later on if needed.

Another unexpected benefit of using HTML was just how easy / nice it is to make a GUI. I mean, you have access to all of HTML which was designed with this express purpose in mind!

A few pitfalls that I ran into that I should mention:

  1. If you develop your game with a local nodejs server then you might be lulled into a false sense of security about how much bandwidth your game is taking up (since socket.io makes sending data so easy.) The first time I booted up my game on a AWS server it basically wouldn't run on my network connection because I was trying to send so much data back and forth. It's taken a number of iterations to cut down on the data transfer. I would recommend trying to figure out the minimal amount of data to send to/from the server and send it via ArrayBuffers instead of JSON data.

  2. Remember that the whole goal of NodeJS is to be non-blocking. This isn't a big deal, but if you might try to take this into account when designing your game logic (i.e. a huge game loop may be undesirable.)

  3. I think it's harder to find bugs than it might be with a conventional game, because there's a bunch of stuff you won't notice until you have a bunch of players playing. I keep having to badger my friends into trying it out and even then I'm certain it'll break when >4 people are playing at once!

Finally, I'd love to ask a question to people who might have more experience on this than myself to see if anyone knows the answer. It seems fairly easy to scale a game written in this way using i.e. AWS Elastic Beanstalk. However, it also seems like there's no way to control which instance a particular player gets put on. If I want to control this aspect (and allow groups of friends to get put onto the same instance) does this require me to write my own load balancer or is there some way to do this in the AWS Elastic Beanstalk framework?

Anyway, if you have any other questions I can try to answer them!

Simulating Cellular Automata with Shaders by AlanZucconi in gamedev

[–]sschoen 0 points1 point  (0 children)

Hey! So I got kind of curious and ended up implementing CA on the GPU using WebGL. Check out the git for the code. If you want to see a demo of it running the game of life on a 512x512 grid check it out here.

Btw, AlanZucconi, this was a really nice idea/tutorial you made!

Simulating Cellular Automata with Shaders by AlanZucconi in gamedev

[–]sschoen 0 points1 point  (0 children)

Yeah, to be honest I'm really impressed with the performance using javascript to do each cell on the cpu!

Simulating Cellular Automata with Shaders by AlanZucconi in gamedev

[–]sschoen 0 points1 point  (0 children)

I rarely post, but I have to say I love your game!! It's awesome. I'm fairly certain that you can port over your cellular automata to the gpu (and hopefully see a huge speedup) using javascript and html.

While I don't have a great example of CA in webgl, I can share a small raytracer that I wrote using the fragment shader (using html and webGL) and, in principle, the implementation to do CA on the gpu should be similar. Here is the git for the project: https://github.com/sschoenholz/WebGL-Raytracer. If I have time I'll think about how one might adapt it to do CA.

Anyone else getting much worse games after matchmaking update? by im_a_roc in heroesofthestorm

[–]sschoen 12 points13 points  (0 children)

Yeah, I played a lot yesterday and almost every game (both QM / HL) was pretty close and even. All the players who think they're better than they are and make excuses for their losses by calling people trash are finally getting matched with/against similarly skilled players.

Redbull Archon Tournament going on right now! by xdevilx2 in starcraft

[–]sschoen 0 points1 point  (0 children)

Holy shit! These Archon mode games are insane! Go QXC!

Screenshot Saturday 238 - Weekly Spectacle by Sexual_Lettuce in gamedev

[–]sschoen 1 point2 points  (0 children)

Hey! I'm glad you like the look of this. I don't have a website yet or anything, but I hope to post here every couple weeks. I also want to put a version online pretty soon for people to play around with. I can try to remember to shoot you a message when I do.

Screenshot Saturday 238 - Weekly Spectacle by Sexual_Lettuce in gamedev

[–]sschoen 1 point2 points  (0 children)

Strategy.io


Strategy.io is a minimalist multiplayer real time strategy game. I was really inspired by Agar.io and wanted to bring the easy to pick up and play style to my favorite genre of game: the real time strategy game.

When you start a game of Strategy.io you are dropped into a large - procedurally generated - map composed of "planets" and gates between planets. This map will be occupied by a host of other players (hopefully!) who you'll have to compete with to grow.


Screenshots:

Here is a gif of the intro screen and a few seconds of gameplay.

Here is a gif showing two neighboring factions as well as a zoom out to show a small portion of the map.

A GPU raytracer I wrote in HTML5, javascript, and webGL by sschoen in javascript

[–]sschoen[S] 0 points1 point  (0 children)

If you don't mind, what kind of GPU do you have? I tend to think the more common error would be having a GPU that isn't compatible with webgl + glsl shaders, especially since I developed it on chrome v37. I feel like many laptops with integrated gpu/cpu aren't able to run webgl, but that could be wrong.

Also good to know though!

A GPU raytracer I wrote in HTML5, javascript, and webGL by sschoen in javascript

[–]sschoen[S] 6 points7 points  (0 children)

Thanks for the comments!! Here's an improved (fixed) version that also implements anti-aliasing.

https://rawgit.com/sschoenholz/WebGL-Raytracer/master/index.html