Search This Blog

Showing posts with label mechwarrior. Show all posts
Showing posts with label mechwarrior. Show all posts

Friday, January 26, 2018

Just throwing this out there..

In response to a pretty high quality developer for Game-Guru saying he was done with Game-Guru after making a fairly phenomenal piece of work, I replied with something I think a few more would benefit from.

https://forum.game-guru.com/thread/219060

Example of his work:
Game is 'Cold Contract' by DuchenKuke


So I'm posting it here too :)

"I'll just throw this out there:
I've used a lot of different game engines over the years. I've worked in modding the original quake 1 engine going back to 1997/98 making a 10000 line AI program (500 pages or so of code) which someone else took to use to make the core 'reaper bot code' everyone knows and loves, worked in the MW4 engine making a mod called siege that the developers then used as the basis for a new multiplayer mode they added in the black knight expansion, I've worked in pie 3d gcs DOS/windows (required learning fortran/forth for ai programming!), worked in Acknex 7, 8 using their Lite-C system.

More recently I've worked in Unity, Unreal, heck I even played around in Lumberyard (not recommended for the average indy dev, btw) ... but the one thing that is a CONSTANT for all engines:

They all have problems. Every single one has stupid, obnoxious problems that require constant mucking around with to make them function. GameGuru is no exception.

That said, when you've exhibited the level of proficiency you have and then drop a project because you're frustrated with the errors - I get that, I do.

However you are going to run into problems in other engines too. I recommend taking a short break then getting back to it. Finishing a project, no matter how bad it is, is a skill a lot of indy devs lack. I myself suffer from 'I got bored and annoyed' syndrome. In spite of that, if you want to be successful you have to power through it and grind it out.

Use innovative solutions to deal with your memory issues or problems with long load times.

Also, best advice I can give for fixing your errors:
Read the log files! Enable logs if they aren't setup to (I think you have to modify a setting in setup.ini) and read the logs. There's a lot of info in there that's pretty plain to see like 'error loading model such and such.'. Great - then remove that model! Done. Problem solved.

I've made a lot of games I don't release that are just private endeavors. I'll post my most recent one here shortly, which has a whole 'five nights at freddy' vibe to it. It's all doable. It requires testing and fixing. It requires reading log files. It requires 'adding things the standalone builder missed'. It's all there part of the game making process.

In the end I have functional games that play well. You will too, if you don't take the easy way out and quit.

Good luck either way, I enjoy your work and look forward to more."





--------
Unrelated, on an aside I have a lot of really great coding projects for Game-Guru in the works.  Then I will, most likely be taking a move up to bigger and better things by adding Lua functionality to Unreal 4.18 and bringing my coding skills with respect to Lua over the Unreal.  My most major hangup with Unreal has been that god-awful blueprint system.  I get it's meant for the non-programmer but I don't like being stuck choosing that or straight up C++.  No ... thank... you.  Call me spoiled, but Lua is just so damn nice it's hard to not want to KEEP working in it once you get a handle on it's dynamic typing.

