IvanK

Members
  • Content Count

    89
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by IvanK

  1. Each dino has its life level. Raptor has 10. T-rex has 40. After you hit the dino, "damage" is subtracted from its life. You begin with damage 3, so you must hit Raptor 4 times. I changed it the beginning value to 3.5, so you can hit it only 3 times. BTW. hey, I know Staci from Step By Step But it was another kind of dream ...
  2. Hello, I just have fulfilled my teenage dream, to make a 3D first person shooter I do all the graphics using IvanK.js , so I didn't use any GLSL, buffers, uniforms, no low-level WebGL. I made the game in a week. It took me the whole day to make and debug ray shooting engine with accelerator for triangular meshes (KD-tree). There is also a by-product, a library for parsing and editing 3D meshes. I have implemented OBJ, 3DS, Collada and MD2. E.g, you can load 3DS, rotate the model by 90 degrees and save it as OBJ in 3 lines of code. Or batch-process 1000 Collada files in a short for-loop. I wanted it to be addictible and fun to play. So how do you like it? What should I change? Isn't it too hard or too easy? BTW. I could not find any free animated 3D models of dinosaurs, so my models are static. If you have some animated models, let me know http://dinohunt.ivank.net/
  3. As far as I know, Uint8ClampedArray is supported by every browser with Typed Arrays. I have never heard about CanvasPixelArray. Don't trust any statements about browsers, which are more than a year old. And don't trust any third-party specifications, always look at the official specs - http://www.khronos.org/registry/typedarray/specs/latest/
  4. From my experience, all current mobile browsers suck have very bad performance. None of them can deliver 60 FPS animations. Javascript performance is terrible (20x slower than native apps). Binding to GPU is even worse. Calling WebGL routines is about 100x slower than calling OpenGL ES from native apps. Maybe it is because of needless complexity of Webkit. Maybe it's because of high-level programming to support many CPU architectures. I still can not believe, that there was no progress during the last 5 years. I have had the best experience with Dolphin Beta https://play.google.com/store/apps/details?id=com.dolphin.browser.lab.en&hl=cs but it has several bugs. Maybe browser developers don't have much money. I hope there will come some new browser that will "show how to do it", like Chrome did on desktops few years ago.
  5. Graphics are rendered with WebGL only. You can see it at the home site.
  6. You can not compute the position of bounding box directly, as you are computing width and height. You have to transform all 4 vertices of the rectangle, then compute minimal / maximal X and Y coordinates for all 4 points.
  7. skv: I was thinking about adding 3D about 6 months. The fact is, that WebGL gives us 3D "for free" - there always is z-buffer, no matter if you use it or not. Some 3D features were implemented in Flash Player 10 (z coordinate, scaleX-Y-Z, rotationX-Y-Z), and you will probably agree, that FP10 was not such a great 3D platform. The only think I "invented" (which is not in FP) is Graphics.drawTriangles3D method, which allows us to draw 3D triangles. IvanK.js still remains the high-level library, without an access to buffers, shaders or any other low-level features.
  8. Reminds me this http://www.almackey.com/WarpTunnel/
  9. Hello, let me announce the release of IvanK lib 0.8. The most important feature is, that IvanK.js now becomes a 3D library - you can draw 3D triangles and edit the 3D transform matrices. You don't have an access to shaders and low-level features, but you can make pretty nice 3D effects without knowing low-level stuff. Here is a 30 lines demo of drawing 3D models: http://lib.ivank.net/?p=demos&d=real3D Another new feature is a default color transform matrix for each object. You can do many static and dynamic color effects with them, here is a little demo http://lib.ivank.net/?p=demos&d=colortransform . Color transform can be attached to the whole container, it applies to all the children. Hope you like it I am going to make a couple of 3D games after I finish my school exams.
  10. Great games, but they are too simple You should add some progress during the game. E.g. making money (collecting coins), upgrading tools, more complicated maps - enemies etc.
  11. IvanK

    I made 6 games

    Hey, great games! But they are so small... I have a 15" FullHD laptop and I feel like I am looking at my cellphone screen ....
  12. There are tons of games in Chrome Web Store ... Google usually puts flash games with lots of ads into the home page, so you have to propagate your game by yourself ...
  13. Hi, personally, I never really understood the idea of particle system engines. For me, it is usually simpler to code the effect myself, than learning how to use somebody other's code.
  14. Great game! Just few things I don't like too much: - some letters are too small, almost unreadable - I better like classic mouse cursor - it took me about 10 seconds to find my money status - enemies move too fast
  15. I am just wondering, is it a good idea to do what you do? I see, that you are trying to "compress" JSON, but your method is not fully compatible with JSON. Have you tried just to make ZIP compression? I think compressed data would be much smaller. By the way, first, you should decide, whether you want to make lossy or lossless compression. At first, it looks like you are making lossless compression, but then you say that you want to round float values, which leads to data loss.
  16. IvanK

    Water effect

    Hi, nice effect! I was making something similar long time ago http://lib.ivank.net/?p=demos&d=water
  17. IvanK

    IE11 to contain WebGL?

    I think there is no chance that Microsoft will implement WebGL, here is the reason: WebGL means Khronos Group and OpenGL, which is the competitor and enemy of DirectX & XNA, which belong to Microsoft. So, WebGL is enemy of Microsoft. For Microsoft, implementing WebGL is something like making new Windows on top of linux kernel.
  18. Hello, welcome to plugin-independent browser games development! I am making AS3 games for 6 years and JS for 2 years. Here are my answers: 1) I entered JS games development by trying to convert my AS3 games to JS, without editing the code too much. There was no library with same API, so I had to write my own - IvanK.js . I also wrote my Tweener - http://tweener.ivank.net . 2) Personally, I hate any best practices instructions. You must find your own way of doing things. For me, it is totally the same as making Flash games. Make sure you know basic JS features (prototypes, constructors) and tools! (XmlHttpRequest, Audio, JSON, ...). 3) As I said, I use IvanK.js for graphics, user input, events etc. There is display object tree, each container (Sprite) has its own coordinate system. There is hitTestPoint, hitTestObject and many other flash functions. 4) I don't use any IDEs, I use Notepad++. When I change something, I switch to browser and press F5 to see the changes. I use JS console a lot (console.log = trace, in Chrome you can "unfold" traced objects). The nice thing is, that development goes faster, than developing with Adobe Flash.
  19. IvanK

    Loud Rider

    Hello, I have made this game a year ago - http://www.loudrider.com (lean back for better acceleration). Now I am thinking about making upgrade. I would like to make racing competition where you can make stunts along the path, make money and upgrade your bike. What do you think about it? Here is flash version - http://rider.ivank.net/
  20. IvanK

    SMG (SpreadMyGame.com)

    MichaleH: Thank you very much! Let me announce, that there is another web, which uses SMG feeds : www.FunInTablet.com. So, add your games to SMG and spread them to the whole world!
  21. There probably is a bug in WebKit. Did someone of you report it? It is very sad to see, that instead of reporting the bug, users try to overcome it
  22. IvanK

    Chess 3D

    Hello, do you know, that your game uses more than 500 MB of RAM (in Google Chrome) ? My browser crashed about 5 times before I could play your game
  23. I am not sure if you have an idea how vector graphics is rasterized, but it is totally different approach, than WebGL or other HW rasterization techniques. 2D canvas can not be implemented with WebGL much more efficiently, than it already is. Let me give you an example. You want to fill a curved shape. You use arcTo and then fillPath or something. To do it in WebGL, you have 2 options: 1) draw shape on CPU into texture and then send that texture to GPU 2) split the shape into triangles, but you have to do that on CPU, you may need thousands of triangles to make the shape smooth, so you can not change the shape too often. There is the third option, to standardize WebVG - port of OpenVG - http://www.khronos.org/openvg/ , but it will take a long time... BTW. I have efficient WebGL-based vector drawing functions in my IvanK lib, I am doing it using triangles.
  24. I use only 1 asset in high-res for every resolution. I use mimpamps when rendering them. I don't like the idea of multiple assets (you have to distinguish multiple cases in your code; you have to change the graphics several times, when changing something). I think it doesn't really matter, if game has e.g. 2+2 MB (sound+graphics) or 2+4 MB with twice bigger textures. For scaling my game, I am listening to "resize" event on Window. Then I change the canvas size and transformation matrix for WebGL rendering. I sometimes implement a "resize()" method on some elements of my tree hierarchy and call it from the root to the children, recursively. Every display element can rebuild itself (realign buttons etc.). @Pixels Commander - your demo is cool! too bad I see it in about 8 FPS