About N0_Named_Guy (twitter: @n0namedguy)

Just a guy who likes to code stuff...

Entries

 
Ludum Dare 27
 
Ludum Dare 21

N0_Named_Guy's Trophies

N0_Named_Guy's Archive

Hello Ludum Dariums, I’m N0_Named_Guy, and I’m ready to kick ass…

Posted by (twitter: @n0namedguy)
Thursday, December 12th, 2013 8:12 pm

…if I can finish my college assigments, which are due this weekend.

Other than that, the game that shall be produced will most likely be web-based, using HTML5 stuff… Don’t know if I’ll start the engine from scratch (like I did last time) or reuse The Thief’s (my last entry) engine code, which is hosted at https://github.com/N0NamedGuy/The_Thief

See you soon (or so I hope)!

The Thief Pre-Post-Mortem

Posted by (twitter: @n0namedguy)
Thursday, September 5th, 2013 3:21 am

The thief pictureNow that the ratings, reviews, feedback and comments are quieting down, I’ll jot some conclusions I’ve come up with. I call this the pre-post-mortem because The Thief is not dead just yet. But first a very important link: http://www.ludumdare.com/compo/ludum-dare-27/?action=preview&uid=5344

The Bad

Last minute sound effects

I wasn’t planning on adding any kind of sound effects, because I don’t how to properly create sound effects. I’ve used bfxr before, so I thought, why not use it to make simple sounds. All sounds are cool, except for the footstep sounds.

They were placed in the game  15 or 30 minutes before the deadline. And, at first, the footstep sounds sounded nice. That is, until they stopped sounding nice. The footstep sounds have two major flaws: they are loud and repetitive. Of course, one can mute or lower the volume of his or her sound producing device, but when developing a game, that option should be considered.

So yeah, people seem to dislike the footstep part.

Bad difficulty curve

difficulty_chartThe game turned out harder than I expected it to be. I didn’t set out to make the next Super Meat Boy, Biding of Isaac, Dark Souls or [insert hard game here] like many Ludum Dariums I’ve seen… I wanted to make an acessible, fun and challenging stealth/rush to the exit game for all ages and all kind of gamers.

My goal was to make the game harder as levels went by, but on a linear scale, not on an exponential-ish scale. You can see what I mean on the super  accurate and scientifically proven graph of level vs difficulty displayed above. It has labels and everything!

Could use better levels

The phantomed and feared third level

There were only four levels. And I was planning to make eight. The problem? I haven’t any real practice on level design. Seriously.

I’ve made levels for Counter-Strike, sure, but those are 3D levels. And those levels were based on some real live enviroments (I made a CS map based on my high school). I tried the same approach with this, but somehow my mind got blocked when designing levels.

The third level (the “hard” level) is where my mind started to block. I spent too much time on it, trying to “balance” it. But in the end, I messed it up. The player hasn’t much places to escape, he/she can get spawn killed (as featured on this video).

Rough corners

Well this is Ludum Dare. People make games by themselves in 48 hours. Some rough corners are expected to exist.

But not that I said some. For instace, the guard collision detection could be much more forgiving (by that I mean less frustrating) if instead of using corner based detection, I used a radius (or circle) based collision detection.

Other rough corner is the inability to turn off sound effects. They were an after tought, and there was no time to implement a menu system, nor will to add a simple clickable/touchable button to mute.

But the biggest rough corner of them all, is the title screen. That was the last big thing to be made. And was made from scratch in 5 minutes, within 30 minutes before the deadline. I am not proud of it.

The end screen, for the few who have seen it, has been a bit rushed.

And finally, the fades between screens weren’t made in the best possible way.

The Good

It’s finished and people seem to like it

Yay! I finished something! It’s a rare feat from a person such as myself, but with its flaws and everything, I think this is a complete game. All it needs now is more levels… (Really, I am pretty happy with the “engine” I developed from scratch in 48 hours).YAY

I’ve been receiving mostly positive feedback. People seem to like the game, and most of all are having fun with it.

Runs and controls smoothly

My first priority was the game “smoothness”. The game had to run smooth everywhere and be responsive anywhere.

To do that, I tested (and requested people to test) on a variety of browsers and devices. I read some documentation on how to optimize rendering and javascript execution (without minification, and other stuff that obscures code). I am proud of some of the simple optimizations I made: drawing to a invisible canvas (acting as a framebuffer), and after all that draw to the visible canvas (making a flip of the framebuffer). Other simple trick that sped up rendering was drawing the background layer to a “framebuffer”, and then render from there.

I made sure that I had a control scheme for everyone:

  • Arrow keys, WASD (my favourite), ZQSD (for AZERTY keyboards)
  • Mouse clicks and drags
  • Touch and drags (on mobile devices)

Enemy AI

