• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.


  • Content count

  • Joined

  • Last visited

Everything posted by tnovelli

  1. 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. 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. 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. 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. 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. 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. Cool.. thanks guys.
  10. Neither of these URLs are working.   http://uploads.gamedev5.net/gallery/album_495/gallery_98001_495_15873.jpg http://public.gamedev.net/public/style_images/gd_small_logo.png   Looks like a problem with NetDNA CDN, or maybe DNS. Those subdomains have CNAME records pointing at public.gamedevnetllc.netdna-cdn.com and so on.   It's been 4+ days... it's not a temporary problem that's going to resolve itself.
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. Yes, uglifyjs sucks! I've used it for a few games but it's... funky. Try using the http://esprima.org/ libs instead. I haven't yet but @EDIgames has good things to say about it.
  22. And if the thought of installing random JS scripts as root troubles you, you'll soon end up at http://tnovelli.net/blog/blog.2011-08-27.node-npm-user-install.html (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: https://github.com/tnovelli/apparition/blob/master/m - build script example https://github.com/tnovelli/imgpack - 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 https://community.invisionpower.com/. 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. 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.