Jump to content
  • Advertisement

Munchkin9

Member
  • Content Count

    74
  • Joined

  • Last visited

Community Reputation

125 Neutral

About Munchkin9

  • Rank
    Member

Personal Information

  • Interests
    Design
    Programming

Social

  • Steam
    Munchkin9
  1. I've got a problem and I'm not happy with the solution I found, looking for input. Commands, which serve as passable functions are stored into a queue that gets pulled from on regular intervals. Then they are stored in an EnquedCommand object and placed into a different queue. EnquedCommand contains some info such as where the command is being run from. The second queue is also pulled from on regular intervals. The objects that submit the commands and each Queue are kept separate so they have no easy means of communication. This has worked fine so far. The problem is I now have a command that is supposed to have the original object that enqued it do something when that command is run in the final queue. But it has no easy means of knowing when that happens. The solution I found is to embed a callback parameter into EnquedCommand and have that passed through the queues so that the callback is called when the command is run. What I don't like about the solution is that this requires a fair bit of refactoring and, so far, this is the only command that needs one. Seems like overkill. Are there any other solutions anyone can think of?
  2. So the problem you might have with the approach you took is being able to guarantee that a specific object has a specific module. So what would happen if a Crate Object was attacked but you hadn't given it a 'health' module? Sure you could go ahead and give it one but when you start entering things like: 0 health 100 damage reduction, into your modules just to avoid things crashing you are hacking your away around an issue. Like wise, Unity provides functions for searching and checking for components being present: SomeScript script = gameObject.GetComponent<SomeScript>(); if( script == null ) { // error out } But that, while good coding practice to handle errors, is writing special exception cases for things you should be handling a little more consistently and smoothly. Also if the above code was to appear everywhere an entity tried to attack another entity, you would have a lot of redundant code that is prone to introducing errors. So my suggestion would be to find some way of generalizing what actions can be taken in game. For example if you dictate something like "ALL objects that are physically present in the game are a subclass of class X" then you can place all your interactions that are possible in class X: hit, push, pickup etc. That way no matter what tries to 'hit' any object, for example, you know that it is an action that can be handled. Now of course you want to have every object act differently when interacted with. So that is where you could use the Strategy Pattern to 'attach' different behaviors to objects. Ask me directly later if you need help with the Strategy Pattern itself. There are other ways to solve this problem of course, as is the way with programming, but this would be my specific recommendation.
  3. For the levels themselves one option would be to create a class Level. And make different instances of that class for each level. This class could then keep track of all the information you want. So in a circumstances that you were to leave and then return to an area the information would still have been saved. As to how you organize keeping track of the different Level Instances that is up to you and the game you are making. If the areas represent sections of a map, a 2d array would allow you to access each Instance by its position on the grid. If the areas represent separate levels entirely than a simple array would do. If you know before hand how many areas there are then creating and naming each one on initializing the game might be preferable. I guess we just need more information about your game to give you more advice. But yes I agree with the above, definitely keep menu states and levels separate. You will avoid a lot of headache if you do, trust me. Hope this helped.
  4. Munchkin9

    Checking list for class instance

    Thank you, that is a bit more complicated than I would have liked but I'm not really surprised about that.
  5. In python: Is there a way to check for an instance (any instance) of a specific class in a list? Thank you, Munchkin9
  6. Munchkin9

    How do YOU do it?

    Wow, all great responses thank you. Let me quickly explain how I usually get about designing and making a game for comparison's sake: -Where the original idea comes from can vary massively but usually it comes from *wanting* to play a certain game, where you do a certain something and not finding that satisfied in any existing game. -Sometimes it also comes from seeing a few different features in unrelated games and thinking that these features would be really cool working together in the same game. -At this point I grab my notebook (I prefer writing when I'm just sketching ideas as opposed to typing) and start considering the facets of the game I want to make. I consider what the beginning reason is for making it, what might make it fun, challenging and unique. I start sketching out possible features though usually at this point I'm just writing out what I want to be in the game not how to do it. -Once I have a decent idea of how the game would look, feel, function etc, I go on google docs and start typing out a more in depth design document. I look at the literal goal of the game, what the player is told to try and achieve, I look at each major feature and plan out how these function and how they relate to one another. -Then I let it sit there for about a week. On purpose. -One week later, about, I come back to it and reread it, revise it and polish it (and add to it, usually) -After that it usually goes to programming, if I've found the motivation. -I work on the project for sometimes a week, sometimes a few months. Hitting snags along the way and gradually overcoming them (which is probably the part I like the best actually). -Then at some point I look at what I've done. Show it to a friend or a family member. I find that: for all the time I spent on it there is hardly anything to show because its mostly "under the hood stuff" or they just don't understand what I'm trying to make and so don't like it. That's usually the point where my productivity starts to tapper off. Now the problems that occur, I mostly know why they're there and how to get around them. It comes from a combination of classes, or jobs getting in the way. And showing an unfinished product before it should be shown. I also know I have a really hard time making people understand what I am trying to make, something I REALLY need to deal with before I properly head into the industry. I've also found that one thing that usually makes me lose interest/heart is that after a few weeks of programming the project doesn't LOOK any good. Filled with glitchy graphics and poor art (my own), usually no music or sound effects and no actual gameplay as I was too busy setting up the fundementals and game mechanics to worry about turning them into a game. Recently I made a small "visual poem" which approached designing from the other side, I started with the art, sounds and music, made the product look good before I started working on the gameplay. I am actually fairly happy with the result, the game is pretty, sounds nice, and didn't take long (about 3 days). Having said that, its not a game, there isn't anything to do in it. And everyone I showed it to has told me that they don't see the point. My hopeless whinning that "there IS no point" doesn't seem to make things any better. Tsk can't they see the greatness of the vision of the artist . Anyway, long story short I thought that making 'quick' games would help me: streamline my design process, get it done before stuff gets in the way, help me work on getting a project presentable quickly. Not to mention that it would give me more stuff to put in a portfolio or on a website (that I am planing to put up eventually). That's the part where I realized that I couldn't come up with a single 'small' idea. Where was I heading with this? I do like the snags in projects. In fact its the part I enjoy the most and as soon as it turns into 'making the game world' or anything which I consider repetatitive then I lose interest. I do have a sort of deadline: I want to put up a website with some games before I head off to college next year. I was supposed to go this year but we missed the deadline . On the point about having a challenge set for you as in the cooking competition, that is what I'm hoping gamejams will provide, some 'theme' to work with and a very limited time. But as I have to wait around until one starts up I'd prefer do something until then. As for coming up with my own 'themes' and challenges that doesn't seem to work for me. It doesn't work if I came up with it. And I hate remaking game someone else has made. I don't know, its a psychological thing. I feel like I'm wasting my time even more than if I was just sitting on my hands, so to speak. I do plenty of research on other designers' work by strudying games I play (hard to convince people you are really working and not playing but whatever). Remaking them though, sorry can't do that. And @Acharis: I'm not sure I agree with you. It is entirely possible to design I game that takes you all of 2 days to make. Just look at free online flash games and things like that. I'm not worried about how long the design takes me, that, I never lose interest in (if the idea works). I'm talking about the programming part. Which is why I was asking if people had 'tricks' to coming up with a way to design small... In hind sight I'm realizing that the question is ridiculously vague. But hey! I'm getting plenty of great tips anyhow.
  7. Munchkin9

    How do YOU do it?

    Hmm...I see your point. Thanks for the advice. I have been noticing that the more I program the easier it becomes and the more resources I can draw on, so that I can copy paste large portions of code with very little tweaking to get it working. Not sure if it answers my problem about designing a small game though. I very much appreciate the advice about the programing side of it, any tips on the design side?
  8. Munchkin9

    How do YOU do it?

    I've looked into gamejams. The Ludum Dare and its MiniLDs sound particularly nice but I'm not sure it would actually help me design the game to be small. Rather I'd probably just wouldn't be able to finish.
  9. Munchkin9

    How do YOU do it?

    Hey there, Programming/game designing as a hobby is proving rather tricky. All too often things in my life get in the way of my time to program, this results in me often not finishing projects simply because I've lost my strand of thought, found some new interest and in general just can't seem to get motivated in the project again. While I've been able to reduce this a bit by properly commenting my code so that I know how everything works and what I was doing it really isn't enough. At the same time I find that the bigger the project the harder it will be to make and the more my own limited capabilities will get in the way. This all results in my getting almost nothing truly finished. Though I know this is normal to a limit, I think I've reached that limit. The obviouse solution, for me, seems to be to design and program really small games. Things that would take me one, or at most two, days to complete and would be fun and addictive but not truly mind blowing. Five minute games basically. Problem is, try as I might, I can not seem to come up with any. I know the general idea of what a small game should be like, but whenever I try to sit down and design one the game either ends up being uninteresting or too 'big'. Very quickly I notice I'm adding extra 'small', fun features left and right. These 'small' features quickly accumulate though, the project gets too big, then somewhere along the line I realize that the original idea, while probably a good one, is in itself too big and I scrap the entire thing. Its like feature creep at the design process, on crack. So I'm seeking some tips from you guys. How do you design a small, quick game and get about making it without it turning into a major project?
  10. Munchkin9

    Story structure in games compared to movies

    I'm not entirely sure how you understood that I was saying a team would spend years of hard labor to create an open world game with very little to no story arc for players to free roam in[/quote] when I distinctly said "Now obviously impossibly immense, complex, branching story trees in which every single one of the player's action changes something important is impossible" and I later talk about how this wouldn't change the ending or even major plot points. Did you read the entire thing? If you don't want to I understand, its a long wall of text, but then don't respond please.
  11. It bothers me that most game designers, consumers and those that know nothing about games all seem to think a game's story should be like the ones in books and movies. Now obviously if every one is happy why change it? Because, in my opinion, this is not reaching the potential games have. Computer games add one thing that neither books nor movies can do: interaction. The ability to influence the events in the game. In most games currently the interaction of the players is limited to on the moment conflicts in the game, with maybe a few pre-made 'choices' here and there that 9 times out of 10 do not have an effect on the long term, example Dues Ex: Human Revolution. How books and movies are successful in their stories is that they make the user care for the characters and the world, and therefore the characters' goals. And this obviously still applies to games, except that there doesn't need to be a true 'main character'. This role is aptly filled by the player themselves. Now obviously impossibly immense, complex, branching story trees in which every single one of the player's action changes something important is impossible. But what is possible is having the player choose their own goal. Not by menu screen or anything rigid but by playing the game, observing the events in the story, and forming their own opinion. Whether this goal gets fulfilled or not could have varying effects on the players' feelings. This is, functionally, very similar to your standard book and movie plot except that the player is presented with a few, non-ambiguous, choices through out the story. These choices should have obvious and strong results that the player must be entirely aware of: killing a character, or letting him live; and what would follow from that action. The story would only need a few branching choices such as this, and nearer to the end. The point of these is not to 'see the multiple possible endings' but to let the player tell the game what there goal and opinion is. The player would choose these choices always keeping in mind what they hope to achieve for their character (themselves in this situation) and the world. This doesn't have to even change much regarding the ending. The results would instead be more 'message' based. To show the player what their choice of goals would bring about, how they were mistaken in an assumption they made about another character, or just to show them why they chose this goal (could be an interesting self-reflection moment). Lets take an example from a game in which this sort of potential was missed, warning spoilers ahead for the game Assassin's Creed: Revelations. At one point in the story Ezio encounters an apparently traitor Janissary captain, Tarik Barleti. Tarik shows every indication of being a traitor so Ezio eventually decides to kill him (its a little more complex then that I know). At this point Ezio has chosen a goal, and while the players might agree with this and are controlling Ezio, they are really just along for the ride. Upon hunting down Tarik, Ezio kills him. Here would have been a perfect point to have a quick 'choice' moment. The player could have been asked whether they would prefer to leave Tarik alive, or kill him as they had originally planned. Now having followed the story most players would, I think, have opted to off him. Only then to realize that they had made a mistake as Tarik was in fact not a traitor at all, just a little unconventional in his techniques. Having made the choice to kill him, players might have found this moment of discovery and truth more touching, realizing how their own assumptions where enough to cost this man's life. Instead Tarik dies no matter what, Ezio discovers the truth, and the players wash their hands of all this saying "I didn't choose to kill him". The moment for a strong message is lost. If the player had chosen not to kill Tarik, Tarik could have informed Ezio (and the players) of his real intentions and gone into hiding as his cover was now blown, vanishing from the rest of the story just as he would if he was dead. The above example could be further improved by having a few points in the story line where their could be doubt that Tarik was a traitor which would probably only be noticed (with influence) on a second play through. Being a "Oh how could I have been so stupid, if he had been a traitor he wouldn't have done or said that" moment. And this would further increase the impact on the player. As I said, these choices do not need to influence how things turn out, if the player refrains from doing something, it might be done anyway by a different character but the choice had been given to the player and that is what matters. The only real issue with this is a lack of much re-playability but I think in some situations that is an acceptable sacrifice. I am not saying that every single game should do this, we still need are twitch based action games. One more thing, about the choice of goal and the end result only being to show the player what their goal was and why. This might sound pointless and redundant; and I admit I do not have an example for this, but it seems to me that games can brilliantly serve as a 'mirror' for the player, reflecting not their faces but their personality. It is my belief that we do many things without truly realizing why, psychologically, we did them. In a sense we do not truly know our selves as well as we would like to think, including in how we would react to certain situations. And games offer us that opportunity to see ourselves act in these situations and reflect upon it, whether we react well or not. And I am not talking about twitch based reactions but moral or just intelligent reactions. Having chosen our goals based on what we see happen in the story, the game could end with us realizing why we chose as we did, unrelated to the whether any of the choices where good or bad or choices that were neither good nor bad. As I said I can not provide a worthwhile example and can only say that it seems like something that games should, every so often, try to accomplish. Thank you for reading, hope something in their was mentally stimulating to someone. -Munchkin9
  12. I really need advice here. I am seeking to 'break into the gaming industry' at some later date. Next year I will be going to UAT in Arizona for a Game Programming Bachelors Degree (of science). Though supposedly an internship of some kind is included in the curriculum some work to show is always a plus. So here is the question: I have a well fleshed out game idea (don't we all) that not only I know I can accomplish but I have started programming and making good progress on (some 20% done). I have recently realized with some minor alterations to the mechanics to make the game more user friendly that this game would work extremely well as a modification for the game Minecraft. Virtually everything in the game can be 'relatively' easily transferred into the context of Minecraft, in other words nothing is lost by making the game a modification. So am I better off creating the stand alone game? Or creating the 'mod'? Can I get the same amount of attention with a modification for an already existing game as for a complete stand alone game? Is it worth trading the time it would take for me to learn how to create modifications for Minecraft for an engine and graphics that I probably couldn't do on my own (my ability to program and draw good graphics is extremely limited)? Would it be feasible to create the mod first (being easier for one person alone) and then, with a group of talented people, make the game at a later date resulting in it hopefully being a more complete and impressive product? Thank you for any and all advice, Munchkin9
  13. Munchkin9

    Mathematical Issue

    I would like to thank everyone here. I have solved the problem. It was actually more complex than I initially thought: I had not altered all my angles the same way so they weren't matching up in the same range causing some strange issues. As well as other problems on top of that. All to say, I have now solved it thanks to the help I received here, thank you. -Munchkin9
  14. Munchkin9

    Mathematical Issue

    I'll admit I mainly don't use vectors because I don't know too much about them. My math education barely, and I mean barely, covered vectors, it was more of a passing mention. As far as I understand though I'm not sure vectors would help me too much here. I have a lot of things relying on the angle of the ships compared to each other, their "aimer's" (they can not shoot in a cone behind them), and their speeds (heading towards or away from the planet). However, it might be that I simply programed it so that all these things rely on angles when they could have relied on vector. No matter the case, being this far into the program I would prefer to just stick to angles. I'm going to try and use the suggested code and see if that works.
  15. Munchkin9

    Mathematical Issue

    The problem with this is that I know the problem already just not how to fix it (which is rare). @dawoodoz: what does modulo 360 do? because apart from that it is what I am doing.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!