Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

One big problem holding devs back from enjoying gamedev is a lack of quality 3D assets. The engine can be wonderful, but mods were successful due to the availability of existing models and textures that they can poach from the parent game.

I’ve been trying to fix this. It’s not quite ready for showing, but whatever: https://github.com/shawwn/noh

I used to work on Heroes of Newerth, a dota clone. The parent company (S2 Games) sold it to Garena, who shut it down last year. In other words, there are ~80 unique characters with wonderful animations that no commercial entity cares about. I offer them to you.

The gamble is that no one will care; Garena is a massive entity focused on the bottom line, and they’re based outside of the US.

The main thing I’d like to do is to get together the names of all the artists that made these cool characters and promote their current work. HoN’s main strength was its graphics and fluidity, which even today some prefer over dota. That was thanks to an incredibly talented art team whose office was based in California, and I had the pleasure of watching them work for six months or so before the devs were relocated to Michigan. I miss them, and I should’ve spent more time learning the tricks of their trade.

I’ve been making a converter from the HoN format to collada, so hopefully this can be a drop-in addition to raylib. Then you can make your own games with characters and props from HoN.

EDIT: the author of raylib is here! https://news.ycombinator.com/item?id=36614060



Just glancing at it, it looks cool and it's clear you've put a lot of work into the project. I will say though, as a piece of feedback, I personally wouldn't want to build on top of it due to the provenance of the assets. They may not care about it, but they also (correct me if I'm wrong) have not approved of external parties using them or released the assets under any open source license. I have no way of verifying that they don't care, and should a project built with these assets become successful, I can imagine them going from not caring to caring very quickly.

I don't mean to put out a negative comment though, the project does look very cool. It's just a risk.


Me too! If I was an outsider, I know exactly how I’d feel. And that worry is entirely warranted. If you make a viral success with these assets, Garena might come knocking.

But that’s the thing. I fell in love with the engine during my time there. And the only reason was thanks to the assets. I didn’t want to make a million bucks, I just wanted to tinker and play with it.

My hope is that fellow tinkerers will find this useful. If nothing else, they can be stub assets till you’re able to swap them out for your own. And they certainly look gorgeous in comparison to most free models. More importantly, it’s a cohesive dataset —- the entire world is built from parts that all have the same style, which is quite hard to cobble together from random assets you find online.

If Garena ever does have an issue, I’m hoping I can get them on the phone and work out a deal. They want money, we make money, there are ways of transferring some money to Garena to make everyone happy. It’s also a way to reboot an otherwise dead franchise. Plus it costs them nothing to wait and see.

But yeah, this is ultimately a labor of love, and I have no idea how it’ll turn out. In the meantime, it’s at least an incredible reference of one way to implement a modern (circa 2011) game engine.


> If Garena ever does have an issue, I’m hoping I can get them on the phone and work out a deal.

This is not how lawyers work, especially IP lawyers.


Indeed. If the axe comes down someday, oh well. Till then, it’s an interesting experiment that ultimately no one is harmed by.

Garena being based in Asia also helps quite a lot, since the IP concerns are a bit less. Cross cultural IP wars seem less frequent, and Asian franchises in particular seem a bit less aggressively litigious than English counterparts.

There is a moral aspect to it too. I put a year or so of my life into developing that game. It’s not legally mine to give away, but it’s the only chance the franchise has for survival. So I’ll just be clear about all of the risks (which seem minimal) and everyone can go into it with eyes open.


> Asian franchises in particular seem a bit less aggressively litigious than English counterparts.

Shall I tell you about a small Asian franchise owner called Nintendo, or the reason why the most anonymous among the commonly used file sharing networks—Perfect Dark—originates and has most of its users in Japan?

More seriously, there’s (East) Asian and there’s Chinese, and only the latter can be said to uniformly have lax copyright and trademark enforcement.


> I fell in love with the engine during my time there.

OK, uh, I’ve tried a bunch of times to put this in terms that wouldn’t imply a whole lot of work, but I couldn’t, so I’ll just ask outright:

Any exploration hints for someone who hasn’t ever delved into a modern engine and has their knowledge limited to the very obsolete stuff in Abrash’s books and the generalities in Nystrom?

I’ve long wanted to explore how game engines are built, but people don’t usually say good things about the internals—if you do here, that sounds like a chance.


Yes! So many. And writing about them is one of the many things I need to do. Please, please keep in touch — my email’s in my profile, and you can reach me quickly and reliably via Twitter DM. https://www.twitter.com/theshawwn

You’re exactly my target user. I want to help as many people get into gamedev as possible.

The most important thing is to get the codebase open in an IDE, and building. From there you can place breakpoints and start looking at things.

