Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 16 Apr 2007
Offline Last Active Yesterday, 10:50 PM

#5302417 Help Deciding On New Language

Posted by sirpalee on 24 July 2016 - 11:54 PM

Rust? It's the cool toy around these days, powerful language, compiles fast and safe code. There are some nice collections of libraries, which help starting from zero
(like piston).

Downside, you have to deal with complex things, like ownership, borrowing etc...

#5301428 Compilers

Posted by sirpalee on 19 July 2016 - 05:40 PM

I sense a lots of elitism in this comment.

Linux users. Can't live with 'em, can't :-( YOUR PC RAN INTO A PROBLEM AND NEEDS TO RESTART

I'm developing on linux at work, and I have a great c++ IDE (CLion) at hand. So it's not linux. :)

Anyway, we are diverging too much from the original question. The rule of thumb, always takr the easiest route, that still.let's you work efficiently. You gain back investments into tools surprisingly quickly.

#5301426 Compilers

Posted by sirpalee on 19 July 2016 - 05:34 PM

when everybody has an SSD in their system.

False. My work PC is a regular HDD due to various project-specific requirements. Plus:1. not everyone can actually afford the latest and greatest PCs2. not everyone who can afford a newer PC, and has a newer PC, actually uses an SSD as their boot drive or program install drive.

SSDs are pretty cheap nowadays, especially the sizes you need for an OS and couple of dev tools. It's an inexpensive way to improve the reaction times of your tools, so it's mostly safe to expect any devs to have one. If they don't, they can be considered exceptions.

That's why I don't think IDE startup times matter. And even on an hdd, starting up VS doesn't take much time. Not to mention you are doing that once per a long coding session.

#5301330 Compilers

Posted by sirpalee on 19 July 2016 - 03:49 AM

MinGW is also available for Windows 10, it is a port of the GCC (default compiler for most Linux distros). There is no IDE and everything is done through the command line, if you're into that sort of thing.
- no IDE means zero start-up time
- better C++ language standard compliance
- no pesky project settings to get lost in
- produces well-optimized code
- (optional) often possible to compile code written for a different platform, but only if you manage to install msys/binutils and such correctly
- your IDE is pretty much just notepad
- no microsoft-specific compiler extensions
- no project settings means you have to either manually enter the locations of all libraries and include directories, or get good at MAKE.
- makefiles targetting MinGW are rather more rare in the wild than VS project files, when dealing with projects downloaded from the internet.


I sense a lots of elitism in this comment.


Beginners, people new to c++ should go with the best IDE their platform has, and concentrate on the language (and compiler basics), before going down a route like this. Also, don't forget a good IDE significantly increases productivity, and that's really important in the beginning to avoid turning away the newcomer from a language, because it doesn't have good tooling.


Startup times also not significant, especially not nowadays, when everybody has an SSD in their system. Same things goes for advanced c++ features, beginners won't even understand a fraction of that.

#5294758 It's Time to Start

Posted by sirpalee on 03 June 2016 - 12:41 AM

I would go for unreal or unity if I were you. Simply because they have a bigger community and pool of resources behind them. That's a significant factor while learning any new tech.

#5293714 Do you usually prefix your classes with the letter 'C' or something e...

Posted by sirpalee on 26 May 2016 - 09:44 PM

I used to use the C prefix for classes, but not anymore. I find it completely unnecessary, especialy if you have a clear naming convention for variables, and functions that are not CamelCase

#5292397 Introducing Stanza: A New Optionally-Typed General Purpose Programming Langua...

Posted by sirpalee on 18 May 2016 - 07:40 PM


But I don't have faith that any of these are true, after reading...



Indentation is important in Stanza programs. Be careful when trying out the examples.

And don't use tabs. Stanza won't let you. We don't like tabs.


Well, good for you. But this aggressive, inflammatory approach to user-friendliness just lost you an entire market of potential users who aren't even going to give the time of day to that attitude. It comes across as petty, and that's not something you want a reputation for. If you have a technical reason for blacklisting \t, put that in the documentation instead.


Also, don't forget that languages where identation changes behavior and is really important are extremely error prone.


Just a quick remark.


Does your language work in interpreted mode? Or can you execute it without precompiling? If your language non interpreted, you should compare the speed and it's advantages to precompiled languages, rather than scripting languages (where most of them are interpreted).


