Σάββατο 25 Δεκεμβρίου 2010

Merry Christmas!

It's Christmas! And even though I'm an atheist, I couldn't think of a better title.

So, Merry Christmas.

I just took a decision. I decided to start making a game. I had the idea for this game for a few months now, about a month ago I started working on it with flash and php only to find out that making a game in flash and php is way more difficult that developing a game in C++. Many weeks later, I still think the game - if ever completed - would be fun. Really fun! So today, 2 days since my holidays started I decided to start working on it again. This time I'll use C++ and SFML. Obviously I'm talking about a 2D game (I still don't feel very comfortable with using OpenGL and I'd hate using anything not cross-platform).

It's a strategy game. No, not a very complicated one (I hope!). It's nothing too ambitious, completing this project seems generally realistic :P. I'll propably do the development on windows, but I'll be testing it on my linux machine every now and then. Platform Independence is very important to me. So, for the next 2 weeks I'll be working on it full time (ok, almost full time).

In my first 2 hours of working on the project, I made a Logging class and generally designed the Object-Oriented code of the game. Basic classes, files etc. Now I have a pretty good idea of how the game and the code will look like. At them moment, the game starts, displays a black window, writes something to the logfile and quits. Not too bad.

Next topic of the day: It's Chrstmas. I told you, didn't I? I could cut & paste this to the beginning of the post, but who cares about organized speech? Organized code is all that matters. Ok almost. ANYWAY, as I said, it's Christmas and I got a really, really, really really really great present. An Iphone 4! Yep! I might even start developing apps for it, one day. The annoying thing is you need a Mac and Objective-C knowledge to write apps for the Iphone, unless you buy expensive 3rd party windows software or spend days trying to find a workaround. Of course I have MacOSX in a virtual machine and I don't need to bother, really :). I downloaded X-code it runs great, only problem is I don't know Objective-C. But one can code only one thing at time, right? So I will dedicate myself into my game.

And I should remind myself to write about my opinion on youtube and especially its comments and rating system. They suck. Wow I just expressed my opinion! I'll expand on it once I am less eager to start coding again.

A short 20 minute break and back to work again. Till next time!

Σάββατο 20 Νοεμβρίου 2010

24137 and counting!

As of the moment, I have written 24137 lines of code. All by myself, yes.
And~2500 of them were written in the last week.

Recently (about a week ago) I switched from Debian to ubuntu 10.10, and I can't stop thanking myself.

First of all, I started using linux. I mean *really* using linux. I haven't seen the  Windows logo for a whole week, I spend less time on the computer and more time coding. My code productivity increased by 500%, I create more in less time! I have learned more in the last week than in the previous month. And, most important, I enjoy programing like never before.

I know it sounds like an TV advert, but its all true. More specifically:
  1. First of all, I organized ALL the code I've written in my life under one folder.
  2. Then I wrote a PHP script to count how many lines of code I've written. The script only counts files with a source file extension, excludes certain files and directories (for example code written by others, like jquey, tinyxml, tinyMCE etc.), calculates some interesting statistics and then writes  all that info to an .html file (with nice CSS styling). I did that in 2 hours or so.
  3. I solved some USACO training problems.
  4. I participated in COCI 2010 #2.
  5. I solved a few hellenico problems.
  6. I started developing a solution for Google AI Challenge.
  7. I started developing a solution for CodeCup 2011.
  8. I learned the basics of bash scripting.
  9. I actually started using, and therefore learning linux.
  10. I kinda familiarized myself with QT.
 And now I'm thinking of becoming an ubuntu developer (bufixing etc.) :P.

Section 2 of my post starts here. Do not look for connections between my posts and paragraphs. Sometimes there isn't any. ;)

Some musical masterpieces every coder should enjoy:
http://www.youtube.com/watch?v=Eq3CuMDXaPs
http://www.youtube.com/watch?v=XHosLhPEN3k
http://www.youtube.com/watch?v=li_qgJGWfp8

We have Digital TV here in Greece now :)!

