• Content count

  • Joined

  • Last visited

Community Reputation

1400 Excellent

About behc

  • Rank

Personal Information

  • Interests


  • Github
  • Steam
  1. Proof of Concept

    Greetings everyone! I finally managed to put together complete system that will be used as a backbone of my new game. The game itself is supposed to be a mix of Kerbal Space Program and Space Engineers in 2d, maybe with some added influences from other games. I'll get back to this later, when gameplay is more fleshed out. Right now what the game needs is: orbital physics of planetary system, large deformable terrains with rigid body simulation and transitions between those two. tl;dr; There is a video. Orbital physics This part was relatively easy. I choose simulated n-body system over fixed orbits with patched conic approximation. It's simple to write and supports all phenomena like Lagrange points. My system uses Verlet integration with fixed time step (64s) for planets and adaptive time step for small entities (artificial satellites, asteroids). The only drawback here is that plotting trajectories requires to know positions of all planets ahead of time, so it's best to evaluate whole system many steps to the future and just playback current position from history. (You can see these in video when debug drawing is enabled) Planetary physics I modeled planet's surface as linear space located around planet radius, with wrapping around when traveling sideways. Since I want my planets big (not real live big, not even KSP big, but still), each one is split into spaces that span around 4km. Those spaces are all linear and centered around origin. Rigid bodies can move from one to another, can have joints across spaces, but will never collide or interact in any way. Of course the problem is when some body wants to leave one space and enter another. We could simply teleport whole rigid body, but it would miss some collisions. My solution is to clone whole body at new location and link them with teleport joint. It's similar to fixed joint, but maintains relative offset. (don't forget to split mass in half between two bodies) In order for this to work, you need two bounding rectangles: tight and fat. When tight intersects space boundary clone body (2). Destroy cloned body only if fat stops intersecting boundary (4). For all this to work I made some changes to Box2D library, you can find my fork on github. Stitching it together Moving from planet surface space to orbital space is using simple teleportation with conversion from local space coordinates to global orbital one. I sill have some quirks to iron out, but hey, you can fly to the moon!
  2. By default android recreates activity each time something has changed. Make sure you have something like this:  android:configChanges="keyboard|keyboardHidden|orientation|screenSize|smallestScreenSize|screenLayout|uiMode" inside your <activity> tag in manifest (With this line you tell, you will handle this stuff by yourself)
  3. I recommend changing 'uint4 channel' to 'float4 channel' and DXGI_FORMAT_R8G8B8A8_UINT to DXGI_FORMAT_R8G8B8A8_UNORM. That way you'll get values in range [0;1] and dot() should return some meaningful values. (at least AA will work) As for wrong selection, like Andreas said, check what are the real values in (just move rbg directly to pixel.rbg)
  4. I have recently published my first game: Stack of Chips. (First like, designed, programmed and produced from start to finish by myself, I did other project in the past but usually just as a man for hire)   Stack of Chips is casual/logic (match-3) game, where you need to stack some chips (duh!) from board to score points.   Available for Android for free:   Gameplay video:   [attachment=26760:s2_t7.jpg]  
  5. Google Play Alpha Testing

    That is a good question. I was sure that as an owner you have unlimited access to all stages, but now I just checked dev console and couldn't find any explicit info about this.   I recommend creating google group anyway. If you want to test in-app billing you need to create another account since you can't purchase from yourself (btw. when you publish app, even alpha version only, google will charge you with real money)   (btw2. I just publish my first game on google today)
  6. I don't think it's a good idea to force exit when specs are not met. I remember some app complained about -1B of ram once, when I had like 4GB :)
  7. Just did a quick look. This 'gr' prefix reminds me of 3dfx Glide API :)
  8. Unable to find interface in namespace

    //offtopic, can someone up vote first post, my browser hung and after some random clicking to recover/crash it I unintentionally did down vote. And now I see no means to revert this. Sorry for inconvenience
  9. Did you try with non virtual version of MessageCallback method?