Jump to content
  • Advertisement
Sign in to follow this  
  • entries
    10
  • comments
    0
  • views
    917

About this blog

Aggressive Gaming is a game development studio currently developing an online Action RPG dubbed Project Peril.

Entries in this blog

 

[Project Peril] Development Postponed

A massive amount of labor and resources are required to create a fully fledged secure multiplayer ARPG game.  As the solo developer behind Project Peril, I'm looking at another year at least before there is a genuinely decent playable product.  Project Peril has been in development for 12 months.  I am quite proud of the work that's gone into it, but unfortunately I can't continue working in the dark.  Therefore, Project Peril has been postponed.  I am taking the functional code-base of Project Peril and using it to create a new game that I hope to have a playable prototype of by November.  The idea of this new game is to receive publicity and funding which will ultimately allow me to pick up where Project Peril left off and hire a team of developers to put together a real studio.  If this new game happens to succeed then it may become my primary focus of attention.   More information on my new game will be announced in the following weeks. If you enjoy my blog please check out my Facebook page where I post the same weekly blog plus an occasional video or screenshot.  

Crayz92

Crayz92

 

[Project Peril] Feature Showcases

There hasn't been much for new features lately since I've only been refactoring, so I whipped up a couple videos to showcase in better detail a few of the old features I have coded into Project Peril. Dungeon Generation:   Entity Activation:  

Crayz92

Crayz92

 

[Project Peril] Master Servers

During the process of refactoring my network code I realized that my clients are connecting to only one server, and this one server has no outlet to any other servers. This means that players would only be able to chat and play with other players who are connected to the same exact machine. This is obviously a problem if I intend for my game to support a lot of players across multiple regions. So I began writing code for master servers. There are now 4 different servers each with their own independent process: Login, Lobby, Game, and Master Lobby. The lobby server will receive packets (i.e. ChatMessage) from clients, then relay that packet to the Master Lobby server which then relays the packet to all Lobby servers in a region who then relay the packet to any clients they are connected with. Similar behavior will be put in place for requesting a list of games – the client asks for a list of games in a specific region, the Lobby server relays the request to the Master Lobby server, the Master Lobby server then tells all game servers in that region to send their games to the client. I’m no expert in networking and this is all a big experiment, I’m not sure how well this is going to work out in the long run. If it doesn’t work then it’ll be a lesson learned and I’ll be rewriting the networking code all over again. The refactoring process for Login and Lobby servers is just about done. I can move onto gameplay pretty soon and begin implementing fancy networking models and re-creating all the gameplay interface to support the new HTML system.   If you like my blog please consider following on Facebook where I post the same weekly blogs and an occasional screenshot or video. http://facebook.com/aggressivegamingcom

Crayz92

Crayz92

 

[Project Peril] Networking refactor update, html & css powered interface

Last week I posted about having to refactor my client’s networking code.  It ended up being a little more work than expected as I had to refactor some of the core server code as well, but it’s starting to look pretty good.  During the refactoring I decided I didn’t want to stumble around Unity’s interface tools anymore and set out to find something new and better, and I came across PowerUI.  PowerUI is a html/css rendering engine developing for Unity, it also supports a javascript-like runtime language and easy to access via c# as well.  PowerUI gives me the freedom to do lots of cool things with the interface without making things complicated and fragile.  Having UI tools that I am comfortable working with will allow me to create really cool things.  Of course I need to find UI art and come up with nice designs, but the possibilities are there. Login & Lobby client and server are almost complete as far as the refactoring process goes, and the game client/server shouldn’t take too much longer.  This refactor was necessary as it will make it easy to separate the 3 servers and client, and it will also make it easy to work with gameplay networking, allowing for a smooth implementation of lockstep and predictive models. Path of Exile: Fall of Oriath launches today, and Project Peril may be in limbo for some time.  Just a heads up for any readers :^)

Crayz92

Crayz92

 

[Project Peril] Client network code refactoring

Early in the week I was working on implementing a networking model for smooth client performance even with high ping.  I came to realize that my client’s networking code was a big mess and hard to work with.  Instead of trying to fudge in new code and make it work, I set out to rewrite it all in a way that will make the client’s networking scheme easy to work with.  I intend to implement separate networking models, one that benefits players with low ping, and one that benefits players with high ping, and this may take some time.  I have nothing new to show this week, and I’m not sure how long this rewrite will take, but I should expect to have a more interesting devblog for next week.

Crayz92

Crayz92

 

[Project Peril] Acts, Waypoints, and Quests