My list of awesome linux programs:
  • Eclipse
  • Tasque (might not be the best TODO app out there, but it's simple. I like that.)
  • Vuze
  • aMSN
  • Nexuiz

I don't want to go back to windows.

Δευτέρα 1 Νοεμβρίου 2010

Competitions, competitions

Yay, 23rd National Competition in Infromatics, first phase. I've already thought the first problem's solution, I only need to work on the implementetion.

Yay, National Competition in Mathematics! I participated in the first phase and I did "generally good". I love maths too, haven't I told you?

Yay, National Competition in Astronomy and Astrophysics starts next week. Can't wait!

Yay, National Competition in Latin and Ancient Greek! Just kidding. I HATE ANCIENT GREEK. There's an english saying, "sounds like greek to me". Well, ancient greek is *a lot* worse. AND YET WE ARE LEARNING THAT BULLSHIT AT SCHOOL.

In unrelated news, I discovered pomplamoosemusic's youtube channel, and I especially liked their version of Jackson's Beat It.

Τρίτη 26 Οκτωβρίου 2010

Global Thermonuclear War

"  How about a nice game of chess?"

If you 've seen the movie Wargames (1983) you probably know what I'm talking about. No, the movie is not that great, but the game inspired by the film is:
DEFCON: Everybody Dies

Basicly DEFCON is a Real Time Strategy game inspired by the movie Wargames. "You can't win this game; but you can loose the least". In the game the player takes control of a nation trying to do exactly that: "loose the least" in a nuclear war. Oh, and the game has an API which allows you to create AI bots for the game in lua or C++ (I think other languages are supported too).

Well, DEFCON, Wargames and... Farmerama (:P) gave me a crazy game idea which I am most probably not going to implement. Anyway, now I'm gonna stop writing. Really.

Until next time!

Τρίτη 28 Σεπτεμβρίου 2010

Tears

The summer is way too short for what I want to archieve, I'll post my TODO list here and hope not to drop tears over it after the summer:
  • Website design, using the browser as a canvas to display content. Forget the terms header, container and footer. Archieved 50%
  • Game development, especially 3D! Archieved 50%
  • Assembly! Archieved Archieved 10%
  • Algorithms, more algorithms... Archieved 100%
Shit.

Δευτέρα 27 Σεπτεμβρίου 2010

House MD

Yes I have seen every single House MD episode to day. Many of them twice. And I still find most of House's jokes funny. And yes, Hugh Laurie is an awesome actor. I can't wait for the 7th Season!

Somehow, writting the above lines made me feel like a looser. And that's strange cause I'm not a looser.

Aside from that, I think that every other TV Series sucks. AM I RIGHT OR AM I RIGHT? (See? House is affecting me. And I hate that.)

Κυριακή 26 Σεπτεμβρίου 2010

Flash games and astrophysics

[Note: 1 chewing gum = 0.10 USD]

Recently I became addicted to Them (=flash games). And I decided to make one. And I did. And it sucks: http://www.newgrounds.com/portal/view/548011
As you would have noticed if you clicked the link above, my game has annoying 30-second interactive advertisments you can't skip and obviously I make money from them. (It's called mochiads, check it out) Right now, 3 weeks after releasing the game I have made 4.5 chewing gums. (I need to make 1000 chewing gums to receive my first paycheck :( ). The game might suck, but I promise, I am NOT going to add mochiads to my next game. It's not worth it.  1,145 people got bored to death waiting for the game to start and I can't even enjoy my chewing gums...

Anywany, I am working on my next game, yes, this one will be awesome.

Other than that? I am wasting my time with that "school" thing again, where those funny faces called "teachers" try to make ancient greek sound interesting. They're not trying hard enough.

I also started studying Astrophysics lately, thanx to the Orbiter community and Orbiter itself, of course! I wish Orbiter was open-source... Ah, at least it is free! Anyway, if anyone is reading and is interested, check out the Orbiter Simulator, and the following link:
http://www.braeunig.us/space/orbmech.htm#maneuver

Yesterday I fired up Orbiter, entered low-earth Orbit, took the Semi-Major axis and I calculated my period of revolution! Of course my result did not mach the number on the simulator screen, I was 8 seconds off! Real p was 5312, my result was 5320. That was propably because I conveniently assumed that earth had a constant radius everywhere.

That's all folks. Oh, and here's something to keep you entertained for the next 129 seconds.

Τετάρτη 4 Αυγούστου 2010

boom

Not all posts have to be useful.

Δευτέρα 5 Ιουλίου 2010

I can't think of a title...

...because I don't have anything specific to write about. I just came back from the one-week long educational informatics camp. And now I am studying algorithms again. Hellenico (a greek edition of the usaco training site), usaco and many other sites have very intresting problems, worth reseatching and solving.


Informatics, algorithms, programing, networking and the computer in general, what a great thing to spend time with! Just wanted to say this.


-break-

Pah I better stop writing here, and start writing some code. :P

Τετάρτη 23 Ιουνίου 2010

I'm still alive!

What did you think? The blogger hiding inside me needed some rest, he has his inactive periods too!

And as always I do not have a specific reason for posting. People don't change, not in a month anyway. So what was I doing during the last month?
  • Game developing! Space Wars is progressing slowly, but *it is progressing*. I made my first steps into 3D programing, something I always wanted to do! I started with some basic 3D math, then a few lines of OpenGL.
  • C#! I don't have much experience with it and the .NET framework yet, but I like focusing on the big picture. I have to admit though, I kinda miss messing with pointers. Nothing is as intresting as examining memory leaks and segmentation faults. (No, I'm not a mazochist)
  • Assembly! Another great language, (Ok, I might be a mazochist) I would like to start my own OS sometime. (ok, I already have started my own OS, the only problem is it doesn't work. :P). I've been studying CPU architectures for the last 2 weeks.
  • Game Engine Research, there are so many of them out there... Until now, I have tried UDK, Torque, irrlicht (yeah, it's not a game engine but a 3D rendering engine), C4, Ogre (kk, that's not a game engine either), and I decided to stick with irrlicht! Completly free and open source, object-oriented and well organized, simple and yet it has enought features for me. I still have to look for a sound and physics library
  •  School exams. I did especially well on maths, physics and history. All my results are satisfying ;)
  • More php and curl!
  • Algorithms and programing techinques: Dynamic Programing, divide + conquer, dijkstra's algorithm etc. I love those, I am especially proud of my Graph Class implementation.
That's all I think. The summer is way too short for what I want to archieve, I'll post my TODO list here and hope not to drop tears over it after the summer:
  • Website design, using the browser as a canvas to display content. Forget the terms header, container and footer.
  • Game development, especially 3D!
  • Assembly!
  • Algorithms, more algorithms...

Σάββατο 22 Μαΐου 2010

Flight Simming

Yes I am a simmer! I have around 80 logged hours on IVAO, around a thousand on FSX. To be exact I used to be a simmer who just started flying again. I did some VFR flights last week, and I will be logging in to IVAO again soon. I fly mostly boeing jets, 737-747-757-767. My favorites are the PMDG 747-400 and the Captain Sim 767. I started the Hellenic IFR tour: "Fly the heavies" 6 months ago, I did 3 legs and I'll be doing the next one soon.

I also started flying miltary helicopters, with the AMAZING DCS: Black Shark I bought lately. The Ka-50 is the only single-pilot attack helicopter and a truly spectacular aircraft! It wasn't easy to learn how to fly it, you have to play with the trimmer and the autopilot a lot, but finaly I did it! I can even shoot things now.

And now the joke of the day: I am a student in his exam period. Nope I haven't studied more than an hour till now!

Fasten your seatbells, Speedbird 255, over n' out.

Δευτέρα 17 Μαΐου 2010

Airline Mogul FTW!

Ever heared of Airline Mogul? It is a very addictive browser based tycoon game where you have to manage a virtual airline. You start with a small airplane, fly some routes with it to make money which will be used to buy bigger planes to fly more routes that will make more money and so on. (It is way more complicated, but I am not writing a game review) The game is very intresting, especially if you are intrested in managment games and aviation.
Last summer I used to play it a lot. But as I had around 50 routes, I found out how boring AM could be. At some point, the competition got so strong I had to reduce my ticket prices every day in order to keep my flights fully booked (and maximize the profit). So every morning I used to spend 45 minutes in finding the optimal fare for every route (If the game used AJAX all this would be much faster). A few days ago, I started playing again, but to avoid boredom I had the following choices:
1) Not to play at all.
2) Play, but only fly routes that had no competition (that goes with being a loser)
3) Write a script that optimizes the ticket prices for me!

