PDA

View Full Version : What tools are you currently using to makes games with these days? - 2013



WILL
26-02-2013, 01:24 AM
It's always good to take stock in what tools everyone is using as time passes. It was just a bit over 10 years ago that Delphi was just about the only game in town for games development using the Pascal language -- FPC was not as well developed then as it is now!

Fastforward to today and well there are many other options and frankly they are more appealing in many ways from a game programming and indie dev perspective. Not that it's not a great tool still and that it hasn't evolved over the years, but considering an indie developer's budget, need for platform portability and scale of support it's not something that lends it's self to the small developer much anymore.

Personally, I've seen a growing trend moving towards Free Pascal and Lazarus along with much newer alternatives like Smart Mobile Studio and the Oxygene compilers. Some have been adopted far more than others and of course some developers seem to remain die-hard fans of the old D-phi.

So which are you? What do you use for all of your current projects? Please let us know so we can get an idea of the scope of the Pascal-based game development landscape!

Super Vegeta
26-02-2013, 04:32 AM
I develop my GUI programs in Lazarus, but when I'm not using LCL, most often I don't bother and just use Geany or vim. Compiling always with FPC. In the very old days, I used Turbo Pascal, but I never touched Delphi. As for Smart Mobile Studio, it's a nice tool, but I found it more entertaining to actually try to learn some JavaScript (I made one game recently and I'm working on another one right now).

User137
26-02-2013, 04:36 AM
I still keep Delphi compatibility on the game engine i do, but for any own project that's exclusively Lazarus. Simply more language features and stuff, PC is also the only platform i have interest to.

cairnswm
26-02-2013, 05:51 AM
Teaching my son Lazarus with the goal to making some small games using it.

Ingemar
26-02-2013, 06:17 AM
FPC. In the past, Think Pascal was the big one, then Metrowerks Pascal filled in on PowerPC (but even then, most development was in Think). Think Pascal was the environment that pushed Turbo Pascal out of the Mac market.

SilverWarior
26-02-2013, 08:23 AM
I'm personally stil sticking to Delphi. The main reason for this is the fact that not so long ago I invested in buying Delphi XE2 proffesional. So if I switch my development tools not it would seem that all that money was just thrown away.
Besides currently I'm only targeting Windows platforms since I know it prety well. But this doesn't mean that I'm not thinking about going to other platforms in the future. Thats why I'm already trying to use such components which already have support to other platforms (mostly being compatible with FPC) and I try avoiding ause of any Windows only specific code as much as I can.
Right now I'm decing wheter I should or shouldn't use OmniThread library. While OmniThread library alos you to easily make Multithreaded applications it currently only works on Windows based systems. Also based on Primož Gabrielčič's words there is no plan of porting OmniThread library to other plaftorms for now as it would require compleete rewrite of the whole library as it heavily relies on Windows functionality.

Cybermonkey
26-02-2013, 08:39 AM
I am using FPC and Geany for developing my engine. Lazarus for the editor. For games I am using most often my own editor with my Lua based engine. At the moment I am learning HTML5/Javascript (since I can't afford SMS ;)).

Ñuño Martínez
26-02-2013, 10:50 AM
Free Pascal + gVim. Doing it like "the good old days". For graphics I use The GIMP. I want to test Smart Studio because I want to do things on Android and such.

WILL
27-02-2013, 01:25 AM
Teaching my son Lazarus with the goal to making some small games using it.

That's so awesome. I want to teach my daughter how to program when she is old enough. It's an amazingly creative skill to have.


I am using FPC and Geany for developing my engine. Lazarus for the editor. For games I am using most often my own editor with my Lua based engine. At the moment I am learning HTML5/Javascript (since I can't afford SMS ;)).

Have you checked out Udacity yet? They have an HTML5 Game Dev course on there. It's basically free university education, online style. :) It's pretty cool I've started a CS 101 course with them to try it out. Fairly decent.


Free Pascal + gVim. Doing it like "the good old days". For graphics I use The GIMP. I want to test Smart Studio because I want to do things on Android and such.

Smart has a trial and did you sign up for their contest where you could win a free device?

Also have you tried Oxygene for Java? You can compile 100% native Android apps and that code would then be portable to .NET for Windows and eventually to native Mac OS X and iOS with the new compiler that's coming out. I'm on the Beta and it's pretty swift. :)

Ñuño Martínez
27-02-2013, 09:34 AM
Smart has a trial and did you sign up for their contest where you could win a free device?

Also have you tried Oxygene for Java? You can compile 100% native Android apps and that code would then be portable to .NET for Windows and eventually to native Mac OS X and iOS with the new compiler that's coming out. I'm on the Beta and it's pretty swift. :) My computer hasn't the minimal requirements to run them. ::) Yesterday I've order a new one.

Dan
27-02-2013, 10:55 AM
it is quite amusing to see fpc with 9 votes and lazarus with 10. how does one use lazarus without fpc?=)
btw I use fpc + lazarus for all my cross platform development and smart mobile studio for htm5.

User137
27-02-2013, 11:16 AM
I didn't choose both, because i know there are people that use Free Pascal but not Lazarus for games. But it's harder to make multiselect poll with exclusive choices ;)

