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 30 Jan 2011
Offline Last Active Yesterday, 11:26 PM

#5219354 Game Development Advice Along with Course Help

Posted by AnnaMarie on 26 March 2015 - 10:37 AM

Now I just need Help and What courses to Take that make me from Beginner to Advanced.



Unfortunately courses alone (and books for that matter) won't be a substitute for time spent applying the knowledge. Much like you can read a book on 3D modelling - reading and doing are two completely different things. Likewise you can read a book of software architecture but early on you will still have some major flaws that you can't see. Spotting bad designs can really only come with experience. This is not to say that you won't learn any cool tips or tricks from books/courses, just that without applying them (or doing the activity on a regular basis) you won't see the results you are looking for.


As far as courses go, I would say get a CS degree and maybe toss in one or two game development electives if they are offered. The CS courses, at least here, offer a much more solid foundation to build upon than the game development courses. Everything from the CS side translates directly into game development. You don't need to take a ton of courses in gamedev as I think really only one or two are needed if you're unsure about how games work. I myself took a single C#/Xna course as I was tired of Java from my intro courses and it was enough to allow me to make games since.


This site is also very useful as you have 15+ (I believe it started in 1999?) years of questions and discussions. Granted some are irrelevant now, but most still apply. Hundreds of articles with new ones added weekly, blog posts where people explain what they did, and a great helpful community all in one place. 90% of the time if you are having a problem someone else on here had the same one. I encourage you to use it as often as you can! smile.png For more information regarding these starting questions the FAQ and beginner forum has hundreds of these with advice.


Good luck smile.png

#5217511 how to comunicate with diffrent exe files?

Posted by AnnaMarie on 18 March 2015 - 07:16 PM

You might also want to look into shared memory using memory mapped files, a quick look on Google returned this library that can hook into C# (since the post was tagged with C#). There are other IPC options you can use that may be more in line with you're looking for but, as stated, without context it's hard to give a clear answer.


Hope that helps!

#5211526 Hiding savedata to prevent save backup

Posted by AnnaMarie on 18 February 2015 - 02:32 PM

As stated briefly you must also strongly take into consideration playing the same saves on multiple computers. For example, I would play Kerbal Space Program at school in between courses and copy saves to my desktop. If you make saves too hard to find (or use some complicated scheme) I as a player would be greatly annoyed certain saves work only the computer that created it. A save is a save regardless of where it originated from. 


Beating a user who doesn't bother backing up saves (and one not prone to cheating) is relatively straight forward. Just adding a flag into the header to mark the character as dead is a solution. To add salt to the wound take all his gold and items as well, he won't need them in the afterlife anyway smile.png


Granted if he plays on more than one computer, or backs up his saves, it will break this but this may not be such a bad thing. For instance, lets say a child plays his father save and dies. If you can't restore the save you will end up with a potentially angry father and one terrified child! If he wasn't backing up saves before this, well, he most likely will be afterwards in case it happens again. If he did then a simple copy and paste will return hours of work over a simple mistake. 


If you feel very strongly about disallowing copying then just have a secondary file that's created in the users documents folder (ideally where saves are located as well). This file will keep a unique id associated with each save, and whether the save has been marked as dead. If this file is deleted or has an invalid header/crc you would have to remake it. How else would existing hardcore characters that didn't die be playable? The registry would also present the problem of fresh OS installs and the like..


Thus back to the start of the endless circle.. wacko.png

#5194451 Creating a game launcher.

Posted by AnnaMarie on 24 November 2014 - 11:12 AM

1) Agent is primarily responsible for launching and updating the games, so a broken agent leads to a couple of problems. The launcher application launches agent which will go about updating the BNet launcher if needed. If agent requires an update the launcher will update Agent before it finishes opening.


2) I believe bundled with the steam updates is a process called SteamUpdater.exe which is launched either by pressing restart when steam bugs you for an update, or launched when steam opens after an update. The updater handles restarting the steam client as necessary.


