• 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.

Wyrframe

Members
  • Content count

    1318
  • Joined

  • Last visited

Community Reputation

2426 Excellent

About Wyrframe

  • Rank
    Contributor
  1. Why on earth would you expect someone to look at the global navigation bar to find a search form for the forum or forum-topic they're already looking at... and then be somehow pleased that they have to pick the forum they wanted to search in again? Even then. Let's give it a little test? Here's a topic started one month ago. It contains the precise phrase "measure memory used by process". Let's go to the search page, paste that into the search field, note that the default options include "title and body", "all content", and "all search terms", and hit enter. And the results are... three articles which each contain only one or two of those words. Seriously. "Rough edges" doesn't begin to describe a search function that can't even find its own ass with both hands, never mind how cumbersome and hidden you've made accessing that search function in the first place. See attached. Two weeks ago this list wouldn't grow beyond eight. This is why people adblock; not because they want you to fail as a service, but because they don't agree you have the right to farm your visitors out to literally dozens of third-party services, who aren't even paying you properly for the whoring you've chosen to descend to.
  2. Rough edges... such as the broken link to http://blogs/entry/2263079-new-software-and-server-for-gamedevnet/ that seems to be the only way to reach this article? We don't get a General Programming forum anymore, without the permanently-ambiguous "Gameplay" programming also being brought into it? You're now linking against not one, not two, but TEN separate advertising services in every single pageload, all fighting for access to the page? No Search/Find function anywhere to be found? Good luck hand-trawling the 144k topics in General Programming alone looking for if your question has been asked recently, and what other people have discussed more than one goldfish's memory ago.
  3. It's a plausible solution (for which the alternative is to list objects intersecting with a leaf, which means when an object moves you may have to remove it from multiple sectors, and you have to use some kind of logic to prevent iterating over such objects more than once). Just bear in mind the worst-case scenarios; like a straight line of objects overlapping one of the world axes will turn into a singular list which cannot be subdivided into smaller work units.
  4. GAMBAS Almost Means BASic. A personal favourite of mine, for when I need to take a break from Java or from AngularJS.
  5. Well, one thing you can improve within your stated architecture is that if A.getCollission(B) updates both A's and B's collision-state buffers, you only need to touch each pair once. for( i=1; i < area.members; ++i ) for( j=i-1; j >= 0; --j ) area.members[i].testCollision( area.members[j] ); Presumably each sprite's 'script' logic then resolves any collisions discovered during that phase.
  6. Armor Games seems to have lots of microtransaction systems built into their platform these days, but subscription? I can't see the heavily indie market succeeding there when even hundreds of AA/AAA MMOs are going free-to-play (in open-world titles) or pay-to-lose (in MOBA titles).
  7. Dude. Just take your meds, take your TimeCube-based board game, and get out.
  8. It's that kind of thinking that led to CGA's black/white/cyan/magenta, what is sometimes called the worst colour palette ever inflicted on mankind.
  9. Although not helpful to your work in a modern environment.... If you want to take a real head trip, look back at how Smalltalk-80 did its mark pass in constant stack and heap space, by temporarily rewriting objects' fields as it went to become pointers back to their "parent" object (along the discovery path, that is), thus requiring only a constant amount of space (on the stack, during garbage collection) to track the nearest traversal parent, current object under inspection, and the current object-field index under inspection. http://www.mirandabanda.org/bluebook/bluebook_chapter30.html#GarbageCollection30   Followup: also, in my personal experience, for a typical toy scripting language it is easier to write a generational garbage collector (don't mark & sweep; instead, move survivors to a separate clean heap space, leaving behind a breadcrumb saying "I was moved to gen Y offset X") than to write a two-pass mark/sweep collector, and it produces a zero-fragmentation memory model as well (which can be useful in producing error dumps or other debug checkpointing).
  10. Assuming you're using or able to adapt to a Maven-based project, try https://git-scm.com/book/be/v2/Embedding-Git-in-your-Applications-JGit . There might be pre-built JARs out there, I didn't look too hard beyond assuring that JGit is self-hosting; it does not have any runtime dependencies, such as requiring a Git CLI client in $PATH.
  11. I think you should look into software like OBS, FRAPS, or CamStudio. And I think the internet is a bad place to go looking for validation. Do what makes you happy, or don't.
  12. Also, http://adventofcode.com/ (a yearly, seasonally-themed, language-agnostic programming challenge, which includes some challenges which re-use and build upon previous challenges in the same year)
  13. What are you trying to do? I see you're using a geospatial data service, but what are you trying to do with that data? What do you mean "populate [your] interfaces"?
  14. if(resultCode==RESULT_OK){ //[...] int fileID = -1; int lastSlash = filePath.lastIndexOf('/'); int extension = filePath.indexOf('.', lastSlash); if( extension > lastSlash ) { fileID = 0; for(int i = lastSlash + 1; i < extension; ++i) { char e = filePath.charAt(i); if( e >= '0' && e <= '9' ) { fileID = fileID * 10 + e - '0'; } } } // If fileID is still -1, the path didn't end in a numerically-suffixed file. //[...] } Lower cost than RegExp matching the file for the numeric part, but mind that it falls over if your terminal filename has multiple numeric sections (e.g. "photo-2017-01-02-000003456.jpg"); it treats all digits in the terminal filename as being part of the ID. No length assumptions (except that the file ID will fit in a 32-bit int), no spurious char[] or int[] allocation.
  15. Also, Git cannot reliably autodetect renames or moves of files or folders. If you want to record the move of something from one name and/or location to another, use `git mv (src) (dst)` to tell Git explicitly what you're doing. This also helps `blame`-like tools follow histories backwards past rename events.