Jump to content

Leadworks or not?


Ion Zone
 Share

Recommended Posts

The games that are pushing the boundaries will always use C++.

I guess we will see.. one thing's for sure, 'change is the only constant' and driven by consumer demand, future technology will always seek out newer and easier ways to do things. Look at the texturing of 3D objects. The 'Old School' modelling community thumbed their noses at real time painting of objects, saying it wasn't the way to do things. Now, programs like 3dcoat, Deeppaint3d, Zbrush, Mudbox proliferate. Programming is no different and although programs like 'FPCreator' and 'The 3D Game Maker' are still in their infancy, I think that genre is the future of Gamemaking. Why, because they take the drudgery out of Gamemaking and also make it quicker and easier to get ideas working. I think Josh has done the right thing by going with Lua, scripting over programming is likely to increase output of 3D Games...We just need more cool examples.

AMD Athlon x2 7750 2.7ghz, 6gb ddr2 ram, Galaxy9800GT 1gig ddr2 video card, Windows 7,64.

Link to comment
Share on other sites

I don't understand the fear that follows C++ from beginner programmers. C/C++ was the first language I taught myself because it's the premiere language used in video games. In my book, if you shy away from learning C/C++ because it's "hard" then you'll probably shy away from actually finishing a game because that's even harder. I say don't shy away from learning C/C++. Learn it. It's so flexible and has so many free libraries out there for it that it's basically required. Even all these engines you see that are script based, at the core they are C/C++ running those scripts.

 

If you understand programming concepts already learning the syntax of C/C++ isn't that bad. It will present you with so much more freedom in other programming aspects that you are missing out by not learning it really.

 

Amen brother! I love C/C++ and C# myself. It's really not that hard to get into, and it is a skill that can be used throughout the IT industry.

Derik Wilson

Digital Kingdom Games

---------------------

AMD X3 Phenom II 2.8 GHz, 8 GB DDR2 PC-8500, BFG GeForce GTX 275, Windows 7 Ultimate 64-bit

"I'm not superstitious. I'm just a little stitious." - Michael Scott

"Did anyone violate an indian burial ground or something? Like park on it, or dig up a body?" - Michael Scott

Link to comment
Share on other sites

To whomever said "The games that are pushing the boundaries will always use C++", while that may be true for the low-level logic (networking, rendering, etc. .. and by the way Assembly is still used too) that is not true for the entire project. In fact, more and more developers that used to use only C++ are starting to open up to C# simply because it is the best way to take advantage of the full .NET potential. You can do that with C++ too, but it is much easier to do with a language that was meant for .NET, such as C#. And it seems that C# is incredibly efficient these days, both from a developer standpoint and a performance standpoint.

Derik Wilson

Digital Kingdom Games

---------------------

AMD X3 Phenom II 2.8 GHz, 8 GB DDR2 PC-8500, BFG GeForce GTX 275, Windows 7 Ultimate 64-bit

"I'm not superstitious. I'm just a little stitious." - Michael Scott

"Did anyone violate an indian burial ground or something? Like park on it, or dig up a body?" - Michael Scott

Link to comment
Share on other sites

And it seems that C# is incredibly efficient these days

If by that you mean speed of execution you are wrong. Assambler is the best at speed and C++ is the next best thing.

When I started my own engine the first mock-up was in C#. A scene with 1000 lit and textures polys was lagging. However if you use C++ and Assambler for the stuff that has to be done fast and C# for the rest you achieve great results. It's all about knowing what to use and when.

I create the game you play. I create the rulles you will obey.

Link to comment
Share on other sites

If by that you mean speed of execution you are wrong. Assambler is the best at speed and C++ is the next best thing.

When I started my own engine the first mock-up was in C#. A scene with 1000 lit and textures polys was lagging. However if you use C++ and Assambler for the stuff that has to be done fast and C# for the rest you achieve great results. It's all about knowing what to use and when.

 

I don't think you read my post fully. I said it was "incredibly efficient" not "the most efficient". And I did mention using C/C++ and assembly for the low-level stuff.

Derik Wilson

Digital Kingdom Games

---------------------

AMD X3 Phenom II 2.8 GHz, 8 GB DDR2 PC-8500, BFG GeForce GTX 275, Windows 7 Ultimate 64-bit

"I'm not superstitious. I'm just a little stitious." - Michael Scott

"Did anyone violate an indian burial ground or something? Like park on it, or dig up a body?" - Michael Scott

Link to comment
Share on other sites

I guess we will see.. one thing's for sure, 'change is the only constant' and driven by consumer demand, future technology will always seek out newer and easier ways to do things. Look at the texturing of 3D objects. The 'Old School' modelling community thumbed their noses at real time painting of objects, saying it wasn't the way to do things. Now, programs like 3dcoat, Deeppaint3d, Zbrush, Mudbox proliferate. Programming is no different and although programs like 'FPCreator' and 'The 3D Game Maker' are still in their infancy, I think that genre is the future of Gamemaking. Why, because they take the drudgery out of Gamemaking and also make it quicker and easier to get ideas working. I think Josh has done the right thing by going with Lua, scripting over programming is likely to increase output of 3D Games...We just need more cool examples.

 

