• 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

Community Reputation

862 Good

About ram64

  • Rank
  1. Not sure if anyone already suggested it but I find this Tic-Tac-Toe AI very helpful.
  2. I've done this in an old Pong clone some time ago. Basically you split the paddle vertically in two sides and when the ball hits you would divide the distance from the ball to the paddle center by half the height of the paddle. You will get a number between [-1, 1] where -1 would be the bottom of the paddle, 0 would be the center, and 1 would be the top.  Then you can simply multiply the Y velocity of the ball with this number and the ball will bounce off at different speeds depending on where it hits the paddle. It's basically the same thing as DiegoSLTS said but it doesn't use any angles.   EDIT: If the ball and paddle have middle registration points it would be something like this: MAX_Y_SPEED = 30 // the maximum speed the ball could have on the Y axis coef = (ball.y - paddle.y) / (paddle.height * 0.5) // this will give you a number between -1 (top) and 1 (bottom) ball.speedY  = MAX_Y_SPEED * coef
  3.   JavaScript will be available on most of the browsers (mobile and desktops) but you have to take into account the implementation of JS engines in each of those browsers (or for which browser you want to support). This would be the language of choice for a 2D/Text game if the graphical part is not that advanced.   Node.js is a server side environment which uses JavaScript. This would be used for the back end of a game or an application (scoring system, server logic etc) in case you want a back end to your game.    Java is a powerful choice but the learning curve is quite steep.    HTML5 is actually the current/next standard of HTML and is just the markup. A game written in HTML5 would still need JavaScript to function. When stating that you are using HTML5 for games you actually are saying that you are using a combination of HTML5 (markup and Canvas tag), CSS3 (styling) and JavaScript (for logic and interactivity).      ActionScript is the programming language used in Flash. Most of the online games were and are still done in Flash but as HTML5 standard is refined more and more devs abandon Flash and AS for HTML5 and JS. But again, this really depends on your audience and on your type of game.   I have not used Unity before but as far as I understand it's a good solution for games (mostly 3D but recently I think they released some updates for 2D games). In my opinion this would be too powerful for a simple 2D text game.   As for HAXE I never used it but I think it's some kind of language that you can compile to other programming platforms (ActionScript, Java etc). Can't give you too much detail as I have no experience with it but you can read on the official site http://haxe.org/.     Also you should mention what's your overall programming experience. If you have no experience with browser games I would suggest just picking JavaScript and get on this path (as your game seems fit for it). You could also try TypeScript (which compiles to JavaScript) if you want type control and other goodies in JavaScript. 
  4. It depends on what is your intended audience. The most obvious solution would be JavaScript because the user won't need any additional plugins. But you should take into account that supporting JS on a wide range of clients is quite hard (especially if you look at Internet Explorer and mobile browsers). The compatibility is not much of a pain if you will use something like Flash (ActionScript), Java Applets (Java) or Unitiy3D (C#) but then the user would need to have the respective plugin installed and also the mobile experience would be limited or non existing.   Update:   Just for reference here are two libraries that I would recommend:   Phaser (JavaScrip/HTML5) - it's a game library for HTML5 games so will only work on new browsers that support Canvas or WebGL. This also has awesome compatibility and  performance on mobile. CitrusEngine (ActionScript 3) - It is actually a bundle of libraries that help you quickly get games working in either 2D or 3D and also takes the advantage of Stage3D technology (GPU acceleration). This will do fine for desktop browsers (even older ones) that have Flash Plugin installed and you can also publish the game for mobile environment (Android, iOS etc) using the AIR technology with minimum to no modification to the code.
  5. I had a problem while uninstalling some AutoCAD software. The unistaller tried to delete all files he found in User/AppData/Roaming not only the Autodesk folder. Not sure what was wrong but it just happened (maybe something I did, can't pinpoint the problem exactly).   Not sure what your problem is, I can't tell exactly what could be wrong. You may want to try and switch to W7/W8. On my laptop (going on 6 years old) everything works like a charm. W8 boots very fast and everything is very responsive (if you don't mind the design). I do get however some errors when I mess arround with the environment variables but it's my fault.    Again, I think that manually deleting files won't suffice unless you know exactly what changes were made in the installation process. But my knowledge about every installation process and what's the best way to uninstall software is limited so maybe there are other ways to keep your system's integrity.
  6. For 3rd party uninstaller I used Windows 7/8 (or XP in your case) Manager. It searches and deletes all related files and registry keys. I never had problems with it only once, as I said. I'm not sure in your case what would work best.   In the end I think you could try different solutions (doing some system backups along the way) and see what suites you best.
  7. I think it's best to use the uninstaller provided by the game. You could also try to use some dedicated uninstallers but beware of what they mark as being tied to the program you remove. I have used several times 3rd party softwar and every time it worked quite good but at one unistall it detected some unrelated files and marked them for deletion. Fortunately I caught it before deletion. Just deleting the game files won't suffice. You could still have some kind of service runnung for that game, game specific files in other directories (User directories) or other registry keys. As for the processes you talk of Google Updater usually comes with Chrome (for auto updates), thise services from Apple were most likely installed with iTunes, Safari or Quicktime (these are the ones I know of). You can disable them from autostart with windows but you won't get updates. The other one I don't know. You can search it on google. For spyware, highjackers and other stuff that might remain behind even after uninstallation I use Malwarebytes Antimalware (to mod: edit if considered promotion). A quick scan with the free version or trial should suffice. In the end it deppends on how much control you want over your PC. Removing registry keys is not a task that you should make without knowing what you are actually doing. Always remember to do a backup of your regiatry if planning to edit it manually.
  8. I don't know much about Java as I've just began working with it. A simpler language to understand would be JavaScript and you could write HTML5 games with it. A good library for JavaScript (with TypeScript support) would be Phaser (www.phaser.io). It has lots of examples and a very active and helpful community. Another language you could use is ActionScript. Although Flash is not so used on the web anymore you could use the CitrusEngine to compile games for iOS, Android, BB (or desktop) using Adobe AIR technology. This has the advantage of writing the code only once and compiling to multiple platforms. The performance is not as good as native solutions but for most 2D games it is more than sufficient. In my oppinion these are two alternatives to Java that require a not so steep learning curve. As stated above the language doesn't really matter. More important are the concepts used in making games and planning. I think that using a less complex language gives you more time on learning actual game theory, but this is just my oppinion.
  9. The simplest approach is to make the paddle move up or down by having the same Y position as the ball. In the update loop you would have something like this: cpuPaddle.y = ball.y There is a problem here, though. The computer paddle never misses. You need do add a delay of some sort. You could add a skip frame every n-th frame so the computer paddle will miss from time to time. Another method that I like more is to add some sort of easing to the coputer paddle's movement. This will add a small delay every time the computer paddle starts moving. cpuPaddle.y += (ball.y - cpuPaddle.y) * 0.15;
  10. Depends on what platform you target. For desktop only I for one would recommend (currently) making Flash games. You will have better performance than HTML5 and cross-browser compatibility. If you target desktop and mobile you could try using HTML5 but still it's a lot of work to make games work the same in every browser (mobile and desktop). Also, performace is an issue with low and mid-range mobile devices. For mobile I think it's far better to bulild a game as an app and keep it as a browser game for desktop.   Now about the frameworks. I recommend two frameworks that I find very good and easy to use. Both can be used to make games that target both desktop and mobile, Flash and HTML5.   For Flash games: CitrusEngine - It's a free framework that combines the power of Stage3D technology to build 2D and 3D games with GPU accelerated graphics through Starling and Away3D. It is easy to use, has an active forum, good documentation and some examples to get you started. It has built it classes to get you up and started quickly with platformer games. Also you can publish the games as mobile apps using Adobe AIR runtime.   For HTML5 games: Phaser - It's an awesome HTML5 framework, quite new but I think it's easy to get started with it, the learning curve being not that steep. There are ton of examples and a very active community forum where you can find answer to any issue you might encounter. It has a good performance on desktop for 2D games. It's supposed to be a mobile framework to so you could build browser games for mobile too but I can't speak for the performance on mobile, I haven't tested it yet.   Of course the best case scenario would be to build games in both versions (Flash and HTML5) to reach as many users as possible, even the ones that don't have a modern web browser (that pesky IE7, IE8, IE9).
  11. You can also try on OpenGameArt. Here's a quick search by RPG tag.