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.


Member Since 30 Jan 2011
Offline Last Active Today, 12:07 AM

#5194451 Creating a game launcher.

Posted by Aiive 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 Aiive 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 Aiive 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 Aiive 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 Aiive 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 Aiive 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 Aiive 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 Aiive 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 Aiive 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 Aiive 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 Aiive 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 Aiive 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

#4966742 Loading Dlls as mods (Similar to idtech and source)

Posted by Aiive on 06 August 2012 - 12:22 PM

In my opinion it depends on the type of changes you are planning to allow the end user to make.

For example, instead of having all the particles float up, I write a mod which makes them float down.

You make an interface to the particle system which has a virtual function called OnUpdate(). I write my DLL using your interface and change the OnUpdate to my own custom particle update.

When starting the editor it reads the file names of a specific directory, loads my mod using LoadLibrary, and gets a pointer to the virtual function OnUpdate. When the particle update loop comes around if you have a valid pointer to an external OnUpdate method you use that one. If not, you simply update particles as normal.

This way the original compilation is already configured to accept mods and no changes to the original source are needed.

Of course it would need to be refined to a system that works to your needs, but you have to decide what exactly you want the end user to be able to change. If you wanted them to be able to add their own networking code the above would work. The user would just give the plugin to their friends/users along with the game.

However if you are looking for a more 100% ability to change anything I think a scripting language would work best.

#4945065 Learning to program

Posted by Aiive on 31 May 2012 - 01:08 PM

I have Googled for some XNA tutorials and finished my work with them to do part of what I've finished so far.

I've done a few various things with XNA; Pong, Tetris, Poker, BlackJack, and 3D space shooters. Sure nothing to advanced, but not a bad start right?
I kind of wanted to step away from XNA because I feel like it's being a crutch to me. Though I guess that's just me being silly.

I think the larger crutch is that you aren't challenging yourself enough with XNA. Try making a polished game that you think would compare well with other indy games; not proof of concept prototypes. Maybe not a game that could sell favorably, but one that has the same features/standards as you might find in a game being released for XBLA/Steam/PSN.

I agree completely. Although if you are not interested in making the game portion but rather creating editor tools for others try making something similar to the Torchlight Editor (here: http://www.runicgame...p?title=TorchED). This was written in C# and creating something similar would provide a sufficient challenge in my opinion.

Do not create the editor so only you can use it however, it must be user friendly. Anyone should be able to easily create whatever they want using your tool. Scripting can be done in C# using the built in compiler .net provides. After you have that working you could think about making your own script editor because not everyone who wants to make games will download Visual Studio. Your code editor could show syntax highlighting, provide easy compilation, as well as display basic intellisense. If an editor strays too far away from what you want to do, there are other alternatives.

I would look at the Dream.Build.Play past winners (here: https://www.dreambui...in/winners.aspx) and use those to gather ideas if you plan to go the route Way2lazy2care stated. Each of them were created in a relatively short time span and this would provide a challenge to match using XNA. As an added challenge, try to do the same project in the same amount of time as the original was done. Posted Image

#4937798 Hexwar Project. Contribute. Criticise

Posted by Aiive on 06 May 2012 - 09:56 AM

Not sure if this is helpful for any one else or not but I did manage to get the project working perfectly on my Windows 7 64 bit. I will post what I did below, and I assuming you double clicked on his project (and possibly needed to upgrade it as well if you are using vs2010) so all of the settings which the project had are included.
  • Open project, (Upgrade if needed). At the top it will say Any CPU. Open the drop down box and select the configuration manager.
  • Once there, click the 'Active Solution Platform' drop down box and select new.
  • The first window "Type or select the new platform" drop that down to x86. On the window below, "Copy From". select <Empty>.
  • Build the project. DO NOT DEBUG YET AS YOU WILL GET AN ERROR!!
  • Open the bin folder, you should now see Release, Debug, and x86. Open Debug and copy the folder Images.
  • Next, open the x86 folder and paste the folder inside. You may now debug and get the correct information from the server.

I attached a screen shot to show it working on my computer. I do not have SQL Server installed, although, you need to make sure you have .net 2.0 which I believe comes installed anyway with Visual Studio. The Direct3D DLL's did not work in anything but a .net 2.0 platform target on my computer.

As a test I played the map AI Test -- Richie. It was a little confusing at first to understand what was going on, but it only took a minute to learn how to play. Pretty cool concept. If you need any questions about what I did, computer information, or need better directions feel free to PM me or reply below, I will be glad to answer. Hope those interested can get it working! Posted Image

- iheartyyouxo

Attached Thumbnails

  • HexWar.jpg