Since Blizzard changed their update process when WoW came out here is what they did both before, and up until the BNet launcher came about:


Back in the Diablo 1 and SC1 days Blizzard had a program that would handle swapping out exes and what not. Since the exe's were stored inside the MPQ's all that was needed was to extract the file. This replaced the old one with the new one. Due to their archives having priority/chaining, all you needed was a new patch archive and the exe in order to continue playing the game. Users still had to manually press update as nothing was really automatic about it like it is now.


Something similar to this is still perfectly viable as the updater would be able to update everything but itself. How was the updater updated then? It was just replaced on the server and required a specific version number for the game exe in order to run. This also prevented patching your game multiple times, or patching to an earlier version.


For WoW they used a similiar two part process - they used a custom bittorrent downloader (see this for some more background information on that) which downloaded the data. This allowed them to leverage off users who already downloaded their game to save their own bandwidth. Each patch came with the downloader and upgrader application, with the upgrader being newer versions of their upgrade app they had been using over the years. Before this SC1, D1, and D2 all handled downloading the newest patch data themselves then running the updater.


With that said the DLL approach is definitely the easiest, but if that wouldn't work with your game exe just use the separate programs.


Using the launcher to download and run an updater program will work. Just beam over your game version to get the correct patches smile.png If the launcher needs updating just make the updater end the launcher, or exit the launcher right after you start the updater. Hope that helps!

#5192874 How to destroy an Audio at a specific place in Unity3d?

Posted by AnnaMarie on 14 November 2014 - 01:12 PM

As a quick solution, if you are defining the audio sounds using the inspector you can use an array to store the sound clips. I am assuming maybe these sounds are used for background music, or maybe some basic ambient noises. For example changing from birds chirping during the day to crickets at night.


Note that there are indeed more elegant solutions but for something basic it will work. I haven't used Unity in awhile but something along the lines below will allow you to change the audio. I am also assuming you aren't wanting to dynamically add a new sound component but rather change the audio from the existing one. It is also untested but if memory serves right it should work:

public class BackgroundMusic : MonoBehavior
	public AudioClip[] audioClips;
	public int currentSound;
	// Somehow you are going to change an audio sound
	// Maybe via trigger collision or time elapsed.
	void PlayNextClip()
	// Play a sound based off 
	void Update()
		audioClips[(currentSound % audioClips.Length)].Play();

You essentially just store the clips into an array, add them via inspector, and then have a position of the current audio you wish to play. For example, if you have a radio/jukebox with 7 tracks you will just add the songs after you place the object into the world. You then can press the next button, insert some pocket change, ect. to adjust the song.


For some basic background ambient the idea is the same. Maybe when the sun goes down play crickets otherwise play birds chirping ect. When the sound changes is entirely up to what you would like to do (trigger, collision, time elapsed ect). 


I hope that helps some. Good luck! smile.png

#5189857 Help with matrix multiplication

Posted by AnnaMarie on 28 October 2014 - 09:43 PM

I believe these have already been wrapped inside the Java matrix library in the link you already posted. 


If you are storing your matrix in a float array you can just use MatrixMM to have it computed with a provided float array. You shouldn't have to write any extraneous code as there are already wrappers over the native code on the link you provided. I personally haven't done much Java on Android but that method is static now inside the android.opengl.matrix class.


Does that answer your question or do you need more information? 

#5189495 Questions from a newcomer

Posted by AnnaMarie on 27 October 2014 - 03:01 PM

I think you may be leaning more towards the programming side of things so I will gear my answer to that - though as stated above, it is hard to tell. Also note that, as stated above, making a large game such as that requires a team of people, though something much smaller scale in my opinion is achievable if you work at it :) 


