Thu Jan 2 06:00:01 EST 2020 ======================================== Slept from ten-thirty to six-thirty. Woke briefly around four. Mostly sunny. Highs in the mid 40s. Southwest winds 10 to 20 mph. Work ---------------------------------------- - Catch up on email, tickets, etc. Done. - Ask Lori about Entrata training Done. She still feels their offering is not great. - Order multi-function printer for Shay Done. First day back to work after vacation. Casual day. Twenty-minute walk at lunch. Partly sunny, slightly breezy, not too cold. Heard a crow and a blue jay. Home ---------------------------------------- - Play with Tilecast Done. https://web.dev/ready-player-web/ > the three essential ingredients to building a successful business out of a game are: > - A functional game > - Users > - A way to monetize users > Without these three elements, a game developer cannot succeed. Nowadays, these last two points are the most critical. Closed HTML5 ecosystems such as WeChat, Facebook Instant Games, and more have demonstrated that building games using HTML5 is achievable. > Recently, Unity previewed a new runtime called Project Tiny which is focused on building 2D games for HTML5-based platforms. Project Tiny applies a new modular design to the engine structure of Unity enabling the core Unity engine to be under 1 megabyte in size. > Space Board is a very simple game that can be played on either mobile with touch controls or on desktop with keyboard input. The objective is to navigate a maze of obstacles to reach a goal at the end. > How does Space Board leverage the URL in a unique fashion? By encoding the level structure into the URL itself. All levels are defined as a 10 by 10 grid of objects–e.g. walls, enemy turrets, keys, locked doors etc. The URL then lists all the individual grid positions and their contents. A wall is represented by a W character. An empty space is an underscore character. > https://io-space-board.firebaseapp.com/?gameWorld=_wwwwwwwwww___ww__eww_k__d___ww___ww___ww_wwwww_www_wwwww_www___ww___ww_s_ww_f_ww___ww___wwwwwwwwwwww > It's ugly but it does the job. > Upon completing a level in Space Board, the player has the opportunity to design their own level using the simple level editor shown above. By enabling players to design their own levels we are giving them the opportunity for personalisation. When a user feels a connection to a game and a sense of ownership via creation and customisation they are more likely to want to share that 'thing' with the world. > The desire to share a game is the beginning of the viral loop that we are aiming to achieve with our web games. https://unity.com/solutions/instant-games https://stackoverflow.com/questions/188030/mathematics-and-game-programming > I want to program graphical 2D games more complex than the basic 2D stuff I already know. I don't want to do 3D programming. Just more complex 2D stuff. I dropped high school before I could learn a lot of stuff so I walked away with enough algebra knowledge to balance my checkbook and do some light 2D Cartesian programming. > > You need to be competent in Trigonometry: [Wikipedia(http://en.wikipedia.org/wiki/Trigonometry) and [Mathworld](http://mathworld.wolfram.com/topics/Trigonometry.html) > Even though you don't wish to do 3D programming, 2D games also use vectors and matrices. (from Linear Algebra) > Linear Algebra resources: [Wikepedia](http://en.wikipedia.org/wiki/Linear_algebra) and [Mathworld](http://mathworld.wolfram.com/LinearAlgebra.html) > One point that will save you a lot of effort in Trig programming is realizing the need for the atan2() function, rather than the atan() function. This is important when determining the direction between two points. > Being able to move between various coordinate systems is a big plus. This will come with experience. Two common things that trip people up are: > a) Most screen systems place the origin (0,0) in the upper left corner, with the positive x axis extending to the right and the positive y axis extending down. Standard Cartesian coordinates suppose the origin of Quadrant 1 (where x and y are always positive or zero) in the lower left. This requires a programmer to 'flip' the y orientation at some stage. > b) Typical geography places 0 degrees as North and positive degrees sweep clockwise. All the Trig functions place 0 degrees as East with positive degrees sweeping counter-clockwise. > Finally, even though we tend to think in degrees, real libraries will use radians. A best practice is to store angles as radians (in 'math' orientation rather than 'geo') and convert things when displaying debug information.. https://news.mit.edu/2020/model-how-strong-knot-0102 Servings: grains 5/6, fruit 2/4, vegetables 2/4, dairy 4/2, meat 4/3, nuts 0/0.5 Breakfast: waffles, banana, cucumber, egg Lunch: yogurt, carrots, apple Afternoon snack: coffee Dinner: Philly cheesesteam