And guess what I did...
The script is written in php and uses curl. It logs in, selects a world, finds out which routes need optimization, calculates the best fare and sends it to the server.

And I'm so proud of it!

Τετάρτη 12 Μαΐου 2010

Keyboards are bitches!

This short article helped me understand why keyboards act in such mysterious ways sometimes! Check it out, a must-read for game developers! :)

Today was a very productive day, I worked on 3 diffrent projects, mainly fixing bugs and making small improvements :)
I am flying to Athens tomorrow morning, I have been invited by the President of the Hellenic Republic as a member of the National Junior Informatics Team!

Have I told you I started drinking cofee? A lot of coffee! But I should get some rest, shutdown -P now;

Δευτέρα 10 Μαΐου 2010

Projects

Hello! Long time no post, I'm sure that many of my 1.252.321.691 readers have missed me.
Today I want to share with you some hot pictures of my projects. So, here we go:


Picture of my File Server Interface, codenamed ERMIS. It is a copypaste-n-play system for uploading/downloading files. You can register/manage users right from the interface, upload/download/delete files etc. From its .config file you can select whether you want to close the registrations, count the downloads, allow certain user group logins, change the logo, the boring signature and much more. It is written by hand, line-by-line, I'm really proud of it as you can see in the signature. My only wish is I had used more CSS to make it look better. I have no idea why, but I haven't released it (yet).