Projects should be complete within the quarter.  I also have a larger, longer term project being done for Game-Guru that only a few are aware of.  Once I get further along (80% of the way) I'll post here about it.  In the meantime the current rash of projects to watch for on the forums and TGCstore will be:
  • A very easy to use camera scripting system
  • A roguelike toolkit
  • Another toolkit I refuse to mention currently (separate of other project I won't mention).
And that'll be all!  Anyways, take care everyone and  keep up the good work, independent developers. 

Monday, April 3, 2017

MWDA, javascript, and weather system updates.

With my surplus of 'thinking time' for javascript coding, I find myself making progress inexorably towards a real, functional item.
So this isn't available yet but it will be soon.  I'm currently working on making this thing safely output to a page and I'll post it up on my blog eventually.

For your reference: MWDA is Mechwarrior: Dark Age.  It's a wargame using mini figures on the clix system.  It ran it's course a few years back and has since become something of a collector's item.  I collect many, myself.  That said, there's virtually no one to play with or against locally.  My sons aren't old enough yet.  So I have been humbly trying to migrate this to a program I can use and run to eventually build up to a full fledged game (similar to megamek in principle).  Then, eventually, I'll rip out the guts and rebuild it with my own game that I have been working on.

That said it's a great exercise in building something from nothing in javascript.  The current iteration builds it's own objects, a data table, a huge volume of information which only covers about 60% of the objects in the original Dark Age game.  There were many expansions of course, all of which will have to be added later.  The current version can do combat between two infantry units in direct contact.  It has no game board to speak of, no ranges, no graphics.  It's just the guts of a combat system and a very simplistic database.  

Once I have it mapping everything to a webpage properly I'll post it up on this site along with some updates from time to time.  I may obfuscate my code first, not sure.

We'll see.

 For now, that's what's up.  Once I sit down and hammer out my weather system (hopefully tomorrow) to make it consumable for the general public at large, then I will put it up for sale after final testing.  Price will range between 10 and 20 dollars.  Probably 15 with a sale price of 10-12.

Final checklist items needed for the weather system:
  • inclusion of my lightning scripting to provide realistic weather effects during a rainstorm.
  • ambient sound of various weather effects.
  • better methodology for deploying weather and time of day.
  • a general 'time of day' global variable based on loop counter/time.  Shouldn't be hard to do.  This will give a means to pull a time of day for secondary scripts (to allow shopkeepers to close up at 9pm, for instance).
  • better weather randomization.  Right now it's simply selecting based off a probability matrix.  This isn't really a great way to do things.  I'd rather it be for a percentage of the day vs just randomly selecting based on a time of day state change.  
I've also been thinking about just calling it early, wrapping it up, and saving other changes for a 'version two'.  Feature creep is a real bitch and sometimes it's better to just cut it off at the knees and save the rest for another time.  Some of this stuff is really easy.  Other stuff is more complex theoretical work (like how best to initiate/ramp up weather).

Anyways that's the status.  Take care and see you around.

Thursday, March 30, 2017

Found these two gems today (Javascript)

So I'm not some uber-JS programmer, let's just get that right out.  I know how to program and Javascript makes sense to me, until you add all those stupid extensions people throw at it like some kind of tacky christmas tree.

For a long time I've wanted to make a pure JS version of my MWDA (Mechwarrior: Dark Age) game for the browser.  However, my limitation was that I didn't understand how to get past the portion of actually outputting beyond using the alerts and stuff built into JS.

Enter the canvas element.  A cursory search today revealed an incredibly simple fix for this conundrum:

https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript

And:

https://www.w3schools.com/graphics/canvas_reference.asp

So the canvas, which is apparently a newish HTML element is one that is specifically made for people trying to do what I'm trying to do. Which makes it perfect for this iteration.   You basically get a blank drawing space.  I feel kind of dumb for not finding this before.  So when I've got time and I don't feel like reading RHEL Clustering Tech manuals, guess what else I'll be thinking about?

Monday, February 1, 2016

Monday Status Update 2/1/16

Another monday, another project.
I keep getting more added to my plate at work here without getting much taken off.  I find myself accidentally 'volunteering' for more stuff.

Anyways...

Non work related, my wife bought a very expensive 'print-making' printer for her paintings.  If you're interested, check out her poll over here: http://mariemessina.blogspot.com/2016/02/paintings-for-prints-poll.html

Current status:
  • Books - I began work again on 'MITC' - which is something I don't talk about much.  It's designed to be a short story for a collection I will do.  I'm up to 10k words on that one.
  • Game stuff - Made a free HD sky for game-guru owners here:  https://forum.game-guru.com/thread/214534
  • Tyr's Blade (My mechwarrior unit) is growing slowly and steadily.  Things going well there - newbies are getting better!
  • Game design - I bought the Sci-Fi pack from TGC; I'm satisfied with it but need to figure out what I want to make with it in terms of my existing project.
  • MWDA - did some work on my custom re-work of the game rules.  I have some new ideas I am going to run through and possibly integrate shortly.  Thinking of taking my work into offshoot territory.
Coming up this week:
A review of OldFlak's work!
A technique post on 'how to do interior shadows' in game-guru!
And more :)

Monday, January 18, 2016

Lessons Learned from Doom 1: PT 2 - Romero's *New* Level Design.

Warning: Long post/Profanity ahead.
This is an update post based on this:

http://gamegurureport.blogspot.com/2015/12/lessons-learned-from-doom-1-pt-1.html

John Romero made a replacement e1m8 level.  I messaged him on twitter, let him know I did a review of his Doom 1 level design rather recently... and he replied indicating that he might be interested in further review.  So rather than make some impromptu write up over this weekend while I was grinding for a Cicada 2A in Mechwarrior Online (which I play a considerable amount of) - I decided to give this thing a proper run through.  I cannot understate my excitement here.  A god of gamedev not only knew I existed but had read a post of mine on his work.  Further, he had redone a level I absolutely hated.  I always felt E1M8 was sort of a weak conclusion to what was otherwise an EPIC first chapter of Doom.  It's no secret I love that first episode, having gamed it to oblivion over the past 20 years. 