One trick is to literally just hit the pause button in the debugger while the game is running and see where you end up by looking at the stack frames. I use that all the time to map out new codebases. Then start changing some code and see what happens.

I’m sorry I haven’t been able to get something comprehensive together yet; my wife and I have been in the hospital for the last month, and we have a month to go. But it’s almost over.

EDIT: there’s a dev stream too. Sorry for the quality and the music, but you might be able to glean some useful tricks. Pay close attention to the chapter titles, since it’s a serialization of my thought process as I hunted down a bug: https://youtu.be/VBj0RcpxCIc?t=132


> One big problem holding devs back from enjoying gamedev is a lack of quality 3D assets.

There are plenty of 3D assets available. There's TurboSquid, SketchFab, ArtStation, and the Unity and Unreal asset stores. Some are free, some cost. Everybody is moving to glTF format, and import and export has much improved.

If you want a good hard project to work on, write something that takes an overly-detailed 3D asset, with extensive detail in the 3D model, and turns it into a much smaller game asset where much of the fine detail is represented in the normal map. This has been done, but not all that well. Nobody has done it since machine learning started to work. Since the goal is to have the visual appearance from all directions match, you need a good evaluator for "looks the same to a human".


I'm not sure this fixes anything, it just moves the needle somewhere else. Once you've got good models you're now missing animations and textures, and then you get into lighting. If you standardise all of this stuff, you end up with games looking exactly the same (see the default unity movement in a large number of indie games).


You’re right about the anims. I’ve been spending most of my time trying to get the collada exporter right so that you can import it into Maya and make your own relatively easily. I’d do blender, but I honestly have no idea whether animators use blender for character anims circa 2023 and Maya has nice IK support. (If yo8 happen to be an artist, please chime in here.)


Afraid I'm not an artist sorry. I'm a lowly programmer who has had the (mis)fortune to write tooling in this space for a couple of games.


Speaking for myself, I found the process of learning to hand roll basic assets to be enjoyable. They aren't top of the line or complex, but that stuff isn't needed for a one man solo project.


Do you have any tips on this front? I've dabbled with game engines, but spheres and cubes are only so compelling.


Download blender, and learn how to make more complex polygonal shapes. I haven't reached the stage of making anything like foliage or utilizing curves yet, but just being able to make something like a door or a desk is liberating.

Similarly, you can do a lot of texturing work with just GIMP and a phone camera.


Hey! I would love to use these models but can't figure out how to. I see they are in .model format – how would I convert them to something like .obj or .gltf?


Hi! This code is sitting uncommitted on my laptop. I’m sorry to report that since I’ve been in the hospital with my wife for the last month, I wasn’t able to get it committed in a usable state. It pains me that one of the most important items is still a TODO, and it’s partly why I hesitated to show this so soon.

You have a few options. One is to write an importer based on the code in src/k2/c_model.cpp. Another is to wait a week or so while I get my WIP code pushed.

Do you have any contact info? I’d love to keep in touch with you, because you’re my target user. In fact, you’re the first person to ever want to use this besides me, and it’d be a shame to let you slip away. My email is in my profile, and twitter DM is the most reliable way to reach me quickly: https://www.twitter.com/theshawwn

Thanks for asking — it meant a lot!


What do you think about something like stable diffusion, but for 3D assets? Seems like something a few years away.


I’ve been waiting years for it. It’s one of the reasons I wanted to get into ML in 2019.

One of the major hurdles is that it needs to generate assets in a way that fits into an overall art pipeline. Each game studio has a unique style, from the naming of bones in a skeleton to the way UVs are laid out on textures. This will be hard to turnkey.

But it doesn’t need to be turnkey. I bet this will supercharge artists long before it’s an automatic solution for gamedevs. So I predict that any artist who heavily invests in this tooling will stand to win handsomely over the next few years.

Here’s an Erdrich horror I made in a few minutes in ZBrush + photoshop AI: https://twitter.com/theshawwn/status/1669106560654614528?s=6... the eye texture is all photoshop AI, which felt remarkable to me even as terrible as it looks.

The other one who might win is a lone wolf gamedev who autogenerates everything. When all your art is autogenerated, you don’t need a style (or an art pipeline). But this is exceptionally difficult to achieve, and I think very few ML people have the gamedev perspective necessary to pull it off.

Luckily, it’s easier than ever to get into ML. So I’m hopeful that gamedevs will jump into ML themselves, as I did, rather than wait for someone else to make it. Invent the future yourself! You really can.


I think this an area where AI generation can help a lot. Big studios will still do things by hand for better quality and less constraints, but for indies, generating a character with "stylized cell-shaded human character under X polygons" and then go from there will be a revolution.


I was that 14yo with StarEdit


wow, an open-source HoN... that's awesome! what a cool project!




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

Search: