This site uses cookies to improve your experience. To help us insure we adhere to various privacy regulations, please select your country/region of residence. If you do not select a country, we will assume you are from the United States. Select your Cookie Settings or view our Privacy Policy and Terms of Use.
Cookie Settings
Cookies and similar technologies are used on this website for proper function of the website, for tracking performance analytics and for marketing purposes. We and some of our third-party providers may use cookie data for various purposes. Please review the cookie settings below and choose your preference.
Used for the proper function of the website
Used for monitoring website traffic and interactions
Cookie Settings
Cookies and similar technologies are used on this website for proper function of the website, for tracking performance analytics and for marketing purposes. We and some of our third-party providers may use cookie data for various purposes. Please review the cookie settings below and choose your preference.
Strictly Necessary: Used for the proper function of the website
Performance/Analytics: Used for monitoring website traffic and interactions
Of all the social media sites in all the land, Facebook is the king. Last quarter, it had an average of 2.2 billion monthly active users. That is such a phenomenally high number that there is no comparison I can make that will drive it home. Facebook has connected the world in an unprecedented way, opening up a wealth of previously unimaginable opportunities to business owners.
After years of discussion on how to implement CSG, Godot finally gets suport for it. This implementation is simple, but makes use of Godot's advanced architecture to shine. Wait, what is CSG? CSG stands for "Construtive Solid Geometry", and is a tool to combine basic (and not so basic) shapes to create more complex shapes. In the 3D modelling software, CSG is mostly known as "Boolean Operators" Why is CSG relevant?
Introduction and index of this series is here. In the previous post, I changed the CPU path tracer from recursion (depth first) based approach to “buffer based” (breadth first) one. It got slightly slower on PC, and stayed around the same performance on a Mac. I was curious how a similar approach would work on the GPU. Would it be slower or faster than a “super naïve GPU path tracer” I had before?
Designing the game world's creatures. As I promised in this chapter I will dig deeper into the designing process around the creatures that will be walking on the procedural terrain. Therefor I will present a technique, which is actually more of an artist’s life hack to keep yourself unintentionally creative than an actual technique in my opinion.
Today marks the conclusion of Dev Diary: Lessons Learned through the Making of Highways & Byways. This is the last Dev Diary. Start to Finish: Publish and Sell Your First Board Game is still going to continue. I’ll be doing a post every Monday instead of every Monday and Friday. Need help on your board game? Join my community of over 2,000 game developers, artists, and passionate creators.
For those who might not be aware, the Google Summer of Code is a yearly program that brings students from all over the world into open source projects. The students have the opportunity to get involved into a real software development process, while the organizations can welcome a new contributor working on a valuable feature, potentially becoming a regular after the summer is over.
Introduction and index of this series is here. I’ll try to restructure the path tracer a bit, from a “recursion based” approach into a “buffer based” approach. “But why?" I had a thought of playing around with the new Unity 2018.1 async/batched raycasts for a path tracer, but that API is built on a “whole bunch of rays at once” model.
About a year ago, I wrote How to Get Big on Twitter as a Board Game Dev. It is one of the best articles I’ve done on this site. It fits in beautifully with the Marketing & Promoting Your Game series of Start to Finish: Publish and Sell Your First Board Game. Need help on your board game? Join my community of over 2,000 game developers, artists, and passionate creators.
After a year of documenting the Highways & Byways development process through the Dev Diary, this is not the post I wanted to write. I would have much preferred to write a post about how Highways & Byways funded on day 1. Yet today I must write a post on why I canceled the Highways & Byways campaign after two weeks at less than one-third funded.
Last week, I talked about why it’s so hard to get noticed online , covering some steps you can take to more effectively draw attention. Following the steps in that article will definitely help you get started, but there is a lot more to marketing than drawing attention. You need to make people interested in what you have to say and what you have to offer.
Dev Diary posts are made to teach game development through specific examples from my latest project: Highways & Byways. Just here for Highway s & Byways updates? Click here. In 1519, Hernán Cortés and his 600 man crew washed up on the shores of Mexico. He had colonization on his mind, and he wanted to take over the Yucatan Peninsula. He was outgunned and outmanned, so he did the sensible thing: he ordered his troops to burn the boats.
If you are a board game developer like me, you are simultaneously privileged and burdened to live in this current time. We’re in an unprecedented era of creativity made possible by the internet and low barriers to entry. On the one hand, board games have seen a massive surge of popularity, growing about 20% every year for the last few years. It seems like board gaming just broke a billion dollars as a market.
Well. 14 years in a row, the Grumpy Gamer blog has been 100% April Fools' day free. Maybe it's just me, but it feels like the stupidity of April Fools' is waining a little. Maybe my life's mission is finally coming to an end. It's also possible that I'm really playing the long game and once you're all 110% convinced I would never pull an April Fools' Prank, that's when I get you!
For the past months, popular demand has been growing for a way to properly map controller axes in Godot. For a long time Godot was only able to map a single event to an action, making it impossible to deal with analog strengths. Today (after months of discussions), this problem has been solved, and it only took very little amount of changes to the current input mapping system!
Ever since Godot was open sourced in 2014, localized documentation has been requested every now and then by new users. Some eager translators even started unofficial localized wikis, but without a proper infrastructure for internationalization, those were incomplete and quickly grew obsolete as the English documentation changed. Today, we are finally ready to open the documentation for translation on Hosted Weblate , where we already manage the editor localization.
Introduction. This project report falls a little bit shorter, as much of the work was less "fruitful" but nonetheless important and a good learning experience. In this case I'm talking about a rather big refactoring of how materials are handled in the GLES2 renderer. Still there were some improvements on the GDNative side of things! Roadmap.
Introduction and index of this series is here. In the previous post, I talked about concept of SIMD, structure-of-arrays layout, and one (not good) approach of “let’s use SSE for float3 struct” Just rearranging our sphere data into SoA layout for HitSpheres function gave a nice speed boost. Now that the data is all nice let’s try to use actual SSE SIMD code for that.
Introduction and index of this series is here. Let’s get back to the CPU C++ implementation. I want to try SIMD and similar stuffs now! Warning: I don’t have much (any?) actual experience with SIMD programming. I know conceptually what it is, have written a tiny bit of SIMD assembly/intrinsics code in my life, but nothing that I could say I “know” or even “have a clue” about it.
Introduction and index of this series is here. Let’s make a super-naïve implementation for a GPU! Did I mention that it’s going to be super simple and not optimized for GPUs at all? I did, good. This will be the “minimal amount of work” type of port, with maybe someday restructured to be more efficient. Why Metal? I already have a 1) C++ implementation handy, and 2) a Mac nearby, and 3) Metal is easy to use, and especially easy to move from a C++ implementation.
Introduction and index of this series is here. Short post; nothing new. Just wanted to update C#, Unity (C#+Burst) and GPU implementations with the larger scene and optimizations from previous blog posts. So that there’s some, ahem, unity between them again. Here they are, as github commits/PRs: Update C# Update Unity/C#/Burst Update GPU (D3D11&Metal) Switch C# to larger scene Add “regular.NET 4.
Introduction and index of this series is here. In the previous post, I did a basic SIMD/SSE implementation of the “hit a ray against all spheres” function. And then of course, me being a n00b at SIMD, I did some stupid things (and had other inefficiencies I knew about outside the SIMD function, that I planned to fix later).
Introduction and index of this series is here. In the previous post, I did a naïve Metal GPU “port” of the path tracer. Let’s make a Direct3D 11 / HLSL version now. This will allow testing performance of this “totally not suitable for GPU” port on a desktop GPU. HLSL is familiar to more people than Metal. Maybe someday I’d put this into a Unity version, and having HLSL is useful, since Unity uses HLSL as the shading language.
40
40
Input your email to sign up, or if you already have an account, log in here!
Enter your email address to reset your password. A temporary password will be e‑mailed to you.
We organize all of the trending information in your field so you don't have to. Join 5,000+ users and stay up to date on the latest articles your peers are reading.
You know about us, now we want to get to know you!
Let's personalize your content
Let's get even more personalized
We recognize your account from another site in our network, please click 'Send Email' below to continue with verifying your account and setting a password.
Let's personalize your content