Just a quick status update on the ReversE project I am currently working on. So far I have created 16 playable levels at the minute ranging from very easy to insanely tricky. Some of the features I have managed to implement over the last few weeks are as follows: (with screenshots!)
Level Select Menu
Not pretty but it is functional, only displays clickable buttons for the level that you last started (using playerprefs currently) and displays locked levels as labels. No styles applied at the minute but working! Hurrah!
Turnstyles and Multi Purpose Switches
Ability to reset physics puzzle objects
Other Features Added/Changed:
Tweaked the switch scripts to remove null reference exception errors
Changed wall heights to combat the acceleration putting player/objects out of bounds
Added ceilings to the levels to combat player objects and physics objects from leaving the scene
Modelled and animated turnstyles and imported to game
Added teleporters as a prefab and usable gameobject via script and particle manager
Re-vamped the player controls script
Features to implement:
Sounds for all actions
Music and ambience
Game menu with return to menu button
Game options and preferences
UI themes and design
I also aim to have anywhere between 50-100 levels for the end product. I may possibly break the levels into Easy, Intermediate and advanced difficulty per section. I also have ideas for new game mechanics to be introduced and a tonne of puzzles yet to build!
Just thought I would drop a little progress update of what I am working on in here. Firstly I progressed to around tutorial 234 of the BurgZerg series and learnt a vast amount from it. Got to making particle effects and sprites and 2D textures and animated 2D textures. I could do with finding out how to use and make animated sprite sheets!
I worked a little bit on a few basic XNA tutorials which I will with some luck get around to finishing soon, But I have also been working on ReversE. I had shelved it for a while, simply due to needing to move to c# and start learning better practises for programming patterns and refactoring code. Basically the jist of what I have learnt over the past few weeks has been literally C# from the ground floor up. Also the principle with game code you want to take something that feels like a chore to do, In my case I was copy pasting the same script over and over again to get an object that collides with a switch to play an animation. In fact now I understand how to factor this into a multi purpose script that can do the same thing over and over and it can be one universal script which can work for multiple user defined parameters. It can also probably be taken a step further to a global animation manager as the base class and then have the entities I.E treasure chest/switch/door do the rest and just call AnimationManager.Function(); !! So after working at it a long time its finally sticking!
Also back to the ReversE game. It is still essentially the same idea as before but now more efficient and with a few new elements I have mulled over! The description I am now giving it is:
a point A to B mirror logic puzzler – Short and snappy!
Of course the obligatory screenshot!
As you will notice something not quite right has happened there (blue and red ball should be in opposite place) I will fix this though by release I promise! 🙂
I also would like to start dropping generic code samples on here and possibly make some short rough tutorial guides, as I am a relative noobie to the C# coding scene / hardcore game coding. I am looking at tutorials all the time and I am piecing these solutions together from slightly different problems. So I may attempt to try and make a generalized solution for these problems in the form of short code snippets with a little explanation. May even try a short video just going through the code and provide it as source on here. Would be helpful for me to go over it just as much as it would be for other people. Anyway I need to go to bed now and resume work tomorrow!
Signing off for now!
In the next part of the tutorials since the update there has been a reworking of the targeting and mob system as well as being able to create and save character data in the registry using a web build. I have made a playable demo demonstrating how all of the features I have learnt so far come together to make the basic gameplay experience. Play the demo here
The demo allows you to create a character by assigning skill points and entering a name for the character, then loads up the tutorial level which so far is a terrain populated with lootable chests. You can loot a weapon from the chest which are represented by the icon and you can equip and unequip the types of weapon so far (morningstar, spear, sword.) The demo also contains a mob that can chase you until you move out of range, then it runs back to the spawn point. The day/night cycle currently works with the sun rising and setting in the sky. Opening and closing the inventory and character menus can be done with the i key or inventory toggle and c key for character toggle, you can also toggle autorun on or off by pressing left shift.
In the following tutorials after this one, there is a focus on re-building the game, optimizing some of the features included in this demo and obviously expanding and implementing more content. I posted this version of a build so far to interactively sum up what I have progressed through and learnt so far. Coming up will be a look at character customizations.
Since the last post I have been working frantically on the tutorials over at BergZerg arcade, I have been progressing quite steadily through it and a lot of the basic concepts are clicking now. The coding concepts are slowly coming to me with the general structure and syntax within c# which is definitely a plus! So the philosophy of if you do something enough you will start to get good at it seems to be working! I am feeling a bit more confident in terms of debugging and changing the script around but still having problems with braces so this is an area to look at!
A lof of features have been added and implemented since my last post: I will list them down here in a list:
Player movement controls redo – got rid of third person camera and added a custom AdvancedMovement script
Bandit Area Added with new assets from unity store
New Player Character – Viking model from unity3d
New mobs – Bandit Bootlegger added with animations
Animations – added to the basic slug
AI – Enemies now chase you around following you and return to a spawn point once your out of aggro radius
Toggleable Sprint/Walk button
That recaps most of the main features added through code changes and optimizations. I will drop a few screenshots below of the WIP!
Bandit looter mob (reskinned player character…poorly!) Placeholder But functional!
Bandit Returning to camp after I move out of his aggro radius
Part of the Day/Night Cycle – a red sun rises and sets in the sky, the skyboxes blend dependent on how long the game has been running for in a cycle. Currently counts upto 30 seconds to cycle to a night then counts back down to 0 (60 seconds) to loop round to daytime again.
A view of the night sky and the starter town and bandit camp
My new player character (replacing the constructor) opening a badly modelled and animated chest. Currently still working on looting so far it opens and closes. The modelling excersize taught me how to export models from 3DS max to FBX and how to get multiple animations on an object working. The “chest” has an open and close animation.
So far in the tutorial series I have learnt a lot of how to use c# code and how best to implement certain mechanics needed in the game. I have also been having a look at the modelling/texturing/animation side briefly as parts of the tutorial have required textured and animated models. I plan to try and use as many premade assets as I can get hold of off sites such as TurboSquid during the learning process for c# but I also plan to find tutorials for modelling, texturing and animation so I can replace these assets over time and add them to my portfolio. I have also found a couple of awesome Java tutorials from TheCherno on YouTube so I think I will start following them when I eventually get as far as I can with the hack n’ slash series. All in all the coding skills I am picking up here will eventually serve me well and allready things that I struggled to grasp before are falling into place thanks to Petey’s Hack n’ Slash tutorial. So I am very greatful to him for putting up all the content to follow along to!
Over the last couple of days I have been progressing nicely with few hiccups on the Burgzerg Arcade series of tutorials about making a small hack n’ slash game within unity and using C# scripts to create all the classes associated with characters, items, damage and finite state machines for the spawning.
Since the last post I have been able to create a terrain, trees, water for the character to play on and even a small town using models downloaded royalty free from TurboSquid.com. For now I am using downloaded assets to save time so I can progress with my core objective of learning and understanding the code but eventually I plan to learn how to model and create these assets from scratch.
The lack of my own 3D modelling and animating skills has also proved to be a little stumbling block in terms of the character/weapons + customization as currently the turorial series is focusing on using a provided model from a user on BergZerg arcade however I found when I tried to use and import the model the legs were bowed backwards on it which obviously isnt a lot of use. I took advice given on the site to use the default Constructor model that is provided with however he isnt set up for attack animations and his idle animation also causes the weapon and shield I have now provided him to clip as the original prop he was holding was a crowbar! I am unsure whether you can animate a new anim using the IK structure provided on the model within Unity so I will have to research and possibly test this at some point.
Also as I mentioned above I worked on the construction of the world, building placement and import which I would like to redo through my own 3D modelling and obviously make the world look better. I need to replace them with better assets but I am literally just using test assets for whiteboxing purposes for the tutorials for now as my focus is on the C# scripts. I have also re-edited the targetting system for the enemies including placing names above their head in accordance with the tutorials. Below are some pictures of what i have so far.
Close up of character in town
Game view of the character and his health bar running towards the screen
Overhead view of the level 1 map small town area near the lake – needs more work!
I have decided to further my knowledge and experience in Unity3D and C# by attempting the grand undertaking of a wonderful tutorial from Bergzerg Arcade which focuses on developing all the basic elements to make a Hack N Slash game within Unity. I have so far got up to tutorial 28 of the ever growing 280+ tutorial series which has so far covered making a simple playing space with a player character, being able to target and melee enemies and vice versa and the beginnings of building a skill system in C#. I have just advanced onto a part of the tutorial where the players stats are being saved and stored inside a registry value ready to be re-loaded when the functionality is added! I had massive problems with the skill system initially but after a patient session of debugging found the problem to be an out of place brace! Typical! *rolls eyes* Anyway heres screenshots and I will post a link to the awesome tutorial below.
Working Saveable Stats to Registry!
My fairly bad (but working) UI using UI skins and the basestat class for stats and modifiers
Targeting system and health bars with UI
Link to BurgZerg Arcade Tutorial Series