Jump to content

  • Log In with Google      Sign In   
  • Create Account

Bluefirehawk's: "Path to World Domination"

And now to something completely different, or why Diablo 3 sucks 2nd try

Posted by , in Info, Rambling 08 March 2013 - - - - - - · 1,457 views

Yes, I am starting a new project! But before I get to the meat of it, the game idea, I want to point out what I actually would like to accomplish with this project.

I want a platform where I can learn more about game programming and in general designing a medium sized code project. It should be a game with a very limited scope, a small game that I can dissect and inspect completely, that I can experiment with and test my expectations.
Wow, I almost sounded like Ghandi... anyways it is a study project with one main goal, learning. I want to learn more about game design, programming, and software architecture. The latter one is great, since I have this very subject in my current semester, yay!
Ok, so what is it? What is the game about that will flatten my path to world domination? Alright, here it comes:
ALIENS! Wait no, not this one, MAFIA!

This game idea is based on the social game Mafia aka Werewolf aka Assassins aka Witch Hunt. I thought it may be a very interesting concept for a multiplayer game. I also think it is a good excercise how you translate a "normal" game to a computer one.
Alright, roll up your sleeves, LET'S DO THIS!!... But how?
How do you base a game on a different game? Writing it down, it seems like a no-brainer: Let's research the original game! Wikipedia had a surprisingly good page on it:

...is a party game created in the USSR by Dimitry Davidoff in 1986, modelling a battle between an informed minority (the mafia) and an uninformed majority (the townspeople)...

Why do I bring this up? This little sentence sums up the whole game, it is the core mechanic! Alright, why should that help?

The core mechanic in my opinion defines what the gamer does but not necessarily why the gamer likes it. Sometimes the core mechanic is easy to find and sometimes it is as hard to find as your car keys you had 2 minutes ago.
What is the single mechanic in Portal? The Portal Gun of course! Nobody would make a Portal sequel without the Portal Gun. Think about it, in Portal, you have many different objects to play with. You have boxes, "hard light bridges", fluids etc. to play with. All of that are only new toys for you to screw around with the Portal Gun.
Yet in Diablo 2 I can't find a single core mechanic apart from it being "Action" RPG, which was the single revolutionary aspect in the
original Diablo, every notable RPG before it was round based. Thinking about the Diablo series like that suddenly makes more sense why D3 fell flat in everything gameplay related. The skill system is crippled with the extensive cooldown, resource system and limited skill selection. At the core of Diablo was the idea to just "use" your skills. On the other hand they fitted the D3's Monk with such ridiculously shallow resource "spirit", that I could only use the cool skills I wanted any 20 seconds or so and even if i had the resources, anything cool had a stupid cooldown timer too. No other skill reflects that better than the D3 Barbarian Rage skillset which all have a cooldown timer of 120 SECONDS. Blizzard, are you telling me that I need to wait TWO BLOODY minutes until my barbarian does something awesome again?! What the HELL is that, coffee brake mandated by *the hero's union*?
On the contrary, in Diablo 2 I could use almost every cool skill I wanted at any moment as often as I wanted, if the situation allowed it (e.g. enough mana and no manaburners). I could even use skills for somethng they weren't intended for, using the Paladins Charge skill to get away. That's why on surface Diablo 3 looks similar like Diablo 2, they correctly analysed what people liked at the old Diablo games but they completely forgot what you were supposed to do. That's why it isn't a true sequel to the Diablo series, like you made a Portal 3 without the Portal Gun...

buuut back to topic... at least how I understood this, you can make completely different games with the same core mechanic, you simply vary with what you give the player, with the core aestetics. You could make a shooter out of this, but that would be putting a different mechanic at the core and just use that as an "extra".
So basically I try bringing this social game in the digital realm. That doesn't mean that it is simple, now with networking, animations and fancy stuff I can add a lot more to the core mechanic...


You may not have noticed this, but often things become more clear when I've written them down, and now suddenly my brain kicked in and told me that I could be trying to deviate more from the social game and explore more... and I had a few nice ideas how you could encorporate the game... so I am going to experiment more with this, but that should be the topic for an other post.

Damn, this entry is even less coherent than usual, maybe this really deserves the rambling tag. In defense, I am getting a cold, so that may be a reason why...

Keen on making mistakes

Posted by , in Info, Coding, Rambling 26 October 2012 - - - - - - · 808 views

Sooo... this weeks post will be less structured, it is again more of a "writing thoughts to words" entry than something new to the game... anyways.

I gave more thoughts on the engine design, also how you design as efficient as possible, how do you implement a Entity based design correctly... and it went on and on.
Suddenly it jumped my mind, I wasn't going anywhere with it, even though having experience with business application, being one of the better programmers in my college, I want to have a state of the art AAA engine design on my first try.

It won't happen.

