bitshit

Members
  • Content count

    92
  • Joined

  • Last visited

Community Reputation

163 Neutral

About bitshit

  • Rank
    Member
  1. Amazing Curves Racing (Simulation)

    Hi John, I remember checking out an early wip version a long time ago.Youtube video looks good; Are the cars who are displayed as "ghosts" cars who are just reset, or players with a too high ping to collide with? (As online racing game with this high fidelty physics would suffer quite bad from lag I suppose) I tried hosting a game / playing solo, but it always crashes when loading at 90% (see attachement). Cheers, Martijn [attachment=2243:crash.png]
  2. Networked physics

    As for implementation details; I know the developers of LBP spoken on the GDC past years, I'm not sure if they discussed their networked physics implementation, but I thought maybe someone heard something... As for the source engine, they've got the multiplayer techniques described on their wiki, but I don't see how that plays out so well for Garry's Mod. As each player is simulated in the past, artificial lag is added in return for consistency. This works out very well when you have some static players running around, but would only make physics interactions worse, because interaction between two players is even more delayed?
  3. Hi all, There don't seem to be a lot of games that have rich physical interactions during online play... However, Garry's mod and Little big planet seem to do ok. Unfortunatly there's absolutely no information to be found on how they tackled it, the only source seems to be Gaffer... Garry's mod obviously runs on the source engine, but the source engine uses delayed synchronization to my knowledge. It seems like this would only increase latency problems during physics interactions? I thought this was the reason HL2 didnt employ full physics when playing a multiplayer game. Also Little big planet is heavily physics based, all interactions have their effect on the objects and multiple players can interact with the same physical object at the same time. Does anyone know how they do it? Thanks in advance! Martijn
  4. Simplifying rotation calculations

    Wow, thanks for the detailed post! Thats a lot of material to chew on... looks like i have some reading to do :) Martijn
  5. Simplifying rotation calculations

    Thanks for the insights guys, I'll look into 2d vectors / complex numbers for doing my rotations then! PS: arent these called quaternions?
  6. Hi, While starting on coding a small game for the old gameboy I was wondering about something; When doing rotations with an increment b over an angle a I use the following formula's: x = r * cos(a + b) y = r * sin(a + b) Following the common way to do rotations, this can be written as: x' = r * cos(a) * cos(b) - r * sin(a) * sin(b) y' = r * sin(a) * cos(b) + r * cos(a) * sin(b) When you substitute in x = r * cos(a) and y = r * sin(a) you get to the formula's that's presented in most textbooks on computer graphics / game programming: x' = x * cos(b) - y * sin(b) y' = y * sin(b) + y * cos(b) Now you only need the objects x & y coords and an increment in the angle you want to rotate over to get the new coords... But I wonder why its never approached by storing the the current angle a for the object (relative to its world axis) and just calculate: x' = r * cos(a + b) y' = r * sin(a + b) Should save a sin and a cos operation, why isnt this approach used on devices with low computational capacity? Martijn
  7. Writing a virtual synthesizer

    You might find this interesting: [url]http://breakpoint.untergrund.net/2005/download.php?dir=2005/after_the_party/seminars/&file=bp05_seminars_-_Tammo_kb_Hinrichs_-_practical_softsynth_design_-_xvid.avi[/url]
  8. introduction to fluid simulation?

    A very simple introduction can be found here: http://www.gamasutra.com/view/feature/1549/practical_fluid_dynamics_part_1.php
  9. java getGraphics()

    While it's true Java calls update() & paint() automatically for you when present (this is called passive rendering), you can draw yourself to the graphics context anytime you want, without relying on the JVM calling paint() (this is called active rendering, which is more suitable for games). Active rendering works like you do it in the example, but not in the init phase of the applet. While you're in the start or run the graphics context is available for drawing to it...
  10. Neural Network - Discussion

    About previous research in NN applied to games; I once came across a project which expirimented with NN's applied to a racing game, with very good results: http://togelius.blogspot.com/2006/04/evolutionary-car-racing-videos.html (Also check out his newer blog entries) Also I found this talk very interesting: http://www.youtube.com/watch?v=AyzOUbkUf3M
  11. SwiftShader 2.0

    Quote:Original post by C0D1F1ED Quote:Original post by bitshit At transgaming they mention you use dynamic recompilation as a technique. Do you use LLVM as an underlying framework for that? No, SwiftShader uses SwiftAsm, which is an advanced version of my SoftWire run-time code generator. LLVM targets mostly 'traditional' code generation, while SwiftShader requires access to all the advanced x86 instruction extensions. I thought LLVM is used exactly for such specialized purposes? See for example: http://zrusin.blogspot.com/2007/09/today-were-going-to-talk-about-shaders.html http://llvm.org/devmtg/2007-05/10-Lattner-OpenGL.pdf How would SwiftAsm exactly differ from LLVM targetted at using SSE etc? (http://llvm.cs.uiuc.edu/pubs/2006-06-15-VEE-VectorLLVA.pdf) Quote:Original post by C0D1F1ED Quote:Original post by bitshitThe advantage of a software renderer is ofcourse its flexibility. On current cpu's it's only practical for simple applications/games like you mentioned, but with new technologies comming up, like Intel's labberree it might become an obvious choice to do (some parts) using software rendering again. Would ShiftShader be able to take advantage of such architecture (offloading to different backends)? I don't know if Larrabee is going to allow running application code. But I'm definitely looking forward to new CPU architectures and supporting their new instruction set extensions. There might also be some opportunity for (embedded) systems with non-x86 CPUs. Writing new backends wouldn't be too much of a problem. I understand memory latencies & bandwidth are the main bottleneck for software rendering nowadays, which haven't seem to be improved as much over time like cpu speed and features. Do you know if there are plans to change this in the forseeable future (like with Intel's Sandy Bridge)? Anyways, time for you to write some new tutorials on devmaster, revealing some of those state-of-the-art rasterization tricks! ;)
  12. Triangulation

    Best solution I found is using the Glu tesselator (that comes with opengl). With some hacking you're able to have it run independand from the other glu/opengl classes.
  13. John Carmack on Ray Tracing

    Quote:Original post by Matt Aufderheide It is bunk though; a CPU still cant do a simple bilinear texture fetch at anything approaching realtime (if you have an example of this let us know please). Bilinear filtering through a software rasterizer http://www.gamedev.net/community/forums/viewreply.asp?ID=3194567 Bilinear filtering through a realtime raytracer http://ompf.org/forum/viewtopic.php?f=8&t=755
  14. SwiftShader 2.0

    Hi Nicolas, You're right, I looked up your old demo and compared it with the new one: Demo old fps new fps Dolphin 60-70 220-230 EffectEdit 130-140 190-200 CubeMap 60-65 70-80 At transgaming they mention you use dynamic recompilation as a technique. Do you use LLVM as an underlying framework for that? The advantage of a software renderer is ofcourse its flexibility. On current cpu's it's only practical for simple applications/games like you mentioned, but with new technologies comming up, like Intel's labberree it might become an obvious choice to do (some parts) using software rendering again. Would ShiftShader be able to take advantage of such architecture (offloading to different backends)?
  15. SwiftShader 2.0

    Hi Nicolas, Good to hear you've continued improving this product. Although I appreciate your effords, it seems that it isn't particulary usable for any modern directx9 application; System specs: 2.4Ghz Intel core2duo 4GB 667Mhz memory ran everything at a resolution of 1,024x768 The ATI demos which run with 1 - 10 fps I also tried running Call of duty 4 with lowest detail settings, but it was unplayable at 1- 2 fps. 3dmark 2003 results: 3DMark Score 370 3DMarks CPU Score 170 CPUMarks 3DMark Score - 370.0 3DMarks Game Tests GT1 - Wings of Fury 9.55 FPS GT2 - Battle of Proxycon 3.13 FPS GT3 - Troll's Lair 2.3 FPS GT4 - Mother Nature 2.04 FPS CPU Score - 170.0 CPUMarks CPU Tests CPU Test 1 16.65 FPS CPU Test 2 3.43 FPS Feature Tests Fill Rate (Single-Texturing) 78.42 MTexels/s Fill Rate (Multi-Texturing) 110.01 MTexels/s Vertex Shader 2.14 FPS Pixel Shader 2.0 6.5 FPS Ragtroll 2.02 FPS The performance seems to be about the same as with the last release of SwiftShader (which ran PS2.0 demos with the same performance on a much slower cpu)... It seems to be limited by memory latency/bandwidth? Any ways, keep up the good work! Martijn