Jump to content
  • Advertisement

redw0lf

Member
  • Content Count

    9
  • Joined

  • Last visited

Community Reputation

334 Neutral

About redw0lf

  • Rank
    Newbie

Personal Information

  1. I'd like to also mention Unity, it allows fast game development without much knowledge and in addition there are a lot of tutorials. Besides this I like the python + pygame thing, but you still need to do a lot on your own there.
  2. What may be helpful here is the composite pattern http://en.wikipedia.org/wiki/Composite_pattern   Here you have an abstract class/interface which is the base of everything else, e.g. an item. You can then have base items (leafs) which cannot be deconstructed further e.g. spikes or cores. You then can have some kind Weapons or other stuff, the components. You can also only see these components as groups and can go further down the path and just make ThrowableWeapons and maybe let a shuriken be a ThrowableWeapon.   The recipe could be defined by a hashmap or a table in the class saying for building you will need x spikes and so on. When you're building/crafting the stuff, check if the required items are in your inventory ( which may also be a component) if so remove them from there. If you're trying to decompose an item just add new instances of the items in the table to your inventory.
  3. redw0lf

    What to do from Now?

    You may also start by trying to remake already known games. E.g. start with a tetris or a breakout and continue with something more complicated. By doing this you can derive a lot of techniques needed for a proper game.
  4. I've done something similar to this for smaller dots in an microscope image. What i've done first is using a graphic programm like gimp or photoshop to change the image to a full greyscale image, then toying around with the contrast, brightness and edge detection filter settings. After I have found a setting or a procedure which suited my needs I tried to recreate the process in a programming language of my choice (it was. Matlab, R, java or python don't really remember) afterwards applying a cluster algorithm in my case dbscan http://en.wikipedia.org/wiki/DBSCAN to find the different "holes" in a membrane in my case. If you do it right you may receive something like an O shaped cluster, where you can caculate the center and the radius to one of the outer pixels, which defines you the circle you may try to find. That would be the way I would try to solve this problem
  5. redw0lf

    How does enemy AI work in fighters?

    I have not much knowledge of gaming AIs but as far as I think, what an AI basically does as mentioned in RedBaron5 example is calculating some kind of possibility either for defensive situations or offensive situations. Like e.g. how high is the possibility to lose health during the next turn, if it is high you either either try to dodge or block depending on whether the chance for blocking or dodging is higher. To model these states and dependencies you can use a state machine or some kind of tree. But this is calculated only for one move, the next may look totally different. Finding a good strategy here may be difficult   If you take a look at chess, a computer calculates x moves ahead, giving each move a score of 1 for a move where his situation will get better or a zero for where the situations gets worse. He can now sum up the scores for each path and choose the path with the highest score. This an easy task because you know each position and the possible next tasks for each figure. If you want to increase/decrease the difficulty of the AI in a chess game you could easily limit the moves which are calculated ahead.  In a fighter you could also think of such a way to calculate a strategy, e.g. using the elements move, fight, dodge, block and then search for the path yielding the maximum of hp loss for the player.
  6. redw0lf

    I Want Game Programming

    For beginners, who start learning a language i would suggest to use the language with the most examples and documentation available. In this case java is often a good, maybe not he best way, to go.  As far as the rest is concerned I agree with tisdad and warnexus. The big issue with programming is only to understand the logic behind it, once the logic is clear you need to express yourself using some kind of language, which then can be nearly everything after some hours of training.
  7. In my opinion there is not a general answer to this. Use what you like the most or what you are most experienced with. Also I think the answer to the question highly depends on what you are doing with the data and what kind of data you are using. Another question would then be if it there is an easy API to support the programming.    As far as I'm concerned I like to use of database especially the nosql databases are quite handy to store data fast. E.g. MongoDb or djondb. You have the benefit that you do not have to think about on how  to structure your data as you would have in an sql database you can easily store and restore them.
  8. redw0lf

    Advanced C++

    Learning the A* algorithm, right from beginning can be very confusing. If you haven't used/programmed similar algorithm. What helps to understand this kind of algorithms is to actually USE the algorithms, but do not program it our implement it, rather draw it with pen and paper. E.g. draw some points and connect these points with lines. Then add some numbers to the lines, they will be the distances or the actual costs, which are needed to travel from one node to the other. Then select a start node and a finish node. Try to find the shortest path between start and finish node. Write down the paths and your thought progress in a format like: Start at Node 1 go 25 to Node 2 and so until you reached your goal. Then think on strategies, e.g. on how to select the shortest path, a simple method would be to only use the shortest distance which is available, if you do so you may end up at the start or taking loops, then you may think of something like, i do not want to visit nodes again i have already visited and so on. Think of more different methods to improve your path, e.g. look a step a head and  calculate the minimum distance for two steps. If you think you have found a good strategy to do so you have created some kind of heuristic. Then try to implement the stuff you have created with the help of your favourite programming language, you should come close to the solution of the a* algorithms.  Learning by doing is always the best method but to know what you are doing, you should at least have a little knowledge about what you are doing.   Also as far as the different complex data types are concerned, they are basically derived from more simpler ones. E.g. a queue is a list where you always read the first element and store items at the end. A map is more or less something like a dictionary, where you have a key, e.g. a string and an attached value to the key. This value could be a string as well, if you may think in localization you could have one map for every language. In this case the key may be only a simple string e.g. BTN_FIGHT_TEXT and the value would then hold the string "Fight" for the english version... At least for this basic knowledge books are very good, because they explain this stuff in detail they also allow you to peak at them if you are uncertain. As far as the knowledge on the handling goes the best thing is to just use these data structures.
  9. redw0lf

    How to Start

    My tips as a beginner in game development, but have an advanced knowledge in programming and reading. My personal opinion is to just start programming, developing the game because otherwise you will not be able to create/learn something. Develop your skills as needed e.g. start with a simple game whac a mole like game start with just one mole than go on and add more moles. Also I used python and pygame as the language to begin game develop with, which is a lot very easy and gives an programmer a lot of simple tools at hand. But for definite beginner maybe engines like Unity give an easier way to start
  • Advertisement
×

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!