
Announcements
Secretmapper
Members
Content count
20 
Joined

Last visited
Community Reputation
966 GoodAbout Secretmapper

Rank
Member
Personal Information

Interests
Art
Design
Education
Production
Programming

Working Game + Professional Programmer looking for artist! (+ possible booth/trip to GDC)
Secretmapper posted a topic in Hobby Project Classifieds
Hi! I'm a professional programmer (http://arianv.com) with years of experience in web and game development. About 2 days ago, I started working on a game prototype. It worked out and I got the base mechanics of the game done, plus a level editor! The game is in the puzzle genre, with unique mechanics I based off an old game that has not really been rehashed/revived yet, and which I feel can be quite a hit if done right. The nature of the game's mechanics allows for a game that is brimming with personality, which I feel is really popular especially on the mobile market. The reason I'm looking for a revshare collaborator is because I really believe in this game, and want someone who I can bounce ideas off with and can form a possible long time partnership with. The design of the game is going to be inherently juicy, and i feel like the art style that will work wonders for the game is similar to pudding monsters or cut the rope. I would of course be really interested in hearing your opinion as well. I also have tons of client work experience as well so I can assure you that I'll see this project gets done. ?Thanks! Please pm me so I can send you a link to the game (keeping it under wraps for now ;) 
Your experiences in your first job?
Secretmapper replied to rAm_y_'s topic in Games Career Development
I agree with L. Spiro. I usually take this approach in every walk of life (be it academic, work, social). Thing is work with the best, because you can learn from them. If experienced programmers are very antisocial, I guess it could be a problem. Though showing them that you are eager to learn generally helps. I had this superior once who was always easily angered, wanted to do things very quickly, and was very unpopular with the juniors (but not the superiors). Once I showed him that I was willing to learn, he softened up, and I learned buttsload of stuff from him. These experienced ones generally have even more 'romantic view' as you say  they love what they do so much that they actually want to work with them all the time. What I do is show that I have the common interest in the field and they usually also get excited once I show I have the same viewpoint as them. At least, this works for me :) 
What Are Your Opinions About Various Languages ?
Secretmapper replied to RLS0812's topic in GDNet Lounge
Sorry, but some of your statements just miss really. Yes, I know it's just opinion, but just so other readers won't be misled: PHP spitting out Javascript Code!? Code Smell right there. JS is pretty powerful, and with Node.JS on the rise... Ah, PHP, the inconsistent naming schemes, the fractal of bad design, the incredibly verbose function names ( mysql_real_escape_string), and this picture: http://www.codinghorror.com/.a/6a0120a85dcdae970b017742d249d5970d800wi Jeff Atwood, cofounder of SO: Where C# can stand for .NET in this context. 
Thanks @Rid_ ! You bring very valuable points and I'll be sure to add them on my to do list!

I think I got pidgeonholed
Secretmapper replied to confusedcoder's topic in Games Career Development
You don't know for sure though. Programmers might be interviewing you, but that doesn't automatically mean that they will ask programming related stuff. Maybe as the main developers, they just want to know if the new project scheduler is going to be a fit to the team? 
Thanks for your reply! Have you taken a look at my portfolio? Any ways I can improve? Thanks in advance again :)

Would you kindly take a look and critique my portfolio? I think one of my biggest problems is me not actually showing any code. I do not have enough flavor text to discuss my roles in each project. Perhaps I should actually expand each game/project, (with different screenshots, and maybe screenshots of code? that will look pretty :) =========== The university that seems like a very viable option for me is only offering a B.A. in Multimedia Studies. Should I look for another university that offers a traditional CS degree? Is it that important, or would the B.A. in MS be enough to at least get me looks?

Writing Fast Code: Introduction To Algorithms and BigO
Secretmapper commented on Secretmapper's article in General and Gameplay Programming
@Imelior & @slayemin You guys are totally correct. Rereading my article, I have the same thoughts as you guys. I guess I cut it off like that because it was getting pretty lengthy. But still... 
Writing Fast Code: Introduction To Algorithms and BigO
Secretmapper reviewed Secretmapper's article in General and Gameplay Programming

