Jump to content

  • Log In with Google      Sign In   
  • Create Account


Wilhelm van Huyssteen

Member Since 22 Mar 2008
Offline Last Active Yesterday, 05:13 AM

#5164007 OpenGL to DirectX. Constant buffers.

Posted by Wilhelm van Huyssteen on 01 July 2014 - 02:51 AM

Yes i stil use some pretty old opengl I supose I will first refactor my existing code into using uniform buffer objects before continueing with the directX implementation.

 

Thnx!




#5032229 Why old games are so compact? (NES, SNES..)

Posted by Wilhelm van Huyssteen on 14 February 2013 - 06:41 AM

Programming attitudes like this makes me cringe.

 

Same here. As a business programmer I see some truly horrible things nowadays. For example. When I was tracking a memory leak/slowdown through a piece of spaghetti mess I found a Boolean array list that always gets added to but never removed from. It wouldn't take long for its size to be in the millions. The only thing is... It wasn't a Boolean arraylist it was a String arraylist where every element was a String that stored either "True" or "False" written out... But hey since we have lots of CPU power who cares if we loop through 12 million Strings comparing them to "True" every time the user clicks a button and since we have lots of ram who cares if the simple inventory management application needs 4 GB of RAM if you want to use it for 30 minutes before the memory leak kills it.

 

And thats just an one example...

 

Some new technologies (Im looking at you Oracle) require state of the art servers to server a couple hundred users. 10 years ago similar solutions existed that could manage more users with much much less resources.




#5000554 Idea to optimize rendering of far of terrain.

Posted by Wilhelm van Huyssteen on 13 November 2012 - 07:07 AM

Hi.

For my current project http://www.gamedev.net/blog/blog-807/cat-252-strife I was thinking of more ways to ceaply render massive amounts of far of terrain (7 km in all directions from the player). Currently I use a LOD aproach where the the resolution of the heightmap reduces with range and at the same time I draw bigger blocks of terrain in one draw call. (for example the terrain the player stands on would be a 128x128 vertice mesh that stretches over 128x128 meters ingame but a a 1024x1024 meter block thats 5 km away would be rendered using a 16x16 vertice mesh. So together with some frustum culling my solution gives acceptable results.

But now ive thought of another. That might allow me to go easier on the LOD (if I LOD too severly mountains in the distance might become a little spiky, not too bad but not ideal either).

What I i was thinking was to build up a skybox over a period of X frames. (lets say 120 for arguments sake). this skybox would contain all far of terrain and as soon as its done it will display it and imediatly start to build a new one.

Il elaborate. I want to render the far off terrain to a skybox texture over a perion of 120 frames (in other words it will render a little bit every frame) and when its done it will set that texture as the current skybox and start again in the background on a new one. seeing as the player in the game wont ever be moving very fast the changes in the distant terrain should not be noticeble over a 2 second timeframe. This method will thus allow you to do fairly detailed terrain rendering for far of terrain without it having a significant performance cost. Or so i think :D. Of course you cant do frustum culling on the far of terrain if you do this since the player can easly turn 180 degrees in 2 seconds but i even so i think it will work.

with far of terrain in my case i mean terrain futher away than 1.5 km. so in the case of my current project 1.5km - 7 km.

Is this technique used in games allready? is it feasable? what am i missing here.

Thnx in Advance!


#4983931 What programmers want from a designer

Posted by Wilhelm van Huyssteen on 26 September 2012 - 03:46 AM

Let me rage a little.

A couple of months ago I found an add for a game called Dragon Wars here on gamedev. It was a multiplayer turn based game that was claimed to be "85%" complete. But what hooked me was an impressive array of completed art assets so I decided to follow it up with the author. After chatting with him a while on skype I was convinced that this project would be a good investment of my free time. The author presented himself well and his project well and overall it seemed good.

