• Content count

  • Joined

  • Last visited

Everything posted by tnovelli

  1. Video headaches

    So the catch is Youtube *embedded* videos are SD by default. They assume it's in a little box on a blog/forum site and nobody's really looking at it anyway. Even on HD they crank up the lossy compression. Nice.
  2. I started making my own models. Easier than I thought. It's really easy to make armor by cloning & scaling parts of the body mesh. Rigging and animation, not so much! :D
  3. Isometric RPG devlog #2

    Grid -or- text list.   The one nice thing about gridless is that some items can be big and detailed, if you have the artwork for it. (Whatever you do don't try THAT in a gridded inventory, it really sucks!)
  4. Some new artwork

    Wow, I'll be keeping an eye on this. Just discovered Jagged Alliance this year. Damn cool game, but it does too much, too slow and buggy, too much micromanagement, too damn old, overdue for a worthy successor. Hope you can pull it off :D
  5. Rabies!!! that sucks. At least it's only like 3 shots in the arm now, not 18 in the stomach :D
  6. Let's make a Survival RPG

    There's something to be said for RPGs with ugly graphics, more symbolic than representational. Not like Spiderweb games, those are too good, there's too much temptation to improve them, and they take too much time away from gameplay development. I'm not saying it should be painful to look at, just to find an aesthetic other than realism.   I really like the idea of a small RPG. There's an expectation that RPGs must have sprawling game worlds, superficial characters, endless combat/looting/leveling, and you'll play months, start over, get bored, and quit. There aren't enough RPGs that you can finish in a few hours, replay 5 or 10 times, and get different outcomes each time. Desert island is a good start...
  7. KREEP, input is king!

    ROFL "I’m not going to go into a big yakking this time"   I'm trying to think of a better way but I just can't. It always comes down to "what if the player is holding a diagonal?" - there are so many edge cases. (1) They pressed down then left, they've been moving left for awhile, they hit a wall. Stop. (2) They pressed left then down, and there's a wall to the left. Move down. (3) They pressed down then left, and both directions are open. Move left. (4) They pressed down and left in the same cycle, so you don't know which came first... flip a coin?   I was also going to say event-driven input APIs help... but most libs only have a polling API, and dpads are a pain either way.   P.S. - I take the "250ms human reaction time" with a grain of salt. I think that's "pull the trigger when you see the jump scare". If your eye is already tracking an object, you can respond to changes in direction pretty quickly, maybe 50-100ms. And gamers are faster than average.
  8. Installing

    hahaha, everybody hates Unity. Unity Desktop, as opposed to Unity3D, I guess we have to distinguish between the two on GDnet...   I've been doing development under Linux for so long I'm pretty lost in Windows, even using the same editor and everything. It's antiquated. Even Macs are just unnecessarily different.. well, like Unity. Mint is allright.. like Ubuntu 10 years ago.. feels like Win7,  sucks less.   With so many people jumping on the Linux bandwagon now it's getting hard to justify doing a Windows build of my game at all. Maybe eventually, if it's still around :D
  9. gallery not working

    Cool.. thanks guys.
  10. gallery not working

    Neither of these URLs are working.   Looks like a problem with NetDNA CDN, or maybe DNS. Those subdomains have CNAME records pointing at and so on.   It's been 4+ days... it's not a temporary problem that's going to resolve itself.
  11. NeoCities Is Not Even Close To GeoCities

    Sounds decent if you know HTML. You can really do a lot with JS now.   PHP or a site builder would open a huge can of worms; if they tried to go that route, this site probably would not exist... just like Geocities.
  12. The No-OOP back to basics experiment

    I'm definitely more productive without OOP baggage. There's practically nothing of value in it. It's a cargo cult we're more or less forced into by trendy language designers and OS/library developers. C++ is not a good language (IMHO), it's merely a path of least resistance, like PHP for webdev. In those languages most of my code does not look very OO-ish.   I've been using C++ for a few years (for the first time since the 1990s when it really sucked), basically just the "C with Objects" subset. Everything "public"; some macros; no Templates, no Exceptions. Initially I had a small inheritance hierarchy for sprite types but that was a mistake; it's all compositional now, sort of "Data Oriented Design" style. I'm also trying to avoid STL now; too many surprises, crazy iterator syntax, and horrible performance for Strings especially (but I do use them at startup and level loading, just in gameplay). I do use methods where they make sense (a function clearly belonging to an object) but I don't think they're "good OOP", they're just one of the few organizational devices available in C++.
  13. Aha.. now I finally know what all this "Creation of Zergification" stuff, which I've never looked at, is all about. Neat :)
  14. On Software Patents

    Technically you can't patent prior art, public domain or not, as long as it's documented. Unfortunately the USPTO rubber-stamps a lot of new patents it shouldn't, to create jobs for lawyers I guess. IMHO we ought to scrap the whole thing, software and otherwise. I've known a few people who had patents, typically one, and they'd never do it again. It was expensive, time consuming, and futile. For example, one company patents a connector.. so their competitors use slightly different connectors... now you have several non-interchangeable parts where you should have an ANSI standard connector. It's bullshit.
  15. RockReaper

    Cool. I remember Scorched Earth; a classic. You've done a nice take on it. I'd like to see what you can do along the lines of Liero...
  16. CMake: Changes for Linux

    Interesting. I started using CMake to go the other way around, porting from Linux to Windows.   If you want to get away from Visual Studio you can use CMake with the commandline MSVC compiler, or with MinGW (gcc) or Clang.   MinGW as a cross-compiler under Linux is pretty ideal if you don't even want to touch Windows except for testing. I think Clang is a better compiler but it's more work to set up.
  17. The GameObject Pooler

    Food for thought, yeah. I don't use Unity but it's interesting to see how you're grappling with static vs dynamic types & pooling. These same issues come up everywhere.
  18. Seamless models - harder than it looks

    It's not surprising that you needed a little overlap. Glad you solved it.   If you ever get stuck on some other minor graphic glitch, remember: even AAA games have 'em! Always :D
  19. Strip back the game

    Good decision. Fun > realism.   Is scripting definitely coming back? I ask because I've made enough games in Javascript (where "real code" and scripts are the same thing) to realize that too much scripting freedom tends to make a mess of things. In my current game I only have "fixed functions" coded in C++, and my scripts are just declarative data in a simple text format.
  20. Small Update - Health UI

    I kinda doubt anyone will really help.. especially if you just post a github link.. but if you post some interesting code snippets here, you might get some decent comments.
  21. JS Environment and Testing

    Yes, uglifyjs sucks! I've used it for a few games but it's... funky. Try using the libs instead. I haven't yet but @EDIgames has good things to say about it.
  22. JS Environment and Testing

    And if the thought of installing random JS scripts as root troubles you, you'll soon end up at (just about the only reason anyone visits my site :(). YMMV with OSX.   I did a lot of JS gamedev 3-4 years ago. WebGL wasn't usable, as it had serious driver/browser compatibility problems; supposedly it's better now. Requirejs/AMD will be a problem if it still has the timeout (people with slower connections can't load game); AFAIK that won't be solved until all browsers support html5 modules. Anyway, you're better off using a build script to pack all the JS into one file.   Tools: - build script example - simple JS sprite/texture packer   Good luck, you'll need it! :D
  23. Probably the second most common request we get (after fixing the post editor) is a site that works well on mobile. Mobile accounts for such a huge portion of visitors that whatever we choose needs to make at least some improvement in that area; not particularly mobile-friendly just isn't a viable option.   Oh ok, I'm only a little surprised. No big deal though. 1. Keep it simple, no frills, clean layout... a few CSS @media blocks 2. No battery-wasting JS bloat, CSS animations, or 3rd party tracking/sharing/ads/iframes 3. Minimize bandwidth usage & http requests... mainly, combine+minify js/css   No need for the cheesy "mobile friendly" look of the reviled new Invision They haven't done a very good job of the above, either.
  24. So this is a slightly(?) customized older version of Invision forum software - no wonder it's been falling apart. (I was guessing Wordpress with way too many plugins, lol)   I think GDnet is too big and long-term to entrust to any canned software suite. I would go for a modular architecture with a few custom modules, something like this:   - Divide into independent parts: Articles, Books, Forums/Journals, Gallery/Screenshots, Comments, Chat, Store, Stats/analytics... - Throw away all the unused/useless parts (have no mercy .. for example, who needs emoji graphics? use friggin' ascii) - Guideline: KEEP IT SIMPLE, oldschool, semi-fugly, not particularly mobile-friendly - Goal: JSON APIs for all database access, with server-side templates for SEO and NoScript users - Possibility: generate static HTML pages (like NeHe..) for Articles, Book lists, etc (anything not prone to rapid change or obsolesence) - Goal: JS-based auth, comments, chat, stats (helps to minimize backend integration headaches) - Goal: common user account/authentication system for all parts that require login - Goal: use "de facto standard" components (eg. CKeditor?, Markdown?, PLupload, Jinja templates) - Goal: 100% self-hosted open source code (to simplify maintenance & IP issues) - Automate the migration process - Redirect old article/forum/journal/user URLs to new structure - Migrate, test, and repeat until all essential functionality works - Cutover and stand by to debug   One thing to watch is the JSON API that Wordpress is rolling out. It's not ideal *but* it'll make it easy for people to write drop-in replacements for parts of WP, which unlike WP could actually be decent. So that could supply the missing pieces, for example, a standalone self-hosted comment system. It might be worth waiting like 6 months to see how all that develops.   I don't know about you guys, but I have very low expectations for web stuff. Makes it easier to build it "good enough", go live, and move on.
  25. DIY 2D Vector Physics

    Allright @TookieToon @lede, here's the first function in C++, with alias vars... untested :D bool lineIntersection(     double ax, double ay, double bx, double by,     double cx, double cy, double dx, double dy) { double vx,vy, ux,uy, dd,r,s; vx = dx-cx; vy = dy-cy; ux = bx-ax; uy = by-ay; dd = ux*vy - uy*vx; r = ((ay-cy)*vx - (ax-cx)*vy) / dd; s = ((ay-cy)*ux - (ax-cx)*uy) / dd; return (0<=r && r<=1 && 0<=s && s<=1); } Yeah, it figures that my C++ game code is nothing like a direct port of the JS. Sometime I'll do a direct port of that SAT code and upload it to Github. The main difference, the vector functions take a destination first argument instead of returning it. So for example var edge = vsub(v2,v1); becomes double edge; vsub(edge,v2,v1); ...and actually, I've inlined most of that stuff.   I've never found a great notation for vector components. There's "vector swizzling" in GLSL (also possible in Lua) where you can declare vec2 v and then refer to v.x, v.y, but I think it's almost as cluttered as v[0], v[1]. I think I'd prefer automatic suffix generation (vx, vy or v0, v1) even if the declaration is a bit magical. You could probably do it with C++ macros, something like this... #define vectorize(v) double &v#x = v[0], &v#y = v[1] #define vector(v) double v[2]; vectorize(v) bool lineIntersection(double a[2], .....){ vectorize(a); vectorize(b); vectorize(c); vectorize(d); vector(u); vector(v); double dd,r,s;    vx = dx-cx; vy = dy-cy; .... Meh... maybe I'll try it.