Skip to main content

2D artist wanted

I'm currently working on a small game demo intended to help me find work in the game industry. The game is a top down 2D multiplayer deathmatch, you can download the current version here:

http://stingray.ftw.net.nz/BarryDahlberg.zip

You will need a recent graphics card and DirectX 9 installed to run the game. I am in the process of testing it on various hardware setups so please let me know if it doesn't work for you.

I am looking for a 2D artist who can create sprite animations for the game. These will include player animations, missiles, explosions and special effects such as bullet sparks. Unfortunately I can only offer you a new friend as payment, however I will make sure your name is mentioned in the credits, readme files and any job interviews I get! Please get in touch with me either here or at this address:

barry_dahlberg@hotmail.com

Below is a screenshot of the game in action showing my placeholder art and the following features:

  • Line of site, the player can only see what he should see.
  • Weapon and ammo pickups (round icons)
  • The player, currently not animated
  • A shotgun blast
  • Experimental semi dynamic lighting
  • Rather boring floor texturing

[img]http://stingray.ftw.net.nz/demo.jpg[/img]

Submitted by MoonUnit on Sun, 08/02/04 - 1:07 AMPermalink

just a little comment on your game, very nice work, having seen top down shooting since the days of GTA1/2 (inspiration?)

Submitted by Barry Dahlberg on Sun, 08/02/04 - 2:48 AMPermalink

Not really inspired by anything in particular, I just had some interesting ideas for map rendering algorithms and what not in my head and decided it would be nice to do something a little different to the norm. There are a few experimental things in there like the lighting system which is a lightmap composed every frame, allowing for dynamic lighting effects at almost no extra cost. I have yet to actually use the lighting much yet though.

I'm still looking for someone to help me out to by the way.

:)

Submitted by supagu on Mon, 09/02/04 - 9:59 AMPermalink

hrmm intrested in hearing how you have done the dynamic light maps each frame?
must have a significant impact on frames i would expect?

Submitted by J I Styles on Tue, 10/02/04 - 12:47 AMPermalink

quote:Line of site, the player can only see what he should see

looks like large perspective corrected untextured black walls which stretch upwards to me, instead of say something like nox which blacks the area out dynamically - if this is true, then I say good on you for successfully pulling off a good kludge [:)]

Submitted by MoonUnit on Tue, 10/02/04 - 12:55 AMPermalink

just a note, demo dosent appear to work on SiS video card (default onboard card for my motherboard, getting new card soon :P) even though i do have DirectX9

Submitted by Barry Dahlberg on Wed, 11/02/04 - 10:59 AMPermalink

Ta MoonUnit, it does require a few things your on board might not do, such as 2 texture stages to modulate the light map in...

I'll give the condensed version of how the rendering is done so you get the general idea. I don't think it's revolutionary or anything, but I haven't seen some of these ideas around much so I thought they would be a good base for some original demo work.

First we set up to render to a texture and clear it, this texture will become our lightmap. We set the world and view transforms for the player so that our light map texture will perfectly cover the viewport. Now using an additive blend we render each light onto the texture. If you have a look in the data folder of the demo you'll find some textures which are used to render the lights, each light is just a textured polygon rendered on to the light map. With vertex buffers we can render a large number of lights onto the map like this at little cost, note that I'm only using a 128x128 texture for the lightmap for extra speed, filtering smooths it out nicely for me.

We have now created a lightmap for the viewport for this frame. The map is sector and portal based and the map system uses this to clip sectors and list only the visible portions of the map. This has the strange and unexpected effect of looking like "large perspective corrected untextured black walls which stretch upwards", something that more than one person has commented on. I must stress that *everything* is calculated in 2D, all polygons rendered are facing traight at the screen, constant Z. When the floor is rendered I mark it out in the stencil buffer and use that mask to clip the game objects.

Pros:

- We can vary light placement, size, rotation, colour etc with very little cost
- Lights are only restricted to what we can draw on a texture, which is rather alot. Eg if I want a light in the shape of a fish, I can do it
- Artists get absolute control over the final effect
- No calculation or map compile required
- Light mapping that doesn't eat heaps of memory

Cons:

- Clipping dynamically means we can't optimise for vertex buffers. On todays hardware large black walls might be a better solution, but clipping was an interesting programming task
- Lights can't change shape dynamically
- Getting lighting smooth and blended nicely requires alot of work

That about covers it off the top of my head, let me know if it's a little unclear...

:)

Submitted by jwalduck on Wed, 11/02/04 - 9:22 PMPermalink

So this is clear, the walls look like they are perspective corrected but the "one-point perspective" look actually comes from the lines of site all coming from the player? Its completely 2D even though it looks like it has perspective.