You have realize that at the core of these visual tools and engines things will still be using C/C++. So even while what you are seeing at the surface is a high level visual tool, and maybe some day that will be the norm, at the core there are still C/C++ programmers making these because it's the most efficient and quickest language that is human readable. It also gives you access to raw things that other higher level languages don't give.

 

 

And it seems that C# is incredibly efficient these days, both from a developer standpoint and a performance standpoint.

 

It will always be slower (because of the nature of how an interpreted language works), and so for anything wanting to push things to the limit these won't be used.

 

The funny thing about the C# topic is that is someone refuses to use C++ and instead uses C#. That's insane. The syntax is so close that it's only logical to move to C++.

 

I use both VB.NET & C# at work so I love .NET. If you are making anything but a high performance game I'm all about .NET (basically any Windowed UI system .NET rules). I'm just saying if raw speed is what you are after then if you know C#, it would be wise to just use C++. It's basically the same anyway.

 

 

It's all about knowing what to use and when.

 

And C++ can do it all. To in my view if you are a 1 man indie company, C++ is the thing to learn and use. Knowing C++ solves all your problems. That's why it's wise to learn it.

 

 

[EDIT]

A thing to note is that .NET is eventually being resolved to a C method call. It's a wrapper around the Win 32 API, which is stored in dll's and was written in C. So you can see that C/C++ will not go away for a very very long time, if ever, because it has basically become the lowest level of most all high level language use. If I derive from the Form class in C#, it's being converted to the correct Win32 API calls from the dlls. It's a giant wrapper and without the gooey stuff in the middle (C/C++), .NET doesn't exist.

Link to comment
Share on other sites

I don't think you read my post fully. I said it was "incredibly efficient" not "the most efficient". And I did mention using C/C++ and assembly for the low-level stuff.

 

Besides, with C++ and C# you are, in many cases, at the mercy of the optimizer because it will rewrite your code as efficiently as it can, and in many cases it produces very efficient assembly.

 

You have realize that at the core of these visual tools and engines things will still be using C/C++. So even while what you are seeing at the surface is a high level visual tool, and maybe some day that will be the norm, at the core there are still C/C++ programmers making these because it's the most efficient and quickest language that is human readable. It also gives you access to raw things that other higher level languages don't give.

 

 

 

 

It will always be slower (because of the nature of how an interpreted language works), and so for anything wanting to push things to the limit these won't be used.

 

The funny thing about the C# topic is that is someone refuses to use C++ and instead uses C#. That's insane. The syntax is so close that it's only logical to move to C++.

 

I use both VB.NET & C# at work so I love .NET. If you are making anything but a high performance game I'm all about .NET. I'm just saying if raw speed is what you are after then if you know C#, it would be wise to just use C++. It's basically the same anyway.

 

C# is not an interpreted language. It is a compiled language.

 

Besides, with C++ and C# you are, in many cases, at the mercy of the optimizer because it will rewrite your code as efficiently as it can, and in many cases it produces very efficient assembly.

 

 

 

C# is not an interpreted language. It is a compiled language.

 

Nope you are correct, C# is indeed interpreted. Sorry about that (just showed my C# ignorance there. I am and always will be a C++ man, but I absolutely love C# because of the doors it opens to non-game applications, and I would love to see it successfully used using leadwerks).

Derik Wilson

Digital Kingdom Games

---------------------

AMD X3 Phenom II 2.8 GHz, 8 GB DDR2 PC-8500, BFG GeForce GTX 275, Windows 7 Ultimate 64-bit

"I'm not superstitious. I'm just a little stitious." - Michael Scott

"Did anyone violate an indian burial ground or something? Like park on it, or dig up a body?" - Michael Scott

Link to comment
Share on other sites

Nope you are correct, C# is indeed interpreted. Sorry about that (just showed my C# ignorance there. I am and always will be a C++ man, but I absolutely love C# because of the doors it opens to non-game applications, and I would love to see it successfully used using leadwerks).

 

I was about to say :) Don't get me wrong, I LOVE the .NET platform. I used it every single day of my life. It's by far the most easiest language to get any UI tool or even stuff like web service, ftp, database. All that stuff is where it excels.

Link to comment
Share on other sites

I was about to say :) Don't get me wrong, I LOVE the .NET platform. I used it every single day of my life. It's by far the most easiest language to get any UI tool or even stuff like web service, ftp, database. All that stuff is where it excels.

 

