'95 trys till an RPG
My 95 atemps to create an flash multiplayer RPG game.
Sunday, July 7, 2013
First network Version
Its hard to belive but: The first Version with real networking went online. Ingame it's not much. In fact since there its not even a chatting feature it's almost useless.
BUT however. Its working! Wooohouh. I spend some time on the policy-file-request thingie until I noticed, that this 'additional service' only accepts Port 843 ..
Still everything is somewhat alpha. But I dont care. Step by Step.
Next question: Where to get a server? :/
Thursday, June 27, 2013
F*cking Normal-Maps
Will tell later. Gosh what a .. Krampf!
---
Okay. New Day. I calmed down about yesterday. Pfew ..
So what was going on? Well. It all started with ktzey asking for a sample how the game might look one. Maybe she knew some ppl that would like to help. So I send her this goodie here:
So far so good. I spoke about it earlier that I liked the light. The Shaders and everything. Okay. Because I dont liked to work on my College-Homework I decided to mess up with it and add some lightning resources to AxGL.
Of course all other safh's simply use png-overlays to get any kind of effect. But you cant add real gloom just by that.
As usual I started with googling for keywords like Flash shaders, Stage3D lightning and so on and so on. Then I decided that starting with Post-Screen Shaders might be nice. Just some blur here and there. Thats I came up on Sam Divers Homepage: Salt Games.
He did alot of Filters here and there. Wrote some Tutorials and in the end he did many eye candy Flash-Demos that I enjoyed to watch... Until I saw the entry Normal Mapped Lighting in a Game
Have a look at it. Its just.... well progressed.
Suddenly it had blown up my head. I stoped caring about something else and just gained one fucking thought: Normal Maps. You. Need. Normal. Maps!
Unfortunatly Sam also did some Demos (with, and without Storm3D axeleration) about Normal-Maps and Pixel Blender.
They all seemd a bit out of Date. But anyway. I took my old college-stuff and redid the whole lecture about normals. Not as much and not as difficult as I thought. But that was before I started to look about how to do Shaders in AGAL and Flash. Because oh yes. The Adobe Doc's SUCKS. For sure. Theoretical blabla per excellance but, not to mentoin, you have to use our own shitty shader asembler language. Nothing importand. Just by side. Ah and well. Earlier there had been docs about it on "molehill" - but they are not there now anymore.
Molehill? wtf is that? One hour wasted. Back to google.
Norbz wrote in his Dev Blog a nice guide called Stage3D / AGAL from scratch. And the name is what it is. He starts at Adam and Eve of the AGAL Basics. That could come in Handy. But in Part 3 then he starts up with the same kind of Triangle sample as Adobe did.
To bad, that this color_r,color_b,color_g,pos_x,pos_y,pos_z thing never gonna be handy later. So WHY for god's sake is he still using it after Part 3?!? Not just that he lost the main goal of his tutorial: Doing 2D Shaders. No. Hes also filled me up with.. desillusion.
I just noticed I wont come to normalmaps this easy. As more I dig and read as more I drove away from the goal itsel. 3 hours gone.
Okay. Then I gotta break the rules. Sorry Sam. Loaded his demo. Decompile. Done.
.. hehe. hehehe.
... extends MoleGraph. extends MoleScene. MoleGraphicConstands ... the. Fuck.
It took me about one hour of. Dunno why. To realisize that MoleHill was the former project name for the Adobe API that later got abadonned and partwise re-used for Away3D.
I got nearly insane with the bad decompiled code fragments. Was this God's punishment for ripping of a smal and very basic shader? Reading the Away3D Api Doc's made me insane. Nothing but rlly nothing looked like the former MoleHill anymore.
6 Hours. STOP!!
Okay. Clean your breath. Try something very different.
Grap yourself an Extension of AxSprite. Copy and paste the whole draw() routine made be Arkeus. Register more Textures. Replace the Shaders.... and remember the way how shaders work. How to pass structures. How to anything.
Here:
---
Okay. New Day. I calmed down about yesterday. Pfew ..
So what was going on? Well. It all started with ktzey asking for a sample how the game might look one. Maybe she knew some ppl that would like to help. So I send her this goodie here:
So far so good. I spoke about it earlier that I liked the light. The Shaders and everything. Okay. Because I dont liked to work on my College-Homework I decided to mess up with it and add some lightning resources to AxGL.
Of course all other safh's simply use png-overlays to get any kind of effect. But you cant add real gloom just by that.
As usual I started with googling for keywords like Flash shaders, Stage3D lightning and so on and so on. Then I decided that starting with Post-Screen Shaders might be nice. Just some blur here and there. Thats I came up on Sam Divers Homepage: Salt Games.
He did alot of Filters here and there. Wrote some Tutorials and in the end he did many eye candy Flash-Demos that I enjoyed to watch... Until I saw the entry Normal Mapped Lighting in a Game
Have a look at it. Its just.... well progressed.
Suddenly it had blown up my head. I stoped caring about something else and just gained one fucking thought: Normal Maps. You. Need. Normal. Maps!
Unfortunatly Sam also did some Demos (with, and without Storm3D axeleration) about Normal-Maps and Pixel Blender.
They all seemd a bit out of Date. But anyway. I took my old college-stuff and redid the whole lecture about normals. Not as much and not as difficult as I thought. But that was before I started to look about how to do Shaders in AGAL and Flash. Because oh yes. The Adobe Doc's SUCKS. For sure. Theoretical blabla per excellance but, not to mentoin, you have to use our own shitty shader asembler language. Nothing importand. Just by side. Ah and well. Earlier there had been docs about it on "molehill" - but they are not there now anymore.
Molehill? wtf is that? One hour wasted. Back to google.
Norbz wrote in his Dev Blog a nice guide called Stage3D / AGAL from scratch. And the name is what it is. He starts at Adam and Eve of the AGAL Basics. That could come in Handy. But in Part 3 then he starts up with the same kind of Triangle sample as Adobe did.
To bad, that this color_r,color_b,color_g,pos_x,pos_y,pos_z thing never gonna be handy later. So WHY for god's sake is he still using it after Part 3?!? Not just that he lost the main goal of his tutorial: Doing 2D Shaders. No. Hes also filled me up with.. desillusion.
I just noticed I wont come to normalmaps this easy. As more I dig and read as more I drove away from the goal itsel. 3 hours gone.
Okay. Then I gotta break the rules. Sorry Sam. Loaded his demo. Decompile. Done.
.. hehe. hehehe.
... extends MoleGraph. extends MoleScene. MoleGraphicConstands ... the. Fuck.
It took me about one hour of. Dunno why. To realisize that MoleHill was the former project name for the Adobe API that later got abadonned and partwise re-used for Away3D.
I got nearly insane with the bad decompiled code fragments. Was this God's punishment for ripping of a smal and very basic shader? Reading the Away3D Api Doc's made me insane. Nothing but rlly nothing looked like the former MoleHill anymore.
6 Hours. STOP!!
Okay. Clean your breath. Try something very different.
Grap yourself an Extension of AxSprite. Copy and paste the whole draw() routine made be Arkeus. Register more Textures. Replace the Shaders.... and remember the way how shaders work. How to pass structures. How to anything.
Here:
I made work. 9 hours.
Just in this moment the ppl that would like to help contact me in Skype. I ask them how well they know about shaders. That scares them so much, that they dont even want to try how to make maps with tiled. It's gotta to be too complicated.
Well. You cant have it all, no?
Just in this moment the ppl that would like to help contact me in Skype. I ask them how well they know about shaders. That scares them so much, that they dont even want to try how to make maps with tiled. It's gotta to be too complicated.
Well. You cant have it all, no?
Tuesday, June 25, 2013
Networking
Well. After finishing the primitives and with that Path-Following Sprites, I thought it's time for the first networking code. The plan was to do a smal echo Server in whatever that just connects the clients to each other. This would add the first 'multiplayer'-Feeling to the game and this is, by far, the best thing to do right now.
After havin' a short look thought the Adobe Homepage I noticed that using binary Sockets is rlly just the same as usual. But even thought I became unsure about how and were to include it into the game. I mean. At the Moment the whole AxGL Engine is based on it's invinitive-loop and maybe a dozend of events happening. But is that the right way? On a multiplayer game with maybe 50-100 network objects, shouldn't it be based on the Networking Stack? Questions, Questions, Questions... I decided to google bout that.
To behave there not rlly AS3 coders out there that seems to be talkable about networking code. Or they are not well listed by google. Who knows. But I can understand that. I belive for the most reasons its okay with HTTP-Connecting to php/asp/whatever scripts in order to get updated info's. Or you have just a few real time acteurs just in fancy games such as Curve Fever.
I ended up on PlayerIO.
Ryan Brady - current location unknown! - did a broad Tutorial about how to handle networking in Flashgames. Of course by using the PlayerIO, that is not just a AS3 and C# driven Client/Server Lib but a complete Bussines-Model. Yeah. It's true. You can host your entire server there for free, expensive, rlly expensive and billionaire. Depends on what kind of payment models, database and traffic you need.
In fact. It dont looks like the worst thing on earth. Too bad there is nothing on that Page that gives you the feeling they are still alive. Besides the Forum.
But about the tutorial. Its good and awfull at the same time. He covers many important points. But he does it for dummys. Whats the meaning of doing a network, tasks handling, and PROGRAMMING tutorial, without ANY src samples and then make it for an audience with the coding skill of wet bread? I mean. Give you that:
Anyway. It's still a nice Tutorial and made me sort all my thoughts and experiences from other multiplayer games. At one point Ryan said: It's not about real-time. Its about giving a good Ilusion of real-time. And thats just true. I remember tousands of times in WoW or RO2 having heavy desyncs. But still enjoyed the game. It's not about beeing perfect. Thats technical impossible. It's about handling things well. And now I became sure I could do that :D
Another thing about PlayerIO: The network Traffic.
The API sends any command packet just like this. Where type is an identifyer String and datan
is a binary package.
Well. Again. The type is a string? What the hell?! Thats soo safh like. Why use something that you can compare in fast switch statements? Naa. Lets use strings. It's easy... I would understand that if they would send the whole package in XML. But that? It makes me nuts.
But even more important. Im currious how they actualy implemented that. On shuttered network action ... how do they know for sure when a new string starts and when not? Are they just trusting that the socket will take care about it, and every time he got "some Data" of course it will start with a new package? The hell?!? Do flash acts like this? Again I got the feeling I have to learn more about flash :|
Why do I care? Well. In fact I played with the thought to copy PlayerIO's Networking Protocol. As least the basics excluded with all the database direct access and hell ton of things that are possible. I have to implement something anyway and. As least... In case that needed I could try out one of this PlayerIO-Free packages for the first playable multiplayer demos of my engine.
One thing they got right: I rlly dont feel like having fun on playing security admin for a server. By doing this I just waste even more time that I could use for doing the game ...
After havin' a short look thought the Adobe Homepage I noticed that using binary Sockets is rlly just the same as usual. But even thought I became unsure about how and were to include it into the game. I mean. At the Moment the whole AxGL Engine is based on it's invinitive-loop and maybe a dozend of events happening. But is that the right way? On a multiplayer game with maybe 50-100 network objects, shouldn't it be based on the Networking Stack? Questions, Questions, Questions... I decided to google bout that.
To behave there not rlly AS3 coders out there that seems to be talkable about networking code. Or they are not well listed by google. Who knows. But I can understand that. I belive for the most reasons its okay with HTTP-Connecting to php/asp/whatever scripts in order to get updated info's. Or you have just a few real time acteurs just in fancy games such as Curve Fever.
I ended up on PlayerIO.
In fact. It dont looks like the worst thing on earth. Too bad there is nothing on that Page that gives you the feeling they are still alive. Besides the Forum.
But about the tutorial. Its good and awfull at the same time. He covers many important points. But he does it for dummys. Whats the meaning of doing a network, tasks handling, and PROGRAMMING tutorial, without ANY src samples and then make it for an audience with the coding skill of wet bread? I mean. Give you that:
From here on out, you will see very little code. We will instead be focusing on the theory behind how to make real-time games. Again, it is hard to overstate how difficult and complex a real-time game can be. Simply making a character move around properly using proper lag-defeating techniques may take you days to properly understand and implement.... assumed your an starbucks-apple-flash-hipster script kiddie: Isn't that motivating or what?
Anyway. It's still a nice Tutorial and made me sort all my thoughts and experiences from other multiplayer games. At one point Ryan said: It's not about real-time. Its about giving a good Ilusion of real-time. And thats just true. I remember tousands of times in WoW or RO2 having heavy desyncs. But still enjoyed the game. It's not about beeing perfect. Thats technical impossible. It's about handling things well. And now I became sure I could do that :D
Another thing about PlayerIO: The network Traffic.
The API sends any command packet just like this. Where type is an identifyer String and datan
is a binary package.
Well. Again. The type is a string? What the hell?! Thats soo safh like. Why use something that you can compare in fast switch statements? Naa. Lets use strings. It's easy... I would understand that if they would send the whole package in XML. But that? It makes me nuts.
But even more important. Im currious how they actualy implemented that. On shuttered network action ... how do they know for sure when a new string starts and when not? Are they just trusting that the socket will take care about it, and every time he got "some Data" of course it will start with a new package? The hell?!? Do flash acts like this? Again I got the feeling I have to learn more about flash :|
Why do I care? Well. In fact I played with the thought to copy PlayerIO's Networking Protocol. As least the basics excluded with all the database direct access and hell ton of things that are possible. I have to implement something anyway and. As least... In case that needed I could try out one of this PlayerIO-Free packages for the first playable multiplayer demos of my engine.
One thing they got right: I rlly dont feel like having fun on playing security admin for a server. By doing this I just waste even more time that I could use for doing the game ...
Monday, June 24, 2013
Hunting for Sprites
You know, there soo many amazing Tile-Art on f.e. Deviant Art. Just like:
or
But most of all I got inspirated by this ones ..
I think that most of them had been made for beeing used in RPG-Maker projects. Just like there millions everywhere and all of them have more or less good standarts of quality.
But that Tiles made for DragonBoy are just something different. First of all they are not just 90° Degree orientated. Gosh. Sure why should they? There is no technical Reason to do so nowadays. Even thought your game is a Tile Based thing. Why not just ... nah?
On the other Hand I love the lightning. Even thought im very sure its photoshopped.
Thats what I want. And thats whats im Working for: To make a Tech demo that is good enought to make this kind of Artists join me :) Some day!
or
But most of all I got inspirated by this ones ..
I think that most of them had been made for beeing used in RPG-Maker projects. Just like there millions everywhere and all of them have more or less good standarts of quality.
But that Tiles made for DragonBoy are just something different. First of all they are not just 90° Degree orientated. Gosh. Sure why should they? There is no technical Reason to do so nowadays. Even thought your game is a Tile Based thing. Why not just ... nah?
On the other Hand I love the lightning. Even thought im very sure its photoshopped.
Thats what I want. And thats whats im Working for: To make a Tech demo that is good enought to make this kind of Artists join me :) Some day!
Sunday, June 23, 2013
It's all primitive ...
GOSH! After, how many hours of work(?), I finaly made this 'draw-primitives' code from the AxGL Forums working. Thanks Arkeus!
As you can see I allready made huge usage of my new gained power: Hitboxes, circular Hit-Detection, Paths. Everything is finaly some kind of visible!
Somehow It was nice to deal with that code. Even thought I cannot imagine on what kind or version of AxGL it was based, it was somehow confused into itself.
After all it made me curious about doing some shader stuff... Lightning is needed anyway sooner or later.
Next step: Networking!
As you can see I allready made huge usage of my new gained power: Hitboxes, circular Hit-Detection, Paths. Everything is finaly some kind of visible!
Somehow It was nice to deal with that code. Even thought I cannot imagine on what kind or version of AxGL it was based, it was somehow confused into itself.
After all it made me curious about doing some shader stuff... Lightning is needed anyway sooner or later.
Next step: Networking!
Monday, June 17, 2013
Why AxGL?
Well. In case you did not allready knew: I'm using AxGL for this project.
Watt?! AxGL? Flash?
So well. The first Reason for me using flash is that I dont rlly care in what I will do the client. But, once started, I want the players to be able playing the game without many problems. No install routines, no Operating-System-Problems. Nothing.
Why not Canvas and HTML5? In fact I wanted to do it with canvas in the first Place. I even buyed a Book - Making Isometric Social Real-Time Games with HTML5, CSS, and JavaScript - hopefully I could learn something. In fact the Book was nice, even thought I wonder what some ppl think on theyr Book titles, and even thought it just covers very basic topics. But in fact I noticed the lack of Perfomace. Yes. Even thought many tricks I wasnt able to become happy with the Perfomace.
It might be okay for some not critical, turn based games. Or some with a low object count. But for a network driven real time game? No thanks. Not with me. Not at this time.
Looking around in hipster world of Flash-Coding (whaaat? you can actualy code with flash?!?) I came down to Flixel. After all I have to say I enjoyed the way that Flixel did things. You can find addons for almost everything. Then I found AxGL - kinda Flixel with 3D. I could not had been more happy!
Well. Of course I did not knew about things like Starling or the amaaazing nd2d (even thought its discontinued) ... But right now im happy with AxGL. It's Autor is very skilled and experienced and it works like charm.
You cannot always restart a project. So for the first Client AxGL would it be.
Im so damn happy that my AS3 exp also gains Day by Day ...
Watt?! AxGL? Flash?
So well. The first Reason for me using flash is that I dont rlly care in what I will do the client. But, once started, I want the players to be able playing the game without many problems. No install routines, no Operating-System-Problems. Nothing.
Why not Canvas and HTML5? In fact I wanted to do it with canvas in the first Place. I even buyed a Book - Making Isometric Social Real-Time Games with HTML5, CSS, and JavaScript - hopefully I could learn something. In fact the Book was nice, even thought I wonder what some ppl think on theyr Book titles, and even thought it just covers very basic topics. But in fact I noticed the lack of Perfomace. Yes. Even thought many tricks I wasnt able to become happy with the Perfomace.
It might be okay for some not critical, turn based games. Or some with a low object count. But for a network driven real time game? No thanks. Not with me. Not at this time.
Looking around in hipster world of Flash-Coding (whaaat? you can actualy code with flash?!?) I came down to Flixel. After all I have to say I enjoyed the way that Flixel did things. You can find addons for almost everything. Then I found AxGL - kinda Flixel with 3D. I could not had been more happy!
Well. Of course I did not knew about things like Starling or the amaaazing nd2d (even thought its discontinued) ... But right now im happy with AxGL. It's Autor is very skilled and experienced and it works like charm.
You cannot always restart a project. So for the first Client AxGL would it be.
Im so damn happy that my AS3 exp also gains Day by Day ...
Sunday, June 16, 2013
Lingering for Coworkers
Last days I was lingering for Co-Workers. You know. Sombody for ANYthing.
Doing sprites. Mergen Sprites to Spritesets. Doing Maps. Doing Game Objects
Maybe even importand stuff like Coding on the Client or the Server. Doing Menues, Titlescreen. ANYthing.
I even made a playable mini-mini-mini preview using Secret of Mana gfx.
Its nothing special. But it show the working multi Layered rendering. Yeah. The maps are done with just Tiled as JSON explort. The game allready load them via HTTP connection whitch means that the world could allready grow as much as it want to. Loading the Tileset itself via HTTP is of course also possible...
But yeah. Nothing. Not a single ass. Thanks World. Go fuck yourself : /
Doing sprites. Mergen Sprites to Spritesets. Doing Maps. Doing Game Objects
Maybe even importand stuff like Coding on the Client or the Server. Doing Menues, Titlescreen. ANYthing.
I even made a playable mini-mini-mini preview using Secret of Mana gfx.
Its nothing special. But it show the working multi Layered rendering. Yeah. The maps are done with just Tiled as JSON explort. The game allready load them via HTTP connection whitch means that the world could allready grow as much as it want to. Loading the Tileset itself via HTTP is of course also possible...
But yeah. Nothing. Not a single ass. Thanks World. Go fuck yourself : /
Subscribe to:
Posts (Atom)