After we disscussed terms (not much realy, just potentional profit sharing etc) and I agreed he sent me a rar archive and asked me if I could "get it online again quickly". "Huh?" was my first thought but I siffed though the archive wich turned out to be a messy mix of outdated design docs, random notes, assets and java source code that wasnt even in the correct package structure... I then asked him the login details of the server thats supposed to host the game but he said he didnt have the "websites password onhand". I asked him If the games website was self hosted on the same server thats supposed to host the game server. He could not answer me but after I asked a couple more questions I eventualy decucted that the websites hosted on a cheap shared hosting solution... At this point i wasnt impressed anymore but I thought I decided to pursue it just a little longer to see how it turns out. So i took the time to sort out the source code. The first thing I noticed is that it relies on a mysql database but I could not find any sql scripts in the archive to set up the database. So I asked him but he once again had no idea what I was talking about. So i went and i manualy created the neccesary tables by reading the source. Not difficult just tedious and annoying... I decided that I use my own dedicated server to host the game in the meantime. Its pretty much idling most of the time anyway. It took me almoust a day to sort everytihg out, set up the databsase, compile, upload and run the server, compile upload and run the client etc (btw I had to upload the client to my own website in the meantime becuase he was incappable of uploading it to his). Anyway moments before I got everything working he skypes me and tells me that "Its taking long, All you needed to do was run the game". At this point I should have just left. I obviously over estimated this person a bit but since I allready spent the whole day setting this up Il at least want to see it run.

