Hacker Newsnew | past | comments | ask | show | jobs | submit | socalgal2's commentslogin

It's non-trival though not that hard. Have you asked an LLM?

It depends on your needs

* You can compute a rectangle by expanding a line purpendicular to its direction

The problem with this is you'll get gaps between 2 lines if they are supposed to be connected. You can solve that by trying to connect the corners if the rectangles. Once you do this though you're no longer drawing rectangles. You might have to make a simple triangle rasterizer. Or a scanline rasterizer

* You can "drag a brush". You compute a single line, then at each pixel, draw a sprite/circle/rectangle around that pixel. That's slow because you'll draw every pixel more than once but it will work and might be fast enough

This has the issue with the ends will be different unless your brush is round. If that's ok then it works.

All of these are something you can ask Gemini, ChatGPT, Claude, and they'll spit out an exmaple in the language of your choice.


Those are bad answers. Really bad.

dust, hay fever, pollen, gnats, ugh!

I'm mixed. I always wanted a dog as an adult because I grew up with dogs. But, maybe because it was a different time, the dogs didn't run our lives. Serially, they lived in our backyard. They had access to a dog house in the garage. And we gave them food and played with them. I was also a kid so no idea what my parents went through but I certainly didn't see them fretting over the dog and we rarely if ever took them for a walk.

But now I see any of my friend and family that have dogs re-arrange their lives around them. One friend will never stay out more than 2 hours because "gotta get back to the dogs". So, dinner and a movie is out since that would be more than 2 hours. A family member is similar, gotta get home for the dogs. This family member would also not be ok to check them into a dog hotel for a longer family vacation so we haven't had one in 10 years.

So, seeing examples like these and others, I haven't been able to convince myself to do it. I kept waiting until I had a house with a yard like I grew up in but that never happened.


what is "mainstream global anglo pop music"? Anglo apparently means "white"? Is there such a thing as "mainstream global anglo pop music"? I certainly can't separate many mainstream global pop music by the race of the person singing.

Anglo likely just means English-language.

You're already in that world. Phones have ubiqitous cameras and they are normalized at this point. It's a common scene in a movie where instead of helping someone who was hurt, people just pull out their phones and film.

Cameras on glasses will be normalized too. A few HNer types will scream. The rest of the "nothing to hide so nothing to fear" group will just wear them. (not saying I agree with "nothing to hide so nothing to fear". Rather, I'm saying that's common way of thinking. Common enough that it's likely people will wear these eventually.

How about this marketing approach: "College woman, tired of creepers trying to hit on you. Worried about getting roofied. Wear these glasses and turn the creeps in".


Hilarious that a post about collecting data is on a site that collects data

Without ai my text editor auto completes letters into existing identifiers or adds a closing brace

With ai it add several lines of code at once as soon as it thinks it recognizes a common pattern.

It’s not perfect and it can get in the way but it’s amazing when it guesses right and spits out the next 3-4 lines I would have typed


Personally I find this workflow is jarring. I get into flow typing code and then the AI autocompletes the next four lines on a tab input. Now my flow is screeching to a halt because I have to switch from flow mode to review mode to make sure it actually autocompleted what I wanted

I'm trying to think of a text editor that doesn't support customizable snippets and templates, and failing

Those two things aren’t the same at all, they’re so different it’s hard to believe you’re not being intentionally obtuse.

I mean, in the sense that customizable snippets are more flexible and can cover a wider variety of use-cases, I guess?

I see making a game engine as the illusion of progress on making a game. Making a game engine is fun and relatively easy. You have a check list of things to do. Each of them the solutions are relatively well known. so you do them and make tons of progress. You get a window open, then you get a triangle up, then you get a texture loaded, then you get some basic text for debugging, then you read the keyboard for input, etc etc. each day new stuff comes up and you think you’re making progress but really you haven’t even started making the game , you’re just reproducing what you could have already had if you’d started with an existing engine.

Then you start it hit the more tedious stuff. loading animated characters, blending animations on selective subtrees of a character hierarchy. Making a level editor. Adding quality of life feature to it like undo. Etc…

I’m not saying you shouldn’t do this. It’s fun to do. just don’t delude yourself that that’s making progress on your game. It’s instead making progress on a game engine. That’s a different thing.

I've shipped 18 games, 4 of them AAA. I wrote the engines for most fo them. I wouldn't do it again.

All that said, some nuance. If the game you are making is simple for some defintion of simple, Celeste, Dead Cells, Geometry Wars. Then making your own engine isn't much work and there maybe some benefits.

On the other hand, see all the tiles made with engines. Silksong is Unity. A Short Hike is Unity. Blue Prince is Unity. Valheim is Unity. Peak is Unity. Dredge is Unity. You don't need to make your own engine to make an indie game.


Randy (funny gamedev guy from YouTube) said in a recent video that he realized he'd spent the last ten years making engines to avoid the creative terror of action making a game. I'm paraphrasing slightly, but that's what it came down to.

"I thought if I made a really good engine, making a game would be the easy part!" I had similar thoughts when I was younger. Surely if I just upgrade my tools, the hard part will become the easy part!

Jonathan Blow says making engines is easy, because enginedev only takes a relatively small part of development — the game itself takes way more time and energy.

So his argument is, in the grand scheme of things, the engine is not that much work. (Since you're gonna spend ten years working on the game anyway, of course ;)


And, of course, the next level of procrastination is to develop your own programming language, which you will use to write the engine to use in creating the game :-) Definitely hats off to Jon for pulling it off - he had a lot of focus and some previous experience - and it also helps to have re$ource$ from past successful games. For many of us, the lure of developing better tools, rather than the end product, proves to be too strong to resist. At least Jon stopped short of developing own OS :-)