At first, the guards were just dumb NPCs, moving randomly. They chose how much time were they walking and on how much time would they do it. If they bumped a wall, they would change direction and their walk time again. Simple algorithm, but too chaotic. I was impossible to strategize any move.

guards

Then I realized they needed some guidance. Some predefined paths would really help. This way, the player would watch them, and then, without any kind of luck involved, he/she could plan their moves. So I created an AI system that is explained here: http://www.ludumdare.com/compo/2013/08/24/the-guards-have-a-will-of-their-own/

But after that, they were still dumb. They would just follow the orders that were on the AI tile layer. So, two hours or so before the dealine I wrote code that sums to this:

if (distance(guard, player) < guard.aifollowdist) {
   guard.order = "follow";
}

With these lines of code, the guard follows the player if he is in his radius. This rather simple change made the game more fun, and so I tweaked the existing level designs to somehow work with this new mechanic. Finally, I added a little exclamation on top the guards when they started chasing the player.

Camera movement

The camera movement was way to simple. It just followed the player (well, now it still does), and it was a fixed camera. It lacked some dynamics to it. But that was about to change, when Aurel300 responded my plea on IRC to test my game, and noted how much my camera movement sucked. So as good man that he is,  Aurel300 provided me with a simple algorithm to improve the way the camera moved. In my mind, it radically gave the game a better “feeling” to it.

Reviewers and Raters Wishlist

I read every single comment posted on IRC, on my livestream and on the game page. Every piece of feedback was noted and stored. So here’s the compilation of what people seem to want on my game:

  • More levels;
  • More guard types with consistent behauviour;
  • Better footstep sounds;
  • More ways to hide (for instance, hiding in the shadow, behind the walls);
  • Add line of sight detection to the guards instead of using zone detection;
  • Make guards unable to see through walls;
  • Better graphics.

And I throw more bullet points:

  • Add a radar (small screens can see the enemy movement as easily);
  • Fix enemy chasing (use proper algorithms to find the shortest path);
  • Add music;
  • Add cameras, spotlights and lasers to detect the player;
  • Some way to save progress.

I’ll do my best, in my spare time to implement all this.

Conclusion

I hope, once in my life, to make a game (however simple) from beginning to end. It will take a lot of code refactoring (believe me, that code is ugly). I need to learn how to draw more properly. Or maybe get some help to properly finish this game (any volunteers)?

I am pretty happy with how this game turned out. It’s a nice piece of software that I can add to my portfolio. The project will live on, to the public on https://github.com/N0NamedGuy/The_Thief

So, if you haven’t played The Thief, you still can check it out at http://www.ludumdare.com/compo/ludum-dare-27/?action=preview&uid=5344

N0_Named_Guy signing out.

Free Livestream Reviews! Come get ’em while they’re fresh!

Posted by (twitter: @n0namedguy)
Wednesday, August 28th, 2013 4:17 am

Hi guys. After making and releasing my game into the wild, I thought I could do good deeds to mankind.

