<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-30803183</id><updated>2012-01-26T12:19:43.009+01:00</updated><category term='the end'/><category term='final project'/><category term='model'/><category term='carreer'/><category term='java developer'/><category term='driver license'/><category term='bones'/><category term='girlfriend'/><category term='XNA'/><category term='antwars'/><title type='text'>AntWars</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-30803183.post-4415827722260001361</id><published>2007-08-01T13:39:00.000+02:00</published><updated>2007-08-05T19:47:29.903+02:00</updated><title type='text'>Art and IT</title><content type='html'>"Dare to be different" ... thA motto of artists. In fact it's more something like: "Dare to be different by forming a group". Artists have a lot in common with hippies and scouts. The group aspect is more important than they may want to admit. They want to profile theirself first, by thinking different. But next they search companions to join their club, 'cause 1 + 1 = 3. (Mathematics isn't their biggest talent.)&lt;br /&gt;&lt;br /&gt;I like to call them "Alternatives". In my country the word "alternative" stands for a lot of things, including: folk music or "world music", Djembe,  vegetarians, salsa dancing, hacking/cracking, smoking Cannabis, wearing filthy clothes, stinginess ... It also excludes a couple of things: finding a job, thinking scientific, beautiful cars, shaving, ... Yes, it's cool to be uggly and to avoid luxery.&lt;br /&gt;&lt;br /&gt;In fact let's face it. It's certainly an EASY way of living, once you get used to the idea. "Alternativists" avoid choices and pressure. On top of that they smoke all what can inflame... again releaving them of existing pressure.&lt;br /&gt;&lt;br /&gt;More and more people become "alternativists" as if we are reaching a second "6Os". History repeats itself, in a kind of wave. And as we can see now, the current cycle takes about 55 years (from 1960 till 2015).&lt;br /&gt;&lt;br /&gt;I grew up in a (I wouldn't say conservative, but) rigourous environment. My mother is a mathematics teachers, my father an industrial engineer. Good education has always been the single most important thing in my life, from my parents point of view. Although there are some exceptions, in general a scientist doesn't make a good "alternativist". So, I never really understand WHY somebody would want to be alternative. But I do see some basic "needs" in it. The need of recognition and the need of being apart of something, the avoidance of pressure.&lt;br /&gt;&lt;br /&gt;Some fields of IT are really sciences, imho. Such as the electronics involved, certain algorithms, the design and just everything which has to do with programming. I grew up in this world, and now suddenly I am confronted with the world of modeling.&lt;br /&gt;&lt;br /&gt;Modelers are artists. Most of them claim to be IT'ers though. It's not that they deny their alternativism, but that they claim that IT is an alternative thing. It's hard to discuss that, but personally I think IT has more to do with electronics and algorithms than it has to do with creating art. Creating art is more like operatint the product of IT: an application.&lt;br /&gt;&lt;br /&gt;But proving alternativsm is easy. The huge amount of different modeling tools kind of illustrates the alternative aspect: 3D Studio Max, SoftImage, Blender, Maya ... And besides that, the diversity of operating systems couldn't be bigger in any possible bussiness that in the computer art business: Macintosh, Linux, Windows, FreeBSD ... "Dare to be different".&lt;br /&gt;&lt;br /&gt;By this "being different" they make it a pain for developers and other outsiders. Although, each community can give a 1000 reasons not to choose for a certain platform, all those reasons are usually rejected by the targeted community again. It's a world of habits and unawareness of each other. Everybody does his own thing, and doesn't really care THAT much about the other platforms.&lt;br /&gt;&lt;br /&gt;The fact that they don't really care about it is a 2nd characteristic for "alternativists". It's more like: "hey, calm down, relax, no pressure, dude !". Or worse: "sounds like you're living for your job." Oh well, in a way they have a point. But it could be regarded as irresponsibility too.&lt;br /&gt;&lt;br /&gt;I'm used to work with Microsoft products, Sun products. Big responsible companies which deliver QUALITY software. Software which respects standards, improves, ... That's the real IT world, which is not alternative at all: my world. And suddenly I'm dropped in this irresponsible world of laziness. If you are reading this you are probably thinking: "what is this guy's problem?" &lt;br /&gt;&lt;br /&gt;I made a model in Blender, and I would like to get a .FBX or .X file from it which respects the standard. But it's simply impossible. I should have known, cause Blender is open-source software. ... Jup, I got tricked in using open-source software and now I'm screwed. "Open-source" is synonym of software without vision, without strategy and without responsibility. I simply want to export a file, before I started using Blender I read the documentation carefully and it stated "supports .X, supports .FBX" ... but it doesn't! It sucks ! S-U-C-K-S. It just spits something out that can be opened in a .FBX supporting program, but it throws away half of your work. That's what bothers me. I wasted about a week on this SHIT. The only progress I made is awareness of the fact that I shouldn't use open-source software.&lt;br /&gt;&lt;br /&gt;Solution: ... I made the step to 3DStudio Max and now all problems are solved. In other words I took the step away from open-source and was rewarded for it. Open-source is a nice concept but ... it's an alternative thing and not "compatible" with real IT.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-4415827722260001361?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/4415827722260001361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=4415827722260001361' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/4415827722260001361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/4415827722260001361'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2007/08/art-is-biatch.html' title='Art and IT'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-1603258794410611595</id><published>2007-07-27T04:35:00.000+02:00</published><updated>2007-07-27T05:12:12.125+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XNA'/><category scheme='http://www.blogger.com/atom/ns#' term='driver license'/><category scheme='http://www.blogger.com/atom/ns#' term='model'/><category scheme='http://www.blogger.com/atom/ns#' term='bones'/><title type='text'>XNA makes the scene, Antwars lives!</title><content type='html'>Hi again, &lt;br /&gt;&lt;br /&gt;&lt;img style="float:right; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://upload.wikimedia.org/wikipedia/en/d/d3/Xnalogo.PNG" border="0" alt="" /&gt;In my last post I kind of admitted that antwars was dead. And I was kind of looking forward to a relaxing vacation, just reading some articles and absolutely no programming anymore. Then suddenly I came across something very interesting... &lt;br /&gt;&lt;br /&gt;"XNA", something I never heard of before. This is what I found at wikipedia:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Microsoft XNA ("XNA's Not Acronymed") is a set of tools, complete with a managed runtime environment, provided by Microsoft that facilitates computer game design, development and management. XNA does this by freeing game designers from writing "repetitive boilerplate code," and brings all aspects of game production into a single system. The XNA toolset was announced March 24, 2004, at the Game Developers Conference in San Jose, California; and a first Community Technology Preview of XNA Build was released March 14, 2006. The final version was released on December 11, 2006.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;"Computer Game Design" it says... It's like the base of a game engine. It's like a layer on top of DirectX that hides all nasty technical details. And thanks to Microsoft the documentation is excellent and the community around it is growing fast. (BTW: it also support XBOX360) It has plenty of samples, and tutorials, and in just a couple of minutes you can have really encouraging results.&lt;br /&gt;&lt;br /&gt; ... and immediately all my energy came back. :) So here we are again: a year later, a year wiser. And armed with new technology, a target, a motivation, a goal.&lt;br /&gt;&lt;br /&gt;What went wrong last time??? That's always a good start for a new project, to avoid similar failures. Motivation was an issue. I was waiting and waiting and waiting for models that somebody promised me, but they never showed up. In mean time I put my attention on all kind of things such as AI, a Client-Server system, etc.&lt;br /&gt;&lt;br /&gt;So what will I do different from last time... I will put up a better short term goal. I want a running application as soon as possible. What is a running application: an application with a controllable 3D ant! That's my first milestone for this project, and it will be a hard challenge in itself.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_GlDzQ_6h6-s/Rqle6UuG7-I/AAAAAAAAAAM/BRa5liu1F1o/s1600-h/ant.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://bp2.blogger.com/_GlDzQ_6h6-s/Rqle6UuG7-I/AAAAAAAAAAM/BRa5liu1F1o/s200/ant.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5091705209806581730" /&gt;&lt;/a&gt;&lt;br /&gt;What have I accomplished so far? I have created an ant model in Blender. I did a couple of tutorials on Blender again to get the feeling first, and read some new articles about bones. The model I made already has bones in it.&lt;br /&gt;&lt;br /&gt;However, not everything goes without difficulties. Although XNA supports bones, something goes wrong with either the exporting process of Blender or the importing process of XNA. I am currently still trying to figure out the reason of that.&lt;br /&gt;&lt;br /&gt;In mean time, I'm taking my first driver license test (theory) tomorrow. So, wish me good luck. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-1603258794410611595?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/1603258794410611595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=1603258794410611595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/1603258794410611595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/1603258794410611595'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2007/07/xna-makes-scene-antwars-lives.html' title='XNA makes the scene, Antwars lives!'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_GlDzQ_6h6-s/Rqle6UuG7-I/AAAAAAAAAAM/BRa5liu1F1o/s72-c/ant.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-7716721398061501369</id><published>2007-06-20T15:56:00.000+02:00</published><updated>2007-06-20T17:08:47.772+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='final project'/><category scheme='http://www.blogger.com/atom/ns#' term='the end'/><category scheme='http://www.blogger.com/atom/ns#' term='java developer'/><category scheme='http://www.blogger.com/atom/ns#' term='antwars'/><category scheme='http://www.blogger.com/atom/ns#' term='girlfriend'/><category scheme='http://www.blogger.com/atom/ns#' term='carreer'/><title type='text'>What happened??</title><content type='html'>Hi again,&lt;br /&gt;&lt;br /&gt;it's been a very long time. (almost a year) Regulary I get e-mails and messages of people asking me how the project is going. Today I will give an answer to that, but before that I will tell you what I have been doing during the last year.&lt;br /&gt;&lt;br /&gt;First off all, I ditched my girlfriend. I wasn't sure at first if I did the right thing, but to be honest it only made me happier and happier. And I can tell you I feel very satisfied at the moment with that choice. Ditching my girlfriend gave me more free time and less pressure. (Also it was unavoidable, because she is a slut, hehe ;).)&lt;br /&gt;&lt;br /&gt;Shortly after I picked up my final project. Yes, it's my last year at the university college of Kortrijk in Belgium... and it was about time too. &lt;br /&gt;&lt;br /&gt;As I may have mentioned earlier on this blogspot I've spend most of my life studying computer sciences. I was 15 when I made the choice to study "Computer Science Control" ("Informaticabeheer" in Dutch). I finished my secondary school 2 years later. Only a very few of my classmates decided to continue studying, most of the others looked out for a job. I was the only one of my class that actually sticked with computer science, all others got tired of it and went to become teachers or so. In the years after I spend 3 years studying to reach my Bachelor degree in applied computer science ("Graduaat in de toegepaste informatica" in Dutch). Again most of my friends decided they had enough and got a job. I decided to do so too at first but changed my mind before I was graduated. I felt I could achieve more. I had an undying love for the art of object oriented programming, design architecture and patterns. I just was too afraid to end up being bossed around by somebody who didn't, but simply achieved a higher degree. On top of that there were some topics and questions in my head that needed answers: "artificial intelligence?", "neural networks?", "assembler language?", "voice recognition?", "microcontrollers?", ... and what if I wanted to become a project manager, didn't I need a management course? Plenty of topics, which were all answered in the next 2 years. First I achieved my bachelor in the field of electronics, which was more like a bridge in order to reach a master degree the year after. In that's that, at the end of next week I will probably graduate.&lt;br /&gt;&lt;br /&gt;So after this study-intermezzo let's continue to the real topic. What have I been doing, during the last year? A final work for Traficon, a company who designs, manages and implements camera based video detection systems for traffic situations. My job was developing a tool which was part of a bigger plan for analyzing the quality of the system. For me it was a good time to actually practice some architecture and design patterns again, and for getting used to DirectShow. This gave me a lot of insights in how the DirectShow filters work.&lt;br /&gt;&lt;br /&gt;Besides the final work I've also worked on a motion detection algorithm for the courses of multimedia networking. The idea was to make a camera follow the movement of objects. We tried several algorithms and it really opened my eyes in how a simple algorithm can really achieve a lot! The project on face detection which I did the year before was a lot more complicated and slow. But the final algorithm we came up this year, was really fast and pretty accurate.&lt;br /&gt;&lt;br /&gt;We also had a second more theoretic project in which we had to design the architecture of a video archive, based on a real life project which was execute to make the archive of belgian television. This was an interesting project because we worked with 6 people on it, each with a different background and with different knowledge. Of course I concentrated on the design, object models and some part of the architecture. The framework contained about 150 classes!!!, a huge system based on international standard called PMeta and is responsible for storing metadata.&lt;br /&gt;&lt;br /&gt;Then there was a project in the field of E-business, in which I had to give a presentation about the important things to consider when big companies link their information systems. And I had to do an audit in the local IT-shop which appeared to have 15 employees and formed all kind of alliances with other shops and certain companies, even their competitors. That was pretty interesting as well. And we had to solve several cases about IT-decisions.&lt;br /&gt;&lt;br /&gt;As if that's not enough, in mean time I applied several solicitations and found myself a nice job as a Java Developer in a company where 35 engineers are working.&lt;br /&gt;&lt;br /&gt;During the last months somebody talked to me about developing a system for ... it's a secret ;) sorry, can't tell you. But if it's executed in a good way, it will earn me some good money. I can tell you it's in the field of video detection again, and it's quiet challenging :).&lt;br /&gt;&lt;br /&gt;So, how is the AntWars project? ... dead? ... almost :) During the least year I learned a lot once again, and some things in my current model I would simply do again if I picked the project up. So, I'm about to "close the books here". I'm sorry for that. Well, what can I say, most of the IT-projects fail. Has this been a failure? That depends what the goal was. I learned OpenGl while working on it, and I'm thankful for that. &lt;br /&gt;&lt;br /&gt;I believe specialization as the way to go in life. If everybody specializes in something, that way there is less "human-redundancy" and more efficiency. Of course our community needs some redundancy as well, as a kind of back-up and simply because sometimes we need concurrency and speed (as in mass production). :) But certainly it's better to have 10 people with different knowledge than 10 people with exactly the same knowledge. I'm telling you this, cause it sounds as if it contradicts what I said earlier... I told you earlier that I studied in all possible fields of IT and now I'm telling that I actually prefer specialization in 1 field. The thing is, I often feel attracted to extreme and prestigious concepts (such as assembler, detection algorithms, OpenGl, DirectShow, microcontrollers, design patterns ...). These are the kind of concepts a general developer knows nothing about, that's a kind of specialization in itself. In mean time I feel like I'm a designer really. Imho, architecture is really crucial in OOP. That's also why I choose a job as Java Developer. Firstly, I only know the basics of Java. I'm a C# freak, I'm sure Java can offer me a lot. Secondly, I hope to get a stable job. Stability in my life can give me time to focus on side projects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-7716721398061501369?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/7716721398061501369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=7716721398061501369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/7716721398061501369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/7716721398061501369'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2007/06/what-happened.html' title='What happened??'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-115480624886373518</id><published>2006-08-05T20:19:00.000+02:00</published><updated>2006-08-05T21:40:20.146+02:00</updated><title type='text'>Communication to external scripts &amp; Databases</title><content type='html'>Hi again,&lt;br /&gt;You might wonder what I've been doing during the last weeks. First off all I was really tired of this begging for models to continue...&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Holiday plans, visiting Turkey&lt;/strong&gt;&lt;br /&gt;It's been a long time. I had to set my mind on some other things for a while. The following 2 weeks you will not hear too much of me neither. My girlfriend found her first job and to celebrate this we decided to go on a trip to Turkey next week. By the time I'll back I will be doing a holidayjob of 2 weeks. In September my 3 last weeks of my vacation will continue.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;I've been playing go again&lt;/strong&gt;&lt;br /&gt;For a couple of weeks I have been playing Go (an ancient Asian boardgame also known as Igo, Wei'qi or Baduk). Go is often compared with chess. The main differences are that Go is a deeper game, the rules are more simple though and the board size is 19x19 instead of the small 8x8. Go also is the most popular boardgame in the world. Also it has been played for over 4000 years and is probably the oldest boardgame which is still popular today. Actually in Japan, China and Korea playing go is even a profession and has several cups and international competitions and even TV-channels broadcasting games, comments and lessons all day. Also for programmers this game is very interesting because it is said that unlike other games like chess, it is impossible to write software capable of defeating professional players or even come close to the level of an experienced amateur. Playing go is my main way of spending my free time besides spending time with my girlfriend and programming.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;I've been planning my holiday job&lt;/strong&gt;&lt;br /&gt;My holiday job will be about databases by the way. I was contacted to reverse engineer a database files. I have been doing some research in these files and learned a lot about how the data in databases is actually stored behind the screens.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;New ideas and plans for the game in the field of external scripts&lt;/strong&gt;&lt;br /&gt;It came to me that it is very important to make the artificial intelligence open to the public. I am a creative soul myself that likes flexibility in a game. I like to make custom skins, I like to make custom maps, hey why not write custom AI?!&lt;br /&gt;&lt;br /&gt;To support custom AI I would probably need to define a scripting language, right? No! Defining a scripting language would bring so many restrictions that all the fun would be out of it. I would like to give real programmers a chance to use whatever language they are familiar with! C#, C++, VB.NET, VB6, Delphi, C, ... you name it. This may sound incredibly hard but actually it is very easy both for me and the third party developers.&lt;br /&gt;&lt;br /&gt;Maybe you (the reader) are familiar with "piping"? That's a way to let 2 console applications communicate to each other. The output of the first application will be used as the input of the seconds and the other way round. To enable piping the programs have to be started like this:&lt;br /&gt;&lt;blockquote&gt;program1.exe | program2.exe&lt;/blockquote&gt;It would be nice to apply this in my game so that all intelligence could be written in an external application. That would make it easy for everybody to write their own AI. However, the above syntax only allows communication with 1 other application. And also the way of launching the application is a bit messy.&lt;br /&gt;&lt;br /&gt;That's where the beauty of the .NET environment comes to the rescue! &lt;a href="http://rdoutput.aspx"&gt;(more...)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Process myProcess = new Process();&lt;br /&gt;myProcess.StartInfo.FileName = "Sort.exe";&lt;br /&gt;myProcess.StartInfo.UseShellExecute = false;&lt;br /&gt;myProcess.StartInfo.RedirectStandardInput = true;&lt;br /&gt;myProcess.StartInfo.RedirectStandardOutput = true;&lt;br /&gt;myProcess.Start();&lt;br /&gt;StreamWriter myStreamWriter = myProcess.StandardInput;&lt;br /&gt;StreamReader myStreamReader = myProcess.StandardOutput;&lt;br /&gt;myProcess.Close(); //when no longer needed&lt;/p&gt;&lt;/blockquote&gt;This is really a very flexible way of working. All I need more is a little protocol of functions for this in and output. If this protocol is well written it can be reused for the client-server communication. Now that's flexible. And for me as the programmer it is also nice because it allows me to focus on one thing at a part. Simplifying is and has always been the key to success!&lt;br /&gt;&lt;br /&gt;That brings us to the database discussion. Do we need a database? If the server is going to be used for "mass multiplayer online"-games than there a database is certainly needed. But if we talk about a local area network game then we do not need a database at all. It would only slow things down to use a database in that case. In my game I will not need a database. But I can imagine that other games my require it. I did some research for that and came to the conclusion that MS SQL express would be a good choice because it integrates very well with the .NET framework, is easy to use, can be implemented in the installer. On top of that it is totally free.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What's next&lt;/strong&gt;&lt;br /&gt;I will put together a protocol for the communication. After that I will try to implement the engine. If that works as expected the 3D Engine will be made public at the end of my holiday. I hope you are looking forward to this as much as I am.&lt;br /&gt;&lt;br /&gt;Greetings&lt;br /&gt;Bram Vandenbon&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-115480624886373518?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/115480624886373518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=115480624886373518' title='82 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115480624886373518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115480624886373518'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2006/08/communication-to-external-scripts.html' title='Communication to external scripts &amp; Databases'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>82</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-115308146549649981</id><published>2006-07-16T20:28:00.000+02:00</published><updated>2006-07-16T22:47:31.870+02:00</updated><title type='text'>Completing and improving</title><content type='html'>&lt;div align="justify"&gt;&lt;strong&gt;Camera class finished!&lt;br /&gt;&lt;/strong&gt;Finally the camera functionality works. A camera has a position, aiming point and a vector to define the top of the camera. For convenience I added a couple of handy functions like A Rotate function. For those who might be interested I wrote a little bit of documentation(left) on how I wrote the Rotate function. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;The functionality has been heavily tested and seems to work perfect even when assigning multiple camera's and switching between them.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;strong&gt;New tricks in Visual Studio 2005&lt;br /&gt;&lt;/strong&gt;In .NET 1.1 and in Java, one often needs to specify lists with a variable number of elements such as the well known "ArrayList". With a normal array changing the number of elements is a bit of a performance problem. On the other hand the use of an ArrayList brings a new problem, namely that an ArrayList does not have a specified type, an arraylist can contain any type of elements. This is annoying because sometimes you only want it to accept one kind of type. In Visual Studio 2005 there is a solution for this thanks to the "Generic Collections". &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Writing installers has never been easier than it is now. You can built a great installer from inside Visual Studio itself. You can even make it install the .NET framework if it isn't present on the target computer. There's a nice introduction available &lt;a href="http://www.devarticles.com/c/a/C-Sharp/Creating-a-.NET-Windows-Installer--Part-1/"&gt;here&lt;/a&gt;. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Ever been annoyed with having to type the syntax of the "for(int i..." over and over and over again? In visual studio you just have to type "for" now and double press the TAB-key, visual studio does the rest. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;And every day I discover all kind of new small tricks like this that make Visual Studio the most user-friendly IDE there is. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;strong&gt;An improved approach for landscapes&lt;br /&gt;&lt;/strong&gt;I've been writing all kind of collision functions for the landscape. I came to the conclusion that if you want to do this perfect it asks a lot of calculations. From the start I have been looking for various ways to simplify this. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Using a regular model for the landscape isn't encouraged, mainly because it is overkill. A regular model has no restrictions for the distribution/balance of the vertexes. It could contain too much at one point and not enough at another place. It is ideal to have a constant density of vertexes.&lt;br /&gt;Earlier I wrote a B3DSLandscape class that inherited from the B3DSObject class but now I have decided that it would be wise not longer to do so and write the B3DSLandscape class from cratch. &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;The B3DSLandscape class now contains a matrix with height-levels and a unit property to define the density. Of course the B3DSLandscape class also contains textures, materials and normals and functions to alter the level. It will also be a lot easier to write a landscape editor later.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-115308146549649981?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/115308146549649981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=115308146549649981' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115308146549649981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115308146549649981'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2006/07/completing-and-improving.html' title='Completing and improving'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-115290348937223583</id><published>2006-07-14T19:56:00.000+02:00</published><updated>2006-07-14T20:58:09.440+02:00</updated><title type='text'>C++ vs C#</title><content type='html'>&lt;div align="justify"&gt;A lot has been said in various forums about how slow C#.NET is compared to C++. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;The reason for this speedproblem is that C#.NET uses a&lt;strong&gt; Just In Time compiler&lt;/strong&gt;. That means the sourcecode was compiled to an intermediate language and at runtime it still needs to be compiled before the processor can use it. Therefore even a simple Hello World program can take 10 seconds to start up. A lot of programmers have experienced this slow startup time of C#.NET and have concluded that C# is no match for the speed of C++.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;However, what most programmers do not know is that C#.NET actually &lt;strong&gt;caches&lt;/strong&gt; all compiled code. The second time a function is executed it is allready compiled and it can run just as fast as C++ code! I am sure that some people do not agree with this last phrase of mine... but check out &lt;a href="http://www.taoframework.com/forum/viewtopic.php?t=56"&gt;this site&lt;/a&gt;. This person did some tests and came to the conclusion that &lt;strong&gt;C#.NET was even faster than C++&lt;/strong&gt; when rendering in OpenGl!&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;That still leaves of course the annoying matter of the startup time. I told you before that the appliction is actually compiled at runtime and cashed for further executions. Luckely there is also a recent solution that makes it possible to &lt;strong&gt;precompile anyway&lt;/strong&gt; just like in C++. This tool is called &lt;a href="http://msdn2.microsoft.com/en-us/library/6t9t5wcf.aspx"&gt;The Native Image Generator&lt;/a&gt;. &lt;/div&gt;&lt;div align="justify"&gt;&lt;blockquote&gt;The Native Image Generator (Ngen.exe) is a tool that improves the performance of&lt;br /&gt;managed applications. Ngen.exe creates native images, which are files containing&lt;br /&gt;compiled processor-specific machine code, and installs them into the native&lt;br /&gt;image cache on the local computer. The runtime can use native images from the&lt;br /&gt;cache instead using the just-in-time (JIT) compiler to compile the original&lt;br /&gt;assembly. &lt;/blockquote&gt;&lt;/div&gt;&lt;div align="justify"&gt;Taking in account all advantages of C# in the field of object oriented programmingn, C#.NET is a good choice even for OpenGL applications.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-115290348937223583?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/115290348937223583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=115290348937223583' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115290348937223583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115290348937223583'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2006/07/c-vs-c.html' title='C++ vs C#'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-115283241896499175</id><published>2006-07-14T00:31:00.000+02:00</published><updated>2006-07-14T01:15:05.616+02:00</updated><title type='text'>Where have I been?</title><content type='html'>&lt;div align="justify"&gt;It's been a while since my last post. In mean time there has been some slow but steady progress in various fields.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Documentation for the B3D Engine.&lt;/strong&gt; &lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/tutorial.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/5734/3310/200/tutorial.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Often when I go through .NET programming forums I see a lot of beginners asking around about DirectX and OpenGL. I am sure that for these programmers it would be much easier to learn to use my engine instead of using OpenGL. I decided to write a couple of short tutorials to demonstrate how easy my framework is and how to use it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Hunting down a texture related problem.&lt;/strong&gt;&lt;br /&gt;Yup, a couple of days ago I made the move to DevIL (the developers image loader). Thanks to DevIL I can now use all possible file format for my texture-images. However when using more than 1 texture there occure problems when switching between them.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Crossplatform problems.&lt;/strong&gt;&lt;br /&gt;All the external libraries of my project are available crossplatform. But I noticed there are some complications in actually moving to other platforms. (1)The .NET framework isn't installed on most windows computers. (2)The Tao Framework doesn't seem to install on a 64bit windows version. (3)Not sure yet how to compile with mono. (4)Mono requires mono runtimes.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/1.jpg02265f55-ff96-4172-ba34-c3a60e9c9d45Large.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/5734/3310/200/1.jpg02265f55-ff96-4172-ba34-c3a60e9c9d45Large.jpg" border="0" /&gt;&lt;/a&gt;3D Modeling&lt;/strong&gt;&lt;br /&gt;I had several e-mails of people willing to join my project. But nobody so far has actually send me models, therefore I am trying to model a bit myself now and then.&lt;br /&gt;&lt;br /&gt;I found some very nice ant models online. Check out the models on the following website. I am a bit jalous of that model. &lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://www.turbosquid.com/FullPreview/Index.cfm/ID/240480"&gt;http://www.turbosquid.com/FullPreview/Index.cfm/ID/240480&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Working on the B3DS Framework&lt;/strong&gt;&lt;br /&gt;I made some improvements in the B3DS Framework. First of all I added some allround functions such as: precise distance between actors, Scaling objects. &lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/lightningproperties.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/5734/3310/200/lightningproperties.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Besides that I also finished the transformation and lightning classes. Using lightning still is pretty much like it used to be in OpenGL but at least now it's object oriented (see screenshot). &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-115283241896499175?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/115283241896499175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=115283241896499175' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115283241896499175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115283241896499175'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2006/07/where-have-i-been.html' title='Where have I been?'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-115247073588073361</id><published>2006-07-09T19:29:00.000+02:00</published><updated>2006-07-09T20:45:35.913+02:00</updated><title type='text'>Real life ant wars</title><content type='html'>Computer games are responsible for a lot of violence these days. I hope I am not responsible for the following:&lt;br /&gt;&lt;img style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://photos1.blogger.com/blogger/5734/3310/320/48196159.Antwars038.jpg" border="0" /&gt;&lt;br /&gt;&lt;p&gt;You can find many more of these pictures at &lt;a href="http://www.pbase.com/455rocket/ant_wars"&gt;http://www.pbase.com/455rocket/ant_wars&lt;/a&gt; .&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-115247073588073361?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/115247073588073361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=115247073588073361' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115247073588073361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115247073588073361'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2006/07/real-life-ant-wars.html' title='Real life ant wars'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-115245280555377693</id><published>2006-07-09T15:06:00.000+02:00</published><updated>2006-07-09T15:48:33.213+02:00</updated><title type='text'>Light, Camera, Action!</title><content type='html'>&lt;div align="left"&gt;&lt;strong&gt;The B3DS framework &lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/Scenery.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/5734/3310/320/Scenery.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/strong&gt;This second framework is all about encapsulation, it simplifies the usage of the engine and is going to implement "landscape", "actors", "cameras", "light",... . Also the interaction of these will be implemented here. I started programming this framework a while ago and it is starting to look like something now (right).&lt;br /&gt;&lt;br /&gt;The actors use OpenGl lists to preload the objects. This improves the rendering speed in a later stage. Lighting and Camera hasn't really been taken care of.&lt;br /&gt;&lt;br /&gt;I am sure this framework will also be a good help in writing the tools I need for the animations. Exciting isn't it?! =)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-115245280555377693?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/115245280555377693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=115245280555377693' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115245280555377693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115245280555377693'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2006/07/light-camera-action.html' title='Light, Camera, Action!'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-115240523473197550</id><published>2006-07-09T02:19:00.000+02:00</published><updated>2006-07-09T03:58:06.750+02:00</updated><title type='text'>Loading images</title><content type='html'>&lt;div align="justify"&gt;Now that the textureproblem has been more or less solved, I decided to try it with some different kind of images. I noticed some very strange effects while doing this:&lt;br /&gt;- Some images load terribly slow compared to others even when their filesize is smaller.&lt;br /&gt;- Some images don't load at all and give strange errors.&lt;br /&gt;&lt;br /&gt;I decided to dig deeper into this... Suddenly I remembered there used to be another way to assign texture-images way back in CsGl. I do not use CsGl anymore though. CsGl is an OpenGl binding for .Net, but since Sdl.Net has become so popular CsGl is no longer supported and is dying a slow dead. But I figured that maybe this same functionality was also available in Sdl.Net.&lt;br /&gt;&lt;br /&gt;Nobody less than Rob Loach himself (developer of DevIL) informed me that his framework could solve my problems! DevIL is a project that makes it possible to load and save all kind of images, it supports OpenGl and C# and it even runs crossplatform. That's exactly what I need! &lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;p align="justify"&gt;&lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/protectedmemory.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/5734/3310/200/protectedmemory.jpg" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="justify"&gt;I had some problems to set it up at first, and did not really know why I was getting these strange errors (left). It turned out I was Preloading my models before initializing the DevIL classes.  Thanks a lot to Rob Loach on this one!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-115240523473197550?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/115240523473197550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=115240523473197550' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115240523473197550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115240523473197550'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2006/07/loading-images.html' title='Loading images'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-115236805017206305</id><published>2006-07-08T15:32:00.000+02:00</published><updated>2006-07-08T16:27:53.786+02:00</updated><title type='text'>All about textures</title><content type='html'>&lt;div align="justify"&gt;Today I've been doing a lot of research on textures in order to find a solution for the texture problems. I implemented textures earlier. But strangely enough it does not seem to work with all files.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;What's the problem? ... X3D is a very weak standard. Rules aren't always respected and sometimes it is missing tags.&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt;To understand a bit more what goes on in the mind &lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/alldifferent.0.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/5734/3310/320/alldifferent.jpg" border="0" /&gt;&lt;/a&gt;of the designer, I started to do some 3D modeling tutorials. I am using Blender for this because it's free and pretty popular. Blender has several ways of assigning textures. Normally when assigning textures in Blender there's an offsetXYZ property and a scaleXYZ property to move and scale the texture across the surface. &lt;/div&gt;&lt;div align="justify"&gt;&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;When exporting this to X3D, these offsets and scales aren't exported with it. For my 3D Engine that's a bit of a problem. Because can the engine display something if it just does not receive all information it needs? The image above shows how the exported X3D file looks in several programs. As you can see they all visualize the textures different.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;Today I discovered Blender also has a different way to map textures. The concept is called "UV Images". This method uses x and y bindings for every vertex. That's actually how my B3D format works and also how OpenGl works. I was very happy to discover that Blender is able to export this kind of textures to X3D.&lt;br /&gt;&lt;br /&gt;However, does it follow the standard? Sometimes it uses a separator and sometimes it doesn't.&lt;span style="font-size:+0;"&gt;&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;blockquote&gt;&lt;span style="font-family:courier new;font-size:85%;color:#330099;"&gt;&lt;strong&gt;&lt;indexedfaceset coordindex="0 1 2 3 -1" texcoordindex="0, 1, 2, 3, -1"&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="justify"&gt;Oh, well it was easy to solve this. But again it shows that X3D is a weak standard. You might wonder why I even want to use this standard. I can give you a good answer to that question: first of all I am trying to avoid X3D by implementing my own format, secondly it's a widely used plain-text format. There aren't really any other plain-text forwards.&lt;br /&gt;&lt;br /&gt;I also rewrote some functions to make things a bit cleaner. Visual Studio 2005 really has a good debugger and built-in XML-readers. In C++ this would have been hell. &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-115236805017206305?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/115236805017206305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=115236805017206305' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115236805017206305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115236805017206305'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2006/07/all-about-textures.html' title='All about textures'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-115231945230114114</id><published>2006-07-08T00:08:00.000+02:00</published><updated>2006-07-08T16:16:42.016+02:00</updated><title type='text'>Earlier Progress</title><content type='html'>Hi again,&lt;br /&gt;&lt;br /&gt;I am going to give you some screenshots of this 3D Engine I am working on, they will show the progress of the project:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Programming environment&lt;/strong&gt;&lt;br /&gt;Everything in this project will be programmed in Visual Studio 2005 in C#. We are using OpenGl through SDL.Net and the Tao Framework.&lt;br /&gt;&lt;br /&gt;OpenGl's preferred language is C++, so why C#? It is easier to maintain because the code is cleaner, it looks a lot like Java. C# is one of the most recent languages there is and it has a huge framework of about 4000 classes. This makes C# on of the best languages for real object oriented programming.&lt;br /&gt;&lt;br /&gt;For the linux, macintosh and solaris users, don't worry it's also crossplatform (thanks to the mono project). (C# is not a Microsoft invention, that's a common missconcenption).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;File formats&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/ClassDiagram1.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/5734/3310/200/ClassDiagram1.jpg" border="0" /&gt;&lt;/a&gt;First of all there's the framework for loading X3D files and converting them to B3D files.&lt;br /&gt;&lt;br /&gt;B3D is my own file format I created. It's something that works very well with the way opengl renders.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Features and Support&lt;/strong&gt;&lt;br /&gt;The X3D tags TriangleStripSet and IndexedFaceSet are supported. The use of Color, Materialproperties and Textures. Perpendicular normals can be calculated by our converter.&lt;br /&gt;&lt;br /&gt;Both these materialproperties and normals are important for the light. If one of them would be missing everything would look flat.&lt;br /&gt;&lt;br /&gt;There are a lot of materialproperties and not all of them are supported by Blender. I tried to implement all of them though. I have looked up some default values just in case they are not supplied.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/Image1.gif"&gt;&lt;/a&gt;Lightning improves with the amount of polygons. If you use more polygons light will be smoother. The reason for this is explained here: &lt;a href="http://www.opengl.org/resources/features/KilgardTechniques/oglpitfall/"&gt;Avoiding 16 common opengl pitfalls by Mark J. Kilgard&lt;/a&gt;. For this reason I wrote a function to interpolate the polygons by splitting up all triangles and squares into 4 smaller triangles.&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Needs work...&lt;/strong&gt;&lt;br /&gt;What we are working on at the moment are a number of annoying situations due to the flexibility of the X3D format.&lt;br /&gt;&lt;br /&gt;1) Sometimes a texture is specified but the coordinate bindings are not. How should we know how the offsets of the textures then? We can only make guesses.&lt;br /&gt;&lt;br /&gt;2) Like I told earlier, the normals are calculated by the converter. However sometimes there are normals specified in X3D. It would be better to use these normals since they might give a better look.&lt;br /&gt;&lt;br /&gt;3) I think I found a way to improve the normal blending. I'll explain it as soon as I've tested it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Some screenshots&lt;/strong&gt; &lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/bol.1.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/5734/3310/200/bol.1.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;That's what a sphere looks like (right) when it has 120 000 vertices. Normals are calculated and material properties are mostly loaded from the X3D-file and expanded by default values.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/rendering.jpg"&gt;&lt;img style="FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/5734/3310/200/rendering.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And (left) that's what we are trying at the moment. Calculating the texturepositions. This topic will be continued...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/blogger/5734/3310/1600/car.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/5734/3310/200/car.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Just one more. A friend send this model from a car to me. It contains 635328 vertices. It didn't come with textures though.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's it for today! See you tomorrow probably!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-115231945230114114?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/115231945230114114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=115231945230114114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115231945230114114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115231945230114114'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2006/07/earlier-progress.html' title='Earlier Progress'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-30803183.post-115230381337849574</id><published>2006-07-07T21:43:00.000+02:00</published><updated>2006-07-07T23:51:39.406+02:00</updated><title type='text'>Introduction</title><content type='html'>&lt;strong&gt;Motivation&lt;/strong&gt;&lt;br /&gt;I have always been fascinated by ants:&lt;br /&gt;- their intelligence and lifestyle in community.&lt;br /&gt;- their smoothly shaped body, makes them look a lot like aliens.&lt;br /&gt;A long time ago I decided to make a computer game with ants one day.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;br /&gt;I have a long background in the field of programming. I grew up with a computer at home and started programming very early. I was about 9 I think. I achieved 2 different bachelors both in the field of computer science. And I am currently studying in my last year in order to reach a master degree.&lt;br /&gt;&lt;br /&gt;I have made various computer games so far. I made my first one when I just started out programming. It was a kind of digital boardgame in excel's VBA. A couple of years later I made a connect4 computerplayer. I made a lot of small strategy and puzzle games after that. When I was 17 I made an instant messenger. At the age of 18 me and some friends made a battleship game while studying in college. The year after I made a clone of Super Mario Bros. The year after I discovered the beauty of neural networks. I did a successful schoolproject on facerecognition with the knowledge I had acquired. I made some small opengl projects after. And now I'm almost 22 and ready for my ultimate challenge: AntWars.&lt;br /&gt;&lt;br /&gt;A couple of weeks ago I finally decided to make that childdream (of the ants-game) come true!&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The idea&lt;/strong&gt;&lt;br /&gt;AntWars is a realtime 3D Strategy Game. The idea is to make it a multiplayer game. How complex this game will be is not yet decided. I would like to add features as interest increases. A couple of things are certain though: the player will take the roll of the queen-ant and has to take the lead of a colony of ants.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;The plan&lt;/strong&gt;&lt;br /&gt;The first step in the project is the design of a 3D Engine. First step was to set up an own file format (framework) for the 3D Models. The second is to write converters to open file formats of popular 3D modeling programs. The third step is to render the objects as good as possible. The 4th step is to improve textures, material and lightning. The 5th step will be to set up a 2nd framework for actors, lightning and landscape. This is more like a layer that concentrates on the interaction of various objects, such as collision detection. In the 6th stap there will be build 3 tools: The first is to clean up objects, the 2nd is to create animations, the 3th is to create levels. The last step will be to add menus.&lt;br /&gt;&lt;br /&gt;So far this only describes my job. I am also counting on a team of artists, to build 3D models for this game. The general rule: who makes the model chooses the name of the ant species.&lt;br /&gt;&lt;br /&gt;I often get the question: what about payment. Sorry people, this project is not planned to be commercial per se. If it is going to get commercial anyway all money will be split honestly among the designers and programmers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;See you later!&lt;/strong&gt;&lt;br /&gt;I will give comments about the progress of this project on this site and show you daily results!&lt;br /&gt;&lt;br /&gt;Kind Regards&lt;br /&gt;Bram Vdb&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;strong&gt;Contact:&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;bvandenbon&lt;/div&gt;&lt;div align="center"&gt;(--AT--)&lt;/div&gt;&lt;div align="center"&gt;gmail&lt;/div&gt;&lt;div align="center"&gt;(--DOT--)&lt;/div&gt;&lt;div align="center"&gt;com&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/30803183-115230381337849574?l=antwars.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://antwars.blogspot.com/feeds/115230381337849574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=30803183&amp;postID=115230381337849574' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115230381337849574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/30803183/posts/default/115230381337849574'/><link rel='alternate' type='text/html' href='http://antwars.blogspot.com/2006/07/introduction.html' title='Introduction'/><author><name>BramVdb</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
