Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!

1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Member Since 20 Jul 2006
Offline Last Active Jan 24 2015 10:16 PM

Posts I've Made

In Topic: Whats the task of the programmer in this video game?

11 January 2015 - 02:41 PM

Great artwork!


If you really are just looking for a way to stitch your concept art into a static point and click adventure game, you might be able to get away without a programmer. Can you tell us if this is going to be a 2D game or 3D? Will the camera move?


Basically if it is really 2D, you can try an adventure builder or GameMaker. These tools will come ready to handle "triggers", touch zones - so you can react to player input and stitch together screens or levels.


If you want to do anything special like pick up items, show an inventory, have dialogue or character or camera movement, then it is likely you will need a programmer. These are staples of most adventure games, so you should decide now before you get too invested into a game engine or set of tools. Enlisting a programmer is easier if you are serious about your project and can show progress like this. If you decide to go this route, I might suggest using Unity, put together your levels, and then use their forums / marketplace to team up with someone who will help you get your game finished.


If you want REALLY high fidelity and you understand 3D modeling, animation and shaders at a AAA level, you could also try using the Unreal Engine. It is $19/month to use it commercially. You can make complete games using their system called Blueprint without any programming. (See their Flappy Bird and related demos).


Come back with some details and I can help you further.


Best of Luck!

In Topic: How do I convert an array to an accelerated texture?

30 December 2014 - 10:36 PM

The way you are doing this right now, you are creating the pixels in System Memory (RAM). In most modern computers, the graphics card loads the textures into its own memory. Thus, you'll have to copy your buffer from one memory to another every frame in order to get your desired effect, which is very inefficient, but good enough for a one-off use.


A better approach, then, is to not create the array in System Memory but to do things directly on the graphics device. There are two approaches that I know of for this:


1. Use shaders. Use the vertex shader to draw a rectangle the size of the screen. Use the pixel shader to draw your random colors.




2. Use OpenCL. OpenCL runs C / C++ programs on the GPU. You can integrate OpenCL into your graphics pipeline as well. There are tutorials out there for this - I'm not too familiar with how to do this myself.

In Topic: design question: data driven: best methods?

24 December 2014 - 03:06 PM

Although your question is not very specific, here are 3 popular methods that won't let you down:


1. JSON, with a parsing library available in most languages. JSON is easier to read and edit, smaller than XML and works with RESTful APIs and internet technologies all over the world now.


2. XML. XML is also easily consumed and parsed in most languages. It is older and somewhat clunkier, but it is still being used in many commercial game engines as a general data format.


3. Design a database using SQLite. This is a file based database format that can be easily consumed in C++ and most other languages. If you know SQL and relational database concepts, this is a powerful way to store and query your game data.


My opinion is that writing custom text file parsers is a waste of time compared to these options, unless you have to do something so extraordinary with it that it makes it impossible to use all of these methods.

In Topic: How can I create an installer for my game?

20 December 2014 - 12:58 PM

As far as I remember, the Visual Studio Installer project can be configured to include the installation of other components like the runtime library as part of the install. It won't embed the whole thing but rather download and install the latest from Microsoft's servers during the install process.


Look it up. If not, there's Inno setup. It is a powerful, script driven system that definitely handles pre-requisite installs.

In Topic: I need advice for beginning game programming

20 December 2014 - 12:50 PM

Hello there,


I have worked in both AAA and indie environments and different sizes of games. Just wanted to leave some random information here for you to consider:


Since Terraria renders and maintains thousands of terrain tiles per frame, performance will be an issue, and Python may or may not be fast enough to handle the computational aspect of it. For this particular case, I'd recommend something using C# or C++. If you don't know either language, you'll likely find C# to be much easier yet more capable (out of the box) than pure C++. C++ takes many years to master because the language leaves you to consider things that have been neatly "solved" for you in C#.


If you go with C#, you might want to consider MonoGame or XNA to help jumpstart your rendering and game systems. You could also use Unity Free. Building a game engine from scratch will take a lot more effort - and architectural level understanding of how game engines work. A lot of reading and experimentation..


MonoGame / XNA allows you to piece together your game and works more like a swiss-army-knife styled utility library.

Unity is a full fledged engine that takes over all of the heavy lifting, allowing you to simply focus on gameplay prototyping.


And this is where the important question comes up. Do you want to make an awesome game now - or do you want to become a badass programmer? What is your ultimate goal with this project?


If your focus is to learn more, go with MonoGame / XNA or even write your own engine. However, if you want to make your game quickly and focus on bringing it to market sooner, then you may want to choose Unity instead.


C++ is used in high end AAA studios in several engines that are almost a decade old (or even older). The reason C++ is used is for raw power. Most of these engines use a scripting language like Python / Lua in order to allow designers and other scripters to flesh out the gameplay - things like missions, switches, triggers for sounds and particles, loading levels, spawning items and such. The really low level graphics, particles, physics and other subroutines are tucked away and maintained in C++ by "well paid" "badass" programmers who hardly work on the game. Their job is to manage and ensure optimum memory usage on consoles / PC, multi-threading, performance optimization, shader optimization and balancing tasks between the CPU and GPU - much closer to hardware level of concern - hardly anything to do with a particular game. Such a complex setup works well for larger studios as they can separate the concerns of each department in different layers.


When people say "real game developers use C++", they aren't giving you the full picture. Most indie developers should not need this level of sophistication. Building games of Mario / Galaga level of complexity on the studio setup is actually a huge waste of time and talent. It makes sense for games like Call of Duty - something that pushes the limits of visuals and technology with hundreds of people on the team. I've known many people who wanted to make a full-fledged FPS or RPG on their own - and these projects go on for years with very little progress. So don't let someone else dictate what programming language or tool you "must" use in order to be "cool".


Just some thoughts.