I have been informed that my first Android App, “PowerWizard” has been voted number 47 out of the top 50 tools for an Electrical Engineer’s Toolbox by pannam.com.
Power Wizard, from Phoenix Computers, is a different sort of app for electrical engineers, as it is designed for anyone working with home solar panels or wind turbine technologies. As technologies change and alternate power sources become more popular, electrical engineers will find tools like Power Wizard an invaluable resource.
Key Features:
Calculate total load on an inverter given the inverter efficiency
Calculate amps, volts, and watts
Usage guide for a variety of input fields
Available for Android devices
I had an idea for an advanced search feature which I wanted to try out. This feature basically searches through a block of text for a search term, and will find the term even if it is obfuscated or misspelled. It does this by searching through a block of characters at a time, and comparing the number of times characters in the search text appear in the search term. If this is over a certain value, this is deemed to be a match.
I had originally intended to test this idea out with a conventional C++ or Java program, but I thought that in the modern world, people don’t really download executables any more. Everything is delivered online, through flash, or through apps. So, I decided to write an addon for Firefox. I had never written one before, so I thought it would be a valuable learning experience.
I also decided to use Github for this project, since I had never used it before for a project of my own, although I do use it with the T3D game engine.
Installing the addonsdk for firefox was very straightforward, and I am using UltraEdit, my regualr text editor, for programming. Firefox used Javascript for it’s addons, and Ultraedit supports syntax highlighting for JavaScript.
The learning curve was quite steep initially, however I did succeed in getting my project working. I have some finishing touches to do, and I then need to package it so that it can be listed for download as a FireFox addon, but the project is essentially complete.
I have posted this feature as a resource on GarageGames. It can be viewed HERE.
This is the text of the tutorial from the resource:
This resource is a very useful addition for highlighting objects using a PostFX shader.
When turned on, the screen will change to black and white, except for designated objects which will appear as bright red.
This could be used for night vision, thermal vision, highlighting objectives or special items in a game, highlighting ammunition or health pickups, etc.
The way this system works is by setting the diffuse color of the objects to be highlighted to pure red, by using this line:
%mat.diffuseColor[0] = “255 0 0 255”;
and then searching for that specific color in the shader by using this line:
if(ret.r > 0.98 && ret.g < 0.09){
When it is found, that pixel is set to red, while the rest are set to black and white. This is essentially a “green screen” type concept. As long as no other object in the game has exactly the same colour that the shader is replacing, this should work well.
A limitation of the system is that the selection of objects is done per material, not per object. Which means that multiple instances of the same object, which share the same material, will either be all highlighted or not highlighted at all. To circumvent this, it is possible to just create two version of the same object, with the same texture, but two different materials. Then, highlight one, but not the other.
Another possible limitation is that when using the “selected = 1” dynamic variable to select multiple objects, objects inside a simgroup will not be highlighted unless there is another object sharing the same material outside the simgroup.
To implement this resource, first download the code file from here: (2KB, .rar file).
Place the shaders “objectshighlightP.hlsl” and “objecthighlightV.hlsl” into:
shaders/common/postFx
Place “ObjectHighlightingPostEffect.cs” into:
“scripts/client/postFX/”
Place “ObjectHighlighting.cs” into:
“scripts/server”
and execute is from “scripts/server/scriptExec.cs” by calling:
exec(“./objecthighlighting.cs”);
Using the effect is simple.
To highlight a single object, call:
enableselection(%obj);
and to switch back to regular vision call:
disableselection(%obj);
A more useful way to use this would be to add a dynamic variable called “selected” with a value of “1” to a group of objects in your scene. This can be done using the mission editor, or by calling: “%obj.selected = 1;” Bearing in mind, as mentioned before, that highlighting is done per-material, not per object.
I have completed the object hightlighting feature, and I am extremely pleased with it.
I have created a black and white shader which shows specified objects highlighted in bright red. This will be used to highlight security systems such as alarms, cameras, etc to the player. This could be used to detect hidden traps, like pressure sensitive panels (such as in picture one, below) invisible lasers, triggers, switches, etc.
This system looks excellent, and can be quickly and easily switched on and off at the press of a button. It actually reminds me just a little of “Runner Vision” from EA’s Mirrors Edge. It would also be very possible to modify this to add other colours to highlight different objects.
The only limitation of the system is that the selection of objects is done per material, not per object. So if I have created multiple instances of an object called “Alarm” for example, and they all share the same material, I can either highlight all of them in red, or none of them. To circumvent this, I have simply created two objects, “AlarmHighlighted” and “Alarm”. These use different materials with identical textures.
I am in the process of creating a resource for this for the GarageGames community, which I will post shortly.
I have been working quite hard on the concept demo of my latest game project. I have completed the basic level design, as well as impleemented many of the games core features, including alarm systems, tools, breakable glass, and doors.
The player is able to use a variety of tools to gain information about the information about the world, such as basic and advanced multimeters. The basic multimeter only tells the player if a cable or device is live or dead, which allows them to determine if it is safe to cut or bypass. The advanced multimeter includes a detailed oscilloscope screen, which allows the player to see the exact state of the data lines going into the device.
Some simpler alarm systems can simply be cut with the wire cutters to disable the alarm, however, advanced models have a “heartbeat” feature which sends a coded message to the alarm from a junction box. If this heart beat is not returned, the alarm will go off. The basic multimeter will not show this heartbeat, but the advanced one will, and it is possible to use the information from the multimeter to bypass the junction box and disable the alarm.
I have also included the obligatory air vents for the player to crawl through, every stealth based game must have these!
My latest project is a stealth based first person game which I am calling “Heist”. The basic object of the game is to break into a number of secure facilities in different environments, such as banks, vaults, labs, etc, and steal a certain object or objects from them.
These facilities would be guarded by a multitude of different security systems, from cameras, to laser fences, to motion and heat sensors, guards, guard dogs, etc etc etc. The player will have access to an equally large amount of equipment to circumvent these security systems.
The game will be single player only for the moment, but I may implement an online score board or ranking system.
I will post more updates as the project progresses.
Steam Greenlight is an excellent way for indie developers to launch their games. It is essentially a platform where developers can submit a game, and the steam community can vote on those games, and if a game receives enough votes it is “Greenlit” and can be released and sold on the steam platform.
This platform solved one of the major problems for independant and smaller game development studios, which is the marketing and release of the game. Advertising campaigns and beta testing can be prohibitively expensive for indie developers, and can prevent a promising game being released, or being oticed.
Steam Greenlight allows developers to advertise and test their game, as well as responding to user feedback, during the greenlight process, which is something that is ordinarily very difficult to do.
There is even a section for concepts and early prototypes of games, and a game does not need to be fully finished in order to be “greenlit”.
I have not yet attempted to release a game on greenlight yet, but I have begun work ona new project which I hope will be ready to submit in a number of months. The greenlight process itself of course, can take a long time, depending on how long it takes to gain a sufficient number of votes.
I will announce further details of my project as it progresses, I think it’s too early to do so now.
I have completed the “lite” version of my Icaus Rocket Calculator App. It should be available shortly on the Play Store HERE. This app is basically an equation display and calculation tool, based on eleven of the equations from the Icaurs Project report (Available HERE) which itself is based on the notes I took while working on the Icarus project itself.
The “lite” version of the app is only €0.99, the standard price of an app in the app store, as stated previously, only includes eleven equations (Including one equation for calculating the Thrust to Weight ratio which doesn’t appear in the Icarus report). I am, however, thinking of creating another version with many more of the equations from the report, and a filter to categorise them all. I will probably wait and see how well this app does before beginning work on that one.
This is the description for the app, from the store listing:
Icarus Rocket Calculator provides a useful reference tool and automatic calculator for eleven of the most common equations used in rocket science.
The program displays the equations for: DeltaV, Effective Exhaust Velocity, Specific Impulse, Gravity Losses, Drag, Burn Time, Burn Rate, Propellant Mass Fraction, Dynamic Pressure, Acceleration, and Thrust to Weight Ratio.
This app is extremely easy to use. The main screen provides a scrollable list of all of the equations, tapping one will bring you to the display for that equation.
This will allow you to view the equation, and enter the values needed to calculate it. When all required values have been calculated, the result will be displayed.
To go back to the main screen, simply use your devices back button.
A much more in depth document detailing the equations used in this app, as well and many more, can be found here:
I have uploaded an Estonian Language learning program that I wrote to my online store, and the other ones that I use. This is not a new program, I wrote it a long time ago, I just recently found it when I was looking through my old hard disk.
The program basically loads a series of words and phrases (In a foreign language, with an English translation) from a user-modifiable text file, and prompts the user with either the Foreign Language or English language phrases.. The user must then provide the correct reply.
This version was designed for the Estonian language, since I was learning it at the time, but really the only language specific elements of the program are the Estonian special characters that can be entered into the text field using the on-screen buttons. This program could be used for any language, if you have some means of entering the special characters for the chosen language.
I intend to make an updated version of this program with improved features, designed for multiple languages. I will need to include some kind of on-screen keyboard functionality.