Subscribe to:

Software

 Java Work

 

Moonoids in Unity3D

I've been developing this game over several months here are some screen shots. It is based on the 2D game for the Atari ST in the late 80s called Oids. I have brought it up to date into glorious 3D making it a bit difficult. The download site is moonoids.com

 

Start:

Bottom Camera Level 1:

Top Camera Level 1 Part 2:

 

 

Ray Tracer in Java

I developed a very simple ray-tracer back in the late 80s in K&R C. Since then I have converted it to Java whence I went on to improve it. Textures have been added, colour, antialiasing, cylinders, disks and bounding volumes for speed improvements. The last improvement was to allow transparrent objects to cast a shadow based on their Fresnel transmittance value for the light ray. I've combined the ray-tracer with the landscape generator to provide mountains and now craters for moon scapes. I also developed a model of a candle for some valentines animations.

 

 This is the image that took over 5days to render after the speed improvements using bounding volumes 1.5hours to render.

Same fractal with a limit on depth and cratering added with a curve from the landscape generator.

youtu.be/1LYLaRGd8Ug

The Hubble Telescope animation.

youtu.be/NQIMTfduifQ

Geoff asked me to produce a blue ball on his floor this is before I added the Fresnel shadows

www.youtube.com/watch

A valentines animation

www.youtube.com/watch

 

  

Calendar
Timesheet
Time Sheet working mock up using PostgreSQL and Apache Tomcat
Self explanatory just allows you to record time for the projects you have allotted to you, handy.
User name you can use: Anonymus
Password: password
 
J2ME Charlie’s Missile Command Game using PostgreSQL for high score table
This is a version of the classic Missile Command basically the grey squares on the bottom of the screen are representations of cities. Missiles rain down from the top towards the cities if they hit then one is added to hits if you manage to destroy the missile/s you get one of each one you destroy added to dest. You do this by putting the cross hairs over the place where the attacking missile is going to be when your launched missile reaches the exploding pinnacle of its life. The enemy missile/s are destroyed if they are in the circle of destruction of your missile. Once your cities have been hit 50 times the game is over, the dest score at the end is the score on which you are judged.
Load the game may take a few minutes as it is > 500kBytes
Same username and password as above for the hi score entry page in the game. 
Can be found here Start->Help->Hi Score->Update fill in the username and password then select Post to try the high score against the central table. If you have exceeded the one stored on the server then you will see “Congratulations” on the phone if not you will get “Not this time” and the phone’s high score will be updated with the central one.
High Scores
High score JSP which should work: http://cswires.hosting.philpem.me.uk/src/MCTest.jsp
Push Registry example
Same index page as above just shows how to activate a midlet via a SMS message. More work here to develop something useful.
 Devender
J2ME Charlie’s Defender Game uses the PosgreSQL Database of the other game (different tables and servlets)
Under development, uses more advanced features of the MIDP API (>500K). On the index.wml page it is under Charlie’s Defender. The idea is to save the humanoids by shooting the blimps and flying into the falling humanoids taking them safely to the ground. You get points for shooting the blimps, points for stopping the humanoids from falling and points for returning them to the ground. If the blimp reaches the top of the screen with a humanoid then the blimp goes mad and comes after your craft suicide style. Points are deducted if the humanoids are shot and the associated blimp goes mad straight away. The game is over when your last life is lost, you get an extra life for each level that you survive. The game doesn’t get any harder yet that is a feature I will have to put in soon and also clean up the object deletions.
Quick to start now and very quick to restart new levels due to an image resource manager which I have implemented.
Same username and password as above for the hi score entry page in the game. 
Can be found here Start->Help->Hi Score->Update fill in the username and password then select Post to try the high score against the central table. If you have exceeded the one stored on the server then you will see “Congratulations” on the phone if not you will get “Not this time” and the phone’s high score will be updated with the central one.
High Scores
Hi Score page servlet.
Living Cost Calculator
J2EE JSP and Servlet Living Cost Calculator
Handy if you are trying to compare two places on price say if you are trying to reduce living costs.
Fractal Landscape
J2SE Landscape Generator
A play thing to show how you can generate a fractal landscape using Java.
J2SE Mandelbrot Set Fractal Generator
Another play thing that allows you to explore the Mandelbrot fractal using Java.
 
J2SE Docsis Calibration Tool
This tool uses the two types of interface available to the operator who has a PC with this software, a tv signal generator and a spectrum analyser to calibrate the DOCSIS tuner on the cable modem device produced by Echostar using Broadcom components. The first method used was to use SNMP messages via the PC’s Ethernet port from the SNMP Manager on the PC to the SNMP Agent on the cable modem. This involved using the equivalent of system commands in Java to send messages to the SNMP Manager which is an open source CLI. The next phase of the tool used the serial port to talk to our interface on the host processor which then used an interface I developed to talk to the same cable modem. This uses the comm.jar package in J2SE.
 
J2SE Bonded Calibration Tool
As above but uses the bonded mode of the cable modem to calibrate all three tuners.
 
J2SE Provisioning Tool
This tool had two variants one used the serial console on the cable modem to program the keys and certificates the other used SNMP messages to program the cable modem.
 
J2EE Inventory Database
Haven’t worked on this in a bit the idea was to produce a database for an antique tractor spares business allowing the user to access a central database via a 3G dongle connected to a lap top smart phone or PC at home.
Venue
J2EE Pub Venue Database
I organise outings to the pub on a weekly basis these JSPs help me with that task.
Java3D Game on the PC
In the early stages, currently we have the fractal landscape working and some animation. Need to add detailed texture and craft mechanics.
Android Landscape
Android version of above, other Android work below.
Currently I am learning about UI and OpenGL ES to allow implementation of the game on the android phone.  I currently have a fractal landscape working on my Xperia Arc unfortunately it takes 6 seconds to render the fractal so a bit slow for the game. Also working on a game called Space Blaster which is a 2D sprite game. In the future I hope to port Doom using the source forge code and a Java shim.
Android Cube
I have managed to knock up a rotating cube with a texture and shading using OpenGL ES on my Android phone. I need to learn a bit more about textures though and how to manipulate them. The reason I am experimenting with textures and fractals is that I need to figure out a way of reducing the render time but make the scene out of the space craft window look realistic and detailed.
 

C Work

I learnt C at University which at that time was K&R C running on Sun 360 workstations with the BSD Unix operating system. The first thing I wrote in C was a simple Basic Interpreter. The next thing I wrote was a ray tracer which allowed photo realistic images to be generated from a scene described in therms of point light sources, triangles and spheres with a variety of surface properties. This was done on a different machine which did not have a maths co-processor hence times for a render would be in the order of 5 hours. Now I can run the ray tracer on a slow PC and it will render an image of higher resolution in minutes.

In industry I have used Microsoft C to generate Human Computer Interfaces on PCs. These were simple text based pages with a real time component and high speed serial interfaces.

Later on I went into the set top box industry and wrote a graphics driver and tests. Much of my work now seems to be minor features and a lot of bug fixing.