I WAS NOT PREPARED.

Let me make this abundantly clear; I went into this thing knowing how John Romero recommended playing it:  Old school - start with a pistol, no mouselook, no jumping, no cheats (of course) and in my case - ultraviolence difficulty.

I also kept my usual setup:  smoothdoom + textures and 'fast' enemies.  Doom64 weapon graphics (except the pistol; original pistol is the best!), blood sprites, gore sprites, weapon shell casings.. etc.  Mouselook and a crosshair because I don't think I can send myself that far back in time.  No sound because I don't have that luxury at the moment.  So that's an added difficulty I impose on myself as well.

Yeah, this should be fine.  No problem.


I quickly learned how mistaken I was.  Romero was NOT fucking around.  Not a single - damn - bit.

This is literally the first room and probably my fourth or fifth death.

 Remember this?  Well - 20 years later, it happened.

So ... I had to turn fast monsters off.  I was simply getting mauled with that setting on with no gear to speak of.  I tried again and... dead.  Even on standard ultra-violence with just a pistol I was having difficulty.  Luckily I had a recent save from a play-through where I'd stopped on E1M7.  


Ready to go, clearly this will be enough (I hoped).

Side note: You'll notice the weapons 6 and 7.  That's because on this play through I wanted extra weapons like the BFG and Plasma rifle - so I used the cheat code on E1M1 to get them.  However, for the sake of the old school, I swore not to use either.  Bear in mind up to this point I'd been playing just fine with my fast monsters/etc.

 Yep, that did the trick.

So at this point, I'm realizing he really was going for broke.  I'm not going to rehash 'old dogs learning new tricks' or some other trite bullshit.  It doesn't do him the justice he deserves.  

Romero clearly wasn't up to par - he was beyond it.  Gods, after all, don't age.

Around this point I noticed the monster count in the mapper.  291 enemies - that's... pretty substantial alright.  Someone's clearly going to make me earn the 'beat this level' achievement.  Fine.  Let's do this.   On top of that, I was trying to get good shots of the level design.  I noticed he'd kept the map texturing consistent with the old episode of doom.  The Brutalist Architecture was in prime form and every corridor gave me a renewed respect for someone who clearly hadn't diminished in the slightest.

This map, no kidding, is GIGANTIC.  The outdoor area is mindblowing for a doom map.

Refined principles of lighting, design and traps showed that Romero had designed not something for the masses to enjoy.  This was something for himself to enjoy - he just deigned to share it with us.  

 No matter how painful that gift is, we still love it.


Secrets were well placed; they provided a welcome refuge against the literal onslaught of hell-hordes which constantly required piles of brass and a bullet hose to cleanse and purge.  
 
This one, in particular, gave me a wicked grin.  The berserker pack on this map is wicked fun.

Brutal and effective.  The invisible pinkie splits in half quite readily.

One thing that really stood out here was that this map supports a variety of playstyles.  I for one, take a fast but conservative method.  I'm not a big fan of those speed-runs that just get you through the map as fast possible.  I want every ... SINGLE ENEMY DEAD.  Weapons can be anything you want; he's got it setup that if you want shotguns, you use shotguns.  Chainsaws? Fine.  Fists?  Go for it.  Inventive use of barrel explosions?  You betcha.  Whatever you want, this map has it in spades.  It only asks for one thing:

I know this lady.  She's a harsh mistress... but I know what she likes - blood.

Heaping buckets of blood, specifically.

