HTML5 Canvas game 01: ok what do we have to start from.
In my
startup post, I've given a hint that my TD game in HTML5 canvas was online.
Not much at this point, but still many parts and recipes that will be useful as the game develops.
About Tower/Turret defense games
The basis of this type of game is to stop
creeps from going through your territory. In order to do this, you have money to build towers that possess particular weapons aimed at destroying the creeps.
Creeps give money when they are destroyed. BUT...
As more waves of creeps advance on the territory, they become stronger, more difficult to destroy. Often, you can upgrade the towers, buy stronger ones as the game advances.
Tower have standard powers which attack general or specific targets: canon, lazer, rocket, and ice (that slows down creeps). Also available, power towers that upgrade the towers in its vincinity.
You can sell a tower (if you want another one in its place) for a fraction of the original money put into it through construction or upgrade. Many variation exist of these options/gameplay elements and mmany others...
Here are a few links to some I know:
Garden TD
OnSlaught
Next time : Defining the goal!
HTML5 Canvas game 00 : an online game experiment
Welcome to my exploration of the HTML5 canvas tag.
For those who have not heard of it, HTML5 introduced a new tag - 'canvas' , that permits javascript drawing, enabling dynamics graphical content à la Flash and other Silverlight.
To give a meaning to this exploration, I will try to produce a
reasonable online Tower/Turret Defense game. That is, make it a bit playable, try to consider real design options, but mostly it will be evolving in all sorts of direction as I try different concepts.
This project is already underway, and some recipe work as been made to familiarise myself with the 2dContext API. The game is available at :
this page.
It's in a rather dismal state right now and this blog is an idea to get it in shape.
I will use this blog as my worksheet for now.
The idea is just that start something and see where it leads us...
Labels: html5 canvas 2dContext turret tower game javascript development
Don't think extraterrestrials care ...
In seaching for extraterrestrials (see new space telescope Kelpler), we mostly forget to say what we are looking for.
Most *scientific minded persons* would bo looking for human readable data - most of what we will get, won't be!
We are talking about extraterrestrials - not about earth bound carbon being!
Lucky seven (.04)
I hope in luck, but don't believe in it, and assuredly don't count on it. Tomorrow, Ubuntu 7.04 is to be coming out.
If it's as good as the Beta was, we are all in for a good opportunity to move from bit movers to data doers, in a new key.
I don't know if it's all that great compared to other offerings in matter of desktop OSs and software, in terms of thenological prowess but it does have something others have seldomly: both raw power to empower, and do it in style. Well in the style of those who think sharing and distributing around is empowerment of sort.
It's not just the financial (in absentia) on it that makes it cool - it's the belief that people are what IT is all about. Maybe the economics is biaised by its supporters, who are well endowed (through there own making mind you, and even while this again was in part supported by the idea they want to disperse today). It still is about people, and how they can make a difference, it is really about ubuntu...
If my great-aunt can use it, maybe it is the time to think about our kids!
Python documentation within Eclipse
This is really just a recipe, reproducible in a few steps but gives you access to standard documentation within the Eclipse environment.
This recipe assumes a working PyDev plugin because we are going to be modifying some of the files it installs.
1- Download the Python documentation (I used the HTML docs ; I don't know if there are drawbacks to using PDF files)
2- Modify org.python.dev.help_0.9.8.5/toc_main.xml by adding a tagged item in this manner:
...
<topic label="Python docs" href="pydev.sf.net/pythondocs_html-2.4.2/index.html"/>
...
NOTE: I have put this after the Debugger topic line myself.
3- Save the toc_main.xml
4- Move the documentation folder *pythondocs_html-2.4.2* into the folder org.python.dev.help_0.9.8.5/pydev.sf.net/
5- Restart Eclipse, "... et voilà!"
Now you can access the entry "Python docs" under the menu item "Help/Help contents" within the "Pydev User Guide" book.
CAVEAT: with this simple recipe you can't search the Python docs, for that refer to Eclipse Plug-in development.
Creative tools ups expectations, lower value!
I was reading a comment* about N.Y.C. web programmers getting around 80K compared to C++ programmers getting around 130K and started wondering how this difference came about.
Being so far from Turing compliant AI as we are, I cannot fathom this difference, except... for the intrinsic difficulties in getting ressources as capable in developping in C++ as those working web dev tools (Perl, PHP, ASP, Python, etc) in making essentially the same type of programs.
But this line of thinking brought me somewhere further: what do we expect from programmers that use a tool that makes programming a mundane task? If any data mining task, or ERP process is made rather trivially, what do you want next from your programmer? To do the non-trivial things: language analysis, economic forecasting (weather forecasting at that).
But these things are not easy to do, whatever the tools available, because they are intellectually challenging. Or put another way: we still have no clue on how these things really work.
Since the programmer cannot achieve this, or not much of it, his value falls!
The C++ programmer does not go through this because his value is mesured in the complexity of the pointers he manages to interconnect. This is not a flaming comment against people capable of this feat - not in the least, and I know some who use this talent to try their hands at the difficult stuff.
No, the point is that those using creation enhancing tools are limited by the expectations; because they do the ordinary things simply, we want them to do the hard things for which casual theorizing does not translate to formal systems, and hence they just can't make it look so good: proof of concept prototypes are made in a week, based on intuitive understanding of the subject (whatever the subject, someone always has a 'point-of-view' on the matter) but then projects start slipping (time delays) and slurping (changing specs) until nobody wants to be associated with it. And in the end, the one wearing the donkey-hat, is the not the visionary (with his intuitive understanding) but the developper unable to make the damn machine do some relevant bidding, thus the falling value of the poor soul.
Python is such a tool that permits half-baked solutions to hard problems to look good (in under 200 lines of code), but Pythonistas are then expected to deliver the other half of the bakery to make the solution real (in another 200 lines of code, please). But this is not possible in 2000, 20000 lines of code because the solution is unknown, the problem is really unsolved (chess anyone?, translation?, semantic understanding ?, visual recognition ?**).
Python is a great programming tool - but it is not a Pythie in itself: it does not give solutions, it only makes them easier to implement. So back to this blog entry's subject, Python programmers don't really look good because it seems so easy to do the ordinary, so they just look ordinary themself! (On the other hand, tons of ___(your favorite language to hate here) lines of code to do the same ordinary stuff look SO MUCH cooler, that there programmers really look cooly-nerdie!),
Python as a tool is so valuable to those who try figuring hard things out, because they often can program their virtual experiments themselves. And if through these experiments, they achieve greatness it will be in biology, linguistics, economics, astro-physics, not computing in Python...
* I was hyperjumping around and can't point to the said article :-(
** In all these areas, much progress is achieved today compared to yesteryear, but none in the way, and/or extent humans make these tasks, so that there evolution is on a different path that of human understanding of them.
Why write about computers here
Well, why not!
It's a place to put ideas, making them available.
Some might even be interesting, others could be helpful.
A few will about neural biology, and neurcomputing modelling.
Finally, Python (the programming language, naturally) will be used here extensively, until I find something better to go from ideas to working programs.