Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Don't forget to read Tuesday's email newsletter for your chance to win a free copy of Construct 2!


Josh Vega

Member Since 04 Jun 2011
Offline Last Active Nov 23 2014 08:02 AM

#5149090 Switching between languages/API

Posted by Josh Vega on 23 April 2014 - 08:05 PM

I regularly switch between several languages and APIs. For the languages I use the most (C, C++, C#, Java, JavaScript, PHP, Python, and Haskell) I have a quick reference sheet that has some of the common techniques and styles that are specific or noteworthy to that language. For APIs, I also have references for some of my more commonly used methods or classes in some of my regularly used APIs. I also have at least 1 book for each language or API (if there is a book for it) nearby so I can pull it out and use it if my quick reference sheet doesn't provide enough detail.

 

I also like to comment my code regularly, especially when using 3rd-party libraries.

 

Plus there's always the internet and I have a bookmarks folder for all the reference pages for just about every API I use regularly.




#5142611 What programming skills for Unreal 4

Posted by Josh Vega on 27 March 2014 - 10:08 AM


Shaders will likely be in HLSL or CG.

 

The shaders seem to be written in HLSL using the internal Material Editor. The HLSL is compressed so you cannot access it from the file system (you must use the Show HLSL option in the Material Editor). The HLSL is converted to GLSL when packaging for the OpenGL rendering target (or when running on OS X). This is the same way it was done in UE3/UDK.




#5108402 WIN32_LEAN_AND_MEAN and timeGetTime()

Posted by Josh Vega on 10 November 2013 - 10:18 PM

Here's a good comparison between the different timing methods available in the Win32 API:

 

http://www.geisswerks.com/ryan/FAQS/timing.html




#5106468 C++ (SFML) and Flash player/Unity

Posted by Josh Vega on 02 November 2013 - 10:58 AM

The short answer is "Yes, but it's not worth it".




#5089608 Xbox One dev. language and engine etc?

Posted by Josh Vega on 27 August 2013 - 02:58 PM

I heard Xbox One will support Unity. So there's that. 

 

Actually, its the other way around. Unity will support Xbox One as a target, but you will probably still need to get a license from Microsoft first, just like with the Xbox 360.




#5051090 Not sure what it is that I'm doing wrong with templates in this case

Posted by Josh Vega on 07 April 2013 - 10:07 PM

Not to try and prove you all wrong or anything, but I found this article a while ago which says that it is possible to separate the declarations and definitions for template functions into .h and .cpp files. It does seem though (from the sample compiler/linker messages he provides) that he's using MSVC rather than GCC.

 

I use templates in some of my projects and have been using "Method 1" (or as he writes, "Mehtod 1") to get around linking errors. Although, I too use only MSVC (haven't gotten a chance to learn how to use GNU tools yet).

 

EDIT: Fixed typo.




#5048239 Moving from C++/OpenGL to JS/WebGL

Posted by Josh Vega on 30 March 2013 - 12:18 AM

Though it is hated by many, W3Schools is where I go for quick references on every web development language or technology. I have seen a few errors and wrong statements, but none of them have been "game-changers" or really all that important.

 

Also, Tuts+ has a sub-domain of net.tutsplus.com. It is their web development portal. Its not really "tutorials" for people learning web development, but rather articles (and a few tutorials) for advanced developers looking to improve their projects. The downside is that for some of the more "revolutionary" or "this is really epic technology" articles, you do need to be a Tuts+ Premium member which means paying $19/month or $15/month for Monthly or Yearly, respectively.

 

Lastly, I found this page full of links to other tutorials. I've never used any of them, but I just now looked through them and at their code and they seem well made.




#5047845 python browser games

Posted by Josh Vega on 28 March 2013 - 08:38 PM

PyJS converts from Python to Javascript, not Java. Java and Javascript are two different languages.

 

I think your best bet would be to use PyJS. You will mostly likely need to do some Javascript editing because there might be bugs in the conversion process, but I think it is definitely the best way to got for web games. Its extremely powerful if used properly (e.g. Mozilla and Epic Games just recently completed their conversion of Unreal Engine 3 to Javascript).




#5047839 Port XNA to iOS step-by-step (using MonoGame)

Posted by Josh Vega on 28 March 2013 - 08:19 PM

Woah!

 

I don't even know how I missed that. I know that from prior experience that InteropServices is a P/Invoke method. I must have have gotten the question confused with another C# question I was emailed by a friend. Its been a busy day for me.

 

Sorry about that.




#5047721 Port XNA to iOS step-by-step (using MonoGame)

Posted by Josh Vega on 28 March 2013 - 12:38 PM

The pInvoke limitation is worse than you think...  Your code may not require pInvoke, but MonoGame does ( that's how it calls to OpenGL ).  I may be wrong, but im 90% certain the "free" version doesn't work with MonoGame.

 

Well MonoGame uses OpenTK for the OpenGL/ES backends. I checked the source code and it uses System.Runtime.InteropServices not DllImport or any of the other P/Invoke methods (although I don't know what InteropServices does in the backend).

 

EDIT: Information in this post is completely wrong and invalid.




#5047621 OpenGL core profile question

Posted by Josh Vega on 28 March 2013 - 06:48 AM

Is it possible to you can post the relevent information from the output window during a build (preferably debug)?

 

I did a quick search for GLEW with OpenGL 3.X tutorials and ran across this page. I'm know that you are using GLFW and this uses Win32/MFC, but maybe the GLEW parts can help you to check against your own code.

 

Another thought that just popped into my head is that maybe GLFW is interfering with GLEW (or vice versa). If its possible, try switching out GLFW for SDL or SFML (or even freeglut) and try testing it again.

 

If all else fails, it might just be easier to switch to GL3W.

 

EDIT: I was just browsing through the forums here and found this thread where the OP has a similar problem to the one you are describing. It may or may not help, but I'm just gonna put it out there for you. You can check the final post for his resolution to the problem.




#5047503 Torque3D now....FREE? Woah... 0_o

Posted by Josh Vega on 27 March 2013 - 10:15 PM

Plus - anyone else looking to build games on a budget, ID Tech 4 is free too with access to source code - it once powered (and I suppose, still continues to power) Doom 3 , and Quake wars!

 

Yes, id Tech 4 is open source, but under the GNU General Public License version 3. This means that you would need to release the source code to your id Tech 4 based game (and it also has to be GNU GPLv3 licensed as well). Torque3D on the other hand uses the MIT License which means you can pretty much to whatever you want with the code, including releasing your game as closed source.




#5047501 OpenGL core profile question

Posted by Josh Vega on 27 March 2013 - 10:07 PM

The OpenGL wiki has a page on some of the common extension loading libraries as well as a page on loading extensions manually.

 

I know you already said that you dislike GLEW, but maybe you should post some code so we can find out why it isn't working. I've used both GLEW and GL3W with OpenGL 3.X before and have had no major problems. Try adding some error checking code:


GLenum err = glewInit();
if (GLEW_OK != err)
{
  /* Problem: glewInit failed, something is seriously wrong. */
  fprintf(stderr, "Error: %s\n", glewGetErrorString(err));
}

 

You could also attempt to load a specific extension as described here.




#5033174 What is OpenGl ? Should i start with it ?

Posted by Josh Vega on 16 February 2013 - 05:12 PM

id Tech 4 and Unity 3D are rather different technologies from UE2.5-3. Comparing between these three engines running identical hardware, Unreal Engine 3 is going to invariably be slower than id Tech 4... Not necessarily "worse".

 

Don't get me wrong, I personally hate the Unreal Engine and have hated it since 1997, but what I was really trying to say was "a game engine written X years ago is going to run faster than game engine Y written yesterday." Get what I mean?

 

Not necessarily. An engine written with the proper optimizations could be designed to run faster than an older engine on the same hardware. Using technologies such as CUDA or OpenCL allows you to take some of the work off of the CPU and place it on the GPU. id Tech 4 games like DOOM 3 don't support GPGPU functionality while newer engines such as UE3/4 or CryENGINE 3 do.

 

And UE3 isn't slower because its newer, its slower because it requires better hardware than what is required for older (or lower-end) game engines. UE3/4 and CryENGINE 3 belong in a different class from id Tech 4 or Unity3D. both UE3/4 and CryENGINE 3 are designed to push the limits of modern computer hardware, while id Tech 4 and Unity3D are designed to run on current and older hardware.

 

Comparing UE3/4 with id Tech 4 is like comparing Battlefield 3 with Battlefield 1942 or Call of Duty: Black Ops 2 with Call of Duty 1. They are designed for different hardware generations. I'm sure if you pumped UE3 level 3D models into id Tech 4 it would run even slower than UE3 itself because it wasn't designed to handle 3D models of such high detail.

 

I've had the pleasure of working with all four engines (UE3, CryENGINE 3, Unity3D, and id Tech 4) at one time or another and can say this: "Each engine has its own strengths and weaknesses. Depending on where you want you game to be strong depends on the engine you should choose."




#4911756 Engine for creating Horror game. Any suggestion

Posted by Josh Vega on 10 February 2012 - 01:31 PM

If you want to stick with Java you could try jMonkeyEngine, but it's a general-purpose engine rather than being specially built for first/third person shooters.

Otherwise if you have previous experience with Unity it would probably make a good choice for you.


id Tech 4 is also a valid choice given your requirements, but you may find it harder to get into and work with compared to some of the other options.


LWJGL (Lightweight Java Game Library) is also a good one that I have used. Though not technically an "engine" it does provide bindings for such things as OpenGL, OpenAL, and OpenCL as well as its own input system. Licensed under the BSD license, it is available for use in both proprietary and open-source games. Actually, the in-house engine created for Minecraft is built atop LWJGL. The only problem is that though it has a lot of documentation, much of it is about how to get started with LWJGL. Thus, creating a complex game is more of a hit-and-miss scenario than knowing exactly what you are doing (unless you do really know a lot about java).

Personally I, being the C++ kid that I am, would prefer to go with an engine such as the doom 3 engine (id tech 4) which was specifically designed for dark, indoor areas (as seen in the Doom 3 game).




PARTNERS