## Articles on Software Technology

### Jungle Bash

This is a casual arcade that we are developing in Bad Nose Entertainment. You play the role as a reputable hotshot bounty hunter, being sent off to the woods for the hunt. Being the last defender of your bunny clan, prepare to defend the very future of your kind from existence! We had decided to release this playable demo online for free. Challenge your best friends to get the highest score. Only the best bounty hunter will survive in this exciting Jungle Bash.

### A* Maze Navigator

This Java applications let you play around with an Agent that uses simpe artificial intelligence to help him navigate through a somewhat complicated tiled-based map. The AI that the Agent used for pathfinding is an A* search algorithm. You can think of the whole map as a huge search tree with each map tile as a node in the tree. An A* search is an informed search algorithm that utilizes a cost function and a heuristic function to determine which node to be considered next in order to expand the search tree towards the goal. Cost function of Node N calculates the actual cost of path from the starting node to Node N. Whereas the heuristic function of node N will return the estimated cost from node N to the goal. A* search algorithm is a complete and yet optimally efficient search algorithm. Meaning that, given there are finite number of nodes in the search tree, it will always returns an optimal solution (either a shortest cost path, or no solution if the goal is not exist or unreachable) with the minimum nodes expansion. With this properties, it makes a perfect solution for applications that required automated pathfinding on a big domain.

### Open Source Software: Facts and Myths

Open Source Software has risen to prominence lately. Briefly, Open Source Software (or OSS) are programs whose licenses permit users the freedom to run the program for any purpose, to modify the program, and to redistribute the original or modified program (without payment or restriction on who they can redistribute the program to). This article’s target is project managers who had heard about OSS but do not have an in depth idea about it. It will help them to decide whether or not OSS will prove useful in their upcoming project. This article begins by giving a brief introduction about Open Source Software, and some basic idea and concept about it. Then, it follows by an evaluation on a system based on OSS compare to proprietary software. Note that this article’s goal is not to show that all OSS is better than all proprietary software. Instead, it will simply compare commonly used OSS with commonly used proprietary software, to show that at least in certain situations and by certain measures, OSS is at least as good or better than its proprietary competition. At the end of this article, there will be a brief discussion and speculation on how Open Source Software and its development process may influence the architecture, management, processes, and atmosphere of the project.

### Courseware for Hidden Line/Surface Removal

When object are defined as surfaces filled by color or shading patterns, hidden-line/ surface removal techniques are used to take out any back surfaces that are hidden by visible surfaces. Removing hidden surfaces is generally a complicated and time-consuming process, but it provides a highly realistic method for displaying objects. Added realism is attained by combining hidden-surface removal with perspective projections.

This courseware will provide you an interactive way to experiment with the three typical (and the most well known) hidden line/surface removal algorithm. They are Painter’s, Z-Buffer, and Depth Coherence (Warnock’s Area Subdivision) algorithm. While experimenting, you will see the results for different algorithms. You will also learn the pros and cons among each different algorithm. The project documentation will provide you the details of the courseware implementation.

### Realistic 2-D Collision Simulation

This Java application simulates a realistic collision of spherical objects in a two dimensional space. The calculations for the collision response in this simulator is based on the Newton’s “Conservation of Linear Momentum” theory. This theory said, when a collision occurs in an isolated system, the total momentum of the objects in the system before the collision equals to the total momentum afer the collision”. This theory is used to calculate the velocity of the objects after collision. Certain collisions are called elastic collision, which both momentum and kinetic energy are conserved. In an inelastic collision, the total kinetic energy before and after the collision is not conserved. In a 2-D collision, we also know the fact that only the velocity that is parallel to the collision direction is changed. The velocity that is perpendicular to the collision direction remains unaffected. With these knowledge in mind, we can create a somewhat realsitic simulator that illustrates the collision among spherical objects.

### Planet Orbit Simulation

This Java applet simulates the motion of a satellite, orbiting around another planet. You can interactively change the launch velocity of the satellite to explore different orbital path that it will produce. The motion of the satellite is calculated as accurate as possible using Newton’s Law of Motion and Newton’s Law of Gravitation. The applet can even automatically calculates the launch velocity of the satellite that will produce a circular orbit based on its current position. The calculation is done based on Kepler’s Law. The small motion of the central planet is neglected in this applet. I developed this Javaapplet mainly to learn and explore the pattern of an orbiting mass around a central body in a more interesting and interactive manner.

### TCCS JukeBox

TCCS JukeBox is a Windows based multimedia file player. Unlike Media Player which came along with every Windows operating system, TCCS JukeBox is capable to play a collection of multimedia files. It just like a real jukebox. It can even play them in various methods that you preferred. TCCS JukeBox is capable to support all Windows multimedia files, including MIDI, WAV, CD Audio, MP3, MOD, AVI, etc. Now, you can enjoy listening to your favourite collection of songs while you are working on your computer.

### TCCS Personal Scheduler

TCCS Personal Scheduler is a scheduler cum reminder for all your dates, appointments, meetings, etc. With TCCS Personal Scheduler, not only you can schedule all your work, but it will remind you when the date had reached. It will even stay activate when your computer is off, and it will reminds your schedules as soon as your computer is turned on. You can also save and print out all your schedules. TCCS Personal Scheduler will integrate seamlessly and transparently with your Windows operating system. It gives you a feel as it is built-into Windows operating system, and will not interfere and conflict with your other favourite Windows applications.

Follow us on