|
Post by bastardcode on Oct 28, 2014 20:22:52 GMT
Edit - I know a couple of you have been eager for a test build. I also know that lack of screenshots has dampened enthusiasm. Long story short, the point at which it is semi-playable is the point I'll skip the screenshots and just let people test it. The people that are still active I'll send it to first. Not quite at that point but getting there.
Alright, I dig this game something fierce. RS died a slow, undeserving death. So this, for whoever still gives a shit, is the formal announcement that I intend to resurrect it.
There won't be no fancy graphics. There won't be no optimized code. and there won't be no dropping off the face of the earth like all the other worthless fucks.
And because I'm the one coding, I'll be porting Rogue Survivor to HTML5 and using Phaser.js
It won't be pretty, or performant. For anyone that has any complaints please file them in the trash bin over here cause I don't give a shit.
Once all the basics are squared away I'll add socket.io and Node.js support for multiple players.
I don't care for special infected so I'm not implementing them at first. Being a JS port YOU can implement them, and it shouldn't be too hard because I'm obsessive with comments.
For graphics I'll be liberating Deons works from the depths of obscurity, with or without his permission.
Screenshots will be unceremonious, updates will be sporadic, and browser compatibility will likely be sketchy.
Time to bring frankenstein back from the dead.
I'll post WIP twice weekly, one for features and one for bugfixes/patches. Your welcome to shower me in praise or criticism. Neither of which I care about, and both of which I'll ignore.
FORWARD!
|
|
|
Post by bastardcode on Oct 29, 2014 21:28:29 GMT
VERSION 0.0302 alpha ## Additions ## - Phaser up and running with blank canvas - Individual placeholder character added - Placeholder ground sprite added and tested
## Changes ## - Layering tested for overlap. Experiments show overlap /is/ order-dependant. - Worked out and clarified versioning scheme
## Notes ## I'm learning Phaser as I go. It's not hard, most of it is very intuitive and even for a beginner I have been able to answer questions and get results by opening up the code and examining the source itself. Very clean documentation.
Versioning goes something like x.xxxx
where n.xxxx is major milestones, documenting gradual, accumulative improvements, as a big step forward. x.nnxx stands for when additions are made to the code, in particular, features. x.xxnn stands for bugfixes and otherwise invisible changes to code. These last two digits are hexadecimal.
I'm looking at having a static map I can test on, simple movement, turn counter and a few other things up and ready by the end of today or tomorrow, but I'll save whats done so far for the next changelog. Progress report will be posted up as soon as it's ready, the latest will be saturday.
I'm looking at two weeks to get A* path finding working, implement ultra simple randomized buildings, single map play, and enemies you have to avoid. At that point it will be a glorified maze runner.
FORWARD!!
|
|
|
Post by TastesLikeHuman on Oct 30, 2014 8:34:10 GMT
Good Luck Bastardcode! Looking forward to it!
|
|
|
Post by bastardcode on Oct 31, 2014 3:09:15 GMT
VERSION 0.0605 alpha - Arrow Key movement added - Implemented CSV mapping support (tile properties for collisions pending) - Very basic map for testing implemented - Evented turn system WIP
## Changes ## - Removed scaling factor. Discovered it was redundant. Derp. - Found a few bugs involving Chrome. Confirmed it works in latest build of Firefox. (not that any of you can test it yet)
## Notes ##
Not much done today, spent time with kids doing "poison checks" ahaha. Trying to setup an evented input system instead of polling for keypresses constantly. We'll see how it goes.
FORWARD!!!
|
|
|
Post by bastardcode on Oct 31, 2014 20:48:29 GMT
VERSION 0.0907 alpha ## Additions ## - Evented input "ANY key" partially implemented (this will make turn based movement easier because I now don't have to write as much timer code) - Full evented NUMPAD movement implemented - Grid movement implemented
## Changes ## Ripped out polling/single-key eventing. (inefficient) Changed folder layout for assets. Reorganized files
## Notes ##
Gonna end up implementing optional realtime / semi-real time. I can feel it. Dammit. That headaches for later, thankfully. I have screenshots but it boils down to a single character moving aimlessly on a map full of grey grid squares. It looks like dogshit.
FOWARD!!!! (and don't step in the dogshit)
|
|
|
Post by bastardcode on Nov 4, 2014 0:37:14 GMT
VERSION 0.1110 alpha ## Additions ## - NextTurn() implemented - Bitmap font rendering in (didn't get more time to work with it)
## Changes ## - Removed old test code - Implemented turn flagging - Moved movement code to update function to enable per frame logic instead of per input, in order to speed up processing inbetween turns - Removed old eventing code and other dead wood - Fixed bug with passing keycodes between nextTurn() and update() (theres probably a better way to do this than using globals but I don't care) - Internal Turn Counter implemented as an object - Up and running with JSLint - Stupid rendering bug involving map layering and fonts fixed
## Notes ##
Had other stuff to work on but I spent a couple hours dicking around today. Got next-turn support in and added bitmap font rendering. Next update I'll get to the loading screen. Been taking my sweet ass time with everything else. Also I lost almost two whole days to Cataclysm DDA. Having played it, the bar has been set higher. In any case RS and Cata are different sorts of game.
Inbetween Cata and other real-life stuff I haven't got any significant crap done (like map support for collision properties). That will come in its own time.
FORWARD!!!!!
|
|
rafe
Junior Member
Posts: 97
|
Post by rafe on Nov 9, 2014 22:04:50 GMT
Even with your jerkish terms, I support you.
|
|
|
Post by bastardcode on Nov 10, 2014 5:22:12 GMT
VERSION 0.1214 alpha ## Additions ## - Added a placeholder wall block (doesn't even block yet. Worthless ghost walls.) - Other stuff that I can't be arsed with.
## Changes ## - Implemented & Changed font to nokia - Fixed dumb bug caused by referencing the wrong font - Fixed another dumb bug involving tilesets being treated as individual images and vice versa. - Started work on the collision system.
## Notes ## Didn't take a hiatus or anything. I've been working on fences for cash and dirtying my hands. Also lost a couple more days to Cataclysm. Ha. Codes getting fugly, gonna need another clean up soon. On a stupid but interesting note, if we all act naive for a moment I have some calculations. If it takes me 100 changes to get to ALPHA 1.00 something status, (the point where its kinda-sorta playable and not just an ugly blob) then 1. I'm averaging 2 additions (not just changes and bugfixes) per version. 2. The average time between releases is 3 days (except for this recent one) 3. So it will take me (100 / 2) * 3 = 150 days. Thats 5 months to get to ALPHA 1
Enjoy the wait ;] Keep looking.
FORWARD !!!!!!
|
|
|
Post by bastardcode on Nov 12, 2014 8:04:26 GMT
VERSION 0.141a alpha ## Additions ## - Implemented dummy collision system. - Bashed head against keyboard until I passed out - Collision detection for walls WORKING! But buggy as shit and inconsistent.
## Changes ## - Switched the movement code to it's own function for code reuse - Fixed some issues with debugging - Fixed hard to find bug in collision system related to how coordinates are stored - Implemented a ton of constants along with a small test suite section. A big chunk of rewrites for maintainability. - Cleaned up a bunch of old comments and unneeded debug statements - Dumb issue with test map fixed. CSV can be annoying and painful.
## Notes ## Now that I know where I'm at I rewrote the MVP (Minimum Viable Prototype) requirements for MVP 0 (technical demonstration). I also cleaned it up and documented it better. The MVP is for my own use so I won't elaborate on it further, just think of it as a redneck roadmap. Also, this last update I coded without pants, just because. Deal with it.
Tile properties are stored in plain javascript, or JSON, and CSV is used ONLY for map data. I'll port it over to pure JSON once I have a handle on how thats going to work.
FORWARD!!!!!!!
|
|
|
Post by bastardcode on Nov 16, 2014 4:54:51 GMT
VERSION 0.141f alpha ## Additions ## - Haha, none.
## Changes ## - Fixed walls being passable likely due to a couple of lines missing half an expression in movement prediction - Ripped out 1-based tile indicing, was causing collision problems - Fixed bug where sometimes player input wasn't being reset after a collision. May still be an issue. - Made walls dependant on game object coordinates, instead of CSV, for testing purposes. - Established a crude bugtracker/log, logged a few bugs and tested like crazy.
## Notes ## Incredibly busy prospecting for a job, and tearing out walls/flooring at my house. Thank you God for crowbars. Encountered a terrible headache of a bug along the way which is (mostly) solved.
FORWARD!!!!!!!!
|
|
|
Post by bastardcode on Nov 17, 2014 6:22:49 GMT
VERSION 0.1423 alpha ## Additions ##
## Changes ## - Definitely fixed input reset bug - Fixed ghost walls bug which allowed diagonals being crossable on solid objects. - Fixed diagonals being inconsistently blocking/nonblocking - Ripped out a ton of junk instrumentation code
## Notes ## Code needs to be spruced up again due to the somewhat unorthodox way in which I totally fucking butchered it to get things working as they ought to. In the meantime I stumbled across a ton of little shit that was inconsistent, and causing non-obvious problems in the collision system. Now everything is peachy. Just got to put humpty-dumpty back together again. Or make scrambled eggs. This was finished yesterday but I had other things that needed done.
Now that walls are in I can fix some of what I messed up in the process of fixing them. I'll take an ugly solution that works first, over a pretty solution that doesn't, any day. Enemies, pathing, inventory, prototype items for fighting with, and other stuff can now be started on.
FORWARD!!!!!!!!!
|
|
|
Post by bastardcode on Nov 18, 2014 1:33:22 GMT
VERSION 0.1527 alpha ## Additions ## - Implemented a test map for mockups ## Changes ## - Player variable now exists as part of an object for maintenance purposes. - Input register and input value register added to player object. Maintenance. - Player tile position now part of player object as well instead of re-initializing-every-single-turn - Testing and fixing this stuff as-I-go per usual ## Notes ## Need to changeover raw x/y modification code in the doMove() function to also update player tile positions, so I can decouple. collision code from movement code further. Also, I stumbled on a LOS algorithm that I've never seen before. It's the geometric equivalent of breaking the screen into 8 potential visible sets, but it involves only one ray casting for visibility determination, and reduces the 2 dimensions of the algorithm to 1, cutting compute time to a quarter of most metrics. The Juicy part? It combines FOV (field of view) and LOS computations into one calculation. Further testing will prove if it works or if it's just the delusions of someone whos been awake for 36 hours. FORWARD!!!!!!!!!!
|
|
rafe
Junior Member
Posts: 97
|
Post by rafe on Nov 18, 2014 21:53:32 GMT
But where is the screenshot?
|
|
|
Post by bastardcode on Nov 18, 2014 22:31:18 GMT
But where is the screenshot? Is it not showing up? I used an anonymous image host so I didn't have to be arsed with signing up to imageshack or the like. Edit: thanks rafe.
|
|
rafe
Junior Member
Posts: 97
|
Post by rafe on Nov 19, 2014 13:12:41 GMT
I use kn3.net . Thry that one, yours ask me to complete a capcha.
|
|