Jonathan Blow also makes games at a very slow pace; e.g. his Sokoban games. There are other factors at play, but his pace is consistent with the speed drawback of rolling your own engine.

And the thing usually is that what you want from your engine is the flexibility to be able to change things around easily so you can iterate and experiment on the game design itself. Sometimes a custom engine can give you that (especially if you're going off the beaten track) but often the tooling around the off-the-shelf engines is much better for it.

That’s also why 99% of people building games with Unity or Unreal never get anywhere by themselves or just produce asset-flip slop, and then complain on Reddit about marketing being hard.

Programming an engine requires dedication, but pretty much every other area in gamedev require similar dedication to get to an acceptable result.


That's also why the Handmade Hero series took more than 600 episodes to eventually go nowhere.

Yeah don't end up like me with a folder full of library code, "tests", "prototypes" and a dozen implementations of the Tiled API but no game.

For certain personality types I think making an engine can make it very easy to get distracted and wind up in the weeds of something you don't actually need, overoptimizing, fence-painting etc. Using an engine can help with self-discipline and focus on the end rather than the means, although then you need to make sure you don't just wind up with a ton of mostly finished tutorial projects and no game.


> I've shipped 18 games, 4 of them AAA. I wrote the engines for most fo them.

Solo? Or part of a team?


Can you name one solo dev AAA game let alone four?

> relatively cheap

relative to an iPhone Pro, yes. Relative to many other phones, No. It shipped at $399. You can buy 4 to 12 android phones for that price. I'm an iPhone user but my sister and her family are Android.


I doubt I would get the same quality and reliability. Good Android phones are equally expensive and it is very hard to know which are actually good without doing research. As well I had bad experience with some Google Pixel model.

That is always the excuse people bring up to ignore the point. You can spend $1000 on a fancy chefs knife, or you can spend $30 on an Ikea chefs knife. Sure, the $1000 knife is higher quality. Yet, millions of people are still doing just find with the Ikea knife.

A cheap car will still get you to/from work over an expensive "higher quality" car.

Lots of families don't have money to buy an iPhone for every member of the family but do have enough to buy an Android for every member of the family.


Sorry, but it is not fair analogy. It is comparison of ikea knife vs cheap chinese knife that breaks after 10 uses.

it's not a terrible idea. It has it's uses. You just have to know when to use it and when not to use it.

For example, to have fast load times and zero temp memory overhead I've used that for several games. Other than changing a few offsets to pointers the data is used directly. I don't have to worry about incompatibilities. Either I'm shipping for a single platform or there's a different build for each platform, including the data. There's a version in the first few bytes just so during dev we don't try to load old format files with new struct defs. But otherwise, it's great for getting fast load times.


To support your point, it's also used in basically every shared library / DLL system. While usually used "for code", a "shared pure data library" has many applications. There are also 3rd party tools to make this convenient from many PLangs like HDF5, https://github.com/c-blake/nio with its FileArray for Nim, Apache Arrow, etc.

Unmentioned so far is that defaults for max live memory maps are usually much higher than defaults for max open files. So, if you are careful about closing files after mapping, you can usually get more "range" before having to move from OS/distro defaults. (E.g. for `program foo*`-style work where you want to keep the foo open for some reason, like binding them to many read-only NumPy array variables.)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: