HNHacker News
TopNewBestAskShowJobs

triplefox

219 karma · joined February 16, 2009

I design games, and I program them. I have some big fat ideas and you can read about them here:

http://ludamix.blogspot.com

submissionscomments
triplefox··on So Here's How Many Games I Sell - Indie Game Developer Story
http://www.prairiegames.com/

ed: the biggest issue with an "Indie MMO" is that maintenance costs can make it a non-indie kind of venture very quickly.

triplefox··on So Here's How Many Games I Sell - Indie Game Developer Story
Costs for this particular kind of game are mostly content costs: Writing, gameplay scripting, art. The engineering effort doesn't carry over a great deal from one game to another. As well, downloadables get lower market penetration than browser-based games. All those factors go a long way to explain why he's only breaking even.

If you want a hope of success in games, either do a low-asset kind of game, do a game where big assets are matched with big marketing, or involve the users in creating content. I think there's still lots and lots of room for the third.

triplefox··on Ask HN: What was the first URL you saw in the wild?
I vaguely remember using some university's gopher system at a demonstration Internet setup circa 1992-93. That would make me seven or eight years old.

The first url I actually remember would probably be liii.com:8000 as that was the host of a Merc MUD I played on(Barren Realms). I have some recollection of playing on it a few times before we got internet access at home. Now they're at http://www.barrenrealmsmud.com/ and I haven't visited in probably a decade now. Nice that they're still around.

The second early url I remember is crl.com, the dial-up ISP my dad signed up with. We had a shell account on a real Unix box, with a whopping 5mb storage, and we weren't allowed to run SLiRP/TIA so we couldn't emulate a SLIP/PPP connection and use graphical browsers(a sore spot as the Web got increasingly graphical). They moved to business-only services some years later (and we moved on to other ISPs) Now the domain appears to be taken by a drug company. I don't remember what crl stood for, even.

A third good one was ftp.wuarchive.wustl.edu. They had a pretty spiffy anonymous ftp in the early 90s. Apparently it is now "too expensive to push bits to the world."

My predominant memory of the internet before around 1996 was that the Web was only one of several viable systems: email, Usenet, telnet, and ftp were also used by my 8-to-10-year-old self. But as I got older, the Web rapidly took over everything. I was still using dial-up right up until 2003 when I went off to college. And then still used dial-up when home on breaks, until I got a laptop and stole the neighbor's wi-fi. It's funny to think of how much dial-up's user experience grew less tolerable over time.

triplefox··on Ask HN: Help me become a great hacker
A good start would be: try not to waste what you've learned. A starting point would be to imagine ways to improve medicine via computing. There are always ways that our information systems can be improved. It doesn't have to be an impressive field or anything, even a small problem will work. Design what you think a solution might be. Learn enough to do coding experiments with said solution. You'll iterate over it a ton. If the problem turns out to be big you will probably find yourself exploring things far off from the original problem and eventually, maybe years out, discover you've hit on something new. It might be viable as a business, or just a ground-breaking concept. Either way you will hit on it if you keep exploring.

(This is from the perspective of doing mostly non-commercial programming. In commercial work you are mostly cleaning up other people's messes; there is little of interest and few learning opportunities after a certain baseline.)

triplefox··on Ask HN-Y Combinator more prestigious than McKinsey in 10 years?
These days, reality is breaking left and right. Notions like prestige will be left in the dust until society someday reorders itself. Right now it's a continuous chorus of "What! You can actually DO that?" coming from the people who play those games.
triplefox··on Man-with-a-hammer syndrome
I get this aaall the time and the only way I have of dealing with the "must tell the world" part is to post anonymously on some forum I don't care about and then run away and not even look at the responses.

Later on I can look back at it and use the idea in a more considered essay.

triplefox··on Let It Die: Rushkoff on the economy
While I'd like to believe the article, it doesn't entirely jibe with my B.A. degree's understanding of good economic policy, of which the fundamental tenet is to ensure a marketplace that is both fair and stable. Eliminating corporations would destabilize many sectors of the economy(particularly infrastructure-oriented ones), and it wouldn't make those sectors more fair than before.

The point made for human health in the Middle Ages can be interpreted as a factor of the lower number of people around at that time. The difference is that we now support a large population via improved disease treatment and engineered methods of increasing calorie count. We probably still don't get the same kind of nutrition per person as the people in the Middle Ages.

Alternative currencies are worth considering(for example, the scrip used in Germany and Austria historically.) in isolation as a means of balancing local economies with national ones.

triplefox··on Torrent search engine Mininova earning €1 million a year
I wonder when the day will come that public torrent trackers start earning more than old media publishers?
triplefox··on Why Perforce is more scalable than Git
This article doesn't really state the problem precisely; that problem is large data sets. The Linux kernel has a lot of code but weighs in at ~300MB - not even a gigabyte uncompressed. But if you start checking in lots of binaries - or if you use source control for assets as happens in a game production environment - you start having serious, serious scalability problems because hashing those huge files is no longer fast, and traversing deep directory structures with lots of files becomes a scary problem..

I speak from experience; the game I'm working on at my studio has an in-house tool to optimally paletteize 2d assets for an embedded system. It's a computationally hard problem so a lot of intermediate data is generated to make the final build relatively fast.

This tool generates about five files, IIRC, and one folder, for each frame of animation. Multiply this by 30 frames per second for each sprite's anim. Multiply this by an entire game's assets. The result is 80,000+ files and folders checked into SVN. That's after the coder optimized the number of files needed slightly. It can take 20 minutes or more to do an SVN update because of all the checks needed.

The solution we really need is a versioning system for binary files. There aren't many of those. Maybe Perforce works. I don't know, I've never used it.

triplefox··on Supermarket vegetables now 5-40% lower in nutrients than 50 years ago
This does not come as a surprise if you've followed prior evidence suggesting that processed stuff contains less nutrition than natural foods(whole grains, grass-fed, organic, etc).
triplefox··on Do you actually like programming? Or is it just a means to an end for you?
It's always been a "means to an end" for me, as the real reason for me to program was always to be able to design video games down to the last detail. So it was a reluctant process at first, especially when it seemed like the only options(as a PC user in the early 90s) were between languages like QBasic(not powerful enough) and those like C(too many implementation details).

But when felt like I hit that goal I didn't stop learning, I actually got more into it because I wanted to learn ways of getting a better result in less time, and the obvious answer to that was to keep studying and soaking up knowledge.

triplefox··on Fossil - source control w/ built-in bug tracking and wiki
Just when I thought I had settled on hg, something new comes along that gives me second thoughts.
triplefox··on I have a question about organizing projects
I can make no conclusive judgement in the example scenario until we're talking about specific algorithms and data.
triplefox··on Be Relentlessly Resourceful
I can bring it down to one word:

MacGyver.

triplefox··on Ask YC: making contract for new co-founder??
One way to test your partner's trust is to deliberately instigate a money fight. It probably will happen later if not now, and now's when there's little at stake. Figure out a few "hard lines in the sand" that an unscrupulous person would really dislike, hold those positions as far as you think you can go without destroying your relationship, then come clean once you've determined the person you are truly dealing with. People will always reveal themselves when pushed to the edge.
triplefox··on Ask HN: Do web startups hire CS majors?
You are simply conflating CS with programming, which is very commonplace.

Programming is the craft/art skill of manipulating digital code and data. Within programming you can learn about specific domains - for web apps that would mean databases, networking, a host of standard formats and protocols, and user interfaces. Many commercial programmers go their entire career focused only within one or two domains.

Computer science is the academic study of computation. As the rigorous curricula of today would have it, it is a more mathy endeavor than programming by itself. In particular there is a focus on provability and formality that doesn't come up in commercial programming.

Basically, stuff you learn in CS won't help you ship the ideal mix of features, stability, and time cost for (insert app here). What it will tell you is about a variety of methods with which you may approach the underlying computation problems and direct your own original research efforts.

triplefox··on Long hours link to dementia risk
You lose the knowledge your workers acquired on the job; a new hire cannot offer you that.

So this only works if you are in a franchise business where everyone works to a script and does not innovate, develop long-term relationships, or perform an important leadership function.

triplefox··on Papers Every Programmer Should Read
I'd add the book "Thinking Forth", which I just read again recently:

http://thinking-forth.sourceforge.net/

The ideas present - which are much more craftsmanlike than an academic paper - are easy to absorb by skimming, and they're still relevant even after 20 years of research/fashion trends in programming.

Plus Forth itself is, in a lot of ways, the living embodiment of the YAGNI principle, which can make it look uncomfortably-to-incomprehensibly spartan to outsiders.

triplefox··on Does a new or emerging programming language really need practical libraries?
If you're talking about more than trivial applications(examples: computational geometry, statistics, parsing and saving common formats) libraries become important as a means of offloading effort. They can be abused, for sure, and by being overly general purpose they can often cause no end of trouble, but using a few good libraries appropriate to the domain may result in 1000x less time to get productive results, even if the language sucks. So you've just gotta have libraries. The problem a lot of new languages face is that they aren't different enough to necessitate building out a new set of libraries. Bindings to C are an ugly 80% solution, good enough for most cases, and they have the nasty result of making C even more all-consuming as the source of all library code.

haXe and Factor are both good examples of languages that have a basis with which to grow their libraries. haXe is getting uptake from a variety of angles but the emphasis is clear the everyone involved wants to minimize the costs of multiple-language incompatibilities, and that is resulting in powerful libraries across multiple domains. I don't know the details of Factor's growth, but I suspect that it is doing so on its strengths as a "next-gen" concatenation language in a field with little comparable competitors. Both languages have C bindings available, but haXe in particular has strong reasons to create native libraries.

triplefox··on Leonardo da Vinci was a hopeless procrastinator.
I think to some extent it depends on the kind of thing you're doing that necessitates the additional activity of a startup.

Linus did not start a startup to make Linux. He still hasn't bothered with one, though he certainly could have done so at various points. Similar stories exist with a huge number of open source projects.

Basically it seems like you only have to start one if:

-You don't get enough time any other way.

-You need additional resources to build the project.

-You like the people and energy.

-You want the money.

triplefox··on Ask HN: Load testing for flash swf files?
Unless the SWF you are hosting also creates a new network connection, the only load you take on is from the file transfer.
triplefox··on Poll: How many hours do you really work each day?
Time at my job: An official 8 hours of butt-in-chair. Actual work: usually more like 4 hours. (This is on days without meetings! The things I'm doing right now have a major bottleneck caused by a programmer fresh out of school who did not realize the dire consequences of generating 4000+ subdirectories automatically and checking them into SVN. I don't mind; I probably would have to find other ways to spread out my work time if it weren't for that.)

Time doing "my" work: 1-2 hours on weekdays, 4-6 hours on weekends. The stuff I'm doing is 100x as interesting of course, and I don't have to communicate, so I'm probably 10x as productive. I find that by the end of the weekend I'm always a little shocked at having to come into the workplace and slow down again.

For a few months recently, I found it really, really hard to get things together at the end of the day. Then I realized that a significant part of the problem was because of blood pressure; it's higher in the evening, making it harder to concentrate, and I had let my average drift upwards as well by eating junky stuff.

Now I try very hard to get it down - diet during the day, 20 minutes cardio after work - so that I can stay productive in the evening.

triplefox··on Why video game music is different from every other kind of soundtrack
In my opinion the interactive form basically allows a kind of meaning that is different from narratives. Environments, character designs, and other elements that are tangential to a narrative experience(such as music), often come to dominate a game more than anything in the story surrounding them.

Basically it comes down to the workings of the game mechanics; with repetition and reward/penalty systems they point the way towards deeper inspection of any desired element.

triplefox··on Warren Buffett’s bio “The Snowball” and lessons for startups
What I recall from his other writings is that he suggests watching the market, but with different eyes from the crowd. A company with sound fundamentals that suffers bad market news is a buying opportunity. The opposite is harder to find, and the bulk of the profit from his approach comes from time, not timing, so he does not actively look for it.
triplefox··on Patterns: A Second-Order Tool at Best
Indeed. Patterns are what you use when there is no cleaner option for the situation.

Recently I've been writing some code which is surprisingly amenable to a cut+paste approach: A tool which automatically generates level layouts for a game. At first I endeavored towards a data-driven approach to customizing each type of level I wanted to make, but soon I decided, "There are only six types of levels. Each one has different requirements and they get maintained in isolation. There is no point in trying to reconcile all of them at once."

And so I went ahead with a strategy of reuse for the most common elements - low-level generation strategies - and made big switch statements for the remainder. It works, I get the job done, and there's almost never anything surprising. The only time something did surprise me was when I accidentally pasted the same code twice in different places and threw the results askew in a non-obvious way. That flags some need to slim down bloated methods, but even as-is, it still feels pretty slim at ~2500 lines.

triplefox··on Noob to Ninja Programmer. Possible?
It can be done, it depends mostly on how you like to learn. You will never see a lot of hand-holding in programming.

Manuals and references for programming languages tell you about the syntax and major features but demand endless curiosity on your part to answer your own questions. Tutorials may give you how-tos for certain specific problems but usually fail to explain basic concepts. College courses usually give both how-tos and conceptual information but are usually targeted towards the abstract. In all cases you have to provide the "sweat equity" of writing stuff, failing, testing, retrying, etc.

The most well-rounded introductory literature I've seen is in textbooks. Other programming books are aimed at existing programmers that are transitioning to new languages, learning new concepts, etc.

My suggested starter set for someone intending to write web apps would include several textbooks, a book on SQL, the reference to the web language you wish to use(don't fret too much about this, it's almost a coin toss when you haven't tried using any), and a book on web frameworks for your language. The textbooks will often want to use languages that are not popular web languages, but that can be a benefit, as it teaches you what is really different between these languages, and how to focus on the concepts.

You can start by making sense of the things described in the textbooks and rewriting their examples in the language you want to use. Gradually the frameworks will look more approachable and you can start working with the examples in those. At that point - some months down the line - you may be able to get serious about your app.

triplefox··on Ask HN: Starting Small
If learning game programming interests you, you may want to try coding a 2d rectangle collision system. Not just intersection tests(that is the easy part) but also a collision response that can either cleanly separate intersections or prevent them from occurring, the kind of thing you want for actor-environment collision.

It's actually a really hard problem to solve in both an accurate and fast manner without making major design assumptions. How wrong have people gotten it?

http://www.youtube.com/watch?v=Hgd3YcmIvYE http://tasvideos.org/RockmanTricks.html

Mega Man's collision was above-average for its time, and holds up to normal play, yet it is full of exploitable bugs. If you can make a system that works well enough, you are most of the way to having a game, and the next most helpful thing to learn would be finite state machines and variants.

triplefox··on Adobe software shamefully, frustratingly incompetent
I think you are correct in that commercialization can put on the finishing touches needed to sell a product.

But that doesn't mean it has to be a proprietary commercial product either. See MySQL, Firefox, SugarCRM, etc.

triplefox··on Business models for games
Those are marketplaces, I'm mostly focusing on an application.

ed: to clarify, the only reason to have any portal is to promote the app.

ed2: I should have just linked to this in the first place: http://ludamix.blogspot.com/2009/01/intro.html

triplefox··on Thoughtful programming and Forth
I think the philosophy expressed here is true regardless of the language you're programming with. Where Chuck Moore differs is that he has attacked the inefficiencies at the lowest possible levels where the rest of us grin and bear it.
← PreviousPage 3 of 4Next →