Cybermonkey
27-02-2013, 04:40 PM
Have you checked out Udacity yet? They have an HTML5 Game Dev course on there. It's basically free university education, online style. :) It's pretty cool I've started a CS 101 course with them to try it out. Fairly decent.

Oh, that looks amazingly interesting. I'll definitely take a closer look.

Luuk van Venrooij
28-02-2013, 07:48 AM
I`m currently switching from Delphi to Lazarus since I got single window mode working properly in Windows as well as Ubuntu. Thats the only thing I always hated about Lazarus, the Delphi 7 interface. Delphi XE lite which I have been using for the last few years work fine but is of course not exactly legal:)

phibermon
01-03-2013, 07:07 PM
Freepascal + Lazarus. I much prefer Lazarus's old Delphi 7 style interface to the newer Delphi interfaces but then I also love the classic GIMP layout ;) I use NetBeans for all other languages I code in (other than of course .NET development which is VS)

I'll also add that I still use Hisoft Pascal on my Amiga now and then to write various tools.

WILL
02-03-2013, 12:19 AM
Well at only 23 members voting, the results are seeming to reflect what I've suspected. More FPC/Lazarus than Delphi and a small uptake on Oxygene and Smart. Throw in a few oddities too. :)

BTW I didn't mean to include other non-code tools into this poll. I just wanted to see where all the current ones stood to-date for making games.

In my opinion, Delphi is a business tool not a game development suite anymore. Maybe before, but money has changed hands and the product has been morphed into more of a business application environment than an all-round general software tool. Not to say it couldn't be used as such and it can continue to be used just as it was, but why would you pay the cost a large business would pay for all those extras you just don't need in game development.

FPC/Lazarus seem to be the new default and Oxygene is slowly catching up in the game dev arena --most likely due to it's new compiler technology initiatives.

Cybermonkey
02-03-2013, 09:33 AM
FPC/Lazarus seem to be the new default and Oxygene is slowly catching up in the game dev arena --most likely due to it's new compiler technology initiatives.
Speaking of Oxygene, is it possible to use the free command line compiler with Java game engines? I think you mentioned that you are currently using libgdx with Oxygene, but I don't know if you're using the IDE or the command line compiler.

LP
02-03-2013, 03:57 PM
In my opinion, Delphi is a business tool not a game development suite anymore. Maybe before, but money has changed hands and the product has been morphed into more of a business application environment than an all-round general software tool. Not to say it couldn't be used as such and it can continue to be used just as it was, but why would you pay the cost a large business would pay for all those extras you just don't need in game development.
I would say this is true for desktop. However, desktop is losing its market share now to mobiles and huge piracy don't make it a very good development platform. Add Windows 8 fiasco to that, discontinuation of XNA, and new Microsoft policies forcing to buy expensive Visual Studio to allow running DX debugging tools (with the recent Platform Update, you cannot use PIX) - it's a dying market. I think only Macs at this moment are stable, but still, I think they'll be giving terrain to mobiles continuously, with desktop/laptop becoming an elite only / developer-only tools.

On mobile front, Oxygene and Smart Studios are non-native and forgive me for saying that, they are no more useful than any other Java or HTML5 tools out there, even worse because they are not-native to non-native conversion tools (i.e. they are intermediaries). This is the same as Oxygene for .NET: you'd better use C# instead, as it is also a very good language. If I would develop games on non-native, I'd pursue HTML5 directly, but there are only a very limited kind of games you can make with that due to performance limitations, especially on mobile. For that, you *need* to go for XCode. FreePascal barely works on Android and iOS, albeit with RTL bugs and it's a pain in the ass to configure, not to mention that you need to develop everything from scratch, starting from keyboard input to window management, etc.

On a positive side, the incoming Mobile Studio with Delphi for iOS, I think, would be the only native Pascal compiler that can be used in practice for making games on iOS and later for Android (by the way, there is a beta program where you can already try it). I'm not saying that because I'm working with EMBT (in fact, this is a minus, as it's *very* difficult!), but because you can take existing Pascal code, press F9 and see it running on device in less than 2 minutes, and it's *native*. To do the same with FreePascal, it took me 8 hours (the whole day!) to make it work with iOS 6.0 (and forget even about 6.1.2!), and still only a handful of APIs were available, while you're stuck in XCode editor or even console compilation. This is why I've been with EMBT for more than a year now, as without Delphi for Mobiles, I think Pascal has no future there, I myself would abandon it.

phibermon
02-03-2013, 05:00 PM
I would say this is true for desktop. However, desktop is losing its market share now to mobiles and huge piracy don't make it a very good development platform. Add Windows 8 fiasco to that, discontinuation of XNA, and new Microsoft policies forcing to buy expensive Visual Studio to allow running DX debugging tools (with the recent Platform Update, you cannot use PIX) - it's a dying market. I think only Macs at this moment are stable, but still, I think they'll be giving terrain to mobiles continuously, with desktop/laptop becoming an elite only / developer-only tools.

On mobile front, Oxygene and Smart Studios are non-native and forgive me for saying that, they are no more useful than any other Java or HTML5 tools out there, even worse because they are not-native to non-native conversion tools (i.e. they are intermediaries). This is the same as Oxygene for .NET: you'd better use C# instead, as it is also a very good language. If I would develop games on non-native, I'd pursue HTML5 directly, but there are only a very limited kind of games you can make with that due to performance limitations, especially on mobile. For that, you *need* to go for XCode. FreePascal barely works on Android and iOS, albeit with RTL bugs and it's a pain in the ass to configure, not to mention that you need to develop everything from scratch, starting from keyboard input to window management, etc.

On a positive side, the incoming Mobile Studio with Delphi for iOS, I think, would be the only native Pascal compiler that can be used in practice for making games on iOS and later for Android (by the way, there is a beta program where you can already try it). I'm not saying that because I'm working with EMBT (in fact, this is a minus, as it's *very* difficult!), but because you can take existing Pascal code, press F9 and see it running on device in less than 2 minutes, and it's *native*. To do the same with FreePascal, it took me 8 hours (the whole day!) to make it work with iOS 6.0 (and forget even about 6.1.2!), and still only a handful of APIs were available, while you're stuck in XCode editor or even console compilation. This is why I've been with EMBT for more than a year now, as without Delphi for Mobiles, I think Pascal has no future there, I myself would abandon it.

I'm afraid you're quite wrong. The desktop space has actually shown nearly a 4% increase on last year in bulk sales to business (and increasing in home as well, it's not like people like us are replacing our PCs with tablets, it's idiots who would never of bought a PC that are now buying tablets) all of this idiot lantern stuff in the media about the desktops days being numbered is payed for by tablet manufactures. They want people to believe that tablets are the future but they're simply not, a keyboard and a mouse will give any worker higher productivity in their daily tasks than a virtual keyboard (that covers up screen real estate, what a retarded idea) and fingertips, which having a usable contact area of half a centimeter results in large clunky interfaces where you can barely fit anything on the screen. All business know this, you'll never be in a job where everybody is glaring down at a tablet (without a docking station, which arguably results in a desktop PC, so all you've really done is replace a powerful desktop operating system with some over simplistic childrens toy) and if you ever do, leave straight away because that company prefers shiny things to say, sound business sence.

Tablets are for mobile use, light browsing etc they will *never* replace desktops, they will only complement them and be web devices for people that wouldn't of bought a PC. Only a technology that offers higher productivity would replace PCs. Tablets are a step backwards in terms of technology and productivity. They are far slower than desktops, totally none upgradable, pretty much impossible to repair and are engineered to be simple enough for a child to use. Which is great for children but not very appealing if you have a PhD in computer science.

The concept of the tablet replacing the PC is exactly like all those 1950's TV programs saying we'll all have a bipedal robot doing our cooking by the 1980's. The reality is that they they fill a neich that laptops once had, now laptops are for people that need a PC on the move to do work, tablets are for people that are bored on the move.

And as for Freepascal, again, I'm afraid you're wrong. there are plenty of IOS pascal games and engines. It supports tons more platforms than delphi does, including the 64bit power-pc architecture on the PS3. And don't forget that if you're compiling your apps for IOS with delphi, guess what? it's using a custom version of FPC to compile for ARM! and the FPC core development team includes some highly talented people that have worked on numerous compilers, they are just as talented if not more so than anybody EMBT have working for them and they easily outnumber the EMBT compiler team which I'd be surprised if it consisted of any more than one person.

Delphi is totally inappropriate for making games now, you're paying for the business components, the compiler is the thing that gets the *least* attention. If what you payed for was the compiler, then how come after so many many years have they only recently supported IOS/Mac and STILL don't support Linux.

Not supporting Linux for games development? with Steam and the upcoming Steambox and Android? (which is linux with a custom X11 replacement).

And yes, with FPC you do have to do more work to get your games working cross platform but that's true of C++ too. But it's not like you've got to do it over and over again, just a few days and you can have a framework working on all the major OSes and from then on, the idea of paying for somthing like Delphi is utterly laughable.

And to top it all off, Delphi = Lazarus. The fact that delphi has a compiler is a mute point, FPC is a full blown cross platform compiler that can work independantly of Lazarus and has a full build system comparable to how it's done in the GNU toolchain. FPC is like the GNU C++ compiler, it's like LLVM+Clang. it's a serious peice of kit for Posix style development, Delphi is more like visual studio, it's a propietory tech for developing desktop style applications and I wouldn't use it ever again for the same reasons I avoid all propietory tech - it's future is not guaranteed. FPC? even if I'm the only person working on it, I know it will always have a future. My hard work and investment would not be lost just because a company decided to sell up.

I mean just look at all those poor XNA sods, all those years perfecting their knowledge of the API and now it's all useless, total waste of effort. Same with silverlight and a dozen other dead techs.

Edit : sorry one more thing Macs are stable? you do know that OSX is going to be replaced with IOS on their desktops in the very near future? and they're not microsoft, these are the people that switch architectures and drop Carbon. They did that to force devs onto Cocoa in order to make the transition to IOS. They care even less about backwards compatibilty than Sony!

LP
02-03-2013, 07:52 PM
Phibermon, I know that some people are often resistant to change, but mobile devices are the current trend. For instance, my partner has got Samsung tablet, connected USB hub, then keyboard and mouse - you get desktop experience. Just imagine, you go to work, take your powerful quad-core mobile device, connect it to display and have your own PC whenever you go. The hardware on these mobiles is becoming ridiculously powerful. My wife, for instance, for finances and other stuff, uses iPad exclusively - her laptop haven't been turned on for months now. As soon as I get Office and development tools on a mobile, I'm going to switch completely too.

Yes, I got insanely powerful desktop, which I use for work, but I wouldn't mind connecting some powerful phone to my two monitors, keyboard and mouse. I've already been using my Macbook Air, which was very comfortable to bring on the plane and is pretty light, yet has Ivy Bridge Core i7 on it. If they could fit that thing into a smaller phone - that would be great.

I don't think desktops are going to disappear, but I do think their market share will continue to shrink, same as with laptops. Whether I'm wrong or not - we'll find out soon enough.



It supports tons more platforms than delphi does, including the 64bit power-pc architecture on the PS3.
There is a popular saying: Jack of all trades, master of none. (http://en.wikipedia.org/wiki/Jack_of_all_trades,_master_of_none) :)



And don't forget that if you're compiling your apps for IOS with delphi, guess what? it's using a custom version of FPC to compile for ARM!
Delphi in Mobile Studio is not using FPC (http://blogs.embarcadero.com/jtembarcadero/2012/08/20/xe3-and-beyond/).

phibermon
02-03-2013, 08:54 PM
You took my grilling very well ;) I appreciate it and you make some excellent points, time will tell on how tablets move and it's quite feasible that we'll carry around a a computer 'brick' that contains all our data, can be docked etc

but I think it's probably more likely that mobile devices will not push for ultimate power and we'll see mainframe computing make a comeback, that is to say the clouds compute and storage resources would be our system and our computers, tablets etc will simply be dumb terminals/thin clients/cloud nodes (whatever the terminology is nowadays)

Which I think would be a great shame.

I think what I'm defending more than the desktop PC is high end CPU/GPUs, which tablets and mobiles don't come close to.

Please note that a Quad core Arm clocking at 2ghz is absolutely no-where near even a single core pentium 4 from years ago, the clock speed and number of cores is not a useful way to compare two processors, the pipelining of the machine code, the branch prediction, out of order execution, cache size etc these are all really important factors in a CPU, as well as the instruction set. ARM is overly simplified compared to 8086 derived hardware, it doesn't have the amount of instructions an 86 has, not to mention other extensions such as MMX, 3Dnow, SSE/2/3 etc on modern incarnations of that architecture.

Where an operation might be a single instruction on a 86 chip, it might be 4 to 8 instructions on the simplified ARM to produce the same results, so even if it was as fast in every other respect, it's doing lots more work than an 86. The low number of transistors and low power usage come at a price. I mean Intel still can't compete with ARM and that's because they've got to pack a lot more transistors in to support the full 86 instruction set, it's actually their Achilles heel in that respect.

Ironically Intel's abilities are far more advanced than ARM (and it's licensees) and if 86 was as simple as Arm, Intel would *easily* have the lowest power usage and highest performing chips given they are a whole generation ahead of everybody else in terms of fabrication processes.

Same goes for mobile GPUs, there's some pretty good stuff going on, but even the most powerful high end PowerVR (I used to have a powervr with a special version of Turok : dinosaur hunter.. Classic!) derived GLES chips, don't even come close the performance of a Voodoo 3 or a TNT 2 (ok, maybe a little quicker but no more than a Geforce 3)

Sorry gone off topic again.

--

Object pascal, I code in that, I'll use whatever compiler that allows me to support the maximum number of environments and that's currently FPC.

To play devils advocate, if I had lots of money to burn I would buy the latest Delphi in order to use FastMM and get a bit more performance on Windows platforms. it's true that at as of a couple of years ago, 32bit delphi binaries were faster and smaller than FPC binaries, but nowadays? I don't think anybody has done an extensive comparison for a while.

Anyway, if Object Pascal was used extensivly in the gaming industry they'd probably all use Delphi, companies like having support and accountability for things they rely upon for their investments and if that were the situation then Delphi would be very different and their compiler would be a lot more like FPC

LP
02-03-2013, 09:31 PM
Actually, when we ported Aztlan Dreams to iOS some time back (we haven't finished doing so though), even with complex AI using multi-threaded approach, it ran pretty well on iPad 2 - even faster than on Eee PC with Intel Atom CPU. The end result "felt" the same as on my older laptop with Core 2 Duo T7700 CPU. Therefore, I don't think mobile CPUs are so far away and I don't think your comparison with Voodoo 3 or Pentium 4 is accurate.

For instance, many PowerVR 5 series chips have 1000 mpixels/sec, which comes close to GeForce 6200 (http://www.gpureview.com/GeForce-6200-PCI-E-card-189.html), but they have much better architecture and process shaders quite efficiently, not mentioning Tile-Based Deferred Rendering (http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/OpenGLESPlatforms/OpenGLESPlatforms.html).

Again, this does not compare, for example, to my high-end desktop system with Intel Core i7 2600K, Patriot 2133 Ghz DDR3 RAM and Asus Radeon 6870 GPU, but for general population, even Eee PC with Intel Atom will suffice; therefore, SoC on typical mobiles will be more than sufficient for most tasks, even some gaming.

I myself felt this when trying to sell my latest Core i5 laptop, almost new, on MercadoLibre (equivalent of eBay): I had to give it almost for free and it took me 3 weeks to sell it; but when selling my used/scratched iPhone 3GS almost at stock price, I sold it in 2 days! If OEM retailers are having the same luck as me, it means PC market is in serious trouble!

SilverWarior
02-03-2013, 10:28 PM
Sorry for me also going a bit offtopic but I personally think that mobile phines and tablets won't destroy or overcome desktop and notebok market for quite some time.

About the results from a survey which has been made recently about different computer devices:
Survey had only been taking into acount the number of sold devices but didn't take into account the average lifspan for each device. So if you have two different devices where average lifespan of one is 2 years (mobile phones, tablets) and a lifespan of other device is 5 years (desktop computers, laptops) greater sales of first one doesn't necessariely mean that now more pepole is using it.
Also you have to take into acount that recent rise in sales of SmartPhones is becouse currently on mobile phone market you can either buy Smartphone with tons of various fetures most pepole don't even use and so caled "classic" mobile phone which mosty supports only making cals and sending SMS messages. There is almost no midle choice where mobile phones would be like some older mobile phones as Noki 5320 Express Music for instance. So many pepole say "OK I'll go and buy smartphone, maybe I could make use of some of its features" even when they actually don't belive this themself.


As for programing for various mobile devices I belive that more important thing than the tool you use is the way you program. And yes I'm talking about optimization here!
When you are programing for desktop computers you can easily forget about optimizatio since tremendous power of desktop computers alows you to runn even porly or abolutely no optimized programs with ease. But when you start programing for mobiles you no longer have this tremendous power which forces you to actually make well optimized code.
And since most programers still takes into account sentance "No optimization is best optimization!" they are having huge problems when they are trying to develop programs vor various mobile devices.
I still remember the time when game The Ur'guan Masters (remake of Star Controll 2) was in development and one of developers wrote news report saying something like this: "Even now we have full source code of Star Controll 2 porting that code into our game is extremly hard as the original code is so darn optimized that we barely understand what which part of the code actuall does".

So yes with emerging of mobile devices we programers will need to learn how to write optimized code once again and so would programming tool developers.

Dan
02-03-2013, 10:45 PM
I would buy the latest Delphi in order to use FastMM
I have not had any experience with delphi since d2010, but I believe that fastmm has been rooted out of delphi starting with the first xe. and yes fastmm was one of the reasons I was using delphi over fpc some time in the past.

laggyluk
02-03-2013, 10:47 PM
i have an ipad by accident and honestly i think that its good only for reading books, browsing the web and making music. sure it has some usefull apps but still it's more of a toy than a tool when it comes to power or usability.

consoles were supposed to kill pc gaming but they didn't and I don't think that mobile devices are any more of a 'threat' for pc machines

laggyluk
02-03-2013, 10:48 PM
I have not had any experience with delphi since d2010, but I believe that fastmm has been rooted out of delphi starting with the first xe. and yes fastmm was one of the reasons I was using delphi over fpc some time in the past.
i belive it has been integrated to delphi since xe

LP
02-03-2013, 10:58 PM
About the results from a survey which has been made recently about different computer devices:
Survey had only been taking into acount the number of sold devices but didn't take into account the average lifspan for each device. So if you have two different devices where average lifespan of one is 2 years (mobile phones, tablets) and a lifespan of other device is 5 years (desktop computers, laptops) greater sales of first one doesn't necessariely mean that now more pepole is using it.
Well, the usage numbers tell otherwise: Usage share of different OSes (http://en.wikipedia.org/wiki/Usage_share_of_operating_systems). If you look into current trends and forecasts, number of Android and iOS units will greatly surpass Windows + Others. In other words, we will have more phones than desktop units. If what you say about average lifespan is true, then it is another minus for desktop development as the innovations/upgrades will be more focused on mobiles.



And since most programers still takes into account sentance "No optimization is best optimization!" they are having huge problems when they are trying to develop programs vor various mobile devices.
Yes, this is called Premature Optimization (http://en.wikipedia.org/wiki/Premature_optimization#When_to_optimize).

I agree that on mobiles you need to rethink how you program stuff, especially if you want to achieve similar scalability as on desktop. It's difficult to beat native code there, which I why I'm inclined against Java and HTML5 based alternatives. I think they are okay for business, accounting and some other basic stuff, but for games where you need to use all of the device's resources, they may not be the best choice.

Super Vegeta
03-03-2013, 12:08 AM
Just imagine, you go to work, take your powerful quad-core mobile device, connect it to display and have your own PC whenever you go.
Any mobile device can be plugged with peripherals to provide a desktop experience, so tablets' only advantage in this field is their size. I'd actually love using a Raspberry Pi for this.

Tablets, with their touchy-touchy interface (kinda amazing that this technology took almost 10 years to get popular) are simple enough to use that they appeal to a larger number of people. Being small, you can take them anywhere - an ideal thing for someone who has to be on-line all the time or doesn't have anything to do during the long hours on the subway. They may have more uses in everyday life for an average person, but that's about it.

Computing power may rise, but so does resource usage, so I wouldn't expect mobile devices to become desktop-level powerful anytime soon. And even if we eventually reach a level where everything can be computed in no-time, there's this little thingy: ergonomics. So, as much I can image computing power reaching such ridiculous levels that a pocket-sized device will be powerful enough to serve as a workstation, I think desktops will still exist - at least in the form of an army of peripherals with a small slot to insert your PocketPC.

SilverWarior
03-03-2013, 08:00 AM
Well, the usage numbers tell otherwise: Usage share of different OSes (http://en.wikipedia.org/wiki/Usage_share_of_operating_systems).

There are some strange numbers I see there. Acording to Net Market Share there is decrease of usage of WIndows XP, Windows Vista and Windows 7 but increase in Windiows 8 and other versions of Windows. And here I wonder what are theese other versions of Windows. Don't tell me that pepole started instaling older Windowses like Windows 2000, Windows 98, etc.


If you look into current trends and forecasts, number of Android and iOS units will greatly surpass Windows + Others. In other words, we will have more phones than desktop units.

We already have more mobile phones than desktops but since most of them are just plain simple mobile phones and not Smart Phones they werent compared with computers in the past. Therefore the reason for them quickly gaining market share. It would be nice to see comparison between the number of all mobile phones and computers and the trends of each.


If what you say about average lifespan is true, then it is another minus for desktop development as the innovations/upgrades will be more focused on mobiles.

Why would that be minus?
Sure it seems that in mobiles there is much faster advancment but in reality most of the technologies currently present in mobiles are just existng technologies from desktop world being ported to mobiles. And it is the rate of how fast theese technologies are being ported to mobiles which actually creates mobiles lifespan so short.
Most notable technology used in SmartPhones is TouchScreen capability. Do you know that first Touch Screen was developed in 1965? So this is nothing new. The only reason why it gained so much popularity recently is the fact that production cost had became much much lower as they were in the past. I still remember when I was dreaming of having touch capability on my computer back in 1998 when addon for my monitor which would alow me touch capability costed almost as much as my whole computer.
http://en.wikipedia.org/wiki/Touchscreen

The second most noticable technology in SmartPhones is Digital Camera. And this one isn't new. First digital camera was invented back in 1975 but become more popular in recent years due to image sensors becoming smaller and cheaper every year.
http://en.wikipedia.org/wiki/Digital_camera

Third most noticable technology in SmartPhones is GPS navigation which was developed in early 1940's and again become more popular when the production cots lowered considerably.
http://en.wikipedia.org/wiki/Global_Positioning_System

The fourth noticable technology in SmartPhones are motion sensors. When have they been first invented is hard to say as there are so many different types of them. But I must admit that Smartphones are first devices which masively make use of them. Before that they were only used for scientific purposes.

Multicore processors which are used in newest SmartPhones have been used in desktops for several years now. So nothing new here.

Infact if you take a look there isn't any technology in Smartphones for which you could say this is new and uniqe.
This means that all new technology advancments are still being developed in destop world. And until it is so desktop computers won't die out.

And if I go back to device Lifespan I can say that longer lifespan is actually better for us programers. Why? We all know that if you want to make some really good software it would take you athleast a few yeasr for that. So if device lifespan is shorter than that it means that before you will manage to develop such software the device for which you has been devloping the software for would already be obsoleete.
In other words this means that you will need to keep redeveloping your software to make sure it is compatible with latest versions of such devices. This would increase the overal development time and even development costs.
And this is by my opinion a great MINUS of mobile devices. The overal development is too fast for us developers to follow.

phibermon
03-03-2013, 09:04 AM
Third most noticable technology in SmartPhones is GPS navigation which was developed in early 1940's and again become more popular when the production cots lowered considerably.

GPS uses satellites which hopefully, were not orbiting the earth in the 1940's. I believe you're referring to earlier technology used in shipping where multiple radio signals encoded with a timecode were triangulated to give the ships position (a technology still in use today by the russian and american navies, although only as a backup to GPS) and I don't believe this tech either was available in the 1940's. Radar certainly was and operators could radio the pilots to help them through foggy conditions etc

Edit : I really need to think before I write if I'm on topic. There's forums on the web where you get burnt alive for that kind of thing.

LP
03-03-2013, 04:13 PM
Why would that be minus?
Sure it seems that in mobiles there is much faster advancment but in reality most of the technologies currently present in mobiles are just existng technologies from desktop world being ported to mobiles. And it is the rate of how fast theese technologies are being ported to mobiles which actually creates mobiles lifespan so short.
[...long list...]

I wasn't referring to accessories like camera and GPS, but CPU and GPU. I think these will be receive most innovations, while on desktop they are becoming somewhat stagnant. Worse, if desktop market is going to shrink considerably, it may have repercussions on major players like Nvidia or AMD.


I really need to think before I write if I'm on topic. There's forums on the web where you get burnt alive for that kind of thing.
I don't think you should worry about it. I'm myself am used to... err... controversial responses, when state my opinion. :)

This comes into mind... (http://xkcd.com/386/)

Daikrys
03-03-2013, 10:19 PM
personally i use delphi for coding and make the android ports with FPC, for graphics i use inkscape, spriter, photoshop and glueit
for my gamedesign docs i use the good old pen and paper :)

paulfjeld
08-03-2013, 03:31 PM
I use FPC only and in a "barebones" old school, Turbo Pascal, pre-Object Pascal way. I have an iMac running Mountain Lion with FPC 2.6.2. I have all my projects in BBEdit (nice syntax coloring for OP) and evoke scripts for making, building, running, etc. It is FAST and a very pleasant environment to code in, especially since I write code in itty bitty steps and run often - feels just like an interpreted environment.

I don't know if this is a good thing but FPC makes it possible for me to write simple code w/ SDL and do what I need it to do but I am stuck with old style API stuff like OpenGL 2.1 and the old Jedi SDL headers. I am trying to use 2.1 in a modern style (eg: VBOs not display lists) and hope it stays relevant for a while longer. I don't see any upside to "Delphi on the mac" but I do worry that FPC remains just a hobby for Florian and his cohorts of exceptional programmers. I love the clarity of Pascal. C (++,#,Objective, etc.) just bugs the hell out of me, but I can see a future where I have to spend months getting my C chops back and running "p2c" on all my code. Hope it doesn't happen...

Murmandamus
02-04-2013, 07:31 PM
Our primary toolchain consists of:

1) Lazarus/FPC - primary native development
2) Notepad++ - primary text editor for code, data, html, xml, etc
3) Blender, 3D Coat - for 3D modeling
4) GIMP, Photoshop - for 2D art and texturing
5) GIT for version control and asset management backend
6) Jitsi and ejabberd for communications
7) Scribus and Art of Illusion for vector and paper markup.
8) PHPbb, Trac, and MediaWiki for project and document management and long-term communications.
9) Several internally-developed apps for things like time-tracking and asset management tracking.
10) OpenOffice for business/administrative needs.
11) SynthFont, Audacity for music/sound. We're also looking at Propellerhead Reason for composition when we get to that point (and get a real sound/music director rather than a dabbler :P ).

plus a number of ancillary tools depending on need.

WILL
23-05-2013, 08:18 AM
Speaking of Oxygene, is it possible to use the free command line compiler with Java game engines? I think you mentioned that you are currently using libgdx with Oxygene, but I don't know if you're using the IDE or the command line compiler.

Ah, sorry I didn't catch this last time. Been extremely busy developing. ;)

Yeah Paul and I are learning so much working with Oxygene for Java (commercial product packaged with VS shell) and libGDX. We have found the combo to be very powerful and capable and I can see a great many projects of ours being ported over. Paul ported over Subject 33 from a Lazarus Program w/ SDL to Oxygene for Java w/ libGDX in a matter of a couple of weeks at most iirc.

As for the free command-line compiler, I believe it would be, however not overly desirable since using the full version allows you to do everything practically out of the box. ie. apk packaging and debugging direct to and right on the Android device it's self using CrossBox and various other features that make the whole point of using Oxygene amazingly easy to work with.

The only downside I find with it is Visual Studio.

My cons are:


Windows only IDE. I'm a Mac user/developer. -10 points! :p
laggy editor that will freeze up on you periodically even on a fairly high end Win8 laptop
updates and support of the IDE is via Microsoft made installers (enough said there! :p)
working with asset folders in the Solution Manager can be awkward; and
I suppose you could also state that Oxygene has to integrate into it, but that would be consistent with any other solution unless RemObjects finally rolls their own.


On the flip-side, some of my pros are:

debugging code in VS isn't that bad to be honest, there are even some cool features that I have yet to see in a more Pascal-centric IDE (ie. listing all your variables/values in a single tree view)
other various features that Lazarus/Delphi users are used to have been integrated by RemObjects thankfully (code jumping between implementation and interface!)
CrossBox allows you to compile and debug on your target device (hook up an Android phone/tablet via USB, install the drivers, configure your device for development and away you go!)
CrossBox also allows you to do the same with a Mac under Nougat(aka Oxygene for Cocoa!)


So the transition from Lazarus to Oxygene has been pretty nice thanks to the help of Jim McKeeth and Paul's porting efforts. I'd like to see this tool used more as it has amazing commercial potential not seen in many of the other Pascal-based tools around. Overall the price for all 3 Oxygene compilers at ~$500 is pretty good considering what some would pay for Delphi. Plus you get a whole year of updates from the date you purchase it, unlike Delphi's complicated and disappointly under-performing version update scheme.

That said, if you are stuck on free only, then Lazarus is probably your best bet, but if you are really serious about making $$$ with your games Oxygene may be the great new way to go.

WILL
23-05-2013, 08:53 AM
I think only Macs at this moment are stable, but still, I think they'll be giving terrain to mobiles continuously, with desktop/laptop becoming an elite only / developer-only tools.

It's kinda interesting and funny to hear you of all people stating this. Sort of a complete 180 from things you have stated a few years back if my memory is serving me well tonight. Maybe we are both just getting that much older or the computer world has changed that much huh? ;)

To share in the irony; I myself was a Winblows user over Mac through-and-through, until Vista. (*throws up in mouth a little*) I never upgraded beyond XP, seeing how poor Windows was "moving forward" and with the passable improvement of Win7. I had been watching Apple since they moved to Intel chips and started actually looking into what Mac OS had become and what it was based upon. A handful of years back I bought a big-ass iMac and I'm never going back to MicroCrap land. :P

If not for the Windows requirement to be able to run Oxygene, I'd not have bought Win7. It's the only thing I use it for.


On mobile front, Oxygene and Smart Studios are non-native and forgive me for saying that, they are no more useful than any other Java or HTML5 tools out there, even worse because they are not-native to non-native conversion tools (i.e. they are intermediaries). This is the same as Oxygene for .NET: you'd better use C# instead, as it is also a very good language. If I would develop games on non-native, I'd pursue HTML5 directly, but there are only a very limited kind of games you can make with that due to performance limitations, especially on mobile. For that, you *need* to go for XCode. FreePascal barely works on Android and iOS, albeit with RTL bugs and it's a pain in the ass to configure, not to mention that you need to develop everything from scratch, starting from keyboard input to window management, etc.

You are correct what you say about Oxygene for Java being on par with other Java-based tools, but that is kind of the point really. To that, I wouldn't say that Oxygene is "non-native" with what I have come to know of them. It is true that they do not generate native EXE or ELF executable code that runs on a traditional desktop OS, but what Oxygene for Java and Oxygene for Cocoa both do is generate code that runs 100% native to their respective platforms. Both Java bytecode files that run and operate exactly as any Java compiled code would and Cocoa projects that compile via XCode into native Mac and/or iOS apps that can be uploaded and sent directly to their respective App Stores.

After talking at length woth both Jim and Marc about their products they both portrait their desire to not trick or hack their compiler's output into some kind of equivalent, but rather to slide right in as a 100% authentic end product. So what you produce in the end is 100% as if you used the more usual tools. The difference is that potentially (they are still working on it) you can use the same code-base to compile to all 3 Oxygene compilers to support ALL platforms. And with the exception of Mac OS X and iOS the rest are interprited or managed technologies, of course.

As for HTML5, well... unless Google makes an HTML5-based OS... lol However I have seen some impressive things done with it in the Smart Mobile Studio graphics competition. Games competition is coming up too btw!

WILL
23-05-2013, 09:06 AM
I don't know if this is a good thing but FPC makes it possible for me to write simple code w/ SDL and do what I need it to do but I am stuck with old style API stuff like OpenGL 2.1 and the old Jedi SDL headers. I am trying to use 2.1 in a modern style (eg: VBOs not display lists) and hope it stays relevant for a while longer. I don't see any upside to "Delphi on the mac" but I do worry that FPC remains just a hobby for Florian and his cohorts of exceptional programmers. I love the clarity of Pascal. C (++,#,Objective, etc.) just bugs the hell out of me, but I can see a future where I have to spend months getting my C chops back and running "p2c" on all my code. Hope it doesn't happen...

You are going to have problems with JEDI-SDL which uses SDL 1.2.x headers on the Mac. Mainly you will not be able to go fullscreen. I know from experience using the older SDL 1.2.x for one of my projects that does compile and run for both Windows and Mac under Lazarus. If you can update the headers or (re)write a new set of headers for the 2.x specs that would offer you a solution, but I'm afraid that my old friend's SDL based library project has seen better days.

It is and still remains a great library to learn game programming though! Esp. on Windows!

As for VBOs, weeeelllll I thought those were depreciated in favour of older and possibly even some newer methods? Can someone chip in on this? Sascha, Luuk, Yuriy?

I myself stuck to Display lists on my own Win/Mac projects and the performance boost from immediate mode was still very nice. Of course this all depends on what type of graphics you are doing I would assume.

FPC is what it is. That's what makes it both great and not as great as it "could be." :) Very east to talk to guys though. Even more so if you speak German. :D

Sascha Willems
23-05-2013, 04:28 PM
As for VBOs, weeeelllll I thought those were depreciated in favour of older and possibly even some newer methods? Can someone chip in on this? Sascha, Luuk, Yuriy?

Nope, it's the contrary ;) VBOs are actually the preferred way (together with VAOs) of storing vertex data in OpenGL 4.x, while old stuff like immediate mode and display lists can't be used anymore (for some years now display lists have been torn down into VBOs by the graphics card drivers anyway).

Ñuño Martínez
27-05-2013, 05:02 PM
WILL,

thank you for sharing your experiences with Oxygene. Currently I'm wondering to buy a license of Oxygene or Smart Mobile Studio and reading your text helped me to compare them. :)

Murmandamus
27-05-2013, 05:30 PM
That said, if you are stuck on free only, then Lazarus is probably your best bet, but if you are really serious about making $$$ with your games Oxygene may be the great new way to go.

I think I must take issue with this statement. The implication that "free only" Lazarus/FPC is somehow for those not "really serious about making $$$ with your games" is a bit ridiculous. I can tell you we're quite serious about making money with our games, and we're quite happy with our decision to stick with Lazarus/FPC development. We understood from the beginning that it will need some additional work, including porting/writing some APIs and tools to bolster the weak areas of the language and platform, but the cool thing is, we can do that; we have the source, Luke! Plus, anything we do that applies to the platform generally, we can contribute back to it, making the baseline that much better.

As a result, I think one has to be a bit careful before dismissing something out-of-hand. Maybe your preferred platform-of-choice is truly wonderful, but I don't think it is fair to dismiss another in order to support your own, and especially dismiss other people who choose a different route. It starts to smack of fanboi-ism -- the overly-fanatical kind -- and really doesn't help anyone.