Starting out with text based games such as number guessing and maybe even an old text based RPG are good projects to learn from. While drastically smaller in scale, they are still helpful in the learning process. After becoming comfortable with those moving onto 2D games is commonly the next step. Reason being 3D games add much more complexity to games and most of the math you learn in 2D applies easily to a 3D game. After doing many small 2D games, moving to 3D is a venture of its own complete with a unique set of challenges to solve :) There are plenty of helper libraries for things like graphics and sound if you are wanting to do and learn more than just using an engine.

If you just want things "to work" there are numerous free engines which support scripting. Rather then deal with how things work internally you can instead focus more on writing the game. While doing this removes the need to know how to use many different libraries you still need to know some math along side whichever language your engine uses.


Engines and libraries are relatively common questions asked here, so I encourage you to look around using the search to see what others suggest. 


Good luck :)

#5186284 Download a file from an FTP server

Posted by AnnaMarie on 10 October 2014 - 07:12 PM

Are you sure whatever you are connecting to is running an FTP server on port 5553? Most of the FTP servers I have seen use the default port of 21, though this doesn't mean every FTP server will use that port. For a quick check perhaps download a simple FTP program such as filezilla and make sure you can connect using that? 

#5134342 How to get good fast?

Posted by AnnaMarie on 25 February 2014 - 12:04 AM

Much like any other skill it takes time, dedication, and experience. Think of it as learning to draw. To become a decent artist you must draw - alot. Programming is the same way in the sense there are no shortcuts.

Make programming something you do daily. Pretty soon it will become a habit and you will see results. When I was first starting I tried to sit down and program for at least thirty minutes a day. At the time I felt rather silly. Years later though I am actually amazed at how far I have come. The skill level difference I have when compared to my fellow students is something I am proud of. It brings a warm fuzzy feeling when I am given an assignment or asked a question and I already have an answer in my head.

Also here at Gamedev there are vast amounts of resources available. More often than not if there is something you are stuck on someone else had the same/similar problem. There are many great articles on various topics as well spanning well over a decade. Just the other day I found myself reading an article from 1999 on DirectX isometric rendering. While a bit dated, the concepts haven't changed much and I was able to use the ideas for my own project.

Hope that helps and good luck on your endeavour! :)

#5043963 VC++ 2010 crashes on ShowWindow(..)

Posted by AnnaMarie on 17 March 2013 - 08:55 AM

While I do not know the default value for nCmdShow try displaying your window using SW_SHOW (Also seen here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms633548(v=vs.85).aspx).

If nCmdShow is uninitialized, which it could or could not be honestly I have never checked, you would get an error with your program. If that doesn't help - sorry :P

#5036378 What GUI Toolkit Would Be Best For My Game Editor?

Posted by AnnaMarie on 25 February 2013 - 11:35 AM

MrJoshL, on 24 Feb 2013 - 08:57, said:
@Amr0     Something tells me that that is not a screenshot of your editor...
It is. It's not my engine though if that's what you mean...


Sorry for the broken quote but the reason for the down votes, and going out on a limb here, is the fact the top of the window it says very clearly L. Spiro Engine Editor. Many of the users of this site know L. Spiro has made many posts related to his engine in development. It came across at first that you were stating the everything in the image was made entirely by yourself. The title of the window sorta comes across as being the complete opposite.


While you state the engine is not yours we as forum readers are not aware if you and L. Spiro are working together/sharing builds of the engine. As far as I was aware his engine has not been released for the general public to use. I hope this offers a little bit of understanding why you were down voted.


Sorry for the post not being on topic I just figured no one was going to answer why they down voted him. smile.png

#5021960 A Mini-Compiler?

Posted by AnnaMarie on 15 January 2013 - 04:51 PM

