Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
Mojiferous Industries is the brainchild of [[Admiral Mojiferous J. Colossus, Esq|Mojiferous]] and the world's premier producer of worthlessness and uselessness. Based in Denver, Colorado, the company was founded sometime during the early spring of 2007, forming out of mysterious clouds of gas and fatty solids. The company has no profit to speak of, no real business plan, and no solid way of even proving that it exists beyond this rather rudimentary web page. Our company motto is "Quality is Job" and our company crest is a stick drawing of two drunken cavemen beating the hell out of a vase full of squid. Job opportunities at Mojiferous Industries include part-time potato peeler, gorilla shavers, and stunt double- all applications should include a picture of yourself wearing a bearskin cape and a three (3) page essay on the personal habits of your favorite crustacean.
Contact Information:
email:
''mojiferous@mojiferous.com ''
snail mail:
''1135 Broadway #705
Denver, CO 80203 ''
[img[Atomic Combat 1.0!|files/atomc3.png]]
|>|Features|h
|1.|Full Nuclear Combat!|
|2.|Research new technologies!|
|3.|Complete and utter destruction!|
| | |
|>|Requirements|h
|0.|A Macintosh Computer thing|
|1.|OS X 10.4 or later|
|2.|Sound|
|3.|Shirt|
|4.|Shoes|
|5.|A little time|
| | |
|>|Downloads|h
|Version 1.0:|[img[Atomic Combat 1.0|images/trackback.png][files/accurrent.zip]][[Atomic Combat 1.0|files/accurrent.zip]]|
|Instructions:|[img[Instructions|images/trackback.png][files/acinstructions.pdf]][[Atomic Combat Instructions|files/acinstructions.pdf]]|
|Movie #1|[img[openseq.mov|images/trackback.png][files/openseq.mov]][[The opening sequence movie I made for the game|files/openseq.mov]]|
|Movie #2|[img[closeseq.mov|images/trackback.png][files/closeseq.mov]][[The closing sequence movie I made for the game|files/openseq.mov]]|
| |Both of the above movies feature music by Superstar Broccoli Colossus|
!!What the hell is it?
Atomic Combat is a 'location guessing' game in the spirit of Battleship: You have factories, cities, research centers, reactors, silos, airfields and hopefully enough nuclear weapons to destroy your three closest neighbors. However you don't know where their resources and cities are... You are firing blind into a grid of possible locations, trying desperately to maim, kill, or irradiate as many citizens of your alleged 'enemies' as possible- problem is that they're doing the same... Research new and more powerful weapons, send out bombers and missiles, and generally cause mayhem and destruction!
----
!!And why did it taking you so long?
I started Atomic Combat about a year ago, intending to write an ambiguous game of mass destruction centered around diplomacy and tact... Problem was that diplomacy and tact are pretty dry subjects and my AI was way too complicated; the game was called Atomic Combat, but the possibility of actually engaging in a nuclear confrontation was low at best- So I changed the game completely, removed any kind of diplomacy and just made a nice fairly straight-forward game about mass destruction.
[img[Desktop Cigarette 1.0.1 in action|files/deskcig105.jpg]]
|>|Features|h
|1.|Animated "smoke"|
|2.|Multiple Ashtrays!|
|R.|Butt collection! (not available in widget)|
|4.|Completely Useless! (Fully available in widget)|
|5.|Universal Binary!!!|
|6.|Fully Leopard Compatible! (umm... not v1.0)|
| | |
|>|Requirements|h
|1a.|OS X 10.3 or 10.4... (version 1.0)|
|1b.|OS X 10.4 or Later... (version 1.0.1)|
|1c.|OS X 10.4.7 or Later... (widget)|
|2.|Monkey wrench|
|3.|Disposable Beard|
|4.| |
| | |
|>|Downloads|h
|Widget Version:|[img[Desktop Cigarette Widget|images/trackback.png][files/DeskCigWidg.zip]][[Desktop Cigarette Widget|files/DeskCigWidg.zip]]|
|1.0.1 for Leopard:|[img[Desktop Cigarette 1.0.1|images/trackback.png][files/Deskcig101.zip]][[Desktop Cigarette 1.0.1|files/Deskcig101.zip]]|
|1.0 for 10.3 & 10.4|[img[Desktop Cigarette 1.0|images/trackback.png][files/Desktop_Cigarette_1.0.zip]][[Desktop Cigarette 1.0|files/Desktop_Cigarette_1.0.zip]]|
!!Facts and Figures
I think I need a smoke break...
Desktop Cigarette is the acme of useless junk!! The Ultimate in unnecessary accessories! An animated ashtray and cigarette for your dock (?!) Now with four (4!!) different ashtrays, butt collection, and better looking smoke- just what every smorker needs!
(actual needs of smorker may vary)
----
!About the widget:
I made Desktop Cigarette into a widget because I broke the application version real good readying it for Leopard (OSX 10.5) I currently have back-burner plans to repair the App, but since the widget is seemingly 1000x more popular, it's not likely to happen.
Includes all four ashtrays from the app, PLUS a cigar and a random and out-of-place overly-transparent teapot!
!!!Version 1.0.1 works under OSX 10.5, however it has a pretty active memory leak... I have tracked the offending call down, but Desktop Cigarette now needs a complete overhaul to plug the leak... the program works fine, it'll just slowly eat your memory! Beware!
I have added the link to Version 1.0 again, so if you AREN'T running Leopard, please download 1.0!
----
For the Desktop Cigarette Widget: Mac OS X 10.4.7 Tiger or better is required. If you're using Safari, click the download link. When the widget download is complete, Show Dashboard, click the Plus sign to display the Widget Bar and click the widget's icon in the Widget Bar to open it. If you're using a browser other than Safari, click the download link. When the widget download is complete, unarchive it and place it in /Library/Widgets/ in your home folder. Show Dashboard, click the Plus sign to display the Widget Bar and click the widget's icon in the Widget Bar to open it. (Thank you Apple!)
![img[Zoltan!|images/trackback.png][files/zoltcurrent.zip]][[Zoltan!|files/zoltcurrent.zip]]
Zoltan 2.0
![img[Atomic Combat 1.1|images/trackback.png][files/accurrent.zip]][[Atomic Combat|files/accurrent.zip]]
Atomic Combat 1.1
![img[Desktop Cigarette (App for Leopard)|images/trackback.png][files/Deskcig101.zip]][[Desktop Cigarette (App for Leopard)|files/Deskcig101.zip]]
Desktop Cigarette 1.0.1 -- !!!Leaks Memory! See the [[Desktop Cigarette]] Program Page
![img[Desktop Cigarette (Stable for 10.3 or 10.4)|images/trackback.png][files/Desktop_Cigarette_1.0.zip]][[Desktop Cigarette (Stable for 10.3 or 10.4)|files/Desktop_Cigarette_1.0.zip]]
Desktop Cigarette 1.0
![img[Desktop Cigarette (Widget! for 10.4.7+)|images/trackback.png][files/DeskCigWidg.zip]][[Desktop Cigarette (Widget! for 10.4.7+)|files/DeskCigWidg.zip]]
Desktop Cigarette Widget! Dashboard ready!
![img[Lobster Petting|images/trackback.png][files/Lobster_1.5.zip]][[Lobster Petting|files/Lobster_1.5.zip]]
Lobster Petting 1.5
![img[Heat Stroke|images/trackback.png][files/Heat_Stroke.zip]][[Heat Stroke|files/Heat_Stroke.zip]]
Heat Stroke 1.0
![img[Motor Pants!|images/trackback.png][files/Motor_Pants.zip]][[Motor Pants!|files/Motor_Pants.zip]]
Motor Pants!
!You do realize that lobsters are only red after cooking and therefore wouldn't make any noise...
^^Firstly, this isn't really a question. Secondly, most lobsters don't speak, disco, or wear a fez, so... Why the hell would anyone have a problem with a cooked lobster? No one ever remarks that lobsters don't squeak or mumble even when they are alive, but the damn thing is cooked and suddenly reality comes into play? You people are crazier than I am! ^^
!What is the point of Lobster Petting, Desktop Cigarette, etc.?
^^Wellllll... there isn't one. If you need software with a use , please look elsewhere. Next! ^^
!Desktop Cigarette: Cigarettes, tobacco industry, cancer, etc.?!?!?
^^Yes, I realize that smoking is bad for you. So does anyone else who hasn't been living in a cave for the last 40 years. Yes it does cause cancer, but apparently so do many other things some people enjoy. No, I'm not being paid by the tobacco industry to promote smoking. If you believe that your son/daughter/dog/parasitic twin is attracted to smoking because of Desktop Cigarette, you need to immediately stop taking the psychotropic drugs, come back to reality, and stop blaming everything on external factors. Final statement: I am also not the person for your Carrie Nation rant about outlawing smoking, stories about Uncle Fred who talked through a hole in his throat, or general rants about other things I can do nothing about and don't give two shits about. So stuff it. ^^
!What about PC ports?
^^Finally, a real question... I'm in the process of deciding which programs to port and when. Most everything is easily translated over to PC or Linux, or whatever, but almost every one of my programs has a slew of Mac-specific calls and functions that I have to get around... Even something as simple as an about box is natively supported on Mac, but not on any other system... So it might be a while. Patience.^^
!And what about Palm, Linux, iPhone, DEC, Solaris, Apple II, DOS, ENIAC, Calculator Watch, or whatever other ludicrous port you can think of?
^^When I can afford to pay for my own staff of programming robots that shoot lasers from their eyes and defend my laboratory from all invaders, I will port everything to your damned Cray, alright? ^^
!Would you make [insert program here]?
^^Probably, yes. As long as you don't want a baby seal clubbing program or something equally vile, I am open to both ideas and custom software. I charge based on a complicated formula derived from the relative difficulty of your project, the position of Venus, a fake mythology I've developed based on the reproductive cycle of the common catfish, and the current price of a new pair of shoes in Bahrain. You can contact me using the link at the bottom of the page. ^^
!Would you design my website?
^^Possibly. If you want a whole bunch of crazy animation, hardcore SQL junk, or an insane amount of features, I will more than likely tell you to either a) pay me your equivalent weight in gold bullion or b) to stuff it. Why I get this question at all is beyond me, but I guess if you really have something that doesn't involve rebuilding the fucking pyramids, I'll do it... ^^
!What's the deal with the "donate" button or the ads on the bottom?
^^I pay for my own web hosting, make all this crappy software during my free time, and work for nearly nothing at a record store... So Mojiferous Industries is always in the red. I don't actually expect anyone to ever donate, but I figure it doesn't hurt to try, right? ^^
/***
|''Name:''|FieldsEditorPlugin|
|''Description:''|//create//, //edit//, //view// and //delete// commands in toolbar <<toolbar fields>>.|
|''Version:''|1.0.2|
|''Date:''|Dec 21,2007|
|''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Author:''|Pascal Collin|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.2.0|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0, others|
!Demo:
On [[homepage|http://visualtw.ouvaton.org/VisualTW.html]], see [[FieldEditor example]]
!Installation:
*import this tiddler from [[homepage|http://visualtw.ouvaton.org/VisualTW.html]] (tagged as systemConfig)
*save and reload
*optionnaly : add the following css text in your StyleSheet : {{{#popup tr.fieldTableRow td {padding:1px 3px 1px 3px;}}}}
!Code
***/
//{{{
config.commands.fields.handlePopup = function(popup,title) {
var tiddler = store.fetchTiddler(title);
if(!tiddler)
return;
var fields = {};
store.forEachField(tiddler,function(tiddler,fieldName,value) {fields[fieldName] = value;},true);
var items = [];
for(var t in fields) {
var editCommand = "<<untiddledCall editFieldDialog "+escape(title)+" "+escape(t)+">>";
var deleteCommand = "<<untiddledCall deleteField "+escape(title)+" "+escape(t)+">>";
var renameCommand = "<<untiddledCall renameField "+escape(title)+" "+escape(t)+">>";
items.push({field: t,value: fields[t], actions: editCommand+renameCommand+deleteCommand});
}
items.sort(function(a,b) {return a.field < b.field ? -1 : (a.field == b.field ? 0 : +1);});
var createNewCommand = "<<untiddledCall createField "+escape(title)+">>";
items.push({field : "", value : "", actions:createNewCommand });
if(items.length > 0)
ListView.create(popup,items,this.listViewTemplate);
else
createTiddlyElement(popup,"div",null,null,this.emptyText);
}
config.commands.fields.listViewTemplate = {
columns: [
{name: 'Field', field: 'field', title: "Field", type: 'String'},
{name: 'Actions', field: 'actions', title: "Actions", type: 'WikiText'},
{name: 'Value', field: 'value', title: "Value", type: 'WikiText'}
],
rowClasses: [
{className: 'fieldTableRow', field: 'actions'}
],
buttons: [ //can't use button for selected then delete, because click on checkbox will hide the popup
]
}
config.macros.untiddledCall = { // when called from listview, tiddler is unset, so we need to pass tiddler as parameter
handler : function(place,macroName,params,wikifier,paramString) {
var macroName = params.shift();
if (macroName) var macro = config.macros[macroName];
var title = params.shift();
if (title) var tiddler = store.getTiddler(unescape(title));
if (macro) macro.handler(place,macroName,params,wikifier,paramString,tiddler);
}
}
config.macros.deleteField = {
handler : function(place,macroName,params,wikifier,paramString,tiddler) {
if(!readOnly && params[0]) {
fieldName = unescape(params[0]);
var btn = createTiddlyButton(place,"delete", "delete "+fieldName,this.onClickDeleteField);
btn.setAttribute("title",tiddler.title);
btn.setAttribute("fieldName", fieldName);
}
},
onClickDeleteField : function() {
var title=this.getAttribute("title");
var fieldName=this.getAttribute("fieldName");
var tiddler = store.getTiddler(title);
if (tiddler && fieldName && confirm("delete field " + fieldName+" from " + title +" tiddler ?")) {
delete tiddler.fields[fieldName];
store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags,tiddler.fields);
story.refreshTiddler(title,"ViewTemplate",true);
}
return false;
}
}
config.macros.createField = {
handler : function(place,macroName,params,wikifier,paramString,tiddler) {
if(!readOnly) {
var btn = createTiddlyButton(place,"create new", "create a new field",this.onClickCreateField);
btn.setAttribute("title",tiddler.title);
}
},
onClickCreateField : function() {
var title=this.getAttribute("title");
var tiddler = store.getTiddler(title);
if (tiddler) {
var fieldName = prompt("Field name","");
if (store.getValue(tiddler,fieldName)) {
window.alert("This field already exists.");
}
else if (fieldName) {
var v = prompt("Field value","");
tiddler.fields[fieldName]=v;
store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags,tiddler.fields);
story.refreshTiddler(title,"ViewTemplate",true);
}
}
return false;
}
}
config.macros.editFieldDialog = {
handler : function(place,macroName,params,wikifier,paramString,tiddler) {
if(!readOnly && params[0]) {
fieldName = unescape(params[0]);
var btn = createTiddlyButton(place,"edit", "edit this field",this.onClickEditFieldDialog);
btn.setAttribute("title",tiddler.title);
btn.setAttribute("fieldName", fieldName);
}
},
onClickEditFieldDialog : function() {
var title=this.getAttribute("title");
var tiddler = store.getTiddler(title);
var fieldName=this.getAttribute("fieldName");
if (tiddler && fieldName) {
var value = tiddler.fields[fieldName];
value = value ? value : "";
var lines = value.match(/\n/mg);
lines = lines ? true : false;
if (!lines || confirm("This field contains more than one line. Only the first line will be kept if you edit it here. Proceed ?")) {
var v = prompt("Field value",value);
tiddler.fields[fieldName]=v;
store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags,tiddler.fields);
story.refreshTiddler(title,"ViewTemplate",true);
}
}
return false;
}
}
config.macros.renameField = {
handler : function(place,macroName,params,wikifier,paramString,tiddler) {
if(!readOnly && params[0]) {
fieldName = unescape(params[0]);
var btn = createTiddlyButton(place,"rename", "rename "+fieldName,this.onClickRenameField);
btn.setAttribute("title",tiddler.title);
btn.setAttribute("fieldName", fieldName);
}
},
onClickRenameField : function() {
var title=this.getAttribute("title");
var fieldName=this.getAttribute("fieldName");
var tiddler = store.getTiddler(title);
if (tiddler && fieldName) {
var newName = prompt("Rename " + fieldName + " as ?", fieldName);
if (newName) {
tiddler.fields[newName]=tiddler.fields[fieldName];
delete tiddler.fields[fieldName];
store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags,tiddler.fields);
story.refreshTiddler(title,"ViewTemplate",true);
}
}
return false;
}
}
config.shadowTiddlers.StyleSheetFieldsEditor = "/*{{{*/\n";
config.shadowTiddlers.StyleSheetFieldsEditor += ".fieldTableRow td {padding : 1px 3px}\n";
config.shadowTiddlers.StyleSheetFieldsEditor += ".fieldTableRow .button {border:0; padding : 0 0.2em}\n";
config.shadowTiddlers.StyleSheetFieldsEditor +="/*}}}*/";
store.addNotification("StyleSheetFieldsEditor", refreshStyles);
//}}}
[img[Heat Strokin!|files/page6_1.png]]
|>|Features|h
|1.|Glorious Black & White|
|2.|Test Tube Excitement!|
|5b.|Mustache Manger 1.0|
|5.|Universal Binary!!!|
| | |
|>|Requirements|h
|1.|OS X 10.3 or Later...|
|2.|A Keyboard|
|3.|The Quicktime|
|4.|An index finger|
| | |
|>|Downloads:|h
| |[img[Heat Stroke 1.0|images/trackback.png][files/Heat_Stroke.zip]][[Heat Stroke 1.0|files/Heat_Stroke.zip]]|
!!History
My good friend and co-worker Kloewer actually came up with this one. While outside on a smoke break, a little toy dog locked in a car attempted to assault us through a closed window... After wishing harm upon a little dog locked in a car, Kloewer came up with this horrible idea and I ran with it.
That's right! You've become an irresponsible parent racing against time trying to fill your shopping list! Gather mustaches, hamburgers, cheese and Product™ before the temperature reaches 120º!!! What does it all mean?!?! We don't know! But it sure is entertaining! With every level the initial temperature gets higher and your shopping list gets longer. Collect mustaches and use Mojiferous Industries' Patented Mustache Manager to upgrade your character's facial hair! All of this while enjoying the glorious black and white!
!!Facts and Figures
Heat Stroke is a strange little Pacman-like clone, based around the idea that you have left your baby/pet in a locked car on a hot day and you have to go shopping before they die from heat stroke. This involves a race against the clock (in the form of a thermometer), while you try to gather products- the only problem is that there are other customers trying to buy the same products. Products are represented by icons (hamburgers, cheese, a mustache, and Product) and are only present on the game board one at a time. There are currently 8 other customers, who will stop you for a few seconds if they come into contact with your character. The entire game is grayscale- I tried to make it look like some kind of 50's advertisement on TV... You score "points" in Heat Stroke by collecting mustaches- allowing you to access the Mustache Manager, where you can upgrade your character's facial hair and add features like monocles, top hats, eye patches and the like.
~~Disclaimer: Obviously, we do not condone locking either your children or your pets in a car on a hot day (or any day for that matter; take your kids with you, leave your pets at home... If they can't come in the store, don't take them along!). If you do however, not only are you an evil brainless nitwit, but you also do not deserve to have kids or pets. That being said, Please realize that this game is entertainment, not real life, so please don't send me hate mail nor hold me responsible for your own failings as a parent/owner. Enjoy!
!!Possible Features
Based loosely on Mille Bornes, Hobokard would put the player into the role of a train-riding tramp, battling the computer to get from point a to point b fastest. Game play would involve drawing or playing cards that represent mileage, hazards, safeties, etc. I had rough ideas of what the hazards would be, including angry hobos, work bums, train derailment, taking the wrong train, etc. Safeties would have to counteract the hazard, for example a train map & timetable would let you avoid taking the wrong train, a broken bottle or peace-making booze would hold off an angry hobo... I had thoughts of making the trips true to life, for example a train ride from Denver to Omaha would be around 800 miles or train ride, but I fear that I don't know the train system and acceptable tramping routes well enough to make a faithful re-creation. More research would have to be done.
!!Idea History
I came up with Hobokard while drinking one night at my favorite local bar (a little hole in the wall that everyone calls Bar Bar...) Long story short, one of the bartenders is a good friend of mine and also a sometime tramp. He was rambling about riding trains and waxing poetic hobo-style... I drunkenly told him that someone should make a good old-fashioned hobo adventure game, because 1) no one has done it yet, and 2) it would be interesting. I sobered up and downgraded my formerly grand vision to the current Mille Bornes idea.
!!Possibility of a finished product:
Fairly low at this point. I have some graphics finished, but when trying to design the AI, I realized that my knowledge of Mille Bornes strategy is nil. I would hate to make a Mille Bornes clone that had a crappy AI that any experienced player could easily play past. I guess I'll have to make a basic version and play against it until I can tweak it into respectability.
Dedicated to producing useless crap!
Mojiferous Industries is the worlds #1 producer of binary Dadaism and the second leading septuagenarian washer in the western hemisphere! Please take a short moment to familiarize yourself with our work.
----
From here you can explore the craziness behind and about Mojiferous Industries programs like [[Lobster Petting]], [[Desktop Cigarette]], [[Zoltan]], [[Heat Stroke]], [[Motor Pants]], and [[Atomic Combat]]...
----
You can also explore some other Hoohah like The [[Mojiferstore]], Mojiferous Industries [[Philosophy]], or [[Ideas and Future Projects]] from Mojiferous Industries...
Dedicated to producing useless crap!
Mojiferous Industries is the worlds #1 producer of binary Dadaism and the second leading septuagenarian washer in the western hemisphere! Please take a short moment to familiarize yourself with our work.
----
From here you can explore the craziness behind and about Mojiferous Industries programs like [[Lobster Petting]], [[Desktop Cigarette]], [[Zoltan]], [[Heat Stroke]], [[Motor Pants]], and [[Atomic Combat]]...
----
You can also explore some other Hoohah like The [[Mojiferstore]], Mojiferous Industries [[Philosophy]], or [[Ideas and Future Projects]] from Mojiferous Industries...
!Welcome to our Idea depository, where good ideas come to die!!
!!Works In Progress:
[[Atomic Combat]]
!!Crap In Planning:
[[Steampunk Western]]
!!Other Ideas... Not crappy nor really fully planned
[[Zombie Attack]]
[[Weezilkard]]
!!Rotten Ideas:
[[Hobokard]]
[[Robot Battle]]
[[Virus Game]]
version.extensions.inlineJavascript= {major: 1, minor: 4, revision: 0, date: new Date(2006,1,5)};
config.formatters.push( {
name: "inlineJavascript",
match: "\\<script",
lookahead: "\\<script(?: src=\\\"((?:.|\\n)*?)\\\")?(?: label=\\\"((?:.|\\n)*?)\\\")?\\>((?:.|\\n)*?)\\</script\\>",
handler: function(w) {
var lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
if (lookaheadMatch[1]) { // load a script library
// make script tag, set src, add to body to execute, then remove for cleanup
var script = document.createElement("script"); script.src = lookaheadMatch[1];
document.body.appendChild(script); document.body.removeChild(script);
}
if (lookaheadMatch[2] && lookaheadMatch[3]) { // create a link to an 'onclick' script
// add a link, define click handler, save code in link (pass 'place'), set link attributes
var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",lookaheadMatch[2]);
link.onclick=function(){try{return(eval(this.code))}catch(e){alert(e.description?e.description:e.toString())}}
link.code="function _out(place){"+lookaheadMatch[3]+"};_out(this);"
link.setAttribute("href","javascript:;"); link.setAttribute("title",""); link.style.cursor="pointer";
}
else if (lookaheadMatch[3]) { // run inline script code
var code="function _out(place){"+lookaheadMatch[3]+"};_out(w.output);"
code=code.replace(/document.write\(/gi,'place.innerHTML+=(');
try { var out = eval(code); } catch(e) { out = e.description?e.description:e.toString(); }
if (out && out.length) wikify(out,w.output);
}
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
}
}
} )
!Categories
<<allTags>>
!Navigatimatron
[[Mojiferblog|http://mojiferous.blogspot.com/]]
<<newTiddler>>
<<newJournal 'DD MMM YYYY' journal>>
''<html><a href="http://www.mcbya.net/" target=_blank><img src="images/trackback.png">The Republic of Thoronia</a></html> ''
My friend King Thor lets you know what to wear and how dolphins relate to everything.
''<html><a href="http://doctorwidget.com/?p=7" target=_blank><img src="images/trackback.png">The Lobster Widget</a></html> ''
The good Dr. Widget made a widget version of the original Lobster Petting! Neat!
''<html><a href="http://cmkloewer.wordpress.com/" target=_blank><img src="images/trackback.png">Kloewer's Blog</a></html> ''
This is my friend Mr. Kloewer. He has a blog. See his blog. Blog Kloewer, blog.
''<html><a href="http://rateyourmusic.com/~mojiferous" target=_blank><img src="images/trackback.png">Rate Your Music</a></html> ''
An obsession of mine. This is my page... I have a record problem.
''<html><a href="http://www.twistandshout.com" target=_blank><img src="images/trackback.png">Twist and Shout</a></html> ''
I work in a record store...
''<html><a href="http://www.macupdate.com" target=_blank><img src="images/trackback.png">MacUpdate.com</a></html> ''
Always willing to host one of my crappy programs for free... They even have useful software!
''<html><a href="http://www.myspace.com/superstarbroccolicolossus" target=_blank><img src="images/trackback.png">Superstar Broccoli Colossus</a></html> ''
This is umm... my "band", almost like saying "this is my tumor, yes you can touch it." but without the fun of having a tumor. I wouldn't say the music is good... but it does exist.
[img[Lobster, Regular|files/page2_11.jpg]][img[Lobster, Disco|files/page2_2.jpg]][img[Lobster, Boiled|files/page2_3.jpg]]
|>|Features|h
|1.|Sound!|
|2.|Graphics!|
|3.|Disco!|
|D.|Universal Binary|
| | |
|>|Requirements|h
|I.|A Macintosh (just about any will do)|
|III.|OS X 10.2+|
|IV.|RAM (any)|
|V.|A working monitor|
|VI.|Functioning sound|
|X.|Pants (please don’t pet the lobster pantsless, much less naked.)|
| | |
|>|Downloads|h
| |[img[Lobster Petting 1.5|images/trackback.png][files/Lobster_1.5.zip]][[Lobster Petting 1.5|files/Lobster_1.5.zip]]|
!!History
Lobster Petting was originally released in 1996 for System 7. After many seemingly pointless ports (for Windows, DOS, Linux, the HP 48G calculator, and aborted attempts to Apple BASIC) development was abandoned. OS X came along and the Lobster Petting development team quietly ignored the need for a Darwin port. However, 2007 will be forever hailed as a glorious year because the Admiral Colossus (née Master Slack) put on his programming slacks and shat out not only a OS X port, but a Universal port.
!!Facts and Figures
Okay... So what the hell is it?
Well... It is a picture of a lobster. Using the mouse, you “pet” the lobster by clicking on it. It squeaks. Repeat. Enjoy.
~Lobster Petting 1.5
Now 50% more useless! I’ve added options to change the background color, a fez, boiling!, and the ever-popular disco! Version 1.5 also features three new unpopular tunes (written by the ever-so-unpopular <html><a href="http://www.myspace.com/superstarbroccolicolossus" target=_blank>Superstar Broccoli Colossus</a></html> and a few new sound effects (including the much-requested Johnny Dangerously sound clip from the old version!)
<html><div align="center"><iframe src="mojifwidg/widg.html" frameborder="0" width="250" height="320"></iframe></div></html>
Aenean eros arcu, condimentum nec, dapibus ut, tincidunt sit amet, urna. Quisque viverra, eros sed imperdiet iaculis, est risus facilisis quam, id malesuada arcu nulla luctus urna. Nullam et est. Vestibulum velit sem, faucibus cursus, dapibus vestibulum, pellentesque et, urna. Donec luctus. Donec lectus. Aliquam eget eros facilisis tortor feugiat sollicitudin. Integer lobortis vulputate sapien. Sed iaculis erat ac nunc. Etiam eu enim. Mauris ipsum urna, rhoncus at, bibendum sit amet, euismod eget, dolor. Mauris fermentum quam vitae ligula. Vestibulum in libero feugiat justo dictum consectetuer. Vestibulum euismod purus eget elit. Nunc sed massa porta elit bibendum posuere. Nunc pulvinar justo sit amet odio. In sed est. Phasellus ornare elementum nulla. Nulla ipsum neque, cursus a, viverra a, imperdiet at, enim. Quisque facilisis, diam sed accumsan suscipit, odio arcu hendrerit dolor, quis aliquet massa nulla nec sem.
!heading 1
!!heading 2
!!!heading3
----
<<tag button>>
This is a link to a [[StyleSheet]] tiddler.
> This is a blockquote
> This is a blockquote
> This is a blockquote
|>|>| !This is a header |h
|column1|column2|column3|
|row2| row2 |row2|
|column1|column2|column3|
|row2| row2 |row2|
|column1|column2|column3|
|row2| row2 |row2|
<<tagsTree menu "" 1 4 index label>>
| |[img[The Admiral|images/mee.jpg]]|
| |~~Admiral Mojiferous J Colossus, Esq. ~~|
''Currently: ''Producing gases.
''About Me: ''My laboratory is currently located within the city of Denver, Colorado. Safely hidden within the confines of my lair, I release useless things and worthless crap. Beware!
''Things I Like: ''Lobsters, Pants, Suprematism & Cubo-Futurism, Pants, Donkeys, music made by winos, Beards, Trousers, and long walks off short piers.
''Dislikes: ''Puppies wearing pants, monsters.
!All Items in the Mojiferstore are available through [[Zazzle.com|http://www.zazzle.com]]
[img[Mojifertastic!|http://rdr.zazzle.com/img/imt-prd/isz-m/pd-217127480804203915/tl-mojifertastic_sticker.jpg][http://www.zazzle.com/mojifertastic_sticker-217127480804203915?CMPN=ltt]]
Mojifertastic! Sticker ($4.95 + shipping)
[img[Mojiferous Button|http://rdr.zazzle.com/img/imt-prd/isz-m/pd-145436018321440247/tl-mojiferous_button.jpg][http://www.zazzle.com/mojiferous_button-145436018321440247?CMPN=ltt]]
Mojiferous! Button ($1.35 + shipping)
[img[Motorpants Motorsports|http://rdr.zazzle.com/img/imt-prd/isz-m/pd-128296279324843564/tl-motorpants_bumpersticker.jpg][http://www.zazzle.com/motorpants_bumpersticker-128296279324843564?CMPN=ltt]]
Motor Pants Bumper Sticker! ($3.95 + shipping)
[img[Lobster Mug|http://rdr.zazzle.com/img/imt-prd/isz-s/pd-168073105645961627/tl-worlds_1_lobster_petter_mug.jpg][http://www.zazzle.com/worlds_1_lobster_petter_mug-168073105645961627?CMPN=ltt]]
Worlds #1 Lobster Petter Mug ($12.95 + shipping)
[img[Mojiferous 3D Shirt|http://rdr.zazzle.com/img/imt-prd/isz-s/pd-235531389460947211/tl-mojiferous_industries_3d_shirt.jpg][http://www.zazzle.com/mojiferous_industries_3d_shirt-235531389460947211?CMPN=ltt]]
Mojiferous Industries 3d Shirt! ($14.95 + shipping)
[img[Mojiferous 3D Dark Color|http://rdr.zazzle.com/img/imt-prd/isz-s/pd-235075417780510339/tl-mojiferous_industries_3d_shirt.jpg][http://www.zazzle.com/mojiferous_industries_3d_shirt-235075417780510339?CMPN=ltt]]
Mojiferous Industries 3d Shirt (Dark Color) ($19.95 + shipping)
[img[Blackened Blackness|http://rdr.zazzle.com/img/imt-prd/isz-s/pd-235719821349779656/tl-mojiferous_blackened_blackness_tour_2008_shirt.jpg][http://www.zazzle.com/mojiferous_blackened_blackness_tour_2008_shirt-235719821349779656?CMPN=ltt]]
Mojiferous Industries Blackened Blackness Tour 2008 Shirt! ($22.95 + shipping)
[img[Lobster Petting Tshirt|http://rdr.zazzle.com/img/imt-prd/isz-s/pd-235687142444411439/tl-lobster_petting_the_t_shirt.jpg][http://www.zazzle.com/lobster_petting_the_t_shirt-235687142444411439?CMPN=ltt]]
Lobster Petting the T-shirt! ($18.95 + shipping)
!!I know it's all a little pricey... But I don't really feel like hand screening shirts in my living room, so deal with it.
[img[Motor Pantsery|files/page8_1.png]]
|>|Features|h
|1.|Manless pant racing!|
|2.|Coins!|
|r.|Universal Binary!!!|
|9.|Trousers! Trousers! Trousers!|
|5.|A semi-useful help system<|
| | |
|>|Requirements|h
|1.|OS X 10.4 or Later...|
|2.|A Keyboard & Mouse|
|3.|The Quicktime|
|4.|Eyeballs|
|5.|PANTS!|
| | |
|>|Downloads|h
| |[img[HMotor Pants 1.0|images/trackback.png][files/Motor_Pants.zip]][[Motor Pants 1.0|files/Motor_Pants.zip]]|
!!Features & Requirements
Motor Pants is full of pant racing excitement! Combine coin values to propel your pants beyond all of your competitors, racing against 25 computer-controlled Trousers! Kind of a ultra-simple bastard child of so many gem or coin matching games... The game board is a variable size grid of coins, each coin has a value between 1 and 9 to start; you can combine any two coins that border each other, no matter the value- you receive the number of points of the larger of the two values, if the values are equal, you receive the sum of both (so, for example, you combine a 3 and a 5, you get 5 points... but two 3's combined nets you 6 points.) The coin you "moved" disappears and a coin with the value of the sum of the two combined coins takes the place of the second coin (so in the example above, the resultant coins would be 8 and 6.) Coins above the moved coin move down the grid. The best strategy for the game is obviously to try to combine coins of equal value in the largest denominations possible. Scores can go into the thousands from just a 7x10 grid...
!!History
After 6 months of the clusterfuck I call [[Atomic Combat]] I wanted to start a project that was a) easy to implement, and b) simple to use. So what is easier than a simple mathematics-based coin game, right? One of my friends wrote a simple and strange program called Motor Pants for the PC back in 1998, involving a pair of pants that zoomed at you, yelling in german, and lots of motor sounds. It never went too far... (oddly enough)
!!Facts and Figures
My first program to implement fully functional Apple Help, the graphics were inspired by 8-bit Nintendo games...
04/19/08 - [[Zoltan]] Has been updated to version 2.0!
<!--{{{-->
<div id="pageHeader">
<div id="monster"></div>
<h9>Mojiferous Industries</h9>
<h8>Fauvist Pottytime!</h8>
</div>
<div id="navcontainer">
<ul>
<li><a>Donate To Mojiferous Industries!</a>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIHkAYJKoZIhvcNAQcEoIIHgTCCB30CAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYBRng7QMZpzU8qkh//LA7UxDj5yM9cj/JL2JJKSnob2kiO6baPVPV7F5AUv2fiuyJVd640rHhu3YD1/HReDP0H921QmPHmV1CmWrikmrCWU+zhvEbTzNcr9/7+MrY784/RM6Cipk2QAbIBpOf/dXRhG7yhdCBNHdg1ijTJjJukCDTELMAkGBSsOAwIaBQAwggEMBgkqhkiG9w0BBwEwFAYIKoZIhvcNAwcECM/l01FmdeuUgIHoYtkGz50R6usENcteeFGqJhOaIztIqe4FMOvt4Y0ojxnwE9LlDEM9TmeVw58Hw3Hx+3xddY4jT6X8LzGTRuewuBLTyiDIgaJ6Kxk6ta3mmgglVUVhDx49HrnyZu5TYpYgE80RNmIB5A74AE41ycNv2Cc783kot+9iAIKczh638tIFJ/te3HoWa9DGOuruHBNbnTyQNebR5BoIaldZuJ+MfPV+S7G93Mu8jv/0R8x/F0vQxcUIh2R1S7Gm8oUfrC48UcuQy0gZZSx9rrTNErawgvmkXQuqIi8/Ts0rKDrUioJPFPlvb936kqCCA4cwggODMIIC7KADAgECAgEAMA0GCSqGSIb3DQEBBQUAMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTAeFw0wNDAyMTMxMDEzMTVaFw0zNTAyMTMxMDEzMTVaMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwUdO3fxEzEtcnI7ZKZL412XvZPugoni7i7D7prCe0AtaHTc97CYgm7NsAtJyxNLixmhLV8pyIEaiHXWAh8fPKW+R017+EmXrr9EaquPmsVvTywAAE1PMNOKqo2kl4Gxiz9zZqIajOm1fZGWcGS0f5JQ2kBqNbvbg2/Za+GJ/qwUCAwEAAaOB7jCB6zAdBgNVHQ4EFgQUlp98u8ZvF71ZP1LXChvsENZklGswgbsGA1UdIwSBszCBsIAUlp98u8ZvF71ZP1LXChvsENZklGuhgZSkgZEwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAgV86VpqAWuXvX6Oro4qJ1tYVIT5DgWpE692Ag422H7yRIr/9j/iKG4Thia/Oflx4TdL+IFJBAyPK9v6zZNZtBgPBynXb048hsP16l2vi0k5Q2JKiPDsEfBhGI+HnxLXEaUWAcVfCsQFvd2A1sxRr67ip5y2wwBelUecP3AjJ+YcxggGaMIIBlgIBATCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA3MTExNzA0NDMwM1owIwYJKoZIhvcNAQkEMRYEFOpirlmGSSHlPcziQPP36x1xE6COMA0GCSqGSIb3DQEBAQUABIGAJMsUB26CzGmvYQcUIJekmGiUKvFBreig3nzr0bIXWbYOxQmi/FNPgZayvp7iAL85PnH5LR/LR3P+48sKFMk/okXigcs+R/rP7x3XANJZDHZEvIQ6VeFQsWcmocefWS0aXqjoZ7GWTPwURt12hdYGTvO79tORvom/i1PfB4LVK/U=-----END PKCS7-----
">
</form>
</li>
</ul>
</div>
<div id="container">
<!-- Start container -->
<div id="top"></div>
<div id="contentContainer">
<!-- Start main content wrapper -->
<div id="content">
<br/>
<div id='sidebar'>
<div id='sidebarSearch' macro='search'></div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebarOptions' refresh='content' tiddler='KubrickSidebar'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'>
</div>
<br>
</div>
<div id='contentFooter'>
<p>© 2008 Mojiferous Industries <a href="mailto:mojiferous@mojiferous.com">Contact</a></p>
<br><br>
</div>
</div>
</div>
</div>
</div>
<!--}}}-->
!The Mojiferous Philosophy:
In other words, Why the hell do we do what we do?
This may seem like a simple question to answer, at least for most software developers, but not so for us here at Mojiferous Industries. A majority of our output is strange, useless, and seemingly pointless- and its hard to justify or explain exactly what we're trying to do here, but I'm going to try...
!The Computer as a part of life:
That's right, I went there... I used one of the most mindless and ridiculous phrases ever to come out of the 1990's, the argument used to sell an endless stream of computers to wary housewives, the catch-phrase that ensured Wired magazine could sell their wares, the cut-n-paste headline of every writer and blogger worth their salt in the 90's, the concept that launched a million failed dot-coms...
You see, I was born the same year as the Apple II, and I have never known a world without personal computing and digital gadgetry. I have owned a million little gadgets pushing 1's and 0's: calculator watches, programmable calculators, calculating engines, digital underwear... I have always had a computer somewhere around me; something to play games on, to manipulate pixels, to turn text to type. I have grown up accustomed to a screen blasting my retinas with radiation, the warm hum and subtle sounds of hard drive access... My computer has a name; it has become family. So many of the aforementioned blunders and poggits reference the computer as a tool, like an expensive hammer used to reach an end, not an end unto itself. What they don't realize is that the generation right behind them has already grown accustomed to their amazing invention, and once the awe has worn off, it becomes a part of everyday life.
!Finally, the Point:
Which is where Mojiferous Industries comes in: Making programs ''AS'' art, not for art- the programs themselves are little artistic statements in and of themselves. I have gotten plenty of derision from stuck-up goons for making programs that don't "do" anything... But my assertion is this: Why do they have to do something? Why can't I make a program that does nothing but [[smoke|Desktop Cigarette]]? Yeah, I know it doesn't exactly make a statement and it may not be traditionally beautiful, but that's part of the point too- call it post-modernism if you're a real jackass, but it goes back to my feeling on art in general: I create art to create art, not to make a statement, not to paint pretty pictures of ballerinas, not to express my deepest feelings about horses and your mom, but just to create. Just because I don't have some profound reason does not mean that what I have created isn't a creation, just because it is somewhat interactive does not mean it is not art... I guess my concerns are actually more about aesthetics and whether creating something interactive merely for aesthetic purposes makes it creative art and not design or applied art. This is actually a long and on-going argument with digital art- is someone who uses Photoshop an artist? And if they are, why isn't the guy who programs some little independent piece of software an artist too? Maybe that should be my final conclusion: I want to be a software artist, not a software designer, not a software architect... a Software artist.
!!Possible Features
A programmable robot battle game similar in style to [[Robowar|http://robowar.sourceforge.net/]]. You write code for your robot, run it against other robots, and whatnot. The big differences would be 1) terrain features instead of a generic white arena, and 2) The robots would be programmed using punch cards... like you would program some kind of mutated, murderous, early-60s IBM mainframe. There would be a point-limit system on battles, forcing the programmer to make decisions about whether processing speed or extra weaponry is a more important feature, etc. Terrain features would more than likely be destroyable, so targeting and battle would also be much different than the original.
!!Idea History
Based on the original [[Robowar|http://robowar.sourceforge.net/]] for Mac... hopefully slightly updated. Initially stemmed from the workings of the [[Virus Game]].
!!Possibility of a finished product:
Well... the workings of the programming system are in dispute- The game may end up being way too complicated and only appeal to a very limited demographic, like the original [[Robowar|http://robowar.sourceforge.net/]], which would be unfortunate because it limits the potential for the game (and this particular demographic can be a very picky bunch and I have my doubts about whether I can program a game that would satisfy them...) Writing an interpreter is also something I haven't tried yet... don't know how that would turn out... So... this probably won't happen.
Now 200% more Mojifertastic!
http://wiki.mojiferous.com/index.html
!!Possible Features
You play the commander of a giant steam-powered robot in the old west. I figure the game will be set in the American Southwest, with a basic game range of northern Mexico to southern Colorado, and from eastern California to the Texas panhandle... all desert. The basic game is an open-ended rpg, with new quests appearing depending on the decisions you make. I foresee a few different factions: settlers, indians, the cavalry, railroad barons, banditos, miners, treasure hunters, traders... All with different and conflicting goals. I would assume that you would start with a fairly basic and ill-armed robot, with upgrades possible in towns- some may have inventors that provide new and interesting (and not always functional) equipment, and some will have blacksmiths or factories to provide repairs or heavier armor, etc. A key element of the game will be balancing your coal and water supplies: water is scarce in the southwest, but coal is relatively plentiful, so keeping your engine well watered may be a problem, and of course heavier armor or a crappy engine will slow you down considerably. Hiring a crew to man your robot will also be a major gameplay feature- a better crew will make your robot faster, your shots more accurate, etc... I suppose training or level advancement would be included, along with the ability to randomly hire/fire people from all over... The ideas are endless, and all of them are really good and interesting- the hard part will be making a coherent and interesting game.
!!Idea History
In search of a new huge project after [[Atomic Combat]], I came up with the idea of doing a [[Robot Battle]] game and a [[Virus Game]]... but neither really panned out they way I intended, but I still obsessed over the basic gameplay ideas of both. Then one day while surfing around, I discovered [[Steam Wars|http://steamwars.com]] and everything kind of came together- I would make a robot battle game centered around these giant, manned, steam-powered machines. The old west seemed like the perfect fit for the idea, and easy to implement since everyone and their mother is familiar with old western themes.
!!Possibility of a finished product:
Well... right now I'm trying to work out story threads... after the stories are worked out, actually programming the game will be an intense and time consuming process... So I wouldn't expect this game until at least the middle of 2008, if not later.
/***
http://tiddlystyles.com/#theme:Kubrick
!General Rules
***/
/*{{{*/
p {
}
b, strong {
}
a:link, a:visited {
}
a,
.button{
color: #06c;
text-decoration: none;
background: transparent;
}
a:hover,
.button:hover{
background: transparent;
text-decoration: underline;
color: #147;
}
body {
text-align: center;
background: repeat-x url(images/clouds_tile.png) #ffffff;
font-size: 62.5%; /* Resets 1em to 10px */
font: 0.9em Arial, Helvetica, sans-serif;
margin: 0;
color: #878787;
padding: 0;
}
img {
}
.image-left {
margin: 3px 3px 3px 0;
float: left;
}
.image-right {
margin: 3px 0 3px 3px;
float: right;
}
/*}}}*/
/***
!Header Rules
***/
/*{{{*/
.clearer {
clear: both;
}
#monster {
width: 136px;
height: 186px;
position: absolute;
top: 24px;
left: 454px;
background: no-repeat url(images/grant/grant.png);
}
#container {
margin: 0 auto;
text-align: center;
width: 770px;
background: repeat url(images/content_bg.png);
padding-top: 20px;
padding-bottom: 20px;
}
#pageHeader {
width: 786px;
height: 433px;
background: no-repeat url(images/header_bg.png);
margin: 0 auto;
position: relative;
}
#pageHeader img {
position: absolute;
z-index: 2;
right: 362px;
top: 50px;
}
#pageHeader h9 {
margin: 0;
width: 313px;
height: 130px;
position: absolute;
background: no-repeat url(images/title_bg.png);
top: 40px;
left: 88px;
color: #5bc2e5;
text-align: left;
font-size: 3.6em;
padding: 7px 35px 0 15px;
}
#pageHeader h8 {
margin: 0;
height: 112px;
position: absolute;
background: no-repeat url(images/slogan_bg.png);
top: 299px;
left: 217px;
font-weight: normal;
width: 227px;
text-align: left;
padding-top: 15px;
padding-right: 20px;
padding-left: 30px;
font-size: 1.3em;
}
#contentContainer {
width: 726px;
background: #ffffff;
text-align: left;
margin: 0 auto;
}
#container #top {
background: no-repeat url(images/content_top.png);
width: 726px;
height: 25px;
margin: 0 auto;
}
#container #bottom {
background: url(images/content_bottom.png) no-repeat;
width: 726px;
height: 29px;
margin: 0 auto;
}
#navcontainer {
width: 786px;
height: 68px;
background: no-repeat url(images/menu_bg.png);
margin: 0 auto;
font-size: .8em;
font-weight: bold;
text-align: center;
padding-top: 25px;
position: relative;
z-index: 1;
}
#navcontainer #current {
color: #429215;
}
#navcontainer .currentAncestor {
color: #429215;
}
/* Parent - Level 0 */
#navcontainer ul {
list-style: none;
margin: 0 10px 0 20px;
padding: 0;
}
#navcontainer li {
display: inline;
float: right;
position: relative;
z-index: 3;
width: 180px;
}
#navcontainer a {
color: #ffffff;
text-decoration: none;
padding: 7px 0px;
}
/*}}}*/
/***
!Footer Styles
***/
/*{{{*/
#contentFooter {
text-align: center;
clear: both;
background: url(images/content_bottom.png) no-repeat;
width: 726px;
height: 29px;
margin: 0 auto;
}
/*}}}*/
/***
!Sidebar styles /% ============================================== %/
***/
/*{{{*/
#sidebar{
margin: 1em 2em 0 0;
position: static;
float: right;
}
#sidebar a,
#sidebar a:hover{
border: 0;
}
#sidebar h1{
font-size: 1.4em;
font-weight: bold;
margin: 0;
background: transparent;
color: #000;
}
#sidebar ul{
padding: 0;
margin: 0 0 0 1em;
}
#sidebar li{
list-style: none;
}
#sidebar li:before{
color: #000;
content: "\00BB \0020";
}
#sidebar, #mainMenu, #sideBarOptions{
width: 200px;
text-align: left;
}
#mainMenu{
position: static;
}
/*}}}*/
/***
!Sidebar search styles /% ======================================== %/
***/
/*{{{*/
#sidebarSearch{
margin: 0 0 0 10px;
width: 145px;
}
#sidebarSearch input{
font-size: .9em;
width: 100px;
}
#sidebarSearch .button{
float: right;
margin-top: 1px;
}
/*}}}*/
/***
!Sidebar option styles
***/
/*{{{*/
#sidebarOptions{
margin-left: .75em;
}
#sidebarOptions h1{
font-size: 1.3em;
}
#sidebarOptions a{
display: inline;
border: 0;
}
#sidebarOptions .sliderPanel{
background-color: transparent;
font-size: 1em;
margin: 0;
}
#sidebarOptions .sliderPanel a:before,
#sidebarTabs li:before{
content: "";
}
/*}}}*/
/***
!Sidebar tab styles
***/
/*{{{*/
#sidebarTabs .tab,
#sidebarTabs .tab:hover{
border: 1px solid #ccc;
text-decoration: none;
}
#sidebarTabs .tabSelected{
background: #ccc;
color: #333;
}
#sidebarTabs .tabUnselected{
background: #e6e6e6;
color: #333;
}
#sidebarTabs .tabContents{
background: #ccc;
color: #333;
border: 1px solid #ccc;
width: 95%;
}
#sidebarTabs .tabContents a{
color: #06c;
}
#sidebarTabs .tabContents a:hover{
color: #147;
}
#sidebarTabs a.tabSelected:hover{
cursor: default;
}
#sidebarTabs .txtMoreTab .tab{
border: 1px solid #aaa;
color: #333;
}
#sidebarTabs .txtMoreTab .tabSelected{
background: #aaa;
color: #333;
}
#sidebarTabs .txtMoreTab .tabSelected:hover{
background: #aaa;
color: #333
}
#sidebarTabs .txtMoreTab .tabUnselected{
background: #ccc;
color: #333;
}
#contentWrapper #sidebar .txtMoreTab .tabUnselected:hover,#contentWrapper #displayArea .txtMoreTab .tabUnselected:hover{
color: #333;
}
#contentWrapper .txtMoreTab .tabContents{
background: #aaa;
color: #333;
border: 1px solid #aaa;
}
/*}}}*/
/***
!Message area styles /% ========================================== %/
***/
/*{{{*/
#messageArea {
background-color: #eee;
border: 1px solid #ccc;
color: #bbb;
margin: 0 1em;
font-size: .8em;
}
#messageArea a:link{
color: #aaa;
}
#messageArea a:hover{
color: #06c;
}
#messageArea .messageToolbar .button{
border: 1px solid #ccc;
color: #aaa;
text-decoration: none;
}
#messageArea .messageToolbar .button:hover{
border: 1px solid #777;
color: #777;
}
/*}}}*/
/***
!Popup styles /% ================================================ %/
***/
/*{{{*/
#popup{
padding: 0;
background: #eee;
border: 1px solid #ccc;
color: #333;
}
#popup a{
color: #06c;
font-weight: normal;
}
#popup a:hover{
color: #fff;
background: #aaa;
text-decoration: none;
}
/*}}}*/
/***
!Tiddler display styles /% ====================================== %/
***/
/*{{{*/
#displayArea{
margin: 1em 18em 1em 1em;
text-align: left;
font-size: .9em;
}
h1, h2, h3, h4, h5, .title{
font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
color: #333;
padding: 0;
}
.viewer h1,.viewer h2,.viewer h3,.viewer h4,.viewer h5,.viewer h6{
background: transparent;
border-bottom: 0px dotted #ccc;
}
.title{
font-size: 1.6em;
}
.subtitle{
color: #777;
font-size: .9em;
}
.toolbar{
font-size: .8em;
}
.toolbar a:link,.toolbar a:visited{
background: #e6e6e6;
border: 1px solid #ccc;
color: #aaa;
padding: 1px 3px;
margin: 0 .5em 0 0;
}
.toolbar a.button:hover{
background: #ccc;
border-color: #bbb;
color: #06c;
text-decoration: none;
}
.viewer a.tiddlyLinkNonExisting:link{
color: #b85b5a;
font-style: normal;
}
.viewer a.tiddlyLinkNonExisting:hover{
text-decoration: underline;
}
.viewer a.tiddlyLinkExisting:link,#displayArea .viewer a.externalLink{
font-weight: normal;
color: #06c;
}
.viewer a.tiddlyLinkExisting:hover,.viewer a.externalLink:hover{
color: #147;
text-decoration: underline;
}
.viewer .button{
border: 0;
}
.editor {
font-size: 8pt;
color: #402c74;
font-weight: normal;
}
.editor input, .editor textarea {
display: block;
font: 11px/110% "Andale Mono", "Monaco", "Lucida Console", "Courier New", monospace;
margin: 0 0 10px 0;
border: 1px inset #333;
padding: 2px 0;
}
.footer, .footer a.button,.editorFooter, .footer a.button{
color: #aaa;
}
.selected .footer,.selected .footer a{
color: #777;
}
.selected .footer a.button,.selected .editorFooter a.button{
color: #06c;
}
.footer a.button:hover,.editorFooter a.button:hover{
color: #147;
background: transparent;
}
.tagClear{
clear: none;
}
/*}}}*/
/***
|''Name:''|TagsTreePlugin|
|''Description:''|Displays tags hierachy as a tree of tagged tiddlers.<br>Can be used to create dynamic outline navigation.|
|''Version:''|1.0.1|
|''Date:''|Jan 04,2008|
|''Source:''|http://visualtw.ouvaton.org/VisualTW.html|
|''Author:''|Pascal Collin|
|''License:''|[[BSD open source license|License]]|
|''~CoreVersion:''|2.1.0|
|''Browser:''|Firefox 2.0; InternetExplorer 6.0|
!Demo
On the plugin [[homepage|http://visualtw.ouvaton.org/VisualTW.html]] :
*Try to tag some <<newTiddler>> with a tag displayed in the menu and edit MainMenu.
*Look at some tags like [[Plugins]] or [[menu]].
!Installation
#import the plugin,
#save and reload,
#optionally, edit TagsTreeStyleSheet.
! Usage
{{{<<tagsTree>>}}} macro accepts the following //optional// parameters.
|!#|!parameter|!description|!by default|
|1|{{{root}}}|Uses {{{root}}} tag as tree root|- In a //tiddler// content or template : uses the tiddler as root tag.<br>- In the //page// content or template (by ex MainMenu) : displays all untagged tags.|
|2|{{{excludeTag}}}|Excludes all such tagged tiddlers from the tree|Uses default excludeLists tag|
|3|{{{level}}}|Expands nodes until level {{{level}}}.<br>Value {{{0}}} hides expand/collapse buttons.|Nodes are collapsed on first level|
|4|{{{depth}}}|Hierachy depth|6 levels depth (H1 to H6 header styles)|
|5|{{{sortField}}}|Alternate sort field. By example : "index".|Sorts tags and tiddlers alphabetically (on their title)|
|6|{{{labelField}}}|Alertnate label field. By example : "label".|Displays tiddler's title|
!Useful addons
*[[FieldsEditorPlugin]] : //create//, //edit//, //view// and //delete// commands in toolbar <<toolbar fields>>.
*[[TaggerPlugin]] : Provides a drop down listing current tiddler tags, and allowing toggling of tags.
!Advanced Users
You can change the global defaults for TagsTreePlugin, like default {{{level}}} value or level styles, by editing or overriding the first config.macros.tagsTree attributes below.
!Code
***/
//{{{
config.macros.tagsTree = {
expand : "+",
collapse : "–",
depth : 6,
level : 1,
sortField : "",
labelField : "",
styles : ["h1","h2","h3","h4","h5","h6"],
trees : {}
}
config.macros.tagsTree.handler = function(place,macroName,params,wikifier,paramString,tiddler)
{
var root = params[0] ? params[0] : (tiddler ? tiddler.title : null);
var excludeTag = params[1] ? params[1] : "excludeTagsTree";
var level = params[2] ? params[2] : config.macros.tagsTree.level;
var depth = params[3] ? params[3] : config.macros.tagsTree.depth;
var sortField = params[4] ? params[4] : config.macros.tagsTree.sortField;
var labelField = params[5] ? params[5] : config.macros.tagsTree.labelField;
var showButtons = (level>0);
var id = config.macros.tagsTree.getId(place);
if (config.macros.tagsTree.trees[id]==undefined) config.macros.tagsTree.trees[id]={};
config.macros.tagsTree.createSubTree(place,id,root,excludeTag,[],level>0 ? level : 1,depth, sortField, labelField,showButtons);
}
config.macros.tagsTree.createSubTree = function(place, id, root, excludeTag, ancestors, level, depth, sortField, labelField,showButtons){
var childNodes = root ? this.getChildNodes(root, ancestors) : this.getRootTags(excludeTag);
var isOpen = (level>0) || (!showButtons);
if (root && this.trees[id][root]!=undefined) isOpen = this.trees[id][root];
if (root && ancestors.length) {
var t = store.getTiddler(root);
if (childNodes.length && depth>0) {
var wrapper = createTiddlyElement(place , this.styles[Math.min(Math.max(ancestors.length,1),6)-1],null,"branch");
if (showButtons) {
b = createTiddlyButton(wrapper, isOpen ? config.macros.tagsTree.collapse : config.macros.tagsTree.expand, null, config.macros.tagsTree.onClick);
b.setAttribute("treeId",id);
b.setAttribute("tiddler",root);
}
createTiddlyText(createTiddlyLink(wrapper, root),t&&labelField ? t.fields[labelField] ? t.fields[labelField] : root : root);
}
else
createTiddlyText(createTiddlyLink(place, root,false,"leaf"),t&&labelField ? t.fields[labelField] ? t.fields[labelField] : root : root);
}
if (childNodes.length && depth) {
var d = createTiddlyElement(place,"div",null,"subtree");
d.style.display= isOpen ? "block" : "none";
if (sortField)
childNodes.sort(function(a, b){
var fa=a.fields[sortField];
var fb=b.fields[sortField];
return (fa==undefined && fb==undefined) ? a.title < b.title ? -1 : a.title > b.title ? 1 : 0 : (fa==undefined && fb!=undefined) ? 1 :(fa!=undefined && fb==undefined) ? -1 : fa < fb ? -1 : fa > fb ? 1 : 0;
})
for (var cpt=0; cpt<childNodes.length; cpt++)
this.createSubTree(d, id, childNodes[cpt].title, excludeTag, ancestors.concat(root), level-1, depth-1, sortField, labelField, showButtons);
}
}
config.macros.tagsTree.onClick = function(e){
var id = this.getAttribute("treeId");
var tiddler = this.getAttribute("tiddler");
var n = this.parentNode.nextSibling;
var isOpen = n.style.display != "none";
if(config.options.chkAnimate && anim && typeof Slider == "function")
anim.startAnimating(new Slider(n,!isOpen,null,"none"));
else
n.style.display = isOpen ? "none" : "block";
this.firstChild.nodeValue = isOpen ? config.macros.tagsTree.expand : config.macros.tagsTree.collapse;
config.macros.tagsTree.trees[id][tiddler]=!isOpen;
return false;
}
config.macros.tagsTree.getChildNodes = function(root ,ancestors){
var childs = store.getTaggedTiddlers(root);
var result = new Array();
for (var cpt=0; cpt<childs.length; cpt++)
if (childs[cpt].title!=root && ancestors.indexOf(childs[cpt].title)==-1) result.push(childs[cpt]);
return result;
}
config.macros.tagsTree.getRootTags = function(excludeTag){
var tags = store.getTags(excludeTag);
tags.sort(function(a,b) {return a[0].toLowerCase() < b[0].toLowerCase() ? -1 : (a[0].toLowerCase() == b[0].toLowerCase() ? 0 : +1);});
var result = new Array();
for (var cpt=0; cpt<tags.length; cpt++) {
var t = store.getTiddler(tags[cpt][0]);
if (!t || t.tags.length==0) result.push(t ? t : {title:tags[cpt][0],fields:{}});
}
return result;
}
config.macros.tagsTree.getId = function(element){
while (!element.id && element.parentNode) element=element.parentNode;
return element.id ? element.id : "<html>";
}
config.shadowTiddlers.TagsTreeStyleSheet = "/*{{{*/\n";
config.shadowTiddlers.TagsTreeStyleSheet +=".leaf, .subtree {display:block; margin-left : 0.5em}\n";
config.shadowTiddlers.TagsTreeStyleSheet +=".subtree {margin-bottom:0.5em}\n";
config.shadowTiddlers.TagsTreeStyleSheet +="#mainMenu {text-align:left}\n";
config.shadowTiddlers.TagsTreeStyleSheet +=".branch .button {border:1px solid #DDD; color:#AAA;font-size:9px;padding:0 2px;margin-right:0.3em;vertical-align:middle;text-align:center;}\n";
config.shadowTiddlers.TagsTreeStyleSheet +="/*}}}*/";
store.addNotification("TagsTreeStyleSheet", refreshStyles);
config.shadowTiddlers.MainMenu="<<tagsTree>>"
config.shadowTiddlers.PageTemplate = config.shadowTiddlers.PageTemplate.replace(/id='mainMenu' refresh='content' /,"id='mainMenu' refresh='content' force='true' ")
//}}}
/*{{{*/
.leaf, .subtree {display:block; margin-left : 0.5em}
.subtree {margin-bottom:0.5em}
#mainMenu {text-align:left}
.branch .button {border:1px solid #DDD; color:#AAA;font-size:9px;padding:0 2px;margin-right:0.3em;vertical-align:middle;text-align:center;}
/*}}}*/
!!Possible Features
You play a mad scientist who develops viruses for biological warfare... The meat of the game and the idea is this: You engineer or breed a virus and then proceed to a mad scientist showdown- both you and the opposing mad scientist unleash your virus upon an unsuspecting little town, whomever causes more death and destruction is the winner. Viruses are coded using a system of base-4 codes that represent different aspects of the virus and can either be hard coded (engineered) or bred together to produce random mutations. There would have to be different virus types with varied limits on code length, abilities, etc. An internet-capable version of the game would be great, allowing the player to face off against other mad scientists all over the world...
!!Idea History
Stemmed from the same little kernel of an idea based around [[Robowar|http://robowar.sourceforge.net]] that also birthed [[Robot Battle]].
!!Possibility of a finished product:
There are two problems with this project:
1) It is overly complicated with very little content... the programming portion is not complicated enough nor simple enough, it lives in a strange gray world of mediocrity.
2) As my girlfriend pointed out: The moral content of this game puts it fairly squarely into a bio-terrorist/un-American activity kind of realm... I don't really feel like fighting off all the hate mail from weirdos, assholes, and right-wing blowhards that would inevitably accompany this game.
!!Possible Features
Well... it was a card game that involved a 5 to 7 card deal, the goal was to even out the deck, in other words to have the value of your hand be equal to the computer's hand. It was an interesting idea, but actual game play was kind of boring. So maybe something more could be added to it- like further draws or some kind of action card... Or maybe even better- the computer is trying to even up the hand and you are trying to do something completely different, like double his hand... hmmm... maybe this idea still has life. More thought is needed.
!!Idea History
I made this game sometime back in 2000 or 2001... I made the mistake of only compiling it for OS9 and not making a carbon version... it went nowhere unsurprisingly. I abandoned the idea because my implementation was weak and the game play was boring.
!!Possibility of a finished product:
Well... maybe with new ideas, this project could become viable. Stay tuned for updates.
[img[Zoltan!|files/zolt202.png]]
[img[Zoltan!|files/zolt203.png]]
|>|Features|h
|1.|Sound!|
|2.|Graphics!|
|3.|Dynamic weather & sky|
|5.|Zoltan will answer your questions!|
|XX.|Completely Useless!!!|
|D.|Universal Binary|
| | |
|>|Requirements|h
|I.|A Macintosh (just about any will do)|
|III.|OS X 10.4.7+|
|IV.|RAM (any)|
|V.|A working monitor|
|VI.|Functioning sound|
| | |
|>|Downloads:|h
| |[img[Zoltan! 2.0|images/trackback.png][files/zoltcurrent.zip]][[Zoltan! 2.0.zip|files/zoltcurrent.zip]] (The New Zoltan)|
| |[img[Zoltan! 1.2|images/trackback.png][files/Zoltan_1.2.zip]][[Zoltan! 1.2.zip|files/Zoltan_1.2.zip]] (The old, crappy Zoltan)|
!!Zoltan 2.0! Now with more!
Zoltan 2.0 provides the same comforting features as version 1.2, but with the added bonuses of: Improved graphics, auto-update, a toolbar, useless help, ritual sacrifice, and an incomplete meaningless "Book of Zoltan"!
All of this and more, still for the low, low price of free!
!!History
Who doesn’t like big stone heads?
I originally made a program called Zoltan in 1998 on my Mac 6300-something. In the intervening near-decade I’ve drank a lot and now have no recollection of what Zoltan did or why. I do remember that Zoltan was a giant stone Moai head and that the program never made it out of college-basement-labratory-Alpha release. So, in the interest of confirming my implied insanity, I decided to resurrect this never-finished project that has been lost to the sands of time and outdated computers.
*Version 2.0 includes features originally meant for the game- like the ability to make sacrifices to Zoltan, and an all-around stranger game interface...
!!An idiot in search of a reason
I started by recreating, to the best of my ability, Zoltan and his environs. I needed a reason for his existence, of course, and thankfully technological advances made during the last decade have allowed me to give him one: He’s going to show you the weather! Much like his slightly-more-useful widget brethren, Zoltan will poll a weather RSS and change his surroundings based on the weather outside! Who needs windows or doors when Zoltan can tell you if it is raining, snowing, cloudy, or even night time outside?!?! Zoltan sits there, the weather swirling around him, waiting for you to ask him a question...
!!Possible Features
Inspired by [[Flash Element TD|http://www.addictinggames.com/flashelementtd.htmlm]], the general idea is this: You must defend your town against waves of zombies by building defensive towers/machine gun nests... It would be easiest and neatest to make the game level-based, with each level slowly getting harder, with more zombies... maybe add trenches and troops? That however would turn this into a World War I game... which would also be interesting.
!!Idea History
This all came about after thinking that I could make a simple idea more interesting and much more complicated.
!!Possibility of a finished product:
We'll see... Maybe someday. Next year sometime? Maybe? It's an idea that's been done sooo many times... there may be no need.
version.extensions.favicon = {major: 0, minor: 1, revision: 0, date: new Date("Jul 18, 2005")};
var n = document.createElement("link");
n.rel = "shortcut icon";
n.href = "http://www.mojiferous.com/favicon.ico";
document.getElementsByTagName("head")[0].appendChild(n);