Zelen3d

LD23

My first LudumDare event. Yay!

So, yeah. This is the first time I made a game for LudumDare and this is the first time I made a game so fast. Phew… I did take more days then I was supposed to, as I did many other things on my weekend. It is hard to imagine what a REAL Ludum Dare would be like! But… my game is finished, or almost finished. I could have took some time to add more kinds of enemies, prettier graphics, maybe a level mode…

My first LD

Anyways, this game pretty fun to play. It is about a turret who’s mission it is to…kill coloured rectangles! It is an infinite survival and the longer you play it the harder it gets! I had much fun creating the different “waves of enemies that might appear at random. It gets really intense!

I thought about a game mechanism where you almost don’t control the gun. You only control when it shoots. So basically missing might mean dying.

The point of the game is to collect points by killing enemies. I also made a “multiplier” system. So the more enemies you kill in a row the more points you get!

http://www.ludumdare.com/compo/minild-34/?action=preview&uid=13310

LD24

Faith in JavaScript has been restored

This post, other than being an I am IN post, actually describes my journey around JavaScript: why I left it and how I finally came back to it. If JavaScript concerns you, you would find here a few things that I hope I knew half a year ago. Also please excuse my inability to summarize.

When I first started learning Javascript and Html5, I was trying to find an alternative to flash to make online games. At first, I have been pleased of how simple it was. You didn’t need a complex IDE, you didn’t need any compilers and libraries to get graphics. All you needed was an average text-editor (in my case gedit) and a browser (I chose Chrome for its developer’s tools). In fact, I have made a few unfinished but kind of playable “games”, one of them for the 34th miniLD.

As I became better and better at the language (learning how closures work and stuff), I started seeing more and more of these “issues” in the language, as well as in the <canvas> object, some of them couldn’t be worked around. (There are quite a few of them and I chose to spare them for you as the paragraph was becoming big enough. If you’re curious ask in the comments.) Then, here is the issue that made me loose faith in JavaScript: the nature of JavaScript arrays. You see, in JavaScript arrays are just objects that have a special length property. And when you do myArray[5] it is exactly the same as myArray[“5”] since it is supposed to internally do myArray[(5).toString] . So JavaScript arrays aren’t real arrays (C-like arrays), and aren’t even number-associative arrays , but are string-associative arrays. And to crown it all, these not real arrays can’t even be directly inherited.

At this point I decided that maybe I should leave web scripting for a “real” language. For a few months I drifted from C++ to D, to Java and Processing and back to C++. If I would have settled down for a language, I would have probably became good at it, but it is such a difficult choice to make and there is always some feature that a language has and others don’t.

And then, recently, I have found out that most JavaScript implementations actually treat arrays as real arrays until there is a need to really treat them differently. I was amused knowing how browser providers silently try to close the performance gaps left out by the standardization in which they have themselves took part. On a side note, I heard Mozilla is adding type inference in their next JavaScript implementation to speed it up. Cruel irony.

Things started to get really bright for me when I discovered that JavaScript has a pretty new feature called Typed Arrays. Typed arrays permit to manipulate raw binary data by creating an array of bits and then accessing them as 8bit, 16bit, 32bit; signed, unsigned; ints or floats. I have then thought that it would be really good to use this kind of array to boost performance in a tile-based game where each tile corresponds to a number. So today’s JavaScript maybe isn’t so bad.

And the future of JavaScript is even brighter, and must be, talking about the amount of people that use it. The JavaScript 2.0 draft that would make JavaScript strongly-typed but dynamic if the developer chooses, submitted by Netscape in 2006, sounded very exciting. Sadly, ECMA didn’t make it into ECMAscript 4, and to not confuse people they directly jumped to making ECMAscript 5, the language that we use today, with just a few small changes. Most of the features of the proposed JavaScript 2.0 were yet incorporated into ActionScript making flash developers pretty glad. But the ECMAscript team continued working on the proposal and they actually came up with an agreement: EcmaScript-Harmony wich will become the EcmaScript 6 (a quick list of it’s features that you can google may be found here). This will add classes, but just to simplify the prototyping based inheritance. Then they say that maybe, just maybe, they would make javascript strongly typed in a further release but not just yet. Anyways, the future looks good, but isn’t here yet.