This makes more sense to me now. When I first saw this I could not understand how you planned to use 2D characters in this appearently 3D environment.

One issue I see is that with this top down view there is currently no sense of what the walls are made of, whether you cannot see an area because it IS a physical object or it is simply HIDDEN from your current position. I guess this would change in the dynamic environment. Do you have any plans to show wall textures and how would you do this?

I think I understand your lighting technique. I presume it will not allow for characters to cast shadows?

Submitted by Barry Dahlberg on Wed, 11/02/04 - 11:01 PMPermalink

quote:Originally posted by jwalduck

So this is clear, the walls look like they are perspective corrected but the "one-point perspective" look actually comes from the lines of site all coming from the player? Its completely 2D even though it looks like it has perspective.

Exactly. It's interesting the way it turned out and some people are immensley confused by it, but it was always intended as an experiment and I think it stands well as a slightly original demo piece.

quote:This makes more sense to me now. When I first saw this I could not understand how you planned to use 2D characters in this appearently 3D environment.

It took me a long time to figure out what people meant when they said it was 3D, it never occured to me as I built it in 2D from day one, from paper sketches right up.

quote:Do you have any plans to show wall textures and how would you do this?

Alot of people have asked this and unfortuntely no I don't. The way the engine is, it wouldn't be a terribly easy thing to add as I never thought it would be needed. In my opinion the ideal solution would be to move to 3D rendering and draw the walls as proper perspective upright walls like they appear to be, if we're going to do that we may as well move to full animated mesh characters and a proper 3D engine and, erm, I haven't got time for that just now.

quote:I think I understand your lighting technique. I presume it will not allow for characters to cast shadows?

Hmm, not proper shadows no. You could do some sort of hack by using a subtractive blend on the light map and predefined shadow texture shapes but I don't think it would look terribly good. The main trouble is that the lights are all in 2D space as well, there is no concept of lights being above or below the player, it is assumed they are an unbreakable 2D column of light.

It has been an interesting learning experience and proven that early testing and prototyping with users outside the project is important as they wont see things the way you do. I'm happy with the engine for now, it does everything it was designed for and more, I'm going to move onto making more of a game out of it.

Oh, and if anyone is at all impressed, I am currently looking hard for game programming work *anywhere* and would love to talk to you...

Demo: http://stingray.ftw.net.nz/BarryDahlberg.zip

Resume: http://stingray.ftw.net.nz/BarryDahlberg.doc

I'm currently working on a small game demo intended to help me find work in the game industry. The game is a top down 2D multiplayer deathmatch, you can download the current version here:

http://stingray.ftw.net.nz/BarryDahlberg.zip

You will need a recent graphics card and DirectX 9 installed to run the game. I am in the process of testing it on various hardware setups so please let me know if it doesn't work for you.

I am looking for a 2D artist who can create sprite animations for the game. These will include player animations, missiles, explosions and special effects such as bullet sparks. Unfortunately I can only offer you a new friend as payment, however I will make sure your name is mentioned in the credits, readme files and any job interviews I get! Please get in touch with me either here or at this address:

barry_dahlberg@hotmail.com

Below is a screenshot of the game in action showing my placeholder art and the following features:

  • Line of site, the player can only see what he should see.
  • Weapon and ammo pickups (round icons)
  • The player, currently not animated
  • A shotgun blast
  • Experimental semi dynamic lighting
  • Rather boring floor texturing

[img]http://stingray.ftw.net.nz/demo.jpg[/img]


Submitted by MoonUnit on Sun, 08/02/04 - 1:07 AMPermalink

just a little comment on your game, very nice work, having seen top down shooting since the days of GTA1/2 (inspiration?)

Submitted by Barry Dahlberg on Sun, 08/02/04 - 2:48 AMPermalink

Not really inspired by anything in particular, I just had some interesting ideas for map rendering algorithms and what not in my head and decided it would be nice to do something a little different to the norm. There are a few experimental things in there like the lighting system which is a lightmap composed every frame, allowing for dynamic lighting effects at almost no extra cost. I have yet to actually use the lighting much yet though.

I'm still looking for someone to help me out to by the way.

:)

Submitted by supagu on Mon, 09/02/04 - 9:59 AMPermalink

hrmm intrested in hearing how you have done the dynamic light maps each frame?
must have a significant impact on frames i would expect?

Submitted by J I Styles on Tue, 10/02/04 - 12:47 AMPermalink

quote:Line of site, the player can only see what he should see

looks like large perspective corrected untextured black walls which stretch upwards to me, instead of say something like nox which blacks the area out dynamically - if this is true, then I say good on you for successfully pulling off a good kludge [:)]

Submitted by MoonUnit on Tue, 10/02/04 - 12:55 AMPermalink

