# ram64

Member

18

1. ## AI is harder than I thought

Not sure if anyone already suggested it but I find this Tic-Tac-Toe AI very helpful.

3. ## Pong - change angle of ball rebound depending on are of paddle hit

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
4. ## Browser-Based Game: Best Language?

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.
5. ## Browser-Based Game: Best Language?

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.

7. ## deleting games

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.
8. ## deleting games

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.
9. ## deleting games

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.
10. ## I'm little confused about game programming..

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.
11. ## The Right Image Resolution for Your 2D Game

Maybe my oppinion is wrong but I think this article has little to no information. The idea of it is very interesting but it still needs a lot of work.

13. ## Browser games magic

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).
14. ## Sprite Sheets

You can also try on OpenGameArt. Here's a quick search by RPG tag.

17. ## html5 canvas and chrome extensions

You can find some helpful resources here (not all are HTML5). Also I found the Phaser framework to be very helpful when building HTML5 games. It's made by the same guys that made Flixel for Flash. It has been released recently so the documentation is a bit scarce but they are working on it. You can also find a lot of helpful resources in the forum and get a pretty fast response when opening a thread.   Unfortunately I don't have experience with Chrome extensions so I can't give you advice on that part. But as far as I see there are some games in the store that are Canvas based. Maybe you're running into some security restrictions.
18. ## 2D game development tool for android & flash?

If you want to code and you like AS3 you can try CitrusEngine. It's an open source AS3 framework which can be used to write games for desktop, web and mobile (iOS, Android through Adobe AIR runtime). You can do 3D games with it too taking benefit of the Stage3D technology and it has some classes to get you quick started on platformer games.
19. ## Need suggestion about game framework for android/ios

It doesn't have the same performance as native frameworks but I find the Adobe AIR SDK being the simplest to use for cross platform mobile games especially for „not so complicated” 2D/3D games. It takes advantage of the Stage3D technology for GPU accelerated applications. CitrusEngine is a good engine that makes it easier to build and deploy games for mobile platforms and it's free.

25. ## I need a 2d cross-platform framework

How about using Citus Engine? It's free and easy to use. It's ActionScript 3.0 and can be exported on various devices through AIR technology. Also it takes advantage of Stage3D for high performance 2D graphics (Starling API) or 3D graphics (Away3D API). It has many tutorials and free examples and also has some built in platformer functionality to help you get started quickly.