So to conclude, I would probably use HTML5 and JavaScript in the 24th Ludum Dare, unless I find some epic language/game engine at the last minute (if I for example start playing around with Flex). And in the mean time, I would be creating a library to simplify the use of typed arrays for 2d tile based games. I will make a system that automatically transforms a two-dimensional JavaScript array into an object that keeps the data as a typed array internally and gives you methods for easily accessing the tiles.(  var map= new binaryArray([[1,1,1],[1,0,23],[1,1,1]]);   map.setTile(1,2,25);   //set tile at (1,2) to 25  ). I hope that this would boost performance. I would keep track of my efforts on this blog and anyone of you would be able to use the library once it’s done.

And to pursue the tradition:

  • Platform:HTML5
  • Language:JavaScript
  • Graphics:Gimp,Blender 3d, InkScape
  • Audio and Music: Audacity, LMMS, Bfxr

Good luck to all of you and have a good time.

I would also be searching for some screen recording program.

Comments

Puzzlem00n
07. Aug 2012 · 01:44 UTC
Haha. “Inability to summarize.” I’m in the same boat as you there. Try to keep things short, never can.

Binary data management in JavaScript!

As I promised in a previous post, I made a library that facilitates the use of typed arrays in JavaScript. The library is here. This is great for tile based games in JavaScript because it permits to make easy to use grids that use less memory. You can have Grids of 8bit, 16bit, or 32bit signed or unsigned integers. It also has a compatibility mode that makes my library work on browsers that don’t yet support typed arrays by using a image data pixel array instead( but it only works on 8bit unsigned grids). I was going to post  a demo but my free provider is down for some reason so..You can use it like this:

var map = binaryData.Grid(100,15,8,false) ;//make a 100×15 8bit unsigned grid initialised to 0.

map.set(2,2, 25); // set the (2,2) to 25

alert(map.get(2,2)); //should get the (2,2) and alert 25

map.paste(3,3,

[[0,5,5,0,0,5,5,0],

[5,5,5,5,5,5,5,5],

[5,5,5,5,5,5,5,5],

[0,5,5,5,5,5,5,5],

[0,0,5,5,5,5,5,0],

[0,0,0,5,5,5,0,0],

[0,0,0,0,5,0,0,0],

[0,0,0,0,0,0,0,0]]);  // not really obvious here, but pastes a heart mde out of 5s on the grid at position (3,3).

map.forEach( function(value,x,y) {/*put your drawing routines here*/}); // forEach can also be executed only on a defined area of cells like this:

map.forEach(function(value,x,y) {/*blabla*/},2,2,10,10)// executes the function on the 10×10 cells that start at (2,2)

//by drawing only the cells on the screen, you can greatly optimise side-scrollers.

this is enough. Once atspace.com will be back up, I will post a small demo, and maybe a documentation. And maybe move my thing to bitbucket or github or something.. herpderp.. but that will be tomorow. night everyone..fgHRWf3x zzzzz

Evolution of the Flying Pinatas post-mortem

Hello world!

PLAY MY GAME!!!!!!!!

This was my first Ludum Dare and I made something I’m proud of. It just happened so that on the weekend when I decided to make a game in 48 hours, friends and family came from the whole world to see us, and unrelatedly, our local house of culture held a festival with free shows and free wine and cheese. Anyway, even if I couldn’t code all the time, I had fun. I wanted to submit to compo, but nothing was ready in time, so I “jammed”.

After I finished my game and submitted it I have found out that my commitment is supposed to extend after the initial 48/72 hours. After that there is testing and evaluating, wich is difficult work! I try to play each game as thouroughly as I can and give a nice constructive or encouraging comment. Some games that are flash or html5 are easy to test, since there is no downloading, others are more hard.

Anyway, I have made a game about a Mexican that chases overgrown flies in a biotech laboratory with a bat, and candy falls out, so…

I used html5/javascript.

What went right:

The Ludum Dare and its community : It is so awesome! I would have never done what I did without it! The IRC channel was pretty friendly when seeking advice. I have also seen some really great games out there, lots of innovation and lots of fun. Lots of great ideas.

-Modular programming : This was the case or never that proved that modular programming and object orientation and inheritance was the way to go. I have passed most of the first day creating my “game engine” if you shall permit, made all the base “classes” (the base prototypes to be correct, but nobody would understand), and other boring work, but the last day was the day when I turned this everything into a “game”. The modularity of most of my code made it really easy to add stuff, and would make it really easy for me to extend the game!

-Graphics : I have made a nice set of graphics, even if not totally complete, is well integrated, where no image that shouts out, or so it seems to me, but you can go and check :)   …

