Paid: jMonkeyEngine Freelancer for isometric 3d game

My name is Elia Morling, and I run a company based in Sweden. I am developing an indie game, and need help to make a first basic version of a third person isometric tile engine.

If you’re interested in freelance work, then please send me your offer with the following information.

  1. Your CV
  2. Prior experience of programming with jMonkeyEngine
  3. Prior experience of programming games
  4. Your offer as a fixed price, see below specification
  5. Your hourly rate that applies for unspecified extra features
  6. Timeplan for completion

Please make sure you meet these requirements:

  1. You must have communication skills, check your e-mail regularly, and be able to adjust to feedback
  2. You must be able to provide an invoice from a registered company, or you will be subject to swedish income tax and fees (approx 50%)
  3. You must know Java
  4. You must know jMonkeyEngine
  5. You must know how to make UML diagrams
  6. You must know how to make an API
  7. You must provide rights to use and change your code in any way seen fit, for use in now known and all future media

I am accepting offers until 11th of March, and after that I will make a selection. Upon selection your first task will be to make an UML diagram and an API.

You may send your offer, or any questions to: freelance@tribaling.com

This is a simple specification, because I want you to easily grasp the contours of this project. Features that are not listed here are considered “extra features”. Don’t hesitate to drop me an e-mail with your questions. You may also suggest features or changes that you find missing.

1. Coordinate system
- a tile grid where 0,0 is at the top left, and +x,+y is the bottom right
- 0,0 is the center of the tile
- actors are not restricted to tile center, but can move and stand at any floating point numbers

2. Game Map

2A. About game maps
- Maps have a maximum size of 400 x 400 tiles
- Each tile does not need to be it’s own node, unless the desired features require it
- Maps are per default flat with a default terrain texture
- Maps can have any number of layers which can define height and texture per tile
- Map layers can have any shape (for this version rectangular layers is fine)
- Map layers can be set override each others heights and textures
- Types of map layers are:
flat
heightMap (with or equivalent to AbstractHeightMap and ProceduralTextureGenerator)
water (animating)
2B. Functionality
2B1. Map factory
- create a map with id, width, height and default terrain texture
2B2. Map manager
- add a map to manager
- rem a map from manager
- get a map from manager with id
2B3. Map layer factory
- create a map layer with id, width, height and type (only rectangular now, but irregular in future)
2B3. Map
- add a layer to map
- rem a layer from map
- get a layer from map with id
- add an actor to map
- rem an actor from map
- get an actor from map with id

3. Actors

3A. About actors
- Actors are basically all things that can exist in a map, e.g. avatars, items and props
- Actors can be a Box (default), Cylinder or 3D Model
- Actors are centered at their base, so that they are standing in the middle of a tile
- Actors can be set to cast shadows
- Actors can be set to have collision detection with other actors
3A. Functionality
3A1. Actor factory
- create an actor with type: Box (default), Cylinder or 3D Model
3A2. Actor manager
- add an actor to manager
- rem an actor from manager
- get an actor from manager with id

4. Actor movement
- move actor within map to x,y with interpolation
- move actor within map to x,y instantaeously

5. Camera
- Four types of cameras:
isometric lockcam, locked on a tile
isometric chasecam locked on an actor
isometric freecam, not locked to an actor, but always parallell to the ground
freecam, total freedom, not locked to anything

6. Control
- set actor to control with arrows or chasecam
- remove actor control

7. Input
- Detect mouse-click on tile, generates event to listeners
- Detect mouse-click on actor, generates event to listeners
- Arrow keys, to move actor under control