I am young, I have a long way to go, much to learn and much to conquer.
College is a weird thing, you learn so much in a single year, that you are shocked at the stuff you have written a year ago and when you are good in your college, it can happen to you what has happened to me: It gets over your head. You think too highly of yourself.

So you do something very few people ever do on the internet. Put your ego down. You are not the best there is.

Game developing is hard, noone can tell you how hard it is, until you tried designing even a simple Iso game in more detail. The learning curve is steep, very steep and you will produce much much shit. That is how you learn, not by endlessly browsing for the best solution.

I don't say that you shouldn't try educating yourself (for me, this would be the Entity Design), you also don't have to reinvent the wheel, if you can learn from the mistakes of others, GREAT!

But if your learning process keeps you away from the actual task, programming, you should rather go ahead and make bad design choices.
Nothing should take away you actually programming something.
It kinda did for me, so I stop worrying so much about making mistakes and just do them. I will find them soon enough, then I know why the design choices were mistakes in the first place.

So to any other new game programmer: you will do badly, that is why it is called "programming experience". Don't try to learn something from a mistake you didn't do yet.

I can die happy now! For realsies...

Posted by , in Info, Coding, Rambling, C++ Endeavor 19 October 2012 - - - - - - · 1,008 views

...yes, I really am that happy.

"Why" do you ask? Simply put:

