Fun Stuff

Canvas 3D - The future of the web?

Tagged:  

Today I ran across a cool 3D world terrain texture map demo. The demo is made using Canvas 2D with the 3D code written in JavaScript. The demo runs in Firefox 3, Safari 3 and Chrome. This got me thinking about the future of the web and if we will see a lot of 3D on the web.

Mozilla is working on a Canvas 3D plug-in to ship with a future version of Firefox what will be using a simplified version of OpenGL. The hope is that some cool apps will be made using this plug-in and that will force other browsers to use some form of Canvas 3D (and eventually adhere to standards). So, if some very cool on-line game or useful charting application is made in 3D it is possible that we will be coming up with some interesting 3D user interfaces using Canvas 3D in the future (hopefully in the near future).

This brings up the question of what would you use 3D on the web to do? Do you think it would be useful or just fun? The answers to these questions could shape the future of the web.

You can see the demo here.

Back to the 90's

Tagged:  

It's Friday and everyone wishes it was Saturday. Wouldn't it be great to get a jump start on your weekend video game playing. Well, while surfing the web I found a great Doom clone written in Flash (so you can play it once the boss leaves early on Friday, but I wasn't the one that said that). The game is an exact clone of the 90's classic and is still a lot of fun to play.

You can play the game here.

Update: I had the wrong link above (it took you to a link to the game), here is the direct link.

Having Fun with Pligg - Installing

Last time I told you that I was setting up a Pligg site for my new video game site, wastingtimegames.com. This is second in a series of posts where I will explain how to get a working customized Pligg site.

To install Pligg you will first need to download the files from pligg.com. The most current release is 1.0.0 RC2. Once you download the .zip file you will need to unzip all of the files into a folder.

To get the rest of the software installed you will just need to follow the below directions, taken from the Pligg readme file.

  1. Create a mysql database. If you are unfamiliar with how to create a mysql database, please contact your web host or search their support site. Please pay careful attention when creating a database and write down your database name, username, password, and host somewhere.
  2. Rename settings.php.default to settings.php. Do the same for /libs/dbconnect.php.default.
  3. Upload the files to your server (please note that your server will need to be running PHP 4.3.0 or higher).
  4. CHMOD 755 the following folders, if they give you errors try 777.
    • /admin/backup/
    • /avatars/groups_uploaded/
    • /avatars/user_uploaded/
    • /cache/
    • /cache/admin_c/
    • /cache/templates_c/
    • /languages/ (And all of the files contained in this folder should be CHMOD 777)
  5. CHMOD 666 the following files
    • /libs/dbconnect.php
    • settings.php
  6. Open /install/index.php in your web browser. If you are reading this document after you uploaded it to your server, click on the install link at the top of the page.
    • Select a language from the list.
    • Fill out your database name, username, password, host, and your desired table prefix.
    • Create an admin account. Please write down the login credentials for future reference.
    • Make sure there are no error messages!
  7. Delete your /install folder.
  8. CHMOD 644 libs/dbconnect.php
  9. Open /index.php
  10. Log in to the admin account using the credentials generated during the install process.
  11. Log in to the admin panel ( /admin ) and you will then be presented with information intruducing you to Pligg.
  12. Configure your Pligg site to your liking. Don't forget to use the Modify Language page to change your site's name.

Once you are done with these steps you'll have a basic Pligg site running. Next time I'll explain how to change the language features and install modules.

Having Fun with Pligg

Tagged:  

Pligg is a content management system that has evolved from a Digg clone to a full feature content management system. I've been working on some on-line video games and have been working on a site to host them. After some thought about the site, I decided to use Pligg and to allow users to submit their own game content as well as post my games.

The Pligg install is very easy to get up and running. So, my next few posts will be about the Pligg install and how I will modify the template and add modules to the site.

You can see the site that I've setup at wastingtimegames.com. The site is fully functional although I will be adding new features over the next few weeks and will be posting my games soon. So, stay tuned to see how to get your own Pligg site running quickly.

You can learn more about Pligg here.

Learn Photoshop in 24 hours

Tagged:  

Have you ever wanted to make one of you applications look better? If you where a designer you would use Photoshop and CSS to make the application look very sweet. Well, over at DesignReviver they have put together a group of good tutorials to help with the Photoshop portion of the equation.

Below is an excerpt from the post.

Tutorial 14:

Digital Illustration Using Birds - Intermediate

Tutorial running time : 90 minutes.

This tutorial is your first step into illustration.

Learn Photoshop in 24 hours

Tutorial 15:

Amazing Photo montages - Intermediate

Tutorial running time : 90 minutes.

This tutorial provides step-by-step guidance on how to make a stunning, dynamic effect that recreates the look of a figure dissolving in water.

Learn Photoshop in 24 hours

Tutorial 16:

War Movie Poster - Advanced

Tutorial running time : 90 minutes.

In this tutorial you will create a great movie poster, using some simple but efficient techniques.

Learn Photoshop in 24 hours

You can read the full post here.

Game Programming Languages - Which one to Learn?

Tagged:  

Today I ran across an interesting post about the best language to use for game development. The writer of the post already programs in Java and ActionScript for web game development and this post is about what language is best for desktop game development.

This topic is interesting to me as I used to do a lot of game programming in C++ (I had a few games published before I was 21, so I love the topic). Recently, I have gotten back into game development and will have a couple of web games (written in ActionScript) coming out in the next few months. Once I'm done with these games I'm planning on making a first person shooter style game (probably using C++, but I haven't fully decided), so this post is very useful to me.

Below is an excerpt from the post.

My research so far for a new language/platform so far is here below.

C++/Game Engines(Torgue e.t.c)

Pros

  • Potentially cross platform development
  • Multipurpose language (Can develop desktop applications with QT and other UI packages)
  • Mobile game development for Iphone.
  • Plenty of resources and open source game  engines
  • Faster in terms of speed than competitors e.g Java games

Cons

  • Steep learning curve with other game engines
  • Relatively complicated to start with
  • Game distribution channel problems incase of indie development

C# (XNA)

Pros

  • Relatively easy to learn
  • Windows and Xbox 360 ready deployment
  • possibly cross platform application development with mono (open source port of C#)
  • Web development with Microsoft ASP.NET (Not sure if I want to go in that direction)
  • Possible iPhone development using Unity3d (http://www.unity3dd.com) (not open source)

Cons

  • XNA is locked to the windows platform
  • Decent materials are still very scarce for the XNA platform

Python

Pros

  • Relatively easy to learn
  • Plenty of materials
  • Cross platform development
  • Usable for application development both for the web and desktop
  • Used as a scripting language in other gaming platform
  • General purpose scripting language.

Cons

  • Fewer game engines (Even lesser documented engines)
  • Could be slower than C++ or C#
  • Distribution channel for indie game development is lacking
  • Virtually no support mobile game development

You can read the full post here.

So, start learning the language of your choice and start making cool games! If you have made any cool games you can let us know about them in the comments or you can write your own post on this blog with your free Ajaxonomy account. If your post is interesting we just might promote it to the home page.

9 Year Old iPhone Game Developer

Tagged:  

Today, I ran across this post about a 9 year old iPhone Game Developer. I was 12 years old when I wrote my first game (in good old GW Basic, now those where the days), so this kid has me beat.

Below is an excerpt from the post.

Do you still recall what we do when we were still at his age? What hand held games we played? This boy does something most of his age is not capable of. To make his own game!!! When i was at his age i was still learning proper English.Shame on me..



Lim Din Wen , a Malaysian residing in Singapore is Apples Youngest IIGS programmer ever. Yep that’s right, a Programmer at a young age. How many kids do you know that makes games on their own? Perhaps teenagers?

Doodle Kids , his first game to ever hit the market is a simple drawing tool for kids.It lets you draw different shapes and sizes with different colors. He developed this originally for his younger sister to play with but never thought it would make bucks online.

You can read the full post here.

It is great to see such a young person interested in programming, I hope he keeps up the programming.

JavaScript Paradise

The past month I have been working on a project using Flash. The project is almost done and in between finishing the project I've had to work on a heavy JavaScript project. After working in Flash for a while and then going back to JavaScript you start to realize how much better ActionScript is over JavaScript.

There are quite a few things that ActionScript has over JavaScript the below list has just a few.

  • Strong Variable Typing
  • Ability to Control the Graphical Display Easily in Script (with no cross browser issues)
  • No Cross Browser Issues (other than no plug-in)
  • A Good IDE With a Nice Debugger
  • Better Cross-Domain XML Support

My recent playing in ActionScript made me hope that we will see some of it's features incorporated in JavaScript. While much of this is in the works who knows when the 10K LB beast known as IE will allow for these features to be available cross browser.

Playing in ActionScript has made think of what life would be like in JavaScript Paradise.

Google's AJAX Playground

Google has created an online resource for testing your JavaScript code, the AJAX APIs Playground. The tool includes support for a number of Google APIs (including Maps, Earth, Blogger Data, and Visualization) as well as jQuery, jQuery UI, Prototype/Scriptaculous, MooTools, and Dojo.

JSON - 3D Proof of Concept

A few weeks ago I wrote a post on the concept of using JSON for creating 3-D models (You can read the first JSON 3D post here). I have created a proof of concept based on MooCanvas to allow for IE support. This proof of concept is also based on the 3D cube demo for MooCanvas with some modifications.

For this proof of concept the important function is Load3D which loads and translates the JSON 3D object.

 		function Load3D(obj, translateX, translateY, translateZ){
			scene.shapes[(obj.type + ObjectCounter + "")] = new Shape();
			var p = scene.shapes[(obj.type + ObjectCounter + "")].points; // for convenience
			for(var a=0; a<obj.vrt.length; a++){
				p[a] = new Point(((obj.vrt[a][0])+translateX), ((obj.vrt[a][1])+translateY), ((obj.vrt[a][2])+translateZ));
			}
 
			// Create Shape From Points
			for(var a=0; a<obj.fac.length; a++){
					scene.shapes[(obj.type + ObjectCounter + "")].polygons.push(new Polygon(
					[ p[obj.fac[a][0]], p[obj.fac[a][1]], p[obj.fac[a][2]], p[obj.fac[a][3]] ],
					new Point(obj.nrm[a][0], obj.nrm[a][1], obj.nrm[a][2]),
					true /* double-sided */,
					Polygon.SOLID,
					[obj.mat[a][0], obj.mat[a][1], obj.mat[a][2]]
				));

			}
			ObjectCounter+=1;
 		}

For the JSON 3D object you would pass it into the Load3D function. While in this example I have put the JSON 3D object in the HTML, you would load the JSON 3D using Ajax (or a script tag) in the real world.

			var ThreeDobj = {
			"vrt":[[-10,-10,-10],[10,-10,-10],[10,10,-10],[-10,10,-10],[-10,-10,10],[10,-10,10],[10,10,10],[-10,10,10]],
			"fac":[[0,1,2,3],[4,5,6,7],[2,3,7,6],[2,3,7,6],[0,4,7,3],[1,5,6,2]],
			"nrm":[[0,0,-1],[0,0,1],[0,1,0],[0,1,0],[-1,0,0],[1,0,0]],
			"mat":[[70,70,70],[80,80,80],[80,80,80],[75,75,75],[70,70,70],[70,70,70]],
			"type":"cube"}
			Load3D(ThreeDobj, 0, 0, 0);

You can see the proof of concept here.

The proof of concept has been tested on Google Chrome, FireFox 3 and IE 7. It may work on other browsers (it should work on Safari and Opera), but has not been tested.

Syndicate content