So now for some more critical elements I've picked up while blasting my way through this map:
 
  1.  Romero clearly had an itch to redesign E1M8 - I'm just spitballing here but this is the kind of thing that reminds me of an itch that had never been scratched just right and for whatever reason deemed now was the time to get it right.
  2. He uses a lot more Doom-3 style surprise teleports where the enemy appears behind you and you're left wondering how the hell they got there.  This was a frequent cause of my demise.
  3. Secrets are difficult at times to find and easy at others.  His old tricks of texture maps being slightly off or an out of place color seem cleaner and more efficient.  There are a few that you'll only find if you bang on every wall with a hammer or check the map for obvious wall differences.  A certain one in particular ran me in loops for 30 minutes reloading saves until I finally figured out the right way to make a switch appear.
  4. The sense of awe on this map  can only be known by playing *IN* the game.  I mean it's something to behold, literally.  The colors, the SIZES of the rooms.  The outdoor area - there are many times I just stopped to soak it in.  It's something rarely matched in modern games - let alone a map made in a 20 year old engine.
  5. The use of enemy position on this was far greater than previous work that I've seen.  This was some kind of devil-bastard child of Peterson's traps with Romero's level design.  
  6. One thing I realized here that Romero had that Carmack never did - Romero coded; he was adept at it.  He also did a lot of other things - but eventually ended up doing level design.  Carmack never had that breadth of experience.  It gave him an incredibly powerful but narrow view of game development.  To me, that explains why the life fell away from iD after John Romero's departure.  Carmack is a coding god in his own right - but without the force of energy and passion behind the game you end up with something very rigid, clean, precise - and boring.  Romero's levels are anything but.
  7. Item placement is handled at first with a sort of liberal aplomb but it's actually very well managed; at times you feel like you're starving for an item and then realized `if only I'd have found that secret, this wouldn't be happening`.
  8. Use of color is expertly done with natural contrasts occurring regularly - browns and blues, reds and blacks (See below).
The redesign of this room gave me cold chills on the first glimpse of it.  I knew what was coming and was anxious, happy, thrilled, and fearful all at once.  Note the cell count hasn't wavered.  I stuck to my promise and cleared this bastard using only what I'd earned to this point.

I'm not sure how to wrap this up, honestly.  I'm going to be absorbing what I can from this asymmetric masterpiece for at least the next few weeks.  It will *ABSOLUTELY* take the place of E1M8 for me - in perpetuity.  It's easy to see this was how it should have been.  I can literally forego the rest of the Doom saga - to me - this is all that's needed.  It brings to a close the best episode of the best FPS game I played as a kid.  I am humbled to have witnessed something like this in my lifetime.  It's akin to Leonardo Davinci coming back to life and adding another painting to his original works.  Or, if you're an Ayn Rand fan - it's a bit like hearing Richard Halley's 'Fifth Concerto'.

I truly hope that Romero keeps working on more games; a talent like this should not be wasted.  It's something that can only be gleaned by thousands upon thousands of hours of gameplay, testing, design, and full understanding of  game development as a WHOLE by living through every piece of it.  The world is better off for it, in my very humble(d) opinion.

For now, I am happy to have witnessed and perhaps learned something myself from it.  He's given me a lot to think about, that's for sure.

Friday, January 8, 2016

Mechwarrior Online Training tonight

So I'll admit I've been sick this week and had a lot going on.  I've used that as an excuse not to do a lot of work.

I do however have a weekly Mechwarrior Online unit get-together and tonight is my semi-regular training event.  My unit is "Tyr's Blade" and can be found here: http://tyrsblade.enjin.com
Anyways, tonight's training is from 9PM EST to 10PM EST.  It'll be in a private lobby.  Here's the agenda.

Tonights basic Agenda:
MAP choice: Forest Colony.

 - Basic training 10m
    "hill humping"
    "Corner peeking"
    "Twisting damage away"
        - The wiggle
        - The turn
    "Nascar"
 - Group tactics  15m
    Wingmanning
        staying near someone, within about 50m.
             - too close and you bump
             - too far away and you lose focus fire, reaction time and/or ECM.
        reticle shows distance
    "Cyan" letters
        shows guys in your 'lance'
        Q key shows people on your team.
    Stay close, don't lose your partner.
    Support them, shoot their targets.
    Focus your fire on where they are shooting.
    break up into two man groups and fight it out
       
- Light mechs  20m
    * speed is life
    * so is ecm
    * clan lights play like IS mediums
      - except the arctic cheetah or myst linx
    * overheating in a light mech is a death sentance
    * overheating THEM works very well.
    Speed turns:
        - center legs to torso
        - Jumpjets
    Circling
        - is basic... but effective against noobs and some pros
        - try staying behind instead
        - Jumping over their head, takes them longer to turn around.
    Assassinating
        - sneak up - shoot in the back, ALWAYS CORE OUT
        - I'll be in an assault or heavy for training.
    Wolf-packing
        - I will be in assault mech and get swarmed.  Try to kill me/survive.
    Scouting (tag, narc, long distance spotting)
        * UAV is a must.
        * Artillery is useful.
        TAG laser: targeting acquisition gear, laser spotting.
        NARC: Disables ECM, makes enemies able to be locked on.

10m open forum/questions.


Beyond all this, I intend in the next week:
- More work on my game
- A big review of Voodoo's free products
- A paid product review (not sure what yet.  Depends on a few factors).