Sorry, under construction!

Joan Alba Maldonado's portfolio

My pic
Joan Alba Maldonado
32 years old
Spain

Software developer & Teacher
A pioneer in JavaScript game development

*  Contact me
*

Games

Something about my games

I created my first simple games when I was about 11 years old using Microsoft QBasic. Later, I also used Borland Turbo C and Microsoft Visual Basic.

I was one of the first people trusting JavaScript and other open and free technologies such as PHP for web game development, starting first browser games in 2005.

In that time, almost everyone saw JavaScript as just a normal language for validating forms and other simple tasks and almost nobody thought it could replace Flash and Java one day. There were even some people who thought that web games would never be too popular.

I have always been sure about the power of JavaScript and I knew that one day it would become extremely important for about all web software, including games. That's just what has happened since then and is still happening nowadays.

During this time, many of the games I have developed have been published in and used by many web sites as well as translated and modified by many people since they are open source.

Below you can find some of my games. I hope you enjoy them!


Super Queue
Last version: final version - 7th November 2014 (approximately)
Super Queue

I made this game for a Chinese software company whose final client was a chain of jewelry stores that wanted a Weixin (aka WeChat) game to promote themselves by giving the players some prizes and coupons just during a week (to celebrate the Chinese Single's day, the 11th of November). Weixin (WeChat) is the most used instant messaging client for mobile devices in China, made by Tencent (the same company that also owns QQ).

The graphics are made by 乔安 (Qiao An) and Chinese translation is done by 董双丽 (Dong Shuangli). The development took almost a month.

The game consists of two levels. In the first level, you are waiting in a queue and your mission is to jump the queue until you can enter the door. Once you enter through the door, the second level consists in waiting for a partner of the opposite gender (it can be either a real player or a fake one if the game is configured to use fake players or the admin force it) and, when you get a partner, then each of you have to spin a roulette wheel with zodiac symbols and both will win a prize if you both get the same zodiac symbol. If you get a different symbol, you get a discount coupon instead.

It is a viral game because players have to share the game to others in order to jump the queue they are waiting in. Every time someone registers through your invitation, you will jump two places. But others will also be able to jump and move in front of you so it becomes a kind of fight.

Players do not need to have the game open all the time. So they can close the game and open it again later whenever they want to. If any progress has been made or any thing new has happened, the game will show it.

There is a maximum number of people per queue, so the game creates a "new world" with a new queue every time a person joins the game for the first time if all other queues are full. The game also fills the queue with fake people in order to increase level difficulty and to avoid looking empty. All of that is configurable through variables.

The way to log in, prizes, maximum people per queue, chances to win, and many other things can be configured through the configuration file.

The game already includes Chinese and English languages. There is also a localization file that allows to translate the game into many more languages easily. The game will try to detect automatically the user's language.

The company wanted to run the game just for a week. During this week, the game was a complete success and had more than 50,000 players. All prizes were given out.

The game was running on Weixin (WeChat) and uses some of its functions, but it can be configured without effort to be used in any other app or platform (as for example in QQ, Facebook or any web browser with JavaScript and CSS enabled).

There is a debug mode which can be accessed through a password. That debug mode shows useful information about the game in real time and it also provides an admin control panel (similar to a God mode panel) with many options to cheat, control other players, etc.

It also includes an overload test page to check server limits.

This game was made using technologies as HTML, CSS / CSS 3, JavaScript, JSON, XHR (AJAX), PHP, mySQL, RPC (Remote Procedure Call), OpenID, OAuth, Weixin API (WeChat API) / WeixinJSBridge, etc.

You can try the game by yourself just creating the database needed (a SQL file with the required tables is included) and editing the configuration file to use that database. Basically, you just need a web server that supports PHP and mySQL.

Forbidden to use without keeping the authors' name and copyright clauses. For non-commercial purposes only (unless you contact me and pay for a license).

super_queue.zip

TetrisDAITetrisDAI
Last version: 0.2g - 1st May 2008 (approximately)
TetrisDAI

Open source Tetris clone (highly modular) written in Java 1.6 (aka Java SE 6) with NetBeans.

It is my first Java game and was made in mid 2008.

Code is extremely modular and is ready to be modified and configured pretty easily by anyone. For instance, you can change control keys, their delay, add new pieces with different shapes or change the current ones or even delete them, change the colour of the whole game (including the pieces), change game visual aspect and sizes (width and height of the cells and of the map, text aspect, margins), decide whether to use images or just simple computer-generated graphics for cells and background, decide language (game is already translated into Spanish, Catalan and English and just needs to change a variable to choose one among those languages) or add new languages easily, change menu items, change initial speed and speed increase when next level is reached, change needed lines to finish a level, modify score system (score for piece placed, score for each line and exponential score increase for multiple lines), enable or disable sound and so on.

Official language is English but the code also includes Spanish and Catalan translations (as stated before, just by changing a variable, all the game will use the desired language).

This game has been tested under Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X and others.

Mirror at TuxFamily (sometimes down): http://tetrisdai.tuxfamily.org/

http://dhtmlgames.com/tetrisdai/

GamoliyasGamoliyas
Last version: 0.12a - 13th August 2007 (approximately)
Gamoliyas

Open source Conway's Game of Life version (highly configurable) totally written in DHTML (HTML, CSS and JavaScript).

It is my ninth DHTML game and was made in mid 2007.

Players can configure the game with many options, as changing the world size, choosing between spherical and limited world, using colours that change depending on the number of neighbours, changing speed, saving a world or opening a previously stored one, drawing cells yourself or generating them randomly, etc.

The game is specially designed to allow to be used inside any other web site (by using an IFRAME, for example). We just need to get the URL (which will be used in the SRC parameter of the IFRAME tag) generated by the "save world" option with the desired behaviour we have decided in the options that the game will ask us (world size, auto-play, spherical world, multicolour, hide top menu, hide bottom controls, hide bottom information panel, do not allow to draw, speed, size of the cells and space between cells). The game accessed through that URL will start containing the cells which were present when we pressed the "save world" option. You can see a live example using this game with an IFRAME in this portfolio.

You can also change the game behaviour easily by editing many of the configuration variables which are at the beginning of the script. To change the game images you just need to replace them with others.

This game only uses a few images which are not necessary to make it work if we are using the game with the panels and such hidden. So all the rest you can see has been made using just pure HTML and CSS.

Official languages are Spanish and English.

You can find other modified and adapted versions of this game on the Internet, including one Opera widget.

This game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X, BlackBerry Tablet OS, Android, iOS and others.

Mirror at TuxFamily (sometimes down): http://gamoliyas.tuxfamily.org/

http://dhtmlgames.com/gamoliyas/

HundiyasHundiyas
Last version: 0.29a - 12th June 2007 (approximately)
Hundiyas

Open source Battleship (aka Battleships or Sea Battle) game totally written in DHTML (HTML, CSS and JavaScript). Highly configurable.

It is my eighth DHTML game and was made in mid 2007.

Players can configure the game with many options. For instance, you can change board size, decide whether to allow bombing same cell more than once or not, whether to allow to place two ships next to each other without any space between them or not, whether to mark already bombed cells or not, decide who will start playing first and choose among three difficulty levels (easy, normal and hard) that will change the AI (Artificial Intelligence) of the game.

You can also change the game behaviour easily by editing many of the configuration variables which are at the beginning of the script. To change the game images you just need to replace them with others.

Official languages are Spanish and English.

You can find other modified and adapted versions of this game on the Internet, including one Opera widget.

This game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X, BlackBerry Tablet OS, Android, iOS and others.

Mirror at TuxFamily (sometimes down): http://hundiyas.tuxfamily.org/

http://dhtmlgames.com/hundiyas/

Some C games
Last version: different versions - 2006 to 2007
Some C games

Some games I made during the time I was studying the "Programació estructurada i modular / Programación estructurada y modular" (Structured and modular programming) subject that belonged to "CFGS DAI (Ciclo Formativo de Grado Superior en Desarrollo de Aplicaciones Informáticas)" which is a Software development associate degree equivalent (similar to Foundation degree in the UK, Diploma of Higher Education in Scotland or Higher Certificate in the Republic of Ireland) at IES Baix Camp school in Reus city (Spain).

All are text-based games. It includes a blackjack (aka twenty-one) card game, a roulette game (with four different ways to play), a John Conway's Game of Life (cells can be inserted either manually or randomly), a Mastermind game, Buscacaminas (pathfinding program with some Minesweeper characteristics), Pongetet (a pong game) and Pilotes (just a bouncing text generator). The IDE used was Bloodshed Dev-C++.

c_games.zip

La villa del seisLa villa del seis
Last version: 1.0 - 16th September 2006 (approximately)
La villa del seis

Open source adventure game written in PHP, HTML, CSS and JavaScript.

This game was made in late 2006 and uses the engine of Yasmina's Quest that I made before, modified and improved. It was made together with Yasminan Llaveria del Castillo and some of the photos used were taken by Esteban Villegas Gallego.

Official languages are Spanish and Catalan.

It has become quite famous on the Internet, with thousands and thousands of downloads and online players. It was even mentioned in at least one well-known Spanish magazine called "Año/Cero" in an article titled "La ruta de los pueblos condenados" written by José Manuel Serrano Cueto and published in January 2007.

Since this has the Yasmina's Quest engine but improved, some people has chosen the code of this game to create their adventure instead of using the Yasmina's Quest code. As well as Yasmina's Quest, the game can be played either as a point-and-click adventure or as a text adventure and it can run in any kind of web browser. JavaScript and CSS are useful but not really necessary. Images are not necessary either, allowing the game to be played in a text-based web browser as Lynx or Links.

This game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X, QNX, BlackBerry Tablet OS, Android, iOS and others. In its homepage you can see some screenshots with the game running on many different platforms such as Nintendo DS, Sony PSP, Sega Dreamcast and Pocket PC.

Mirror at TuxFamily (sometimes down): http://lavilladel6.tuxfamily.org/

http://dhtmlgames.com/lavilladel6/

ConectayasConectayas
Last version: 0.17a - 12th September 2006 (approximately)
Conectayas

Open source tic-tac-toe, connect four (aka four in a row) and similar style games (highly configurable) totally written in DHTML (HTML, CSS and JavaScript).

It is my seventh DHTML game and was made in late 2006.

In fact, this game is not only a game but many since the player can configure it to play tic-tac-toe, connect-4 and other similar games. You can configure the number of human players (1 or 2 players), who will start playing first (first player or second player which can be either the computer or a human), board size, the necessary pieces in a line to win, the colour of the pieces and choose whether to use gravity or not (with gravity the pieces will fall down as in connect-four).

You can also change the game behaviour easily by editing many of the configuration variables which are at the beginning of the script. To change the backgrounnd image you just need to replace it with another one.

This game only uses one image for the background which is not necessary to make it work, so all the rest you can see has been made using just pure HTML and CSS.

Official languages are Spanish and English.

You can find other modified and adapted versions of this game on the Internet, including one Opera widget and even a Drupal module.

This game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X, BlackBerry Tablet OS, Android, iOS and others.

Mirror at TuxFamily (sometimes down): http://conectayas.tuxfamily.org/

http://dhtmlgames.com/conectayas/

BuscayasminasBuscayasminas
Last version: 0.30a - 9th August 2006, last changes beyond 17th August 2006 (approximately)
Buscayasminas

Open source Minesweeper game (configurable) totally written in DHTML (HTML, CSS and JavaScript).

It is my sixth DHTML game and was made in mid 2006.

Players can configure the game with some options. You can change the number of mines, board size and set a time limit (in seconds) or disable it.

You can also change the game behaviour easily by editing many of the configuration variables which are at the beginning of the script. To change the game images you just need to replace them with others.

Official languages are Spanish and English.

You can find other modified and adapted versions of this game on the Internet, including one Opera widget.

This game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X, BlackBerry Tablet OS, Android, iOS and others.

Mirror at TuxFamily (sometimes down): http://buscayasminas.tuxfamily.org/

http://dhtmlgames.com/buscayasminas/

YasminokuYasminoku
Last version: 0.25a - 25th July 2006, last changes beyond 16th August 2006 (approximately), 0.75a - 9th December 2014
Yasminoku

Open source Sudoku (game, generator and solver) totally written in DHTML (HTML, CSS and JavaScript).

It is my fifth DHTML game and was made in mid 2006.

The game will generate sudokus and the player will have to solve them. But it is not only a normal sudoku game but also a sudoku solver, allowing users to introduce their own sudoku in order to solve it.

You can also change the game behaviour easily by editing many of the configuration variables which are at the beginning of the script.

This game doesn't use any image at all, just pure HTML and CSS.

The game has been quite successful and famous, included for instance in a famous Spanish online newspaper called "Libertad Digital".

Official languages are Spanish and English. You can find a lot of translations in other languages over the Internet, including German, French, Portuguese, Czech, Hungarian and Chinese.

Other modified and adapted versions of this game can be found on the Internet, including one Opera widget and several translations.

This game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X, BlackBerry Tablet OS, Android, iOS and others.


UPDATE (9th December 2014):

The new improved version (0.75a) comes with some bug fixes, using some CSS3 effects and HTML5, a better mobile devices support, autosave (using Web Storage and falling back to cookies if not supported), it is printer-friendly, it adapts automatically to any screen resolution (200 x 180 is the minimum), improves browser integration (can be included easily in any web site with an IFRAME, for example), is available for and ported to many platforms and can be ported to many more (it is compatible with Apache Cordova, PhoneGap Build, PhoneGap, Intel XDK, BlackBerry WebWorks, virtually any browser extension guidelines and so on), and is now multilingual with language auto-detection (main version includes Chinese, English, Catalan and Spanish languages and it is very easy to add new ones).

It can be controlled by mouse (or finger on mobile devices) and/or keyboard (gamepads on some devices as Wii or some remote control on some TV devices should also work).

Through the new configuration menu, you can choose language (in the case you are not happy with the auto-detected one), disable autosave, change the way the game helps you, set the number of seconds the on-the-fly calculated solution is displayed and disable some visual effects (in order to improve performance).

The game is specially designed to allow to be used inside any other web site (by using an IFRAME, for example). We just need to get the URL (which will be used in the SRC parameter of the IFRAME tag) generated by the "Share" option (inside the configuration menu). If we want to configure it even more, we can set or edit some parameters included in the generated URL (you can read more about it in the game's website). You could even use another sudoku generator and send the generated sudoku to the game through a parameter of its URL.

Since you can choose the initial numbers, from 0 to 81, keep in mind that sometimes the game can generate sudokus with more than one solution.

Native ports that has been tested should work properly. Browser version will work virtually everywhere, in modern browsers as well as in old ones (including Internet Explorer 5.0).

Apart from the normal version (for web browsers), some ports and versions include Android (including Nokia X and Fire OS which is used by Amazon Kindle Fire, Amazon Fire TV, Amazon Fire TV, Fire Phone, etc.), iOS (iPhone, iPod Touch, iPad), BlackBerry 10, BlackBerry Tablet OS (BlackBerry PlayBook), Nokia Series 40 (S40) / WRT Widget, Nokia Asha widget / W3C Packaged Web App (W3C Widget), Windows Phone 7 & 8, Chrome OS / Chromium OS (Google Chrome App), Firefox OS (Mozilla Firefox App), Mozilla Firefox Add-on, Opera Extension (Opera add-on), Google Chrome extension, Safari extension, WebOS, Facebook App, Windows 32 bit (including installer), Apple Mac OS X (Intel), Linux x86 (32 bit and 64 bit), Raspberry Pi and compatible (Linux as Raspbian or Pidora), etc.

Mirror at TuxFamily (sometimes down): http://yasminoku.tuxfamily.org/

http://dhtmlgames.com/yasminoku/

YasminurobanYasminuroban
Last version: 0.68a - 14th March 2006, last changes on 26th July 2006 (approximately)
Yasminuroban

Open source Sokoban (aka Warehouse keeper) version totally written in DHTML (HTML, CSS and JavaScript). With level editor.

It is my fourth DHTML game and was made in early 2006.

The game includes a level editor and, as far as I know, it is the first level editor ever made using JavaScript. It allows you to modify the current level or create a new one to play it after you press the "Play map" option. You can also copy the generated JavaScript code which can be used to modify the game code by yourself, for example.

You can also change the game behaviour or add new levels easily by editing many of the configuration variables which are at the beginning of the script. To change the game images you just need to replace them with others.

Official languages are Spanish and English.

You can find other modified and adapted versions of this game on the Internet (with configurable skins or themes and with many sets of levels that the player can choose), including one Opera widget.

This game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X and others.

Mirror at TuxFamily (sometimes down): http://yasminuroban.tuxfamily.org/

http://dhtmlgames.com/yasminuroban/

TetríssimusTetríssimus
Last version: 0.15a - 7th March 2006, last changes beyond 16th August 2006 (approximately)
Tetríssimus

Open source Tetris clone totally written in DHTML (HTML, CSS and JavaScript).

It is my third DHTML game and was made in early 2006.

Editing the game code in order to add new pieces with different shapes or change the current ones or even delete them is very easy. You can also change the game behaviour easily by editing many of the configuration variables which are at the beginning of the script. To change the background image you just need to replace it with another one.

This game only uses one image for the background which is not necessary to make it work, so all the rest you can see has been made using just pure HTML and CSS.

Official languages are Spanish and English.

You can find other modified and adapted versions of this game on the Internet, including one Opera widget and even a Drupal module.

This game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X and others.

Mirror at TuxFamily (sometimes down): http://tetrissimus.tuxfamily.org/

http://dhtmlgames.com/tetrissimus/

PunkPongPunkPong
Last version: 0.26a - 20th February 2006 (approximately)
PunkPong

Open source Pong clone totally written in DHTML (HTML, CSS and JavaScript).

It is my second DHTML game and was made in early 2006.

It allows you to use either mouse or keyboard to control your paddle.

Despite the fact that it is very easy in the beginning, the difficulty increases slowly every level and the computer will be much harder to beat.

You can also change the game behaviour easily by editing many of the configuration variables which are at the beginning of the script.

This game doesn't use any image at all, just pure HTML and CSS.

Official languages are Spanish and English.

You can find other modified and adapted versions of this game on the Internet, including one Opera widget and even a Drupal module.

This game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X, BlackBerry Tablet OS, Android, iOS and others.

Mirror at TuxFamily (sometimes down): http://punkpong.tuxfamily.org/

http://dhtmlgames.com/punkpong/

La RanísimaLa Ranísima
Last version: 0.96a - 11th February 2006 (approximately)
La Ranísima

Open source game that was written totally in DHTML (HTML, CSS and JavaScript) and was inspired by the Space invaders classic although uses infantile graphics that will be loved by the youngest children.

It is my first DHTML game and it was made in early 2006 based on DOM manipulation, when almost nobody knew about the power of JavaScript for game development and all the technologies involved related with that were unknown by the vast majority of developers who preferred to develop games using Flash or even Java.

You can also change the game behaviour easily by editing many of the configuration variables which are at the beginning of the script. To change the game images you just need to replace them with others.

Official languages are Spanish and English.

You can find other modified and adapted versions of this game on the Internet, including one Opera widget.

This game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X and others.

Mirror at TuxFamily (sometimes down): http://ranisima.tuxfamily.org/

http://dhtmlgames.com/ranisima/

La carta más altaLa carta más alta
Last version: 19th December 2005 (approximately)
La carta más alta

Open source card game made with PHP, HTML and a little bit of CSS.

It is in Spanish language and will work in any web browser, even without CSS support.

The game is minimalist and it doesn't use any image at all but only text created with pure HTML and tables. So you will be able to play it in a text-based browser too, such as Links and Lynx.

This cross-platform and cross-browser game has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X, QNX, BlackBerry Tablet OS, Android, iOS and others.

Mirror at TuxFamily (sometimes down): http://lcma.tuxfamily.org/

http://dhtmlgames.com/lcma/

Yasmina's QuestYasmina's Quest
Last version: 17th November 2005 (approximately)
Yasmina's Quest

Open source adventure game engine that comes with one adventure game example (in Spanish) totally written using PHP, HTML, CSS and JavaScript.

The games created with this engine can be played either as a point-and-click adventure (using mouse, pointer or your finger) or as a text adventure (using keyboard or any other text input method) and they are totally cross-browser and cross-platform.

Although it uses JavaScript in order to improve user interface, it is not mandatory and it works with any web browser without JavaScript support. Similarly, CSS is an advantage but not actually necessary. Even images are not necessary!

The characteristics of this engine are unique, letting developers create adventures that work in all web browsers and taking advantage of JavaScript and CSS to improve the user experience only if it is available. You will be able to play the game even in text-based web browsers such as Links and Lynx.

So far, I don't know any other engine that works in all web browsers which let users play the same adventure in both modes, point-and-click adventure and text adventure.

It has been tested under BeOS, Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X, QNX, BlackBerry Tablet OS, Android, iOS and others.

This engine has been used by some other people to create their own adventure.

Mirror at TuxFamily (sometimes down): http://yquest.tuxfamily.org/

http://dhtmlgames.com/yquest/

Some projects with Visual Basic 4
Last version: different versions - 1997 to 1999 (approximately)
Some projects with Visual Basic 4

Three projects made with Microsoft Visual Basic 4.0:

JAM Tabla BOOM (1997): a simple educative program for kids to learn the multiplication tables. I lost the source code.

Millenium Time's (1999): an RPG mixed with text adventure (interactive fiction) prototype. Not playable. Includes story and an installer. It must be installed in C:\MILLTIME.

siEmu CEE-8650 (Computer Electro Emulator 8650): An emulator / simulator prototype (not working) for the Computer Electro which was an educative toy (a kind of child computer without display that worked with sheets) for kids made by Jumbo in early 1990s (around 1992 I think). Includes some Easter eggs. It must be installed in C:\SIEMU.

vb4_projects.zip

Unfinished projects with Turbo C
Last version: different versions - 1998 (approximately)
Unfinished projects with Turbo C

Two unfinished games (not playable) and a Game Boy emulator prototype called AriGamBoy (not working) made with Borland Turbo C under MS-DOS 6.22.

The games are "Whisper in the Darkness" (includes story) and "El corazón de Nadia" (I lost the source code).

tc_projects.zip

PruebasPruebas
Last version: 1996 or 1997 (approximately)
Pruebas

Open source game combination of text adventure and RPG written in Microsoft QBasic (under MS-DOS 6.22).

It is one of my first games that I created in 1996 or 1997 (I can't remember), when I was about 12 years old (my birthday is in November). It is in Spanish language.

Runs natively under MS-DOS and compatible operating systems like Windows (you can use emulators like DosBox to run it under BeOS, Linux, *BSD, etc).

Mirror at TuxFamily (sometimes down): http://pruebas.tuxfamily.org/

http://dhtmlgames.com/pruebas/