Well, I just switched my project over to C++ because I am going to go with the expert on this one. I might run a parallel project and benchmark them to see the difference in performance. Would you suggest any good benchmarking utilities?

Derik Wilson

Digital Kingdom Games

---------------------

AMD X3 Phenom II 2.8 GHz, 8 GB DDR2 PC-8500, BFG GeForce GTX 275, Windows 7 Ultimate 64-bit

"I'm not superstitious. I'm just a little stitious." - Michael Scott

"Did anyone violate an indian burial ground or something? Like park on it, or dig up a body?" - Michael Scott

Link to comment
Share on other sites

And C++ can do it all. To in my view if you are a 1 man indie company, C++ is the thing to learn and use. Knowing C++ solves all your problems. That's why it's wise to learn it.

Yes.. C++ can do it all. But.. can you make it fast? I mean C++ is good for the hardcore stuff and C# is good for the part where you just want to do some nice GUI in th shortest time. I for one love using both in the same projects.

I create the game you play. I create the rulles you will obey.

Link to comment
Share on other sites

To be honest, it's likely the majority of us game engine writers using Leadwerks will not do anything complicated or intensive enough to need the raw speed of C++, after all most of us are not going to be producing engines to rival the current market leaders. Our recommendations for using C++ are more based on using our longer term experience of using languages but people are perfectly free to ignore that.

 

What's more important imho is using a language with good support for Object Oriented programming which although not essential for game programming makes life so much easier if you embrace it. C++, C# and BlitzMax all provide this to one degree or another.

 

I feel the Leadwerks camp is split into two factions, one which is happy to code their own engine and have set about the long task of doing so and those who just want an easy way to construct a game and have latched onto Lua as the eventual provider of this. Lua of course is really no easier to program than any of the other languages and still requires a fundamental understanding of programming; so this camp is really dependant on other people doing this for them and providing some sort of 'game building' interface for them to easily configure to produce basic game functionality.

 

It would be nice to see some sort of 'easily configurable' game engine put in place to satisfy this demand but it will never be all things to all men and will suffer from the obvious pitfalls of these designs ... being very 'generic' and lacking the sophistication of custom designed engines. Ricks 'thingoid' approach is a good example of a programmer trying to construct solutions which go some way towards this but I suspect it will take a concerted effort and a clearly defined specification to bring about a workable solution that is both flexible enough and still simple enough for many people to design real working games with. This is a non trivial task in itself.

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

Coding Fight! Coding Fight! :)

 

 

0k, I've got C++ (I think!). What I want to do is find a nice easy tutorial that takes you through building some sort of mini game like Noughts and Crosses - that'll keep me busy for a while. Has anyone got any sujestions?

Link to comment
Share on other sites

lol I had to look up what Noughts and Crosses was. You mean Tic Tac Toe :)

 

Sadly, from what I know, there isn't a step by step game making tutorial. There are just tutorials that show the various concepts LE has. You are probably best going through those first. Then you use those concepts to make any game you want.

Link to comment
Share on other sites