One other issue with new languages is usually the IDE support. Especially with intellisense, and all the fancy tools we get used to when using other programming languages. In my experience, a good IDE is usually the biggest factor for productivity. How is that for stanza?

#5290355 Vulkan FBX runner with inputs

Posted by sirpalee on 05 May 2016 - 08:21 PM

First of all, decide what kind of display you'll want. How many meshes and what kinds of effects you want. If your main focus is just to display couple of raw meshes with simple shaders (ie your draw count will be low), you might not want to use vulkan, and just go for opengl.

The rest is straightforward for your platform of choice, get the fbx devkit, and display your data. Though the fbx api could be a mission. :) Depending on your target audience, you also might want to look into support animations from alembic. (that's more for the CG / VFX crowd though)

#5290201 Is it C# Territory?

Posted by sirpalee on 05 May 2016 - 01:19 AM

I'm going to get lots of hate for this, but here it goes.

First of all, I've been developing CG applications for a while now, and I have lots of experience with writing stable, performant code.

The main reason why people use c++ is very simple, it's the best language that allows us to organize our code nicely and write high performance applications. Right now it's the only choice (c and asm is performant as well, but they make organizing your code harder). Basically everything else is slower, and we are talking about an industry where even 5% matters a lot. A lot.

Of course you could write the core of your application in c++ (where you need performance and also memory management), and create the ui / user interaction code in c#, you are free to do that. But you have to weigh the extra boilerplate code neede dfor interop. Some people could say, it's worth it, some people won't.

But for the core, go with c++. At this moment there isn't a stable enough alternative. Rust looks like a worthy competitor, but it's not as mature as c++. (tooling, enough people on the job market, generated binaries not as optimized as they could be etc..)

#5017466 Javascript / HTML5 best practices

Posted by sirpalee on 04 January 2013 - 10:53 AM

Hi guys!


Recently I had some free time, and decided to dive into javascript and html5 stuff. I'm looking for some book / series of articles that are talking about how to write efficient code, or what are the best practices, especially centered around html5 and game development.


I looked around the web, found a huge amount of resources, but it's really hard to decide where to begin. I have several years of experience with c++, so learning the syntax is simple, so I know how to organize my code or do anything I want. But I understand, that developing for browsers, or working with script languages like JS is different. I just don't want to follow some random tutorial that pops up in my google search and learn bad practices.


So, in short do you know any good javascript / html5 resources about game development?




#4814638 Hints for my new engine (v3)

Posted by sirpalee on 23 May 2011 - 10:25 AM

The level editor, the scripting and the asset pipeline is part of any game engine. (and maker3d is basically with your engine, without a native API and with some limitations - so the API design, the scripting is important for your users)

And don't write anything yourself, there are a lot of already great opensource / multiplatform tools, that are heavily tested and used in many application. For example you can use OpenImageIO for texture caching / loading in the system ram (you can specify the amount of memory it uses etc... and pretty fast too!), or instead of using your own "shader language", Open Shading Language is there for your raytracer (since I guess it's cpu only, or with some modifications even for the GPU).

Is there any game in development with Maker3D?

#4814561 Hints for my new engine (v3)

Posted by sirpalee on 23 May 2011 - 06:43 AM

Can you list even one game, what has been made with your engine, and available for download (free or not that doesn't matter)?

If not, just make a simple game (even a tetris would do), and you will realize what do game developers want from a game engine.

#4794739 Maker3D

Posted by sirpalee on 05 April 2011 - 02:05 PM

As smart people say, all good things come free. Like blender ;)

quotation from the maker3d site :

The software has NO PRICE.

#4761843 saving and loading a structure - serialization

Posted by sirpalee on 20 January 2011 - 08:12 AM

An easier way to do things, would be:

        template< class T >
    	void write( std::ofstream &  output, T const & instance )
         				reinterpret_cast<const char*>( &instance ),
     					sizeof( T )

 		template< class T >
    	void read( std::ifstream &  input, T & instance )
                    	reinterpret_cast<char*>(  &instance ),
                    	sizeof( T )

The input and output files are binary (you can't just open them and read them like you would for a text file). There are many advantages in using binary files: the book "How to Program in C++" by Deitel & Deitel has a very enlightening chapter on this topic.

It's not nice to give people bad code design ideas...