Hiiri

Members
  • Content count

    11
  • Joined

  • Last visited

Community Reputation

113 Neutral

About Hiiri

  • Rank
    Member
  1. [quote name='Net Gnome' timestamp='1342815994' post='4961450'] [quote name='Hiiri' timestamp='1342812386' post='4961421'] Other reason why I chose Java over C# is, that there doesn't seem to be that many free game engines except XNA, and the problem I see with XNA is, that the person trying XNA-games need to have XNA-executables installed on their computer [/quote] You should check out [url="http://monogame.codeplex.com/"]MonoGame[/url] (XNA API using OpenGL instead of DirectX) or [url="http://cs-sdl.sourceforge.net/"]SDLDotNet[/url] or [url="http://slimdx.org/"]SlimDX[/url] and of course [url="http://www.unity3d.com/"]Unity[/url]. SFML .Net wrapper just isn't there yet, but when it gets there, it will be an option as well. Of the three i mentioned, MonoGame, SDLDotNet, SFML (when its ready) and Unity are multi-platform. [/quote] Thank you for recommendations. I checked the engines quickly, and except for Unity, I felt like the importing animated 3d-model from blender to these engines would be a lot of work. If I understood correctly monogames 3D isn't completely ready, and I wasn't completely sure if skinning worked for it. SlimDX seemed a bit too low level api for me. I hope I can get something like couple of lines of code to load models and such, more of a complete game engine, kind of like Unity. I did try Unity before, and I agree it is by far the most simplest game engine to get things to work with, that I have ever seen. The only problem I would have with Unity is that free version does have some limits, but most likely it would be features that I would never actually need to use, therefore it is probably usable. The problem for me is, that I don't have that much knowledge about 3D-programming, and the reason why I chose Pac-Man to make 3D game is, that it wouldn't be too big jump from 2D to 3D for me. So what I am looking from the engine is: - Easy way to import and draw animated 3d models from Blender. - Easy way to detect collisions, this could probably even be 2D since the game is kind of 2D with 3D models. - Reading inputs from keyboard - Possibility to play sounds and music - Shader programming, if I understand corect the best way to change colors of the ghosts when eaten by Pac-Man would be using shader programming. For now what I have tried out, XNA, JmonkeyEngine and Unity are at least ones where loading and drawing animated 3d-models has been quite a simple thing. I might consider looking c++ engines aswell, since it seems there are a lot more of those. Panda3D for example looks something that probably works pretty well for my simple game.
  2. I as fellow not so pro programmer have thought about creating Pacman in 3D, and while doing it maybe create seiries into youtube for other people to create own pacmans. I don't know if the concept of this idea is actually good, but while doing it, I most likely run into beginner like problems and could give tips to other people. Anyways to the main point, I am now at the point of just creating design documentation for the project, and I too am at the point where I should choose the programming language. I have actually more leaned into Java because I would prefer using GLSL and OpenGL. Other reason why I chose Java over C# is, that there doesn't seem to be that many free game engines except XNA, and the problem I see with XNA is, that the person trying XNA-games need to have XNA-executables installed on their computer. Also the fact that porting models from Blender to JMonkey seemed to work without any kinds of problems. So my advice would be, before asking what language to use, first decide what you're going to do. After that make some kind of list what kind of things you would need, and after you've sorted those out, finding the language / framework / tools you are going to need / use will be lot easier.
  3. Managing Game States

    Wouldn't some sort of stack of states work pretty well. You throw in the topmost of the stack the state you're showing currently, and once you're done with it, you pop it out. Then use some boolean value when creating state to determine, if the state manager goes further in the state stack. Like lets say you have following stack: Options - state Main game - state The bottom - state So looking this way, the control needs to go on the topmost object, but the logic update needs to go through whole stack. At least this would be the way how I would start implementing the controller, but probably other people have better ideas. Maybe you could pass some values like, canDrawUnder and capturesController, or something like that to determine how far of the stack you must go.
  4. Java or C++?

    [quote name='Storyyeller' timestamp='1332169175' post='4923302'] Actually, Python is strongly typed. [/quote] Ah sorry, you are right. I meant dynamical typing, if that would be good thing to have for someone that is just learning programming or bad?
  5. This post isn't exactly related to the questions asked, but for the OP, I highly recommend that you find yourself some sort of naming convention for the C++ and you should do it as fast as possible. The non-capital class-name makes the code a lot harder to read, and so on. It saves some possible errors in the future aswell, if you name the class variables with some naming convention. So you wont have the problem of having; this->height = height + 2, and later on you use the wrong variable on your calculations. Lot of people use underscore in front of variable names, when its inside a class.
  6. Howbout using Java? I know the word Java seems like unholy to most people, especially when it comes to game programming, but with modern computers and opengl being upgraded a lot since 2.0 (another unholy word), etc.... I think Java could be one possible solution for crossplatform game programming. There is even pretty good free game engine, that holds very little restrictions to my knowledge in the terms of usage, called jME3: [url="http://jmonkeyengine.org/"]http://jmonkeyengine.org/[/url] .
  7. Java or C++?

    I think most of the posters above are far more experienced programmers, but I aswell recommend going to anything else but C++. There are some things, that are good to understand from C++ though. References, pointers and copying variables is something, that C++ actually forces you to learn which I think is pretty useful. I started learning programming from C++, but I honestly think Java and C# are a lot more better choises. A lot of people in this thread seems to suggest Python aswell, this is a language I never touched myself, but for some reason I honestly think you shouldn't start with Python, because there is huge possibility, that you will make too much mess with it, just because of the untyped nature of the language. At least I think you should learn the difference between ints, strings and not being able to write function in same way. I think this will be nightmare for new programmer, when there is like nothing guiding the programmer into good ways of programming, although this is only personal preference. I am pretty sure some people, who started learning programming from untyped language can easily tell, why it is better way of learning programming, than me who kind of hate untyped languages, because it is less error proof, but more painful at the same time. So my recommendation is to start from Java or C#. Learn the concept of programming from either of the languages, because of the very strong object oriented way of programming. These languages give very good base of learning programming as a concept. Once you have an idea how to program, I personally think, you should look at C++ pointer/reference/arrays, and try to learn the idea behind of pointers. Once you grasp the concept of them, you'll learn why Java / C# passing of ints work differently than passing of object. Why changing stuffs in objects from one place affects the data seen from other places too(same instance, same values), and why it sometimes does not(different instanes with same values). After this, it is not exactly hard to move from one language to another, except some of languages that base on completely different way of thinking like Haskell, which I haven't ever tried to learn tho. Edit: Oh yeah, and I personally think if you go with Java/C#, you should start with console-programming, not the win forms / java swing.
  8. Writing a game engine

    I guess you might be able to pull out doing both game engine and the game on top in given time, which in my opinion isn't few months when its 7-8 months. From the previous posts I got the idea, that your project must be completed like somewhere around February or something, which obviously isn't a long time. I still think in general it would be good habit to learn to use, what you're given. Anyways I wish you a good luck on your project.
  9. Writing a game engine

    As lots of people really said, I do not think the OP should really go writing his/her own engine for the school project, if he/her has that little amount of time to actually write the game. Not having that much experience in coding, but still having learned few things in the past few years, I can only say, that you should really learn to just accept given codes. At least my school doesn't usually even allow any changes to given source codes, and you must make your project using the given files. I think it is kind of a good way, since that is what mostly will happen if you work in programming field. You're given someones code to either implement an extra feature on it, or to fix a bug in it. Also you just have to accept what others have written. For writing the very own game engine, I can kind of understand not wanting to use other peoples code and wanting to do it for the studying, but does it really help you in the end. Not accepting other peoples naming sense is kind of bad habit in my opinion, especially since the names seemed quite understandable. Indicating that it was pointer and it was property of that class. Another thing, where I think you are kind of going the wrong way is, that you are actually trying to think everything in matter of performance. I think that thinking of performance is good to keep in mind, but actually having to inline every getter and setter is just overshooting it. Doing a graphical stuffs, you are most likely spending 99% of the time for drawing stuffs, and the remaining for the code. Could even be bigger portion. My main point is, that you should really think what are truly the bottle necks of the code you are actually doing. If there is for-loops, that do million times the same thing, it is obviously spending more resource than you would ever gain for changing all the functions into inline. Thirdly, if I really read the OPs posts correctly, he/she has spent only 1 year to learn coding. I can't think any reasonable school would actually demand anything better than Tic Tac Toe as a game project. Especially given only 1 month, and considering, that you've spent lot of your free time to learn these things, you should really think what is truly required for the project. Also when I saw something like "i am only going to make Warcraft 2" as a project + Game engine on top.... I think you are having very wrong kind of imagination, how long making anything like Warcraft 2 is truly going to take. The thing is, that even building UI interface for something like that can take almost your whole month. Well anyways, sorry for my bad English, and I hope you have good luck with your project(s).
  10. Ty for the replies. I also came into a conclusion, that Irrlicht is just rendering engine, like ogre aswell. I have now been trying to fiddle around with jmonkeyengine, and I have to say, that I am quite positively surprised by it. Maybe my opinion is biased, because I do like Java as a language as well as I do like C#. The porting from Blender to jmonkey is almost flawless. I am still not so sure about the speed of the engine, since its java, but it feels like it is definetly more than enough for my needs. I will be looking for other possible engines, but I have no idea if I can find anything better.
  11. Hello! - My concern is about choosing a game engine. Firstly I am not that great of a programmer, but I do have slight experience from programming in C#, Java and C++. What I am trying to do is a 3D game, an RPG-style, and I do not really expect it to finish within 1 or 2 year of period if really ever, but rather than doing some testings, and possibly building it a bit by bit. - First of all, I would like to have a free license for developing stage / non-commercial product. At least now I do not plan on making money out of this, but then again I want to use engine, that actually does not require that much cost in case I would really want to release my product as commercial ( max 200e ). - GPL-license is something I would really prefer not having. I like to keep it as open for as possible for gains of money and not having to release source code. - For modeling tool, I was going to use Blender, so I would like to have good porting ability from blender to the engine. I don't honestly know if it is good idea to make objects called GAMEOBJECT_something in the blender scene, but that was kind of the approach I thought of making. In other words I would like to keep blender my world-editor at the same time as it would be the tool for modeling. Also I was thinking of having linked objects in the world, for example if there is a classroom, there would be table inside the classroom. Both of these would be separate blend-files, but having a link between them. I tried to use unity for this, but exporting to Autodesk-format made the file-size something like 7 megabytes. So every time I made small change, the Unity took about 2-3 minutes to recalculate normals, which I do not prefer doing. I then tried to modify the exporter from blender to just create points in fbx-files for the places where to add the desks in the classroom, but having to modify Unitys pipeline for importing fbx-files for it to work, I started to wonder, if I am already breaking the whole core-design of the Unity and thus it made me to check out other game engines. - For physics, I feel like I do not need that much physical interactions. Probably some colliders, but probably no need for more special physics, like gravity, or things breaking down or boxes falling, etc. Surely if the engine can do more, all is plus for me. - High compatibility with Blender. I doubt tho, that there is a single engine that can actually use the materials from Blender directly, but if there is one, this would be really appreciated feature. - Programming languages to use: 1. C#, 2. Java 3. C++, although I do not really like to work with new/delete instead of having garbage collector. 4. Something else. I wouldn't really mind learning new programming language either, but I would prefer the language to be typed one. - Good amount of tutorials, or at least easy to find ones. I prefer more of video tutorials than written ones, but anything goes. - Easy to implement / use. Engines that have caught my eye: - Unity3D, this one I liked a lot, but as mentioned having to fiddle with the pipeline made me rethink about checking out other game engines. - Irrlicht, not so sure if this is really an actual game engine or just more like framework. - Panda3D, altho it seems to be fairly popular, finding tutorials for using panda, or examples of making games, seemed lot harder than the ones above. - jMonkeyEngine not really sure about the speed of this engine, since its java, but maybe its a thing from the past only, that java is slow. - XNA-framework, not really sure if I should go with a framework, instead of using full game engine. It might lack too much stuff, and needing to integrate with other things could cause lot of unneeded work. - DX Studio, Apparently this engine recently became free to use, but I didn't really find that much information about it. Maybe it is not really that popular. - UDK, somehow I feel like using something like UDK is a overkill for a small projects, and could lead to excessive amount of work. - CryEngine3, the license of this product looks really odd, since there is no mention how much it actually costs if I would actually really want to make money out of the product. Not really sure how well these fare/how good tutorials there are for the following engines: - Delta3D - 3D RAD - Maratis Unity and XNA are the only engines/frameworks I have tested out. Unity seemed to have lots of tutorials, and it seemed really good to my eyes, just that it feels like once you decide to use it, you cannot really anymore change the engine. Also sometimes I feel like losing control of the game developing when using unity and for some things it feels like I would need to do brute force for them to work. For XNA it feels like I need to do tons of work for simple stuffs, and therefore I decided to look more advantaged game engines.