CYBORG (prototype)

Comments

  • Hiya, So I've been looking into AI to bring the Cyborg galaxy to life a bit. AI ships flying about minding their own business etc, without damaging anyone's property as a result of some unfortunate collision. Those space stations are expensive...

    A first attempt was to use a classic collision detection method of raycast detecting what is ahead of each ship as they fly... a front, left and right ray is cast to detect potential collisions and hence avoid those collisions early and rotating away to safety. It works, kinda, but felt rigid and the 3 rays have gaps which cause some awkward moments where ships get stuck and then a weird ballet dance ensued...

    image

    I tried a different approach which seems a bit more natural. It involves the Unity physics engine and applying repelling forces based on velocity and nearest ships within a circle check. It is a slight improvement. I am still looking into other alternatives, so If anyone knows of a good way to handle this, I'd appreciate the advice. Here's the latest attempt at getting sector traffic to work using that approach... Ships patrol to a set of waypoints and avoid each other as best as possible.



    Sector traffic? I've been thinking of the galaxy as a whole where sectors were inter-connected and thought (just like on planet earth) in the future there's going to be regions of contention... If that was indeed to be the case, I'd imagine something similar to a Voronoi pattern that dictated jurisdiction (similar to a giraffe skin) to define each region in the galaxy, so I made a quick prototype:

    image

    Lemme know what you think?

    Cheers, K
    Thanked by 1iceblademush
  • Some random thoughts on design and potential for extension.

    The prototype starts with the ship builder.
    Think of the builder as a blueprint or ship wharf where ship construction is done. It happens at a station wharf.
    It has some basic shapes that invites the player to be creative. To make something of their own design.
    Ownership in this way is important because the player has an attachment to their creation.
    They are not simply given a ship, but have to construct one. It is easy and quick to construct a new ship using the base shapes, which can be scaled, rotated and connected.

    The ship builder is also the tool used during development to create the NPC ships and stations which the player will encounter. Progression could happen where there is a cost/size limit to a new ship initially which is relaxed the longer the player survives and acquires more wealth.

    The ship or base is a place to call their own. They can use it to discover and explore a hostile galaxy and will need to protect and maintain their ship or base.

    The outfitting of the ship and its pilot is also player choice driven.

    The reason one can enter and exit the ship is to allow the player the opportunity to explore or customize further.
    A "dungeons in space" level design is possible, where the dungeons themselves rotate and move and interconnect.

    The player can move off their ship and travel to an external location and back again after using the ship itself to travel to new locations. It could also allow them to tinker with the internal ship systems which could provide further interesting player decisions.

    At its heart there is an action arcade element to the game where the player finds new items to extend the capabilities of their ship/base or self.

    The ship also serves as a store for items (the hold) which could potentially be lost if it is destroyed. Risk/Reward.

    The outfitting of the ship with different components and weaponry could support a strategic choice as well. Where certain items are more effective for specific tasks. Only by trial and error would the player discover what the best combinations are.
    Certain weapons are more effective against specific faction shields and ships.

    Finally due to the modular nature of the ship, it could allow interesting game-play where a player on a heavily damaged ship has to run for the airlock, if that part of the ship is still intact to then use it to eject away, like an escape pod, and head
    towards a friendly station where they can rebuild again. Or if they don't eject, they could be cloned/reborn at a station, but at a cost and have to start again.
  • Update: Cyborg v0.06: CYBORG v0.06 for PC (20MB), is available for download and play.

    It is very rough, but allows one to play with the ship builder. There's many issues, some I'm aware of and some not.

    Any feedback as always is useful and very much appreciated.

    Thanks, K
  • edited
    Hey I played for a few minutes.

    Here are my thoughts:
    I enjoyed building a ship, but found it annoying that the pieces rotate a bit when they bump against each other. Maybe it would be better if the rotation is fixed when dragging the pieces. Also when it deselects the piece I'm moving, that's annoying. I didn't know if I needed all the systems or what but there's an element of guessing that I enjoyed.

    The ship moves very slowly. I found it sluggish.

    I think the player should move a bit more slowly as well. I kept bumping into walls.

    Being able to build your own ship is cool, but there needs to be more to do. Maybe a story with some objectives.

    Hope my feedback is helpful.

    - Joel
  • edited
    @Plenopterix Thanks so much for playing and the valuable feedback. Your observations are spot on.

    I agree 100% about the builder where you place shapes and they bump against each other and then rotate/move slightly. It annoys me too :) I'll try and resolve it ASAP because it slightly changes what that player is intending to build and I don't want to frustrate them when creating a ship.

    After the ship is built, movement is based on mass, which is determined by all the hull shape area sizes combined. It is simply a value that can be tweaked after the ship is built, a global magic value that is currently too rigid. As this is an arcade game, sluggish movement is not what is intended. I need to play around with that magic value to balance small to large ship rotation and speed.

    Objectives are planned and I have done so in previous prototypes, so I will definitely add it. It is important initially to guide the player in learning the game mechanics. The plan is to cater for open world style game-play where the player is free to explore and do as they wish, but guidance will be required.

    Thanks a mil Joel, that was very insightful.

    K
  • edited
    So AI... It's been something I have been very interested in for awhile now and I've been hovering between behavior trees versus finite state machines. Two very different approaches. For behavior trees I've deep dived into a product by a company called Rival theory. The product is called 'Rain' (used by Super Hot and Hairbrained Schemes). The company no longer seems to exist and their product has been pulled from the Unity store. A real shame because it was really powerful...

    Up until recently I was hell-bent on using the Unity Animator (Mechanim) as a FSM solution. See my post on April 2, 2017. Logically it seemed like a good choice, because Mechanim comes with a Finite State Machine engine (mainly for animations) out of the box where one can visualize states and their transitions as they happen... so why roll your own? It turned out that Mechanim was too restrictive for non-animation purposes and even Unity discourage using it for anything other than animations. It does not allow one to hop between different states with ease. You have to make sure certain variables are set for a state transition to occur etc. The real deal breaker was that there were cases where you'd think you were in a specific state, but you weren't because in Unity the update cycle it was just not in sync with what is happening in a physics cycle for example.

    I've decided to go with something far simpler instead...KISS (Keep it simple stupid) This article has some really great thoughts on implementing a FSM and I have been exploring using a similar approach for handling the minds of all NPCs in the game.
    Thanked by 1Kulu
  • edited
    Hello MGSA, just another quick update video :)

    Cyborg: Galaxy Map and Quests


    I've made some further progress this week by adding a Galaxy Map and a Quests system. The radar system is tied to the quest system to indicate where a player needs to go, but also indicates information about what is going on around the player so they can find their bearings. Mouse Zoom out all the way to see the galaxy map with sectors and player current position and quest location.

    Next up I'd like to add that sector traffic I was going on about to see how avoidance works and also have some stuff to shoot at, so I can work on how the ships come apart when their individual hull components are destroyed.

    Edit: The art direction is off. I suck badly at art and the direction there of. Lighting of the scene, size of inventory items etc. I am working to get to a point to have a world a player can interact with and then to continue prototyping interesting player actions and decisions as I go. That is the hard part.

    @Plenopterix Thank you so much for that feedback on the builder... I fixed those shapes moving when bumped... it's so so much better :)
  • edited
    Latest build of a very early prototype: Cyborg v0.07.

    As always I love any feedback. <3

    Also, assumption is the mother of all... I assume it is fun and intuitive to use the builder to make a ship. Is it? I don't know. Is it something that is intuitive or should players rather just be given a ship?
    Cheers,
    K
  • edited
    Cyborg: Hijacking ships like a boss...


    Playable build: Cyborg v0.08.

    - Added new mini tutorial.

    - Galaxy sectors are now faction controlled and I've added planets.

    - Added localised damage for ships... Shoot out the engine and it cannot fly, shoot out the airlock and you cannot board. Ships now come apart too.

    - Sector traffic has been added which uses a waypoint system. Any ship can be boarded and hijacked. I'm South African after-all :)

    - AI ships don't retaliate yet.

    I am currently only spawning 2 ships per sector because I was taking a performance hit across 30 sectors! I need to resolve that so there can be many many more ships in the future, the galaxy needs to be busy! Maybe a sector spawner which replenishes its ship stock over time will work?

    All the best, K
    Thanked by 1iceblademush
  • edited
    So, all that violence!? Hijacking ships like a boss? It has been something in the forefront of my mind all the time while making this prototype. We live in an extremely violent society so why make such a violent game?

    There's been many discussions on the topic and there are many opinions about it.

    Distinction between aggression and violence also have to be made. We are all aggressive in some form or another, it is a human trait and anyone is capable of violence. I believe we use aggression to release tension and frustration too and it can prevent violence. After that hard day at work, you feel frustrated and need to vent it. You say something you shouldn't or worse, throw that book. Maybe you feel better afterwards?

    There are great games that question violence such as Hotline Miami, and Spec Ops: The line too.

    In Cyborg there could be violence if the player intends it, like shooting at innocent trade ships or hijacking them.

    I have planned for a system security factions that will show the player there are consequences for when they behave violently. The player does not always have to be violent as they can make new ships instead of stealing from
    others.

    In Cyborg the galaxy is at war and in the worst possible place at the start. Unlike the wars on earth that are between governments, here they are between greedy corporations who are fighting for rare resources, which is just as bad, if not worse! Or is it just the same?

    I would want there to be a galaxy at peace at the end of the game.

    The missions could allow for the player to interact with each of the warring factions. A talented writer could make that happen. Also Cynthia is a product of this war as a cyborg herself and has had to perform many violent acts in the name of war. She is a victim and the goal is that her humanity is restored at the end of the game and peace is restored
    through its narrative and player actions.
    Thanked by 1Kulu
  • Cyborg: Faction Standings


    I managed to fix the problem of having a universe with so many ships. Each and every one was DDOS-ing my CPU and memory.
    The solution to the problem was simply to deactivate all resource hungry objects (like ships) that were not close to the player, so they go to sleep essentially, while still making the galaxy seem alive... smoke and mirrors I tell you!

    I started on the faction system too, where every bullet fired has consequences... see video. If this goes further I would not want that to be too apparent to the player though, but leave it to them to discover that violence has consequences and the game will get a lot harder if you make the wrong decisions... This hopefully carries forward not only in the flying and shooting, but hopefully also in branching narrative choices made eventually.

    The summer holiday is almost upon us and soon you'll be rid of Konman spamming this forum with his nonsense! LOL :D

    Have a good one, K
    Thanked by 3Kulu petrc dark_seth
  • Hello MGSA, just a quick post of the latest Cyborg build :) It's been awhile...Yoh!

    I've recently spent a lot of time refactoring code into S.O.L.I.D, D.R.Y, GOF code patterns to make things a bit more scalable for me to work with so I can play around with even more thingies a bit easier.

    Special shout-out and thanks to @GideonGriebenow for his tut video on bird flight which I've converted to 2D and features in the ship AI.

    Here's a chaotic video just testing various systems and concepts...



    Stay safe all.
    K
  • @konman is there a playable build anywhere? The mechanics in this looks super deep.
  • Hi @FanieG, it's been a long time! Good to hear from you again :) I assure you it is not super deep. I am testing verticals right now and there's very little horizontal content across layers. I can drop a build, but it it wouldn't make sense when playing it. Let me know and I'll make one for you on itch?

    Obviously the scope is pretty dangerous, but as it is a hobby project without timelines or resource constraints so it is not a risk for me. Inventory/loot is non existent as is stats (read in from Excel). Right now it is very much conceptual as is :D
  • @konman cool cool. Let me know when there is a itch build that you feel comfortable sharing. I just love games with lots of menu and inventory choices (armour, weapons, galaxy maps etc) which is what I meant with the deep mechanic (maybe worded poorly). But I can understand how that would take you a long time to populate as it is a hobby project as you stated, and making loot inventory is time consuming. Just can't wait to try out all those button choices (really neat looking HUD too). Also they lighting looks so much better than in old builds. Especially when 2 light collide. Thanks for sharing your progress, it's always inspiring.
    Thanked by 1konman
  • @FanieG Thanks for the kind words and motivation. I'll make a build tomorrow and PM you. Early feedback from you would be amazing :) PS: The lighting and shadows is Universal Render Pipeline in Unity. I still can't get the normal UVs (secondary texture of a multi sprite) to show for those marine levels. Not sure why yet. :)
  • For @FanieG, Build: Cyborg PC v0.09.
    It's a hot mess, be warned :)


  • edited
    @konman thanks for the share. The scope of this is...big. a Huge undertaking, so I can totally understand now why you are going about building it the way you are. This will have to be tackled layer by layer in order to make progress that makes sense and make the project managable for a hobbyist dev. What is there already is sweet! Let me know if you would like feedback on any particular mechanic or feature, as I am sure if I just throw some random feedback at you now, it would probably be stuff you are already aware of, or just haven't gotten around to yet, or not on your immediate to-do-list as you are busy with something else first etc. But if you need feedback on anything specific, i'll be more than glad to fire it up again and give feedback on that particular "thing".
    Thanked by 1konman
  • @FanieG Thank you kindly, we share enthusiasm for this genre :) I am always open to your welcome feedback. I must do same on the projects of others. Sometimes one's careful not to offend though.

    Getting back into this prototype has been a welcome distraction and a guilty pleasure. I'm incredibly priviliged to be able to pursue my hobby in times like these and I should do more than to consider that.
  • Cyborg PC v0.10: Cyborg PC v0.10.

    Hi, I've finally added the "Level up" functionality to the 'campaign' mode that has been in ongoing development for awhile.
    The pilot level's up, not the ship. This is planned for the coming loot system where crew and ships form part of the major loot and can be assigned accordingly.

    The 'flight' game mode is to test the 'wing' components (player controls multiple ships) and is WIP, so a bit wonky.
    The music is to test mood changes between calm and combat and is also very flakey right now, it jumps between 'moods' a bit too quick. :) You can turn down music volume if it is a bit much.

    If anyone wants to give it a try, you're welcome to. Feedback is always very much appreciated, thank you.
    K

  • Hiya, I managed to get a little bit more work done on the Starmap this week. Moving the mouse cursor around provides context info.

    System/sectors:
    image

    Galaxy:
    image

    The galaxy and star systems are procedurally generated, so I was relieved to see no swear words creeped in during name generation when recording the screenshots. :)

    Have a lovely weekend.
    Thanked by 2FanieG iceblademush
  • edited
    Hiya, still enjoying this prototype recently. Here's a new build if anyone is curious.

    Cyborg latest build: Cyborg PC v0.11.

    It's a crazy mess right now, but its fun to work on it. :)

    Changes:
    -Galaxy map includes faction/level indication.
    -Wing can now jump between sectors (Fast travel. Sectors are meant to be like easter eggs, player flies into them to reveal points of interest, todo (currently all sectors are just visible) . Jumping/fast travel thru sector should not reveal sector contents.)
    -Team commands integrated into UI.
    -Many minor tweaks, nips and tucks.

    Feedback is always much appreciated.

    Cheers,
    K
  • @konman nice progress. Again, I don't want to bombard you with feedback overall, as I understand this is a work in progress. So i'll only give one critique. You should try and render the waypoint in the flying sections in front of the UI. I couldn't see the "Meet Jake" waypoint for a while as it was obscured by the UI at bottom of screen.
  • @FanieG Thank you, I agree. I'll look into it. :) The radar indicator for 'Meet Jakes' overlaps the label of the planet right now as well when close. Also when viewing it on the map, it hovers somewhere in the middle of the player and the objective, which is confusing. A flashing arrow could also help here.

    I really don't mind being bombarded with feedback (preferably critical) early. Really I don't. It is most most welcome always. Thank you very much! :D
  • [opinion] The one thing I have become acutely aware of is the power of words. It's insanely powerful. You can build the best game technically and have the greatest art assets and it would still feel sterile, but with a single sentence... oh man! It's possible to plant a seed in the players mind that evolves the lore way beyond anything and allows their imagination to perceive something that does not necessarily exist physically. I still find myself astounded by it and I wish I could wield that sword better. The effect of the written word in games is extremely powerful and I wish there were more future games that explore it to its full potential. [/opinion] :)
  • konman said:
    [opinion] The one thing I have become acutely aware of is the power of words. It's insanely powerful. You can build the best game technically and have the greatest art assets and it would still feel sterile, but with a single sentence... oh man! It's possible to plant a seed in the players mind that evolves the lore way beyond anything and allows their imagination to perceive something that does not necessarily exist physically. I still find myself astounded by it and I wish I could wield that sword better. The effect of the written word in games is extremely powerful and I wish there were more future games that explore it to its full potential. [/opinion] :)
    I agree - it's like the gold coins in John Wick for instance. You never completely understand what they are or their origin, but you immediately understand it as lore and get how it's used. Same as the hotel that has rules. I know that's a movie but the idea is the same as what I read in your comment

  • konman said:
    so I was relieved to see no swear words creeped in during name generation
    Ahum... "Kaksus" is borderline, at least for the boere.

  • edited
    @mgeorgedeveloper Oops, bad AI. The boere are too busy farming to worry about some random star system name in a prototype game, lol. :)

    Besides, they are already struggling to comprehend the new name assigned recently to their home town/city to care about "Kaksus" star system. But they should, because all your base are belong to us.
Sign In or Register to comment.