   starting out, yet lot's of questions
  So I wanted to learn (some) other languages. Apart from gamemaker, and I would really like some advice on these!First of all please let me explain what my "goals" are: I will create the basic/interface with gamemaker (I like the way events work, and collision detection is actually pretty good), and then use dlls to execute processor heavy tasks like AI..Now my gamemaker skills are actually pretty good, the sole reason I want to learn another language is because the code I create with gamemaker is too slow - not (only) because of bad management, but mostly because it simply is processor heavy.I also have some other experience with programming in JAVA - with visual cafe, a very limited visual environment. So I know how to declare variables etc.well my first question is: what kind of program should I use to create these kind of dlls? C++ based, JAVA (if it's possible and fast please tell, I really liked JAVA), or maybe another 1 (except for basic based languages). And which compiler should I get?I tried making something in Dev-C++ already but I really couldn't get even a simple "hello world" working (while following the help - it complained about a function (printf) not found). Then I installed wxDev-C++, a visual environment for it, I WAS able to get at least hello world working, however I couldn't find any good tutorials for that. So can anybody lighten me up here? - I tried looking at the c++ workshop, but that requires you too buy a book, and I think I don't really need a book for this: Once I understand the very basics (creating simple functions and displaying/outputting things), I think I can easily find out the rest.  (I'm now at the funny position at which I know how to actually make A* pathfinding and influence maps etc. in gamemaker/pseudo code yet I have completely no idea on how to implement it in C++). Also 1 thing which I'm really missing is a complete list of all possible functions and how they're implemented, gamemaker had a nice pdf with it which I spent reading, and I just tested them all 1 by 1.Ow I guess you all think I'm a noob by saying this: but please, I really want to test out lot's of places so I don't really want to spent much (any) money on it. Also I don't even know if I will ever be able to understand C yet so it might all be a waste :P.thanks in advance,paul23   
Quote:I will create the basic/interface with gamemaker (I like the way events work, and collision detection is actually pretty good), and then use dlls to execute processor heavy tasks like AI..You expect the DLLs to interface with GameMaker? This requires the DLLs conform to whatever plug-in mechanism GameMaker requires. This probabably means C, or C++ using C to expose the DLL.Quote:well my first question is: what kind of program should I use to create these kind of dlls? C++ based, JAVA (if it's possible and fast please tell, I really liked JAVA), or maybe another 1 (except for basic based languages). And which compiler should I get?In the absence of your GameMaker interop requirement, I'd recommend C# or Python. For C#, get Visual C# Express, for Python, get the Python distribution from the Python homepage (python.org).Quote:I tried making something in Dev-C++ already but I really couldn't get even a simple "hello world" working (while following the help - it complained about a function (printf) not found). Then I installed wxDev-C++, a visual environment for it, I WAS able to get at least hello world working, however I couldn't find any good tutorials for that. So can anybody lighten me up here? - I tried looking at the c++ workshop, but that requires you too buy a book, and I think I don't really need a book for this: Once I understand the very basics (creating simple functions and displaying/outputting things), I think I can easily find out the rest. (I'm now at the funny position at which I know how to actually make A* pathfinding and influence maps etc. in gamemaker/pseudo code yet I have completely no idea on how to implement it in C++).You should use Visual C++ Express, and you should find the free online e-books Thinking in C++ and C++: A Dialog and read them.Quote:Ow I guess you all think I'm a noob by saying this: but please, I really want to test out lot's of places so I don't really want to spent much (any) money on it. Also I don't even know if I will ever be able to understand C yet so it might all be a waste :P.All of the above is free. However, it does sound like what you're trying to do (interop with GameMaker) is not a particularly great goal. It's practically going to force you to do things their way, which tends to be C (as I previously mentioned), and it sounds like your familiar with "pure" languages (again, those without associated construction tools) is limited to the extent that I would basically categorize you as the kind of beginner I would warn off C or C++ as strenuously as possible, because it's really a very poor beginners language.So that begs the question - is this GameMaker interop really that important to you? Because if you can abandon it, you should persue Python or C#. Otherwise, you're going to have to at least put it off for a while while you get up to speed with C or C++, which may take you some months.   ;  well I won't have to interact with the interface (well not directly, I'm skilled enough to write the interface interaction myself in gamemaker) - and for what I need in my current game I'm making the dll just have to return a coordination of points. (if you know gamemaker: I have created the scripts already, and it needs a few "reals" and it returns a "real", real=non integer 64bit number). So my first real "goal" is to translate those scripts to any other faster language..C# is only a 30 day free trial as far as I can see :S - and with my current amount of free time (on average 15-30 mins a day) I won't be able to learn it in that short period (I plan to actually create something once I leave the university: 5 years from now). - about python: never looked into it, will try it out, is it a compiled language (or fast)?ow and I really got to learn C,C++ at one point :PBut I won't really move on from gamemaker (at the moment at least - if I would move on I would go to JAVA anyway), sorry for not having a particular great goal there :P - It's just that I'm too used to it's interface, and I don't want to ditch my games yet, and the problem with all those other languages is: I really like to make AI's but I HATE to create interfaces etc, gamemaker does this automatically for you, but with other languages it's hard to do so. So are those visual languages (visual C# / python) capable of creating dlls?ow and what's the actual difference between C# and C++ (and C)?;Quote:well I won't have to interact with the interface (well not directly, I'm skilled enough to write the interface interaction myself in gamemaker) - and for what I need in my current game I'm making the dll just have to return a coordination of points. (if you know gamemaker: I have created the scripts already, and it needs a few "reals" and it returns a "real", real=non integer 64bit number). So my first real "goal" is to translate those scripts to any other faster language..See, this is problem #1. I don't think you're quite aware of what's going on here -- it's not as simple as just "returning a real" or just "translating scripts." If you're writing a DLL to extend the features or functionality of GameMaker or a program built with GameMaker, you must conform to the interface GameMaker expects -- assuming it is even built to expect such an interface. You can't just drop a DLL in a folder and tell it to work. Writing DLLs correctly in another programming language is not a beginners topic, either.Quote:C# is only a 30 day free trial as far as I can see :SYour experience with GameMaker (a construction tool that supports a proprietary language and compiler/interpreter) is skewing your perspective. C# is just a language; there are number of tools that allow you to compile C#. One of them is Visual C# Express, which is not a 30-day trial. Languages and the tools that allow you compile or use them are not the same thing.Quote:ow and I really got to learn C,C++ at one point :PWhy? There's no real compelling reason to, unless you plan on getting a job as a professional game developer in the immediate future. Which doesn't seem likely at this stage.Quote:But I won't really move on from gamemaker (at the moment at least - if I would move on I would go to JAVA anyway), sorry for not having a particular great goal there :P - It's just that I'm too used to it's interface, and I don't want to ditch my games yet, and the problem with all those other languages is: I really like to make AI's but I HATE to create interfaces etc, gamemaker does this automatically for you, but with other languages it's hard to do so.I think that what you want to do may simply not be possible. You want the ease of GameMaker, you need to stay in GameMaker.Quote:So are those visual languages (visual C# / python) capable of creating dlls?ow and what's the actual difference between C# and C++ (and C)?You can create DLLs with most other languages, yes. Not so much with Python. They are not "visual languages," you are confusing the tools and the language again. The difference between C# and C++ is like the difference between English and French. They are different languages, although they have some of the same letters in their names.   ;  i've got a slight feeling I'm working on your nerves by confusing the compiler and the tools (and posting this supposely noobish questions). Original post by jpetrieQuote:See, this is problem #1. I don't think you're quite aware of what's going on here -- it's not as simple as just "returning a real" or just "translating scripts." If you're writing a DLL to extend the features or functionality of GameMaker or a program built with GameMaker, you must conform to the interface GameMaker expects -- assuming it is even built to expect such an interface. You can't just drop a DLL in a folder and tell it to work. Writing DLLs correctly in another programming language is not a beginners topic, either.Well starting to become aware... But I must e able to learn that in 5 years >:).  Well 1 last argument why dlls shouldn't be that easily:Quote:In those cases were the functionality of GML is not enough for your wishes, you can actually extend the possibilities by using plug-ins. A plug-in comes in the form of a DLL file (a Dynamic Link Library). In such a DLL file you can define functions. Such functions can be programmed in any programming language that supports the creation of DLL's (e.g. Delphi, C, C++, etc.) You will though need to have some programming skill to do this. Plug-in functions must have a specific format. They can have between 0 and 11 arguments, each of which can either be a real number (double in C) or a null-terminated string. (For more than 4 arguments, only real arguments are supported at the moment.) They must return either a real or a null-terminated string.What I understood about this thing is that the dll structure isn't that hard. Isn't it a black box which you give some things, it handles those things and then report  a few things back? -- well I'll give up on this for the time being ;)Quote:Why? There's no real compelling reason to, unless you plan on getting a job as a professional game developer in the immediate future. Which doesn't seem likely at this stage.true, but the main problem is that I like to join in the discussion about AI/pathfinding - this was also the main reason I moved away from gm - and people sadly look down on you if you post examples in gml (game maker's scripting language). And to have good communication, everybody should always talk in the same languageQuote:I think that what you want to do may simply not be possible. You want the ease of GameMaker, you need to stay in GameMaker. Well in the end I want to give the dlls for others: I'm can't make sprites and sounds (and even my game design is bad) so the only thing I ever do is creating scripts which help others with game making :P - though creating libraries might be good too :P (I guess that's easier?)Quote:You can create DLLs with most other languages, yes. Not so much with Python. They are not "visual languages," you are confusing the tools and the language again.sorry, but even with visual cafe they were closely integrated.. Well maybe this is the biggest problem I'm facing noweverywhere I read something they always expect you to use 1 "tool" (guess you mean by tool the interface?)Quote:The difference between C# and C++ is like the difference between English and French. They are different languages, although they have some of the same letters in their names.well let's ask it in a (better) way: why should anybody use C++ over C#? (since C# is supposed to be easier to use?)sorry if I work on your nerves, just say whenever I'm assuming something really noobish :P. Ow and tanks a lot already, I appreciate it!;  Hey paul23, I thought this name looked familiar :D. Anyway, I would recomend C#. I chose to start with it because of how the syntax reminded me of GML. Also, if you like Java you should like C#. I've always been told they were extremely similar. I recently downloaded the newest JDK and a good IDE and it is a lot like C#. C# and Java are probably your best bets as far as coming remotely close to Game Maker (though it's still a big leap as far as the difference). As far as DLL's go, I know that C# can create DLL's (not so sure about Java). Should you want to delve into the world of C++, i would recomend either Microsoft Visual C++ or Code:Blocks, as your compiler/IDE (just make sure you choose to download Code:Blocks with the compilers it comes with, should you download it at all). I'm afraid I can't give you too much info on the compattabillity of the DLL's with GM, but I don't see why it wouldn't work. You could always look into Delphi as well(considering that's what GM was written with). Hope that helps. If you'd like the links to some of the resources I gave you, just ask and I'll track them down and post them. Good luck with your language search.~TDOT>   ;Quote:well let's ask it in a (better) way: why should anybody use C++ over C#? (since C# is supposed to be easier to use?)C++ is the industry standard, and C# is the new kid on the block. Most commercial games today are written in C++ (though C# is gaining popularity). Looking at your situation, I would also recommend C# or Python.It seems that you are hanging on to game maker because it eases the process of actually making a playable game, allowing you to focus more on the code while using game maker to do the "art" area. For the time being, this may satisfy your goals at making games, but eventually you probably will want to make a more advanced game without the restrictions from game maker; allowing you to be more creative with the games you make.In the long run, learning C#/Python or another language will be helpful; especially if you plan on pursuing a career in game programming.Quote:C# is only a 30 day free trial as far as I can see :S - and with my current amount of free time (on average 15-30 mins a day) I won't be able to learn it in that short period (I plan to actually create something once I leave the university: 5 years from now). - about python: never looked into it, will try it out, is it a compiled language (or fast)?You won't be able to do much at all with only a half-hour a day to work with. I suggest you re-prioritize your time :]