This could be off from what what you are asking but after reading your post a few times this is what I thought:

  • You have code you rewrite each time you start a new project
  • You don't like having to import the entire code base between projects - .cpp/.h if you are using C++ (if I am reading this correctly)
  • You want a set of core components and then use something external to build an application from (much like Unreal's approach before where they created everything but the core in Unrealscript).

If the above is true (meaning I read it correctly rolleyes.gif ) maybe you could look into creating a library of core components and link against that library? If you have a great set of core classes from project A and want to use them in project B - just compile it and use the headers for the library. This way you do not have 5 versions of the same MyFile class   living within your system.


Once you have that, and as the post above me states, you can just bind your core methods to a scripting language. If you need to add more functionality you can add the ability for creating plugins for your application and use the plugins in the scripting language. The Ethanon Engine followed this approach where you were able to export angelscript functions from a DLL library and then use it in the scripting. It was as simple as just adding the plugin name to a config file.

#5021801 Source Control - Perforce

Posted by AnnaMarie on 15 January 2013 - 08:06 AM

As for the plungin limitation for 2010 look here: http://vinayakgarg.wordpress.com/2011/08/27/features-missing-in-visual-studio-2010-express/

In short it is plugins and a few other things which won't make much of a difference unless you as a user need it. 2012 is a bit better but still lacks the plugin capability.

As for working alone I have never used Perforce but used svn/git on my local computer without much of problem. You could also use an old computer you have to store your repository on which I found works quite well.

(Sorry for formatting/spelling mistakes - posting on a phone.)

#5017787 Making Diablo 2 style rpg

Posted by AnnaMarie on 05 January 2013 - 10:42 AM



Yes it is entirely possible to make on something like it on a smaller scale. Like other projects it really just comes down to how dedicated you are to achieving your goals. 


I took a course last semester which was aimed at teaching students new to programming how to program via games using C# and XNA. There was some pretty awesome projects coming from students I know only had a previous semester of programming. From your post you said you had studied CS before so I am making an assumption you know at least the basics of programming.


Most programming languages are very similar so switching between them is actually quite easy. If, for instance, you already know Java you can pick up C# in a few days more or less. I know students who were able to pick up the differences in a week without much practice outside the classroom. 


For a base to build your game off of I would do something of the following:

  1. Make a grid of 2D tiles which are (for example) 64x32 pixels. This makes the tile twice as wide as it is tall. See: http://flarerpg.org/tutorials/isometric_tiles/
  2. Once you have a grid add in a simple character sprite.
  3. With the character sprite get him to walk around the grid of 2D tiles using the mouse

Once you have that done I think you would have a really good idea on how to continue with the game from there perhaps by adding in sprite sheets for animation tiles/characters. smile.png

I suggest taking a look at http://flarerpg.org/ since it is one of the best open source 2D games similar to Diablo I know of. It should be informative to see how they handled their artwork for the characters/animations.


If my post didn't answer any of your questions or you need more information I apologize and can reply as necessary.


Good Luck! happy.png

#4970589 What are the downsides to using Unity?

Posted by AnnaMarie on 17 August 2012 - 10:05 AM

When I used Unity (which was years ago) my main issue was when the following scenario happened:

1) Work on project which exceeded 500mb of content
2) Build project - distribute to friends
3) Uh oh - Tiny bug! Fix bug and rebuild
4) They must now redownload all 500mb

Of course this was when I had first started doing anything programming wise so I easily could have been doing something wrong. I also found some of the colliders were hard to work with in certain scenarios. Other than that Unity serves its purpose quite well for what it was designed to do.

While I understand what you are saying I disagree with how you are trying to present yourself. A much better response would have been asking why he felt the need to use engine, or stating you are unable to comprehend the allusion a game even needs an engine. By coming across in such a way that you have if I were the OP I would take that as very demoralizing. Rather than put someone down for doing something you would not do possibly write an alternative solution in order to maximize help Posted Image not state a strong opinion of yours.

With the above said I strongly recommend you(JPTawok) to explore as many different paths as you possibly can to find what works best for you Posted Image.

Since you stated you had spent some time learning Java you can easily make a transition from that to C#. XNA is a very good alternative for 2D vs Unity IMHO as a simple 2D game can be created in about 5 minutes once you get the hang of it. I personally would go this route because I feel you would learn more - but it may be more of a challenge for you. Of course, being challenged is good! Posted Image