(If you haven't noticed already, this entry has the Rambling tag)

It works, I still cannot really believe it, I feel a bit lightheaded from that, or maybe it's the hangover, or the chocolate flash, I don't KNOW and I don't CARE, It WORKS.
I've found my light, my saviour, my knight in shining armour. Alright that sounded a bit gay, but moving on. Hail the almighty QTCREATOR. I finally have everything besides the coding. Everything I that was so nervewracking, i can really start to do what I came here to do: Program a game and chewing bubble gum. And I am all out of gum! DUN DUN DUUUUN!
And to beat ass, never forget to beat ass...

"So why is it so good?" QTCreator WORKS! YES! It is easy to install on all platforms I currently want to develop on (windows+debian), a QMake script is fairly easy to understand and yet the easiest Makefile generator script I've found. It as a powerful testing framework and I think the most intuitive switching between "editing, debug..." views. The editor itself is pretty much what you'd expect in an IDE these days.
It's not without it's faults, the "add library" dialogue only allows for .lib files, whick is pretty anoying for your .dlls. Sometimes the design tries to be too posh, too much "Look at me, I am a hip, cool IDE! Not your nerdy Visual Studio, nobody laughs at you when you use me!" I don't need a good looking IDE. It has to work and be productive, I don't care how it looks.

The next weeks post is a bit more structured and maybe a bit depressive, because it is not the day that you think it is. I write these entries sometimes weeks earlier. My entry two weeks ago "Watching people play games..." was written back in August. But the Context never seemed right to post it, so I always pushed this entry further back. I started writing this entry back in october, but you see this in the middle of october, I am actually writing to you from the past!!
That means, sometimes you have an outdated project update and sometimes posts that follow are older than the current post, like in this case. I actually have the next 2-3 entries almost completely written. Next weeks post is older and maybe a bit depressing, hopefully you still find some value in it.

I'm already rambling, I feel like writing some more: WTF, my post was featured? I don't know what the requirements are to get your post featured, I don't know if a human or an algorithm selects the featured entries. If it was a human, I have no idea why he or she thought the entry "Watching people play games..." was so good. I've written most of it in an hour, didn't put much thought in it and even I thought it wasn't terribly interesting. Maybe mildly entertaining, but that's it.
I don't want to bitch around, I like being featured, it makes me feel important. I just don't understand why this entry, and not one of those I actually put hard work in it.

Watching people play games...

Posted by , in Info, Rambling 05 October 2012 - - - - - - · 1,218 views

... doesn't sound creepy at all does it?

I had to write in ruby, didn't have a lot of sleep and just ate a piece of chocolate, hellllooo rambling time!

Soooo in this weeks post I talk about... what did you guess? About watching people play games.

For quite some time I've been into watching people play video games on youtube. I especially like SSoHPKC and the Creature stuff they do, but that is an other story, maybe for an other rambling post.
To those who don't know them, they essentially record themselfes playing video games and talking about random stuff.
The weird thing is, I think it does more than just entertain me, I think it helps me looking at game design from a more neutral standpoint.
"You are weird" you say? I have to tell you: I am watching people play games, what do you think I should be?!

But in all seriousness, it really does. More often than not, the commentary breaks the atmosphere of the game. "Why should that be a good thing" you say? Well, sometimes it seems games brush over bad design or bad story elements by providing an atmosphere that draws the players attention away.
Breaking away the atmosphere with the commentator shouting "SHOTGUN RAAAIIIIN" lets you notice all the dips and bumps.
The best example: try watching Call of Duty: Black ops, or COD: MW3 for that matter.
The singleplayer SUCKS! The story gets increasingly embarassing, the gameplay has stayed the same since Modern Warfare 1, the only thing that makes the singleplayer acceptable is the atmosphere. The distributed "I am so awesome" events like breaching and a few total badassery moments at the end of the game to make you forget about it.
COD: Black Ops at least TRIED to have an interesting story, they put effort in a plottwist that you maybe could not have seen coming.
But the latest MW3... seriously?! Have you ever had a knive in your heart, didn't care about bleeding, survived a World War 2 emergency medical procedure and walked around shooting stuff few days later? Was he faith healed by Peter Popoff? They didn't even try...
I couldn't watch SSoH play MW3, it just was too boring. Same shit, different day. On the other hand, watching him play Batman: Arkham Asylum was just awesome. Not only becaue he failed hilariously, but even by watching the game, I was drawn into the world of this game.

But back to watching people... play games...
Usability engineers have a technique called "talking out loud", they try to encourage a test person to talk out loud what he/she thinks while using the gui. This isn't just for shits&giggles, it helps evaluating the design, finding design errors. In other words, there are people on youtube doing exactly that for video games! For free! Day and Night!

Next week is business as usual, better structure and fleshed out thoughts. For today, I just wanted to ramble around a bit. See you soon!

The seventh Circle of Dev Hell!

Posted by , in Coding, Info, Rambling 31 August 2012 - - - - - - · 1,072 views


Soooo in this weeks post I talk about the devil in development: TOOLS!

"Why tools?" you say, "Tools make the life easier" you say. NO! THEY'RE NOT! THEY ARE EVIL!

I started from the C#/Java world, and I naively assumed that there are few good, widely spread toolset that work great together for developing C++ in a Unix enviroment. But I forgot the main problem of Unix: OPEN SOURCE!

You are probably asking yourself what the hell am I rambling on about, open source is great. Let me explain:
I agree, I love the GNU licences but it is not the ultimate solution to everything like some people think. Open source also has its darksides too which I really really tasted while searching for a good workflow developing my game on linux. You have increasingly diverse tools, all working differently and having different levels of sophistication. If you have never set up a dev enviroment for C++ before, this stuff is more frustrating than teaching a cat to roll over. I spent hours searching in the depths of the web how to use different tools, just to find out that for me, they create more problems than they solve. Rinse and repeat.
I didn't get around to code very much, to be honest, i didn't code at all. Until now I had to think about everything BUT the coding. And I HATE IT! Arrrrrgh!

So you can imagine I am mad, mad at everything. Even trees. Why do they just stand around, waiting to get water? Why? GET UP and DO something you stupid piece of wood! At least entertain my when you have nothing else to do, but NOOOO, you just have to keep standing there like I am not talking to you... LOOK AT ME WHEN I AM SPEAKING!


In Java, this is somewhat simpler. Almost everything is open soure too, but you have a handful of widespread toolset with a high level of quality. You can go with either of them. Eventually you stumble over a tool/library that suits you better and will keep using that. So why cannot C++ developers move forward into this century? Why do all the tools have to be so needlessly complicated and sporadically work together?!

Few, that felt good.
Some of the problems are my own fault, I know now why other languages come with their own runtime. Everything gets more complicated when you just try to be platform indipendent.

So if anyone cares, that's what I chose for the moment:
Github repo: wow, just wow. I didn't come around to use it very much before this project. It isn't very easy when you are just used to tortoiseSVN. But man, this is thing is amazing.
QT: this tool sounds stupid, but I need a platformindipendent builder, and I don't seem to understand CMake. Plus it comes with a testing framework. CUTE just didn't want to link properly for me.
IDE: Eclipse CDT. Not what I hoped, but it gets decreasingly anoying. For some reason it doesn't want to remove popup windows correctly under Mint Debian. So I sometimes have half transparent rectangles sitting there.
CI: Jenkins. Well, not at the moment, in the future maybe when I have the rest set up and running.

Since this entry is already structure free, I might as well add this here.
I know this journal isn't the most read compared to other newer journals on gamedev.net. I also know why:
Most journals have some cool footage from their game, or at least some cool artwork to show, but I have nothing. It will take quite some time before I can even post some Techdemo. And no, I won't draw some artwork for you, it would be so ugly not even my mother would put it on the fridge.
So there is just me to entertain you, sometimes trying to be professional and sometimes saying "screw it" and just write about random stuff.

I don't know if anybody views this journal frequently, I guess people are just stumbling over my entries whenever I post a new one.
But if there is somebody who actually LOOKS for this journal: Thank you kind sir or madam, you rock!

Next week I post entries in the usual language, posting about the actual game I am working on.

So long and have a nice weekend.

October 2016 »

161718192021 22

0 user(s) viewing

0 members, 0 guests, 0 anonymous users

Latest Visitors