just a note, demo dosent appear to work on SiS video card (default onboard card for my motherboard, getting new card soon :P) even though i do have DirectX9

Submitted by Barry Dahlberg on Wed, 11/02/04 - 10:59 AMPermalink

Ta MoonUnit, it does require a few things your on board might not do, such as 2 texture stages to modulate the light map in...

I'll give the condensed version of how the rendering is done so you get the general idea. I don't think it's revolutionary or anything, but I haven't seen some of these ideas around much so I thought they would be a good base for some original demo work.

First we set up to render to a texture and clear it, this texture will become our lightmap. We set the world and view transforms for the player so that our light map texture will perfectly cover the viewport. Now using an additive blend we render each light onto the texture. If you have a look in the data folder of the demo you'll find some textures which are used to render the lights, each light is just a textured polygon rendered on to the light map. With vertex buffers we can render a large number of lights onto the map like this at little cost, note that I'm only using a 128x128 texture for the lightmap for extra speed, filtering smooths it out nicely for me.

We have now created a lightmap for the viewport for this frame. The map is sector and portal based and the map system uses this to clip sectors and list only the visible portions of the map. This has the strange and unexpected effect of looking like "large perspective corrected untextured black walls which stretch upwards", something that more than one person has commented on. I must stress that *everything* is calculated in 2D, all polygons rendered are facing traight at the screen, constant Z. When the floor is rendered I mark it out in the stencil buffer and use that mask to clip the game objects.

Pros:

- We can vary light placement, size, rotation, colour etc with very little cost
- Lights are only restricted to what we can draw on a texture, which is rather alot. Eg if I want a light in the shape of a fish, I can do it
- Artists get absolute control over the final effect
- No calculation or map compile required
- Light mapping that doesn't eat heaps of memory

Cons:

- Clipping dynamically means we can't optimise for vertex buffers. On todays hardware large black walls might be a better solution, but clipping was an interesting programming task
- Lights can't change shape dynamically
- Getting lighting smooth and blended nicely requires alot of work

That about covers it off the top of my head, let me know if it's a little unclear...

:)

Submitted by jwalduck on Wed, 11/02/04 - 9:22 PMPermalink

So this is clear, the walls look like they are perspective corrected but the "one-point perspective" look actually comes from the lines of site all coming from the player? Its completely 2D even though it looks like it has perspective.

This makes more sense to me now. When I first saw this I could not understand how you planned to use 2D characters in this appearently 3D environment.

One issue I see is that with this top down view there is currently no sense of what the walls are made of, whether you cannot see an area because it IS a physical object or it is simply HIDDEN from your current position. I guess this would change in the dynamic environment. Do you have any plans to show wall textures and how would you do this?

I think I understand your lighting technique. I presume it will not allow for characters to cast shadows?

Submitted by Barry Dahlberg on Wed, 11/02/04 - 11:01 PMPermalink

quote:Originally posted by jwalduck

So this is clear, the walls look like they are perspective corrected but the "one-point perspective" look actually comes from the lines of site all coming from the player? Its completely 2D even though it looks like it has perspective.

Exactly. It's interesting the way it turned out and some people are immensley confused by it, but it was always intended as an experiment and I think it stands well as a slightly original demo piece.

quote:This makes more sense to me now. When I first saw this I could not understand how you planned to use 2D characters in this appearently 3D environment.

It took me a long time to figure out what people meant when they said it was 3D, it never occured to me as I built it in 2D from day one, from paper sketches right up.

quote:Do you have any plans to show wall textures and how would you do this?

Alot of people have asked this and unfortuntely no I don't. The way the engine is, it wouldn't be a terribly easy thing to add as I never thought it would be needed. In my opinion the ideal solution would be to move to 3D rendering and draw the walls as proper perspective upright walls like they appear to be, if we're going to do that we may as well move to full animated mesh characters and a proper 3D engine and, erm, I haven't got time for that just now.

quote:I think I understand your lighting technique. I presume it will not allow for characters to cast shadows?

Hmm, not proper shadows no. You could do some sort of hack by using a subtractive blend on the light map and predefined shadow texture shapes but I don't think it would look terribly good. The main trouble is that the lights are all in 2D space as well, there is no concept of lights being above or below the player, it is assumed they are an unbreakable 2D column of light.

It has been an interesting learning experience and proven that early testing and prototyping with users outside the project is important as they wont see things the way you do. I'm happy with the engine for now, it does everything it was designed for and more, I'm going to move onto making more of a game out of it.

Oh, and if anyone is at all impressed, I am currently looking hard for game programming work *anywhere* and would love to talk to you...

Demo: http://stingray.ftw.net.nz/BarryDahlberg.zip

Resume: http://stingray.ftw.net.nz/BarryDahlberg.doc