Anyway... It turned out to be a horribly incomplete and bug infested... It would crash for different reason each time and the game mechanics were all glitchy "85%" my ass. I asked him what happened to the previous programmer but I also could not get a straight answer. This game was a clone of an old popular game called cyberwars. This guys "design document" was 95% cyberwars with a couple of tweaks. I knew I could not work with this person but I also didnt need to. He somehow managed to trick an artist or 2 into creating a complete art set. And he even got a sound engineer to make sounds... So I thought "Hey, Il just fix this game up and host it on my website with ads on the sides". Its not like the author is capable of hosting it anyway and other than somehow ripping of good artists he didnt actualy contribute anything, Hell il even give him credit as the "desighner" and give him a portion of add revenue (and of course give credit to the old artists who abandoned the project 2 years ago with the old programmer)". I ended up working more or less 90 hours on it over a period of 2 and a half months. I completely stabilzed the game, completed incomplete feutures and created its new gui from scratch (you can see the screenshots on my website, before that the gui consisted of standard java swing componants) Unfortenetley... He thought his "contribution" was worth a bit more. I heard things like "Ive been planning this game my whole life" and "I am a good team leader". Now i realy didnt care much for potentional ad revenue Origanely i just wanted to work on an interesting project... But when he said the he wanted 90% of the cut for his "contributions" I was more that a little vexed. Then he insisted that I hand the source code over to him and give him full ownership "so I cant steal his "work"" """""" """"" """". You can say "but you should have agreed on this from the start" however the origanell agreement was moot anyway since in the origanel agreement I just had to "do a little bit of programming on a 85% complete game".

Ive stopped working on the project and it feels like a massive waiste. The game is still running on my site and to be honest I would love to continue working on it more but this person makes it pretty hard... If I can get ahold of the origanell artists and programmer I could probely just ask them for permission to use their work and cut him out completely but thats not realy in my nature.

Lesson? Hell i realy dont know... make youre own deduction :D


#4974039 Updated List of free 3D Models?

Posted by Wilhelm van Huyssteen on 28 August 2012 - 03:30 AM

I'm a programmer that also mostly use free models. However finding rigged and animated models that suit your needs is pretty impossible. And even if you do find those perfect models (which you wont) you'l have to go through the hell of converting them to the format you use while keeping rigging and animation intact.

My suggestion is. Find proper free models but don't look for rigging and animation. Then learn to do rigging and animation in blender and write you own blender export script and create yourself a set of standards that you use for all models and that works with your export script. In total you'l be creating a solid content flow and since you'l be rigging and animating models yourself you'l have a much easier time finding appropriate free models.


#4841591 Is'nt scripting maybe a little overated?

Posted by Wilhelm van Huyssteen on 28 July 2011 - 08:09 AM

I might understand why bigger studios would want to do all game logic in scripts but what justification is there for indie programmers? I feel that is just adds unnecessary overhead. Im going to list the reasons i usualy see here on the forum and provide my own reason why i think its invalid.

1: If you dont use scripting you have to recompile your whole project if you make a change to you code.
I dont know what IDE these people use but when i make a changes to my code only the classes that has changes in them gets recompiled. After i click compile i get a new JAR (i use java) thats ready to be uploaded to my website 1 second later.

2: To make a change to a game entity you just edit its script. To add a new entity you just create a new script.
To make a change to a game entity i just edit a class. To add a new entity i just create a new class. Whats the difference?

3: People that are not skilled in programming can create game logic.
Most indie developers program alone. And if you team up with someone wouldnt you rather team up with someone that knows how to program? Even if i used scripts in my games I would stil rather have an experienced programmer create those scripts since theyl be able to produce better scripts than a non programmer. Whether you hardcode stuff or script it the logic stays the same. The santyx might be less verbose but thats it. The only real reason IMO to use scripting for your indie project i see here is if you create a game that has a heavy focus on user content.

4: Your moddelers can do lots of cool stuff!
I dont want my moddelers to do lots of cool stuff. I want them to make models. If theres something special about the model that needs to be programmed they can explain it to me and I will implement it. I understand that other indie developers might want their moddelers to write scripts with their models to do something out of the ordinary (cant think of an example). But to me it seems unnecesary.

Id love to hear your opinion on this and why you think scripting is good/bad for indie developers. I will admit that I dont use scripting myself so my opinion on it might be horribly skewed in wich case please correct me.




#4832805 Approaching Engine Design

Posted by Wilhelm van Huyssteen on 08 July 2011 - 09:21 AM

Create 2 projects.

1 for your engine and one for your first extremely simple 3D game.

create the game putting things that you think might be reusable into your engine project and everything else in your game. Dont worry about reusability AT ALL. when you write things into your engine application dont even think about trying to generilise it so it may work for more things than your first game. Just write it. Spot bad design in existing code but only improve it once your game needs it to be improved.

Do not add stuff to your engine that you think will be neccesary in the future. If you do you will have to rewrite it again anyway once you actualy need it since you didint fully understand the problem at that time due to lack of experience. This is realy important and alot of people doesnt seem to realise this so i cant stress it enough. Only add functionality to your engine when the game youre currently writing demands it!

When youre done with your first game. Start your second game. Make the neccesary changes to your engine as your second game demands it and at the same time keep testing your engine agasint your first game. Of course youl have to make changes to your first game as wel to use the engine's now more generelized functionality.

Repeat this process indefenetley. Always make sure youre older games still work. Modify them as needed.

Slowly but surely with alot of blood sweat and tears youre engine will take shape and get to the point where it can support the developement of a feature rich game with none or very little modification.

The first version of your engine will likely contain little more than a scenegraph
much later you might add some kind of simple entity system
muchmuchmuchmuch later it might get a shader manager and many more
etcetcetc

nice 3D graphical features-- such as procedural animation/abstract rendering/high level of detail

Forget about all of this completely and go make some games. You'l know when to implement those features.

This will vary based on the amount of prior programming experience you have and the amount of time available to you but dont expect to have a "decent game engine" in under 3 years (and thats being very optimistic). And you wont be able to call it "decent" untill you have used it to create a "decent" game without alot of modifications/hacks. Also you better be sure you enjoy solving complex programming problems. You cant have "I would love to have a decent engine" as your only driving force. If you dont get very exited after solving a non-visual problem followed by a burning desire to solve the next problem it simply wont work. You have to seriosly enjoy sitting to 4 am on a weeksday coding on your game/engine even though you know you need to be at work at 8 am. You need to love it so much that you need to force yourself to stop coding at night not force yourself to start.

For me improving my engine is like leveling/farming on a WoW character (It gives me the same feeling). I always tell myself im just gonna finish one more small task and next thing i notice is the sun comming up and i have to be at work in 20 minutes. I seriosly dont see how anyone can by himself succesfuly create a game engine from scratch without this type of mindset. The scope and inner workings of an good game engine is insane.




#4829948 Help Wanted topic approval

Posted by Wilhelm van Huyssteen on 01 July 2011 - 04:51 AM

Hi.

I would like to discuss the criterion that gets used to approve help wanted topics. I believe that making some adjustments can greatly improve the professional image of gdnet and help members find feasible game projects much easier.

IMHO there is really just too much clutter to siff through if you’re honestly looking for a project and even worse sometimes great talent (especially great artists) get wasted on projects never had a chance to begin with.

I am not saying the forum is not working. It definitely is. 2 weeks ago I successfully recruited an artist into my team that I am really happy with and I have used the forum successfully in the past as well. I just think it can be much better.

My suggestion is a simple extra requirement for a new help wanted thread. Show some progress on the game you want help with. (Note I am specifically referring to Help Wanted posts not Help Offered posts)

If you’re a programmer. The requirement should be that you include a link to (or at the very least have screenshots of) a working prototype of your game. This might seem like a harsh requirement but if someone cant produce a prototype for his game using stickmen drawn in paint or cube models typed out in notepad or created in blender then he wont be able to create the actual game and his thread just adds to the clutter and worse case he waste’s the time of a good artist. The argument "I don’t even have enough artistic ability to create programmers art" is invalid. He can draw stickmen and he can type out the 3D coords for cubes and rectangles in notepad or alternatively spend the time to learn the basics of blender and create the cubes and rectangles in blender instead. That’s a purely technical process. 0 artistic ability requirement just a little bit of effort. If he feels spending 3 days to learn blender, draw stickmen and model cubemen is not for him since he’s a programmer and not an artist then I don’t think he will get very far.

If you’re an artist. The requirement should be that you include a good amount of functional assets for you’re game. Not just concept art.

If you’re a composer you should understand that if you cant program or create visual assets for you’re indie game its going to be very hard to finish it. Music and sound is usually only needed later in an indie project. Note I say "needed" Its definitely an advantage to have music and sound from the start but it can be safely omitted in most cases. Of course a composer should get his fair chance to try and create a game if he can include a good amount of functional assets in his thread. Fortunately not many composers try their hand at starting a team most probably because they realise the implications or there just isn’t that many composers on gdnet as opposed to programmers and artists.

If you have a great idea for a game and you want to assume the role of team leader or manager. IMHO I don’t think posts like these should get approved at all. But I suppose to be fair it can be allowed if a link to a detailed GDD is provided.

Maybe I am missing the bigger picture so if someone can give me a counter argument it would be nice. I’m sure I am not the first person to think that help wanted should be stricter so I am guessing there might be more to it.


#4825924 [java] ProGuard Help

Posted by Wilhelm van Huyssteen on 21 June 2011 - 04:59 AM

I use Pro Guard to obfuscate my applications. I have some fairly big applications that i succesfuly obfuscated but i dont think i know enough about it to demand payment. For one i have not yet tried to include progaurd in my build process. i simply use the gui to obfuscate the final Jar(s) before distributing. If you have a specific questions ask away.


#4825359 Automaticaly sending crash reports.

Posted by Wilhelm van Huyssteen on 20 June 2011 - 01:47 AM

Hi.

Ive recently created a website on wich I put the games i make. Nothing very impressive yet but its growing. My biggest dilemma is compatibility on different systems. My games simply dont run on alot of pc's for a multitude of reasons thats very diffucult to track down.

To make my life alot easier i wrote a server application that can receive crash reports from my games and ive modified my engine's error handling to automaticaly make a connection to my server and send it the crash report when it crashes. This report contains no information about the user or the system. It simply sends the stack trace, error encountered and the name of the game.

Question 1: Is it safe for me to do this without giving the user a warning?
Question 2: If i later decide to include system specs in my crash report. Is it still safe to do wihout warning the user?

Thnx in Advance!


PARTNERS