Writing Fast Code: Introduction To Algorithms and BigO
Secretmapper posted an article in General and Gameplay Programming
This post originally available on my devblog. Did you know computers are stupid machines? They are actually so stupid that they don't know how to multiply; instead, they add  whenever you say 2*5, the computer is really doing 2+2+2+2+2! What computers can, and have always been capable of, is executing things incredibly quickly. So even if it uses repeated addition, it adds so quickly that you don't even feel it adds repeatedly, it just spits out the answer as if it used its memory like you would have. However, fast as computers are, sometimes you need it to be faster, and that's what we're going to tackle in this article. But first, let's consider this: Here are 7 doors, and behind them are numbers, one of which contains a 36. If I asked you to find it, how would you do it? Well, what we'd do is open the doors, and hope we're lucky to get the number. Here we open 4 doors, and find 36. Of course, in the worst case scenario, if we were unlucky, we might have ended up opening all 7 doors before finally finding 36. Now suppose I give you a clue. This time, I tell you the numbers are sorted, from lowest to highest. You can instantly see that we can work on opening the doors more systematically: If we open the door in the middle, we know which half the number we are looking for is. In this case we see 24, and we can then tell that 36 should be in the latter half. We can take the concept even further, and  quite literally  divide our problem in half: In the picture above, instead of worrying about 6 more doors, we now only worry about 3. We again open the middle, and find 36 in it. In the worst case scenario, if we opened the doors wildly, or linearly, opening doors one by one without a care, we would have to open all doors to find what we are looking for. In our new systematized approach, we would have to open a significantly lower number of doors  even in the worst case scenario. This approach is logarithmic in running time, because we always divide our number of doors by half. Here is a graph of the doors we have to open, relative to the number of doors. See how much faster log n is, even on incredibly large input. On the worst case scenario, if we had 1000 doors and we opened them linearly, we would have to open all of them. If we leverage the fact that the numbers are sorted however, we could continually divide the problem in half, and drastically lowering that number. An Algorithm is a stepbystep procedure for solving a problem, and here we have two basic algorithms. As you have already seen, our second algorithm is faster than our first in the worst case scenario. We could classify them by running time, the time it needs to take to complete the problem, which we equated here by the numbers of doors opened (since you take time to open doors). The first algorithm, which is a linear search algorithm, would have to open ALL doors, so we say it's running time is O(n), (pronounced BigOhofn) where n is the number of doors (input). The second algorithm, which is a binary search algorithm, would have to open a logarithmic amount of doors, so we say it's running time is O(log n). In the so called ONotation, O represents the time needed for your algorithm to complete the task in the worst case scenario. We haven't looked at the other side of the coin however. What about the best case scenario? In both of our algorithms, the best case scenario would be to find the what we're looking for in the very first door of course! So, in both our cases, the best case running time would be 1. In ONotation, theta (O) represents the best case scenario. So in notation, we say O(1) Here is a table so far of our algorithms:[table][tr][td][/td][td]?[/td][td]O[/td][/tr] [tr][td]Linear Search[/td] [td]1[/td] [td]n[/td][/tr] [tr][td]Binary Search[/td] [td]1[/td] [td]log n[/td][/tr][/table] Now unless all you're going to write in your life are door problems the style of Monty Hall, then we need to study more interesting algorithms. Sorting  Case Study Let's say I'm making an RTS, and I needed to sort out units by their health. As you can see here, the positions of our units are a mess! A human being can sort this out very easily  one can instantly 'see' that it should be arranged like so: The brain makes some pretty interesting calculations, and in a snap, it sees how the problem can be solved, as if in one step. In reality though, it actually does a series of steps, an algorithm, to sort out these pigs. Let's try to solve this problem programmatically. One very straight forward way to solve this problem is to walk through our input, and if they are not sorted, we swap them: Are the first two pigs sorted? Yes, so we leave them be. Are the next two pigs sorted? No, so we swap them. We will continually do this recursively, until we walk through our input and see that we have in fact sorted it out. To save you some bandwidth, here is our sorting algorithm in an animation, courtesy of Wikipedia: (The animation is pretty long, so you might want to refresh the page to start over) The algorithm we have described here is a Bubble Sort. Let's define its running time shall we? How many steps do we take to fully sort it out? First we walk through our input. If our input is n, that is a total of n steps. But how many times do we start over and walk again? Well, in the worst case scenario, that is, when the numbers are arranged largest to lowest, then we would have to walk through it n times too. So n steps per walk, and n walks, then that is a total of n[sup]2[/sup]. In the best case scenario, we would only need to walk through it once (and see it's already sorted). In that case, n steps per walk, and 1 walk, then that is a total of n. Now you might have noticed this, but n[sup]2[/sup] is a pretty bad number to have. If we had to sort 100 elements, then that means we have to take 100[sup]2[/sup] steps, that is 10,000 steps for a 100 elements! Selection Sort Let's use another approach. This time, we walk through the input left to right, keeping track of the smallest number we find. After each walkthrough, we swap the smallest number with the leftmost one that is not in the correct place yet. To again save you some bandwidth, here is an animation, again courtesy of Wikipedia: The red item is the current lowest number that we save, presumably in a variable. After the walk, we put this lowest number to the top of the list, and we know that this is sorted already (yellow). But what is the running time? In the worst case scenario, we would have to do n walks. The steps per walk decreases. Since we know that the first few numbers are already sorted, we can skip it. So our walks then become n, n1, n2... and so on. The total running time of this is (n(n1))/2. However, computers are so fast that a division is negligible, so we can say that this is n[sup]2[/sup] still. But what about the best case scenario? If you think about it, we would still need to walk through the input, even if it is already arranged! So our best case scenario is also n[sup]2[/sup]. Insertion sort Okay, so all of our examples so far have been n[sup]2[/sup] which we know is bad. Let's take a look at another algorithm shall we? Imagine you're sorting a deck of cards. Now I don't know about you, but what most would do is walk through the deck, and insert the card in front of them to its right position in another deck. This might help you visualize it: This is awesome! We only need to walk through the list once! So the running time is n right? Not quite. What if we needed to insert 1 to our sorted list? We would have to move every single one of them to make room. If you consider this, the worst case running time is actually n[sup]2[/sup]. Let's table them shall we:[table][tr][td] [/td][td]?[/td][td]O[/td][/tr][tr][td]Bubble Sort[/td][td]n[/td][td]n[sup]2[/sup][/td][/tr][tr][td]Selection Sort [/td][td]n[sup]2[/sup][/td][td]n[sup]2[/sup][/td][/tr][tr][td]Insertion Sort[/td][td]n[/td][td]n[sup]2[/sup][/td][/tr][/table] Are we screwed? Do we have no choice but n[sup]2[/sup] running time for sorts? Of course not! If you've been vigilant, you'll realize that none of the algorithms introduced so far uses the same 'divideandconquer' approach of binary search. You might want to take a look at this visualization to see just how fast merge sort is to bubble, selection, and insertion sorts. Note: That little tidbit about computers doing repeated addition is a bit of a lie. Credits  Visualization Animations from Wikipedia. 
Writing Fast Code: Introduction To Algorithms and BigO
Secretmapper commented on Secretmapper's article in General and Gameplay Programming
@colonycapture This will benefit anyone who wants an introduction to Algorithms and BigO. This may include professional developers who have not taken this in a university setting (e.g. selftaught) or a beginner. 
Unity Would Unity be the best for myself? Or another route?
Secretmapper replied to squadz's topic in General and Gameplay Programming
I'd say HTML5/JS is perfect for him. No need for a full blown engine like Unity. 
Is there a key rule for how many games in a programmer portfolio?
Secretmapper replied to Nicholas Kong's topic in Games Career Development
Ah! Darn you "Where you live" filter ! I don't leave in the U.S. 
Games Are a Whole New Form of Storytelling
Secretmapper commented on DavidColson's article in Game Design and Theory
@Crimsix I disagree. There are very old movies that are now considered as art, and all of them did not even have the pinch of technology and even budget that modern movies now have. What they did have however, was impeccable imagination and masterful usage of what they're provided of. I also disagree that a seemingly endless story branch is innovation  it is nothing more than a glorified sandbox game. To be honest, I see it as a weakness. Let me play the game once, and just leave me in awe to the pure genius of the game. Replayability is for mundane enjoyment. 
Games Are a Whole New Form of Storytelling
Secretmapper commented on DavidColson's article in Game Design and Theory
I personally think that video games will only be art if it manages to convey an experience that would not be possible in any other medium. The problem I see with storytelling in games is that it just copies movies, a 'blockbuster' type game if you will. The player's experience is still in the mercy of the game's story (it's no different than a book, or a movie, only this time you control some parts) I think one very good example of a game as art is Rohrer's Passage. This is because there is absolutely no way you could copy it in any other medium: the 'story', or 'experience' is told completely using the mechanics. How you play the game shows the story in its form. I think good storytelling in games and art games are very different. MGS1 had a pretty good story, but I would not consider it 'artsy'. MGS2 however, had a pretty 'OK' story, but I consider it full blown art, because it doesn't tell it story at facevalue, but through mechanics (how the game plays).