..C++ is a nice language for things where you cant find any alternative...im using it for my Phyre stuff and of course for more 'human' look and feel Im porting things a bit up higher (BMax) so its easier to digest(especially because of dealing with PSU...so, for things I needed with Phyre, there is nothing more simple than C++ available so thats about it..respect for language really..its quite handy...only reason why im not in full love with it, is a bit weird syntax, but again, its my perception and not bad feature of language itself...

 

Link to comment
Share on other sites

Best advice is to learn the basic fundamentals of which ever language you have decided on well away from Leadwerks. Once you have a basic understanding in place introduce Leadwerks at that point.

 

Most people get frustrated and give up because they try to run before they can walk.

Intel Core i5 2.66 GHz, Asus P7P55D, 8Gb DDR3 RAM, GTX460 1Gb DDR5, Windows 7 (x64), LE Editor, GMax, 3DWS, UU3D Pro, Texture Maker Pro, Shader Map Pro. Development language: C/C++

Link to comment
Share on other sites

Did you skip crawling when you were a baby and went right to running? Learn the syntax for whatever language you want to use first. I know it sucks because you just want to dive right into your game, but you honestly won't come close to the complex game idea that I know you have in your head without learning a language first. Game programming is not ideal for learning syntax of a language. Google for a tutorial of the language you wish to use.

  • Upvote 1
Link to comment
Share on other sites

0k. then, how about just a nice simple one that doesn't assume you know C or BASIC? I've been looking but all I've found are ones that assume you know syntax already.

 

I can understand the guys frustration, but Rick and Pixel Perfect are right. You will be able to do so much more with your ideas after you have learned the necessary skills. I attempted to jump right into game development back in 2002 and just met frustration around every corner because I didn't know C++ (that was the language required by my software at the time) so I ended up getting DarkBasic thinking it would be an easier way. Then I realized that I knew nothing of DarkBasic, but it was easy to learn so I continued past that block. Then I realized that I knew nothing of how to structure a game system, and I knew nothing of generating art, and I knew nothing of this and nothing of that....and it goes on and on.

 

I ended up going to college in 2004 and getting my BS in Game Software Development. Four years later (graduated in 2008), and about six years after I really wanted to start getting into game dev, I finally had a much clearer picture of what I needed to do. We focused mostly on C++ and assembly. We went from basic object oriented concepts to some pretty advanced C++, and only touched on C#. We also covered how to design a game system, how to design a game engine, how to design levels, learned what makes a game fun and playable, and we learned how to test our game.

 

It was a lot of work and a LOT of frustration, but now I know where my weaknesses are and what sort of people I have to look for to help make my ideas come to life. I am weak in the art area. I can create some decent art, but it takes me a long time and it takes away from my programming, so I purchase my art from capable hands. I am a musician as well, but I don't have the equipment to produce game music and sound effects, so I leave that up to capable hands. I stick to what I know, programming, and I only know the most popular languages (I am trying to master just one, but to be familiar with them all, and I still have a long way to go).

 

It's not an easy task, but learn learn learn. Know your weaknesses and don't try to do everything yourself. If you cannot afford to pay folks to help, there are lots of people (probably in this community too) who are willing to jump in to a project as long as your concept is solid. Anyway, good luck and listen to folks like Rick. He's already set me straight on a couple of issues. Smart man he be.

Derik Wilson

Digital Kingdom Games

---------------------

AMD X3 Phenom II 2.8 GHz, 8 GB DDR2 PC-8500, BFG GeForce GTX 275, Windows 7 Ultimate 64-bit

"I'm not superstitious. I'm just a little stitious." - Michael Scott

"Did anyone violate an indian burial ground or something? Like park on it, or dig up a body?" - Michael Scott

Link to comment
Share on other sites

I am trying, I downloaded something called C++ Primer, but it was useless - its description of what a function was just made me confused!

 

 

And I know what a function is! ;)

 

I bought this one a while back: C++ Primer Plus It's a bit dated now, but pretty good as the concepts haven't really changed. Definitely look at the customer reviews on Amazon (or other review sites) about the books you want.

Derik Wilson

Digital Kingdom Games

---------------------

AMD X3 Phenom II 2.8 GHz, 8 GB DDR2 PC-8500, BFG GeForce GTX 275, Windows 7 Ultimate 64-bit

"I'm not superstitious. I'm just a little stitious." - Michael Scott

"Did anyone violate an indian burial ground or something? Like park on it, or dig up a body?" - Michael Scott

Link to comment
Share on other sites

You know, there are also books that walk you through a C++ project, like a tutorial. You might look into some of those. I can't think of any off the top of my head. There are also C++ cookbooks (one from O'Reilly) that serve as a good reference for figuring out how to accomplish something (like reading a file, writing a file, connecting to a MySQL Database, etc.). Those cookbooks are a good supplement, but in the end you will probably end up having a tutorial book, language reference, and a cookbook.

 

And a good site for learning C++ is http://www.cplusplus.com

Derik Wilson

Digital Kingdom Games

---------------------

AMD X3 Phenom II 2.8 GHz, 8 GB DDR2 PC-8500, BFG GeForce GTX 275, Windows 7 Ultimate 64-bit

"I'm not superstitious. I'm just a little stitious." - Michael Scott

"Did anyone violate an indian burial ground or something? Like park on it, or dig up a body?" - Michael Scott

Link to comment
Share on other sites

You know, there are also books that walk you through a C++ project, like a tutorial.

 

That's what I really need, I learn by making things, especially if the tutorial is friendly and takes its time explaining things.

 

connecting to a MySQL Database

 

Isn't that just for online? That would be nice, but offline mode first!

Link to comment
Share on other sites

That's what I really need, I learn by making things, especially if the tutorial is friendly and takes its time explaining things.

 

 

 

Isn't that just for online? That would be nice, but offline mode first!

 

As far as MySQL, yeah you must be running a MySQL server for that. I was just giving an example topic of what you might find in a C++ Cookbook. For games you would want to figure out a different way of storing information for single player games. I have used SQLite in the past with some success in storing character details, saves, inventories, etc.

 

By the way, I am about to hit the book store now, I will look around for a tutorial style C++ book that I can suggest, but you can do the same thing by surfing http://www.borders.com or http://www.amazon.com. I'll let you know when I am at the store.

Derik Wilson

Digital Kingdom Games

---------------------

AMD X3 Phenom II 2.8 GHz, 8 GB DDR2 PC-8500, BFG GeForce GTX 275, Windows 7 Ultimate 64-bit

"I'm not superstitious. I'm just a little stitious." - Michael Scott

"Did anyone violate an indian burial ground or something? Like park on it, or dig up a body?" - Michael Scott

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...