I made a lot of progress in the past week. Waypoints, acts, and Quests – three of the features I wasn’t sure how to implement into Project Peril, resulting in much procrastination. I finally took the time to sit down and think through how these systems will be implemented neatly while keeping it easy to create acts, quests, and waypoints via script or internal tools. I’m quite happy with the result, and it took me just a few minutes to whip up a an act with a few waypoints and a quest that requires new heroes to kill a monster standing at the gate before being granted access to the town of Act 1. I’m also rewriting how inventories are managed on the client.  The way the inventory system was previously coded made it really hard to display stashes, trade screens, and NPC screens because it was kinda hard-coded to support only the player’s inventory.  As soon as this feature is complete I will begin working on trading and NPCs who sell items.  Something to look forward to next week, I suppose.  

Crayz92

Crayz92

 

[Project Peril] A* unit avoidance, improved loot & equipment backend

I converted what was left of my C#/NLua scripting implementations to XLua and rewrote many of the Lua scripts to be faster, better, and more readable. The purpose of this is to make scripting as easy as possible outside of the programming/Unity3d environment, and the purpose of doing that is to make it really fast and easy for designers to create skills, zones, items, stats, abilities, monsters, and heroes. All of this low level programming might be slow and tedious now, but I’ll be thanking myself in the future when it comes time to create the content of the game, and any potential players will be happy to see that game and balance updates (or even DLC) will come often with minimal overhead. I also did some more work with the A* pathfinding implementation. Heroes and monsters will now walk around each other, and it is possible for doorways and whatnot to be blocked if there are too many monsters standing there. https://www.facebook.com/aggressivegamingcom/videos/1614828468536050/  

Crayz92

Crayz92

 

[Project Peril] Improved pathfinding, multi-threaded servers

This week I improved on my old pathfinding code. Previously I used a basic A* algorithm to calculate pathing, now it is slightly modified to support units of different size. When a map is first loaded a square-grid which depicts walkable terrain is generated behind the scenes. Red cubes represent unwalkable ground (i.e there’s a wall or obstacle there), yellow cubes represent walkable ground with a clearance value of 1, green cubes have a clearance value of 2, magenta cubes have a clearance value of 3, white cubes 4, black cubes 5, and blue cubes 6+. Clearance value depicts how far away from an obstacle that point on the grid is. This is how we determine if a unit is too big to walk in an area.. if the unit is size 5 and we center the unit on a grid point with a clearance value of 2, the unit’s bounds will extend onto unwalkable area, thus we prohibit the unit from entering any nodes who’s clearance value is smaller than its size. Read more about clearance-based pathfinding here.  See a demonstration video here I also implemented a multi-threaded architecture for game servers. This means that each game hosted on a server gets its own dedicated thread allowing for games to be processed parallel to each other. So if one game hits a frame spike and processes really slow the other games will not be affected since they are executing in parallel and do not have to wait in line.

Crayz92

Crayz92

 

[Project Peril] Particle Systems/Ability Effects, Procedural Dungeon Generation

This week I implemented a system to spawn and display particle systems which convey abilities, fixed a variety of bugs in the procedural dungeon generator, and refactored old code + optimized a few things here and there to maintain smooth performance. With dungeon generation in a good state I was able to begin writing the logic that handles placement of dungeon assets (walls, gates, textures, doodads, chests, monsters, etc). Overall Project Peril is making excellent progress. I expect to have some sort of playable demo by the end of 2017. Maybe sooner if I bust ass. Programming is getting a a bit stale as of late, I might be switching my workflow to animation and effects for a few days. It never hurts to have more eye candy.

Crayz92

Crayz92

 

Project Peril, a multiplayer action rpg

Inspired by the likes of Diablo and Path of Exile, I set out to create my own Action RPG in October of 2016.  I've dubbed it Project Peril in memory of a cousin who, about 16 years ago, introduced me to Diablo 2.  I'm still fleshing out the details of Project Peril's theme, so all I have to say about it right now is that it is set in a post-modern science fiction sort of universe.  There will be crazy abilities and powerful items with randomly (weighted) generated affixes, dozens of monsters, lots of loot, and a vibrant player-managed economy with authoritative servers to prevent modding and/or cheating. Much of the core of Project Peril has been programmed, this includes a login server,  server-hosted lobbies and games, monsters, in-house pathfinding & physics, item generation, inventories & equipment, hero stats, abilities, and procedural dungeon generation.  Maybe some other things I can't think of off the top of my head right now.  While these systems are all in a fairly usable and optimized state, there is still much to go. There has been little to no progress on the side of art, sound, and story.  My plan is to create a respectable presentation of Project Peril's performance, progress, and features, and hope that it is good enough for creative folks to want to work on it with me. If you want to track Project Peril's progress I post a weekly blog at my website http://aggressivegaming.com and casually post videos to https://vid.me/crayz.  I set up a FB page just today http://facebook.com/aggressivegamingcom and I will now try to keep this blog up to date as well.

Crayz92

Crayz92

Sign in to follow this  
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!