-Flies reproducing: This is kinda’ related to modular programming, but the evolution system I made for the flies could be easily transformed to add more parameters or even to make a separate species.

-Time lapse: This may seem quite ordinary, but for me, viewing my time lapse seemed so empowering! Like watching your past self code in fast-mo!

My super-duper optimised javascript binary array grid manager that I made for the compo seemed to work really well. It makes things faster and more memory efficient by using typed arrays. You can find an explanation in my previous post: http://www.ludumdare.com/compo/2012/08/23/binary-data-in-javascript/ I am thinking about submitting this to git-hub but I’m using mercurial, HELP!

 

What went wrong:

I Got ideas late : the moment I saw the theme, my brain seemed to stop working. It took me roughly 24 hours to actually get the real idea. The first day I was actually just building a generic tile-based environment. Only when in the evening I got tired of doing math and started doing graphics, I got the flash for the idea I currently have.

-Time : I didn’t have much time, and my timelapse showed that I spent part of my first day just watching videos and listening to music on Youtube. I should use time-management next time. And motivate myself with a great idea early.

-Not really a game : well, even if it is a game, nothing happens if you kill all the flies. There is no end and, like, no beginning. I wanted to add an intro and something that happens at the end, or maybe a boss or something, but I didn’t have time.

No goal there are candies in the game but they give you nothing, yet.

No audio : I was going to add music. in fact, for the last few hours I was working on a song to add to the game. Unfortunately I didn’t finish it untill the next day, and then I also realized that adding music in html5 is still really complex.

What’s next:

-Music: I have my song already, but I should integrate it and see what people think, yet it is hard to make it optimally work on all browsers.

-More evolution : making flies fly away from the player would be good. Also adding different types of flies.

Level system this would take some time to integrate, since I would need to redo the whole code.

-More graphics

Would I be able to make a full game based on this? What I hoped was that Ludum Dare would push me on the path to eventually making a great game. For now on I play other peoples games.

Play my game:     http://www.ludumdare.com/compo/ludum-dare-24/?action=preview&uid=13310   and comment and rate please.

Challenge considered!

Hey guys!

I’m a bit late, but I want to say that I will maybe participate in the challenge with html5.

I have a few started games, but none of them are in a good state, and I know their code is REALLY messy, so I thought it would be easier starting a new one. It’s a casual game about squashing pumpkins in an infinite field. In pseudo-3d. Since it is Halloween related, I better finish for next week.

Also, what’s up with HTML5? Is anybody else making their game in HTML5? Can they be profitable?

Finally, it would be hard for me to really participate since I am in sec 5 here in Quebec and our teachers are overwhelming us with projects for our first reportcard. So maybe… maybe?

Ah… School!

It seems that I am falling out of the challenge. I’m in 11th grade, and lately, our teachers have been buriing us in projects. English, French, History, Ethics(lol) not counting all the exams.

