Jump to content

MaterialBlade

Members
  • Posts

    23
  • Joined

  • Last visited

About MaterialBlade

  • Birthday 06/13/1987

Profile Information

  • Gender
    Male
  • Location
    London

Recent Profile Visitors

2910 profile views

MaterialBlade's Achievements

Poring

Poring (1/15)

  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

15

Reputation

1

Community Answers

  1. Oh no, I've been arsed to do it. Really though I've been working on this off-and-on for about 2 years, mostly with big breaks in between. My last break was actually 5 months. It's a point where it's somewhat presentable now so hey, time to share. So far the features it has are: - public chatting (no party, whispers, guild yet) - regular attacks and spell casting - hotkeys with 'timed attack' support - map loading - audio system - effects system (hurt fx, spell fx, misc fx like cast circles, etc) - expandable animation system (server can tell client to play an unlimited number of animations) - GAT editing/exporting (to update the mapcache) It's been an interesting learning experience, helping me get better at C# programming and understanding networking and stuff. Because I'm using Unity as the engine I don't have to use any of Gr*vity's formats which makes it sooooo much easier to create assets and get them in game. It only takes a few hours to start a character from scratch, model them, texture them, import them into Unity, and get them in game. Imagine not having to worry about which tool to use for which format. Anything involving sprites is just a .png spritesheet. STR-like effects are billboards animations made with Unity's animation tools. Maps are prefabs composed of a 3D ground mesh and prop prefabs for details (things like beanstalks, mushrooms hills, houses). Making the map in 3D saves dev time and will (probably) be more flexible than doing it with tiles. The heightmap is another 3D mesh that actors snap their Y positions to. Parts of the video will look incomplete compared to others, but that's mostly due to how I implement stuff. When I'm working on a new feature I'll usually just get it to a point where it works, then move on to something else. Example of that would be how some of the maps have art, and others are still greybox tiles. Once I got the map system working I moved on to a new feature instead of updating the art for all the existing maps. Actors don't have actual animations because once the system for playing the animations was done I moved on to a new feature. Only one prop so far uses vertex colours because... well, you get the idea. Once something actually works I can make it better later. The way the timed attacks work now are pretty neat. When I was still using an RO client you would have to use the 'ALL_ATTACK' skill to trigger a timed attack (you can see this in older videos). This is true whether it was a normal attack, an aoe spell, a targeted spell, whatever. With the Unity client I can keep track of a timer after you've used a spell, so that if you hit that same hotkey again, it sends the 'ALL_ATTACK' skill instead. If you've ever played Super Mario RPG this is how the system works in that game. You hit Y to go into the Special menu, use the spell, then hit Y again during the animation to do the timed hit. I've started adding custom packets for some things. Previously how I handled the process of a normal attack went like this: - player starts attacking enemy, send 'damage' packet from src->target with 0 damage to play the attack anim - if player did a timed hit, send the 'use Skill' packet so player does the 'jumping' animation - send the 'damage' packet from target->target with actual damage so enemy plays their 'hurt' animation Now it's more like: - player starts attacking the enemy, send 'PlayAnimation' packet that tells src to face target and play animation 7 (this number could change based on their equipped weapon) - if player did a timed hit, send 'PlayAnimation' packet that tells src to face target and play animation 13 - if attack didn't miss, send 'TakeDamage' packet where target faces src, plays animation 2 ("hurt" anim), and the damage numbers appear With this I can tell the actors to play an infinite number of animations based on their equipment, player state, class, whatever. Few of the next big things to implement will be inventory and equipment management, NPC dialogue, and a window for choosing level up stats. That last one will require some new UI and custom packets so that would be the next thing to add.
  2. Did you export the model with smoothing groups enabled? Does it look like that in game or just in browedit?
  3. Use this tool to convert your model: It has an option for smooth shading.
  4. 1) Keep renewal, remove 1-99 pre-trans. So start at trans basically. 2) Rework skill trees. Lower the spell level requirements needed to unlock other spells. Make power difference based on skill level less drastic. 3) Many more low level instances (10~60).
  5. Disable dynamic_mobs in battle/monster.conf
  6. That's pretty neat actually. I thought about possibly making my own client, but couldn't be arsed to do it.
  7. Today I have... I honestly didn't think I would ever get this far, but here we go, timed attacks are done. The following video showcases how timed hits work for physical and magical attacks, as well as showing off some enemy spells. At this point I feel that I've accomplished everything I wanted to do for a working prototype. The next step is to actually get other people in to try out multiplayer, and at some point to clean up my existing code. I'll hopefully be posting a video of multiplayer adventures in the future. For now though I think I'm going to take a break from this and go back to my other projects. Thanks to everyone who took the time to comment or leave some feedback, I really appreciate it. Until next time!
  8. Progress Video! I recount a lot of information that is already in this topic but it's in video form so watch it. Client is fine as far as stability goes, I haven't started messing with a hex editor since I patch it every once in a while. The stability I'm referring to is the server since at the moment I'm adding, removing, and changing the source very willy-nilly. All enemies and characters are fully indexed! My test .spr's were around 14mb each but are now all <1mb. Thank you for the encouragement, it's very nice to see and is a big boost of motivation. Passion projects are fun but can definitely be hard at times to want to come back to. When I first got into map editing so many years ago you had to edit notepad files and generate the map with some batch file or something - very complicated stuff - ,so when Borf showed off BrowEdit I was extremely happy. Also if you think BrowEdit is bad try making some effects with ROSTRViewer because that is a nightmare to work with, haha.
  9. Great work everyone. Everything is looking very slick.
  10. Two updates in less than 8 months??? Shenanigans... Today I have worked on: A lot of sprite work. All 4 prototype enemies are finished (animations and all), as well as some Star people for Star Road. Take a look at their idle and attack animations... Goomba Sky Troopa Spikey Hammer Bros. When I started this project I was using Actor and Actor2 to edit the .spr and .act files. Part of the reason I left the project for so long was because of how tedious it was to work with the editing software. Big ups to @Tokeiburu / @Tokei for their amazing Act Editor software. I only discovered it existed about a week ago, but it drastically helped me breeze through making all these. Adding NPCs and starting quest to Star Road The blue mustachio-d Star is the Boss. Talking to him starts the introduction to the game. Lots of other Additions - Added 'coin' option to mobdb. Enemies will drop a coin and play a little effect when they die - Finished implementing level-up bonus - Finished animating player Spikey class - Made a whole bunch of things unstable (getting lots of dc's, memory leakage @_@) - Populated Mushroom Kingdom with basic NPCs - Some other stuff I can't remember What's Next? We're coming up to the point where I've finished all my prototype goals. First thing is to replace the novice sprite with some kind of Star. Headless novices look pretty silly walking around in the clouds. After that is armor and accessory implementation which shouldn't be super hard. I still haven't figured out how I want to approach timed hits when attacking an enemy yet so that will probably be the very last thing to be finished before I consider the prototype 'complete'. I will be posting a video of my progress very soon, so stay tuned for that. That's all for now!
  11. This is still being worked on! Because I want to. That's entirely what the project is about, recreating the game for rAthena. I'm mainly an artist but am fairly competent with the source as well. Moving on... Today I have worked on: Creating weapons: I don't have a picture for this, but just trust me it's done. Damage is calculated as [PA + WP + rand(-HP,HP) - PD)] where PA is your character's Atk, WP is your weapon's Atk, PD is the enemy's DEF, and HP is the weapon's hidden power. A weapon with 90 atk and 0HP will always add 90 dmg to your basic attack. A weapon with 90 atk and 40HP will add anywhere from 50~130 dmg to your attack. Fixing the way matk is calculated to use my preset tables: // jobid,joblvl,hp,atk, def, matk, mdef 4230,2,25,23,2,12,4 Making some test NPCs: Just some basic NPCs to populate the Mushroom Kingdom with. And Making Player Class Colour Variations: Left is the monster colours, right is the player version. Some very early effects tests: Mallow's Thunderbolt spell. I am still working on this VERY infrequently as I have a handful of projects going all the time.
  12. That would certainly be a nice addition for modellers. If possible, even just for animated models so we don't have this:
  13. Thank you for the kind words everyone. Today I've finished up the outside of the Mushroom Kingdom: Close-up of the castle's entrance: Next I hope to work on some NPC, player, and enemy sprites. Currently all my sprites are using the targa format, and while its much easier to make new actors this way it significantly bloats the file size. The Hammer Bros sprites is already 14mb with only 1/4 of it's needed frames. I will hopefully be posting some gifs of the new Reaper player class as well as some Mushroom Kingdom inhabitants. Cheers!
  14. Updates on levelup mechanics: As mentioned in my first post there is no base leveling, only job leveling. In Super Mario RPG every time you level up you get certain bonuses (below). For Seven Stars these values are saved in a custom table for each new class and will apply on joblevel. Notice the changes to HP, ATK, DEF, MATK, and MDEF below. (left, job level 1. right, job level 2) After leveling up in SMRPG, you get the option to choose an additional bonus. The options to get more are, from left to right, ATK/DEF, HP, or MATK/MDEF. My current implementation of this system is giving the player an item when the level up (shown below). The item corresponds to the job level they have just achieved, ie lvl 2 item for getting to lvl 2. Science! Due to the fact that in SMRPG you are in no danger of dying while choosing your level bonus, and in Seven Stars you are very much so in danger of dying while choosing your level bonus, the item can be 'used' any time to open the Select Bonus dialogue. This dialogue can be canceled and will only consume the bonus item once a bonus has actually been selected. After selecting a bonus it is saved into a new character stat (ala int,str,agi) and saved. The item then disappears. Currently MATK is not being affected by the job level bonus or the additional bonus so I'll have to figure out why that is. Progress!
×
×
  • Create New...