Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 14 Jan 2014
Offline Last Active Dec 03 2015 12:57 AM

Topics I've Started

Using resources from "free" websites?

07 September 2015 - 11:55 PM

I was looking for a specific 3D model for a project I'm working on and I stumbled across this website, which happens to have the exact model I need.




I've seen websites like these before, that host a whole bunch of so called "free" resources. However nowhere on the website does it have any information about who created the model, what the license terms are for it, etc...


How do these sort of websites normally work? I'm just trying to figure out if I can use the model I found on there or not.

2D Line Intersection Math

21 July 2015 - 07:15 PM

In the past I've always worked on 3D games using proper physics engines and such. However I'm starting on my own game now, which will be a simple 2d game a bit like the old Missle Command. I want to do some simple line intersection tests in 2D, but I don't want to use a physics engine just for this simple ray casting as the game has no need for elaborate physics and collision response.

Here is a mockup image I drew of what I want to achieve.

  • Red line is the ground that the game objects will sit on.
  • Green shapes are the collision volumes for the sprites on the ground.
  • Blue lines are what I want to calculate. I would like to be able to specify a 2D start point and a 2D direction vector for the line, then detect the first thing it hits, whether that be the red ground or one of the green shapes.

Attached File  image.png   25.83KB   0 downloads

So to achieve this I'm thinking I need to find some math for the following 3 scenarios.

  • line-box collision check
  • line-circle collision check
  • line-ground collision check

I imagine scenario 1 and 2 should be pretty straight forward and would just be a matter of looping through the collision shapes and testing the line against each one. Then just returning the hit against the one that was the closest (i.e. the first hit). Does that sound right? Is there any links to this kind of math anywhere or even a basic math library somewhere that can do this?
Scenario 3 has me a little stuck, which is why I'm here. I was thinking that I could define a 1-dimensional array to store the height value of each pixel along the red line from left to right, i.e. left side of the red line in the image would be at index-0 in the array and the right side would be index-n. This would effectively give a 1-dimensional height map in a way. How could I test a line against this height map? Is there math for this sort of thing?

Creating a fluid-like shader

04 April 2015 - 05:17 PM

I'm toying with an idea in my head for a 2D game that involves a fluid like substance on the screen that changes color and moves as sprites move over (or "through") it. In my research I came across a few other games that do something similar to what I'm thinking.


One that I quite like is an old game called Plasma Pong. Here is an example.


From what I understand in this game he is using proper fluid dynamics, which is probably overkill for what I'm thinking. But the effect is similar. I'm thinking perhaps a pixel shader applied to a full screen quad. Then use a render target to set pixels for the position and color of the sprites on the screen. The pixel shader can then use this render target texture to change the "plasma" so it moves and changes color.


Would an approach like this work? I'm not a shader expert so just not sure where to start with this.

Equation for Zooming

01 March 2015 - 03:21 AM

For some reason I'm struggling to work out something that I thought would be simple. I'm working on a 2D game and I'm trying to get a zoom working. Here's what I've got to work with.


minZoom = 0.2f <-- This is the smallest zoom amount (i.e. so the whole map can be seen on the screen)

maxZoom = 4.0f <-- This is the largest zoom amount (i.e. the map is zoomed in 4x its size)


My first thought was that I could just linearly interpolate between the two values. I wanted to have something like 10 or 20 discreet steps in between minZoom and maxZoom (I'll decide on how many once I get this working and see how it feels). However liner interpolation doesn't work because with a fixed number of steps, the step size is the same between each step. This means that as you zoom out, the jump in pixel size gets bigger and bigger so the zoom becomes like an exponential zoom, which means that near maxZoom it is very slow (turn the mouse wheel a lot for not much zoom) and near minZoom it is very fast (turn the mouse wheel a little and it jumps a lot).


So to solve this problem I need to do some sort of easing I think, so that the number of steps is fixed, but the step sizes are variable. They should start out at size x at maxZoom and then get smaller as you approach minZoom. What size x is and how fast they get smaller will probably require so trial and error to get the feel right so that the zoom feels constant.


I'm stuck with working out the math for this. I've tried a number of things but can't get anything to work right. I found the quadratic easing in function here http://gizma.com/easing/#quad1, which seems to do what I want, but the problem with that function is it works over a period of time. I don't know what that "period of time" is.


I have my two extreme values (4.0 and 0.2) and the number of steps in between (let's say 10, but it could be 20 or 15). Each time the mouse wheel is "clicked" I want to increment that step by 1 up or down depending on which way the mouse wheel is rolled. I need to come up with a function that will interpolate between 4.0 and 0.2 in 10 steps (inclusive, i.e. step 0 = 4.0 and step 9 = 0.2) but with a variable step size so that it starts with a step size of x, which is reduced in size with each step in order to slow down the zoom.

RakNet still alive?

22 January 2015 - 08:47 PM

I've noticed that every since Oculus VR purchased RakNet it seems to have died? The last official release was in June. The github repository hasn't had any real updates since July last year, with a bunch of unattended reported issues. Rakker himself hasn't been active on the forums since March last year (obviously because he sold it) and the RakNet forums are so quiet now. In fact there is more spam on those forums than actual posts. Any actual posts from people looking for help just get no replies.


I'm just about to start a new project and am investigating networking at the moment, so have been looking into RakNet, but it just seems to have died now ever since Oculus VR took over? I don't want to start using something that has no support or active development. Does anyone know anything more about this?