Since my game is a Halloween theme game, I wouldn’t probably have time to finish it, challenge or no challenge.:(

And then, as to add, I have been arguing pretty severally with the JavaScript garbage collector, I don’t even know what is the reason. And yeah, I am making an html5 game, that should be ported to mobile, so performance is key. And anyway who makes such a stupid language where the garbage collector causes more problems than solutions? Why do garbage collectors even exist? Aarghghg!!1!!!!1!11!!RAGE QUIT!!!!

LD25

Weirdest Games

People post the best games they saw, or the most innovative, or something…

There has been alot of original ideas in the contest, and now, I’ll post the WEIRDEST ones. Games that make you go WTF:

BEWARE as some of these are pretty OBSCENE!

 

 Mitt Romney and the Case of the Sex Doll

 

This is a weird adventure game, where you play as Mitt Romney. The art and the music are really obscure. Play at your own risk here

 

You are the Evil Overlord

In this game you play as an evil overlord and all you can do is yell at your minions that are trying to defeat a hero. The whole game is choosing what to yell at them. It is actually pretty fun, and interesting stuff can happen. You can send your goat… Play here

 

The Filthy Coward

 

Here, you are some guy that goes in public removing people’s clothes. Your mission is to be as rude as possible without getting caught by the cops (which don’t really do much) Anyways it’s here

Gin Monster Bob

This is a drunken stealth game. You should get to the kitchen without bumping into anything and it all moves. Play it

Fisticuffs

 

This isn’t really a game, but a hockey fighting simulator. Bet for your favorite team – the Dicks or the Pussies – here!

 

If you know any other weird games, post them in the comments!

Go!

Animated pixel art?

Hello. I have seen beautiful pixel art in the games here. I have been doing pixel art myself for some time, but it was always static. Now I think I should learn animation. I usually used Gimp to create graphics, but Gimp has close to no support for animations. So… what program do you use to create animated pixel art?

Layers, filters, or anything fancy isn’t necessary. All I need is a pencil tool, preferably a color selector, and a dynamic preview to see the animation. It seems like not much, but I don’t know any program like that. Also, I would kind of like it to be free~~~

Thanks in advance.

Comments

Osgeld
18. Jan 2013 · 01:21 UTC
Gimp handles animations fine. Yes you can get sprite animators (google around those lines) but in the end its basically the same.
pythong
18. Jan 2013 · 04:30 UTC
i also recommend graphicsgale. it has a preview for animation, and for learning, there are also a lot of youtube videos
Zelen3d
19. Jan 2013 · 00:00 UTC
Thanks Jacic and pythong for mentioning graphicsgale. Its a great lightweight program. I even worked out of the box in ubuntu using wine!

My first animated pixel art!

Flame2

Humans were always fascinated by fire!. I made this now in a bit less than 3 hours and I’m proud of myself! This is my first animated pixel (actually second, my first was a shitty running person).

Graphicsgale is a great program for this kind of work and I found out it works fine in Ubuntu using Wine (something I had often problems with). The free version doesn’t export to gif, but you can export a series of images and convert them from command line with imagemagick (example here: http://ubuntuforums.org/showthread.php?t=1034104) .

 

15

This entry was posted on Friday, January 18th, 2013 at 9:53 pm and is filed under MiniLD #39. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

My first multiplayer online demo!

>> Play on my home server >>

>>Play on my home server>>

Screenshot at 2013-03-05 09:25:30

 

So I started making an online multiplayer thingy. How hard can it be? I asked myself.

Well… PRETTY HARD! Making a game on a single computer has became pretty straightforward to me, but making a game on multiple computers is much more complicated, since I had to synchronize the characters, and make sure to remove and add characters when they connected or disconnected. I used js for both client and server (node.js) and used sockets.io to do the realtime communication. My code is certainly a huge mess! I had a chunk of code for the client, a chunk of code for the server, and a chunk of code that both had access to, not speaking about libraries.

Anyways, it’s a beginning, and I’d like to see some of you made try it, to make sure the port forwarding and everything is correct. The link will be valid until I will shutdown the computer or my IP adress changes.

>>Play on my home server>>

The link will be down

 

Realization: I don’t know web design! :(

Here’s what I’ve been working on…

http://rnd.atspace.tv/PixelDrawer/

hint : you can draw on that thing.

I have just realized that out of my 1 year and a few months of JavaScript, I never actually learned web design! I started to learn JavaScript practically at the same time I started to learn the <canvas> api. I know basic html, but I got in the game really late, and I started doing canvas before I could manipulate divs. I messed with node.js websockets, and I don’t even understand html forms yet. Shame on me.

Now, at the stage I am with my project, I’m doing the frontend UI, and html buttons, css, jquery and stuff would be really helpful, yet I am still noob at it. I’m going to concentrate on the parts that I know I’ll do well, and then, maybe I’ll collaborate with somebody.

<rant> On a side note, organising code in JavaScript is difficult! The way the inheritance works just isn’t natural, and there is no consistent way of managing packages. The browser way and the node.js way are incompatible! </rant>

LD26

Metaphysical jellyfish reality

” I’m in. ”

Messing with compasses is fun.

Platform: the html <canvas> with javascript

Tools that I will maybe use:

  • gedit
  • gimp
  • lmms
  • audacity
  • abundant music
  • blender
  • node.js

I will probably listen to SuicideSheeep on Youtube (great chill-out music). 

 

I hope that this time the theme would be something highly spiritual, esoterical, metaphysical, or occult. The more interpretations, the better.

“The Initiatory Ceremony/Voyage”,  “The essence of reality”,  “Higher dimensions/realms”,  “Sacred Geometry”,  “The Illuminati whatnot“, etc…

Also, I propose that this time’s mascot would be a jellyfish, and particularly the Turritopsis nutricula, the Immortal Jellyfish that can reverse its ageing process and possibly obtain immortality.

 

 

I’m back!

I didn’t do the latest Dare, I had exams. But still, I have a few things to say.

First of all, for y’all doing HTML5 games, Clay.io is awesome! Not only do they host your game, but also give you an API for adding Advertisements, Leaderboards, in-game purchase and whatnot!

Second of all, I reworked a bit SpinTurret, a game that I made for a Mini-Ludum dare, that weirdly resembles the current theme! It is a simple 2key game, the first of mine that I could call finished. I have also adjusted it to work on mobile. I didn’t finish polishing it yet, but here it is: spinturret.clay.io .

startScreen

 

Promotional1

 

How (not) to fail a game release

A few weeks ago, I officially published a game on Clay.io , a site specially for html5 games. Here:  http://spinturret.clay.io/ .A nice thing about Clay.io, other than the useful api, is that they can host your game even before you publish it to their game collection, so you can check if everything is okay.

How I messed up, is that just before publishing, I mimimized the script, and changed the generic api script for one with only the features I used. And there is where I made a mistake.

Instead of doing   clay.gamekey=”spinturret” , I kept the clay.gamekey=”YOURGAMEKEYHERE” .

Because of that, the api didn’t work, so I couldn’t keep track of how much people played, and they couldn’t submit their scores to the leaderboard :(  .

The built-in leaderboard was I feature I really liked with clay.io, and it suited my simplistic game alot. It was supposed to be an important feature, so people would try to beat each other’s score.

Anyways, Clay.io does some promoting for the newest games, features them in their newsmail and stuff. If my game would have not been broken, I would have probably had some users interested for longer. Moral: always wait 24 hours after your last change (be it minimizing) before publishing your game. If you want absolutely someone to play it, you could go ask your Facebook friends, or maybe not.

Then, to my next point: my promotional image.

People judge by the cover, so yeah. What it looked like when I published it:

Promotional1

It seems pretty amateur, right? It’s just a screenshot.

But now:

But now I worked on it a bit and updated it, it looks like this:

Promotional4

 

Much better, right, much more professional. If I had this image when I had released the game, I would have probably gotten more players.This time, it’s not a screenshot, but an image entirely recreated in Gimp and Inkscape.

(Now that I compare both side to side, I think that I should at a speck of orange to the bottom one. I’ll maybe do that.)

Moral: screenshots and promotion art are really important, since it would influence how much people would get to your game in the first place. So you should have them nice and beautiful when you publish a game.

Anyway, in shameless self promotion I declare: go play my game at http://spinturret.clay.io/ !

Comments

15. Jun 2013 · 14:24 UTC
Just some advices:
15. Jun 2013 · 22:48 UTC
Thanks for the tips! I hadn’t heard of Clay.io before but it seems to be a pretty cool place for HTML5 games.

How do people make money nowadays…

… with games?

I have been making this puzzle game and had some really good feedback on it! I see that it might actually go somewhere!

I’m starting to think, even if it’s far away, how would I monetize it? It’s an HTML5 game, a casual one I would say. I am considering selling it on mobile markets, but I have no mac, no android and no windows 8. Since it’s html5, I can of course test it on my little iPod touch. The question that I am asking myself is if I should release a free online version AND THEN see what I could do. It seems that Flow Free did just that…

What would you think?

http://unsquareprototype.clay.io/

Comments

24. Jun 2013 · 19:32 UTC
I’ve played your prototype and I definitely think you could sell it for a couple bucks. Maybe put it for free on Facebook and offer purchasable “Puzzle Packs” of additional levels?
24. Jun 2013 · 20:15 UTC
First off, this game you have here is really, really cool. Just needs polish!

Gui graphic design?

Just a question: how to make gui s look nice and consistent? Is there any particularly tutorial that is good? I am particularly thinking about html(5) buttons and such.

Also, I’m searching for how to give a game a nice and consistent look and feel. On mobile and desktop alike. Any tips or tutorials?

Comments

09. Jul 2013 · 04:16 UTC
I don’t know of anything technology specific, but what I’d recommend is to make yourself a “style guide”, which can be as simple as a few mockups of screenshots with every widget that your game will need. Consistant design is more about making decisions and sticking to them, which is harder than it seems. Keep in mind “what is the user trying to accomplish” here, and minimize that friction, use appearance to provide hints and not just fancy eye candy. Try to reduce or eliminate text, even “in-your-face” instructions are often unread.

Unsquare almost finished!

This is my game: unsquare.

Unsquare is an puzzle game made with html5 that should also work on mobile.

I almost finished it, and to be fair, I would like some feedback, positive or negative, on it. Whether it’s about the difficulty, appearance, usability on mobile, or anything else,  your experienced advice would be hugely appreciated. I am now at a point where I consider the game to be good, but a question floats in my mind: how good is enough?

Also, what do you think is better? having all levels accessible (like in B &W), or having to unlock them one after the other (like in Tristate)?  I’m going to remove the clear all levels button once I decide myself on this. I’m also not sure if I should keep the rainbow levels at the end of Tristate…

IF FOR ANY REASON YOU CAN’T PLAY, PLEASE TELL ME.

Edit: Just for LOLZ: I had a problem where adblock interfered with my game since it prevented the clay.io api from being downloaded.

http://unsquare.clay.io/

Screenshot9

Comments

davisdude
12. Jul 2013 · 02:34 UTC
Fun and challenging game! I personally like having to earn the levels more, but that’s just a matter of personal preference.
mooskagh
12. Jul 2013 · 11:35 UTC
It’s a good for game to show surprises as playing goes.

Based on that I think that having levels locked is better idea, and I wouldn’t even show thumbnails of unavailable levels, making “discover what next levels look like” one of the points which keeps interest.
bentog
12. Jul 2013 · 21:09 UTC
It takes forever to load here, for some reason. But I have seen this game before in its early version and I think it is pretty smart. Now that it is polished, it must be great. (Using the latest version of Chrome, in case you are wondering).
Zelen3d
13. Jul 2013 · 20:57 UTC
Try it now, your problem might have been caused by adblock!.
namuol
13. Jul 2013 · 04:46 UTC
Fun puzzles, but I’m already stumped at level 6! I can solve it, but only in 10 moves. I must be st– nevermind just solved it. :)

Unsquare released

Hey!

I submitted Unsquare to the clay.io site for publishing. I also posted a link to html5games.com, but they usually take about a week to respond.

Let’s see how it goes.

promo2

 

For the 7dRTS challenge, I would have loved to team up, but unfortunately I will be absent half of the week. Maybe I will get an idea for something simple before I get back.

LD27

I’m in!

Hello from Montreal!

I’ll be probably making a game for this next compo. I’ll be making it in javascript, probably using this cool library called Phaser.js!

Phaser is a full html5 canvas game library for both Typescript and Javascript that says to be heavily based on Flixel (flash). All I hope is that those great developers at Photonstorm release the 1.0 version before the competition. They were supposed to release soon, but they currently got a lot of issues because of the Typescript 0.9.1 update that seemed to make errors all around the place. (That’s what happens when you trust Microsoft. Ok, I’m sorry, Typescript actually does seem pretty cool. But whatever, to use typescript to your ease you have to have visual studio, and to have visual studio you have to have windows, and… naaah. I’ll just stick to plain Javascript. )

Good luck to all of you, and have a happy back-to-school time! Also, Mothman.

Comments

capnlove
14. Aug 2013 · 08:00 UTC
I wasn’t aware of Phaser but I’ve used PhotonStorm’s flixel upgrades a lot in the past.

Thanks for the find!