So, I proposed myself on IRC to make live reviews on LD games. I am open for more submissions. If you’d like to have your game reviewed Live, by me, all you have to do is fill out this form (http://bit.ly/ld27_reviews). Whenever I am about to stream a review, I alert the person/group via IRC, with the name that you’ve provided on the form.

I’ve had quite a few games to review… And I am keeping a spreadsheet on Google Drive to maintain the review queue. So, if you want a taste of how do I review games, and want my take on your game, check these reviews out:

I’ve also made a convenient YouTube playlist.

If you would like to have your game live reviewed, please let me know by filling out the form at the Google Drive.

All I ask back is a honest rating/review on my game (http://bit.ly/the_thief_ld).

The guards have a will of their own

Posted by (twitter: @n0namedguy)
Saturday, August 24th, 2013 8:19 pm

Yep. That’s right. I think this is the very first game I’ve implemented “AI”, without it being totally dumb.
So here’s how I program the AI for my guards:

2013-08-25-041232_2646x1024_scrot

Those arrows and words are instructions for them. So for instance, if a guard stands on a tile marked as RAND, he will act randomly (choosing random directions, for random distances). If he stands on an arrow, he will move to the direction pointed by the arrow.

This way I’ll be able to control how guards react, and make better level designs.

A new version is up, at the same usual place. Go test it, and give me that delicious feedback of yours. (The QR code is clickable).

http://bit.ly/the_thief

http://bit.ly/the_thief

Thief Progress

Posted by (twitter: @n0namedguy)
Saturday, August 24th, 2013 5:50 pm

So, I’ve changed the way our baddies (and anti-hero) look like. I decided to drop the whole 16-bit colors thing.
Here’s a screenshot:

2013-08-25-013400_2646x1024_scrot

I’ve now been working on improving the framerate (by for instance drawing the tilemap layer onto an offscreen canvas for later usage) and fixing little bugs.

Before I delve any deeper and leave off to level design and a bit more of artificial intelligence for the guards, I want to check if this little prototype (as it is now) works well on everything that claims to support HTML5.

Here’s the link:

http://bit.ly/the_thief

http://bit.ly/the_thief

Damn you 10 seconds…! You don’t tell what to do…

Posted by (twitter: @n0namedguy)
Saturday, August 24th, 2013 9:38 am

… well, sort of…

I don’t like timed games. I don’t like playing them, so I don’t like making them that much. So I’ll play by my own rules, to a certain extent.

My idea:

A Thief who has all the time of the world to steal stuff, but only has 10 seconds to escape the premises… There:

  • A game I would like to do
  • It is not timed (for the most part of it)

The main idea is while you are exploring the place for your loot, you must be thinking in the guard positioning, and how to get to the nearest exit without getting caught (because you’ll only have 10 seconds to do so…!)

The game is uninspiringly called The Thief.

An early screenshot of The Thief

You may check its progress at http://nng.is-a-geek.net/ld27.

To checkout the development process, watch my livestream at http://www.twitch.tv/n0_named_guy.

Stuff I am using:

  • JavaScript/HTML5/CSS (in other words, web thingies)
  • jQuery and UnderscoreJS (I thought about using KineticJS but gave up on that)
  • GIMP image editor
  • Tiled Map Editor (available at http://www.mapeditor.org/)
  • gVim file editor (the best file editor there is)
  • Firefox and Chrome for testing
  • Arch Linux 64 bits with the Awesome window manager
  • nginx on a Raspberry PI to host game previews (what hosts the content at http://nng.is-a-geek.net/ld27)
  • ffmpeg for streaming and scrot for timelapsing

I may use other stuff, but those are the essentials. I’ll try to keep you updated with my progress. Happy Ludum Dare to you all!

I’m in!

Posted by (twitter: @n0namedguy)
Thursday, August 22nd, 2013 7:59 am

N0_Named_Guy reporting in! I’ll be participating on the next Ludum Dare.

I’ll probably use code of my own to develop this LD’s game. It will be (in one form or another) cross platform.
I’ll be developing on Linux, using VIM.

If you want, you may check out my sole LD entry: Mouse Trap.

See you!

Potato Project

Posted by (twitter: @n0namedguy)
Friday, February 17th, 2012 2:00 pm

Hello all!

Here I am trying to make a 3D multiplatform racing game for my own amusement. This is the first time I delve myself into making a 3D game. Here are some screenshots, and here’s a link to the game (Windows only, Linux binaries coming soon, Mac binaries coming when I have I Mac).

Potato

I having nothing more to post for now, but if you are curious on what I still plan to do (and what I did so far, here’s my TODO list).

Any kind of feedback is always appreciated. Feel free to either praise or bash this work.

PS: I suck at doing this kind of posts, my english may suck (not a native speaker), and the game itself at this or any stage may suck. I’m doing my best to not suck at all =)

The Battlestation

Posted by (twitter: @n0namedguy)
Wednesday, August 31st, 2011 10:17 am

I just felt like posting it:

Linux games downloader

Posted by (twitter: @n0namedguy)
Monday, August 29th, 2011 7:46 am

Hi there. Here’s the games downloader I’ve mentioned in an earlier post and on IRC:

https://gist.github.com/1178530

Check line 76 of the source code. There you can change the platform you want.
Note that this script won’t download files hosted on file sharing sites (mediafire, megaupload, …).

Also, feel free to patch it, use it and abuse it… (Ok, not too much abuse or else the LD site pays it :P)…

Have fun

Mouse Trap – Postmortem

Posted by (twitter: @n0namedguy)
Friday, August 26th, 2011 3:23 pm

Mouse trap got “done”, many people have played. rated and commented it. So let’s get to it!

What went wrong:

Art:

I consider myself a programmer, and I really dislike doing art. But it had to be done. Besides disliking doing art, I am also way too perfectionist. Because I had a semi-working tile engine made, I used it.  So I’ve gone straight into doing the artsy stuff. But I ended up spending too much time on drawing a nice mouse.

The mouse:

I only realized that when I watched my project timelapse (see links at the bottom). And all that detail ended up unneeded. I was going for a zoom-able camera, so when a level started it would make a “dramatic” zoom out. To do that, I needed “high enough” resolution pictures and tilesets. No “great” zoom effect was done, so there was some good work wasted.

The mouse

The mouse in all its glory.

Reinventing the wheel:

After doing the mouse, I’ve put it to test on the tile engine I had. And because I was bored of art, I ended up doing some code in the engine itself. I modified the way the tiles were stored in memory and  squashed some bugs. But the thing that I shouldn’t start doing, was implementing in a dumb, heavy, and ugly (both visually and technically) way the Fog of War. I tried to ease it up with some alpha blending, making the game running like a snail. Then an easier way, that would take 10 minutes of my time, come to my mind. Threw the old code away, wrote the new one. Even more wasted work.

Fog of War

The easier to implement fog of war

Sweet but short:

Because I spend way too much time on the things above, I really didn’t gave enough time to level design. As another “artsy” thing, I don’t like doing it. I had a level designer in place for this engine, but changing the way tiles were in memory and the way levels got loaded, the level editor simply got broken. I even spent one hour or two to fix it, but then, I neglected it, and made the levels by hand (check out the levels’ source code in the links below.). The first one had to be ultra easy to ease on new players (I made the game so my mom could played it). The second had the traps, whose code and drawing were rushed. The labyrinth was made in the way of a “random walk”. While “walking randomly”, I made up a story in my head, that I kept writing, directly in the map tileset source code. After that I didn’t know what to do next, and I had only 2 hours left, and way too sleepy.

Level 2

Level editing, like a boss… (or like a propeller head)

The typos:

“Freedoom[sic] and cheese”. Let’s just leave that in the way it is.

RTFR:*

Those were the bad parts during the compo. After my game was published into the wild for ratings and reviews,  a guy on IRC asked me  if the soundtrack I had used was made by me. I said no. It wasn’t mine. Then that guy pointed out that I couldn’t use content created outside the LD48. I panicked. I didn’t want to lose my entry, due to forgetting one simple rule. The fix: rename the music files on the server, effectively removing the music from the game (the music’s link is below).

No updates, no news:

Another thing that I forgot to do was to keep a nicely updated journal, to keep people posted on what was I making.

What went better than expected

The reviews:

Well, the reviews were all awesome. Better than expected really! There were people who felt that this game was an analogy for life… My initial reaction was to laugh at it… My breath was taken by those comments. Then I replayed the game, and tried to look it in their point of view… In fact, maybe they are right! That is probably a good analogy for life!

Code reusing:

It really sped up my development. It sure is much easier to write from a known codebase than from scratch.

TaslemGuy says: I thought the game was neat. The sorts of comments the mouse made could easily be interpreted as the mouse's internal emotions OR metaphors for life. A bit brief, though.

Conclusions

People loved the game and I feel I put them in the mouse’s shoes. In my spare time, I’ll probably enhance it, with more levels, a deeper story and more kinds of traps. I would love to get doors and some animated enemies working on the game. Also a nicer intro screen and a great ending screen wouldn’t hurt…

Links

Glossary

*RTFR: Read the F…ine rules

JSON File with all the entries

Posted by (twitter: @n0namedguy)
Thursday, August 25th, 2011 10:27 am

I got bored, so I put together a nice Python 2 script to output all the entries in a easily parseable JSON file. Here’s the dump: http://pastebin.com/r2XW8RQi

Source coming along, as soon it is ready for release…

Linux Packaging Help =)

Posted by (twitter: @n0namedguy)
Tuesday, August 23rd, 2011 7:57 am

Hey there guys! I am just offering help to package games on Linux. I know some people are having issues on compiling and distributing their binaries for Linux, so if you are in that group, leave a comment =)

So far, I’ve ported this game:
The Power of EscapeRate Link

I hope I can help some of you!

Timelapse!

Posted by (twitter: @n0namedguy)
Monday, August 22nd, 2011 1:48 am

For those who care, here’s my LD #21 timelapse: http://www.youtube.com/watch?v=vNmF2BMoW28

Also, for comparison, here’s the code I started messing with: http://pessoa.fct.unl.pt/d.serrano/amaze

And the game that it ended up being: http://david.substanciadigital.com/ld21

Hope you enjoyed this LD as much as I did =)
See you next time!

Delivered!

Posted by (twitter: @n0namedguy)
Sunday, August 21st, 2011 6:50 pm

Finally! It has been fun and not great fun (at the same time).
My game is “done” and delivered. Don’t know if I’ll add levels and features to this game. Let’s see how will it turn out.

Meanwhile, I am “compiling” my timelapse into an avi. I’ll post in Youtube as soon as it is done.

Check my entry here: http://www.ludumdare.com/compo/ludum-dare-21/?action=preview&uid=5344

Hope you enjoy it! Please leave a comment after testing (either positive or negative, as long as you are honest =P).

So far, not so good

Posted by (twitter: @n0namedguy)
Sunday, August 21st, 2011 11:02 am

I am coding like a maniac… I don’t know what to do next (really). I have no great ideas for traps… The only thing that comes to my mind, is labyrinths… You start here, you gotta find an exit…

Oh well, ideas are welcome! http://nng.is-a-geek.net/ld21/mousetrap
Also my “livestream” is here.
And for those even more curious my yesterday’s timelapse is here:
http://www.youtube.com/watch?v=bhoU6mSmKHo

Have fun, and good luck!

[cache: storing page]