A game made by me, written in C++ using SDL and its extensions. I borrowed the spaceship texture from Rozebau, a pixel join+ user, I did everything else by myself. It is a space top-down shooter where you shoot the evil alien spaceships that try to do the same. What I am proud of are the .mission files, those are files that actually define a mission's graphics (from the background to the upper interface bar), the weapons the player uses, the weapons the aliens use, their AI and more! Also, by changing the mission events you can make enemies appear, print out a message on the comm console, even change the window title! That means you can transform my space shooter to a shoot-the-evil-zombies game without changing a single line of code!

 A home-made blogger, part of a website with TinyMCE installed.

My pacman game, here you see the menu.

Κυριακή 18 Απριλίου 2010

Greek National Competiton in Informatics

Yep. I just came home yesterday very satisfied with the results. I'm 2nd/36 (if I remember correctly) and 1st in my age group. This was the last of the 3 competition phases :)

So now I have time to do whatever I want, and that is game and win32 application developing. I really have to show you some of the great games I've made. Yeah, playing as that yellow cheese-like guy and sneaking through 4 ghosts is so much fun :P

I'm making a 2D space shooter game right now (Right now I'm writing this but I think you got it) and I'm working on the combat system (I love calling simple snaps of code "systems", it makes them look much more complicated than "just a function"). I spent the day finding a way around of those linker errors I encoured today and I finally made it.


-End of Post-

Πέμπτη 8 Απριλίου 2010

RED ALERT stdio.h SUCKS, fstream FTW

Ah, I don't fee... I don't feel so well... I just found out that fstream is way faster than stdio.h! Ha? You knew? Good for you!

I did a test on my linux machine. I tested writing and opening/closing files, not reading, as I felt the urgent need to kill myself after the first 2 tests.

I should note that I used fprintf() and the << operator for writing and the fopen()/fclose() and ::open()/::close() functions for opening/closing the files.

I might give you the test results sometime.

Happy coding fstream-ers.

Δευτέρα 5 Απριλίου 2010

Game developing, A* and a compiler error

Good day :)

Have I told you that I am still a student? Fortunatly, it's easter holidays now :) So I have time to do anything I want, and that's usually programing and starting (unfortunatly not finishing) ambitious projects. During the last weeks I spent my time trying to make simple 2D games, studying new data structures and algorithms and learning assembly. I am not making much progress with assembly, I am more fond of high-level programing. As for game developing, until now I have done a Tic-Tac-Toe and a Pacman game using SDL. I might upload them later so you can take a look. Now I am in the process of making a Real Time Strategy game. Yes! And it's way more complex than I thought, but it has a lot of AI and that keeps me motivated.

Yesterday while implementing the A* algorithm, it took me ~30 minutes to figure out why the following line of C++ code was not working (I don't remember the exact compiler error) :

std::list<*Node> OpenList;

Node is a class and OpenList should be a list of pointers to Node classes.
Have you noticed the mistake yet? DON'T GOOGLE IT, DON'T CHEAT! (you won't find anything anyway, I tried) Come on, it's 1 line of code!

Changing the line to

std::list<Node* > OpenList;

was enough :)
Of course I knew that the * should come after the type specifier, but why didn't I think of it the first time? Pah, who cares. I've fixed it now and I won't make the same mistake again.

First post!

(If you are scared of boredom don't read this one, it might get boring.)

I hope it's not the last one too. Well, hi there! I really hope there's someone reading this. Even if there isn't, I'll try to keep posting things regulary. If you've seen my profile, you already know who I am. If not, go and do so.

Soooo, what's this blog about?
It's about me. It says so. Look up there, it says chris's blog. Nono, I'm not going to bore you with how-much-I-love-my-dog and how-I-like-my-sandwich posts. (By the way, I don't have a dog and I like sandwiches with olives). In this blog, I'll be posting things about my programing experience, my projects, intresting things about computing, and maybe some other things too.

This post won't be well-structures when I finish it, but as I was writing about what this blog is about, I felt the need to write about my programing skills and experience.

Well, I started programing in Visual Basic a few years ago. I made a web-browser! Yes I did! (Don't get to impressed, writing a browser in Microsoft Visual Basic Express is 3 lines of code.) Then I moved on to C, got some intresting books and made my first serious programs. That's were the passion came in. (Now it starts getting boring, both writing it and reading it I guess, so I'm gonna speed up my life story a bit.) I just loved coding... (<3>sudo shutdown -P now