Jump to content
  • Advertisement

Codeka

Member
  • Content count

    2493
  • Joined

  • Last visited

Community Reputation

1239 Excellent

About Codeka

  • Rank
    Contributor

Personal Information

  1. Codeka

    Pathfinding and Databases

    Are we talking pathfinding within rooms, or between rooms? I'm guessing between rooms, because pathfinding in a 3x3 grid is pretty trivial and you could basically brute-force it, try all permutations, and still perform pretty well.   I think the problem you're having is that the way you store your room layout (in a database) isn't really conducive to most path-finding algorithms, which assume that it's easy to load and traverse every node in the graph, right?   You've probably got a couple of options here: Limit the number of rooms you search, which limits how many rooms you're going to have to load. You're going to have a bunch of rooms in memory already to display them to the user, as a first pass you could just limit your path finding to whatever you've already got loaded. The downside here is that you might not find a path which twists through rooms that are not loaded. Pre-calculate some fraction of possible paths when you generate the level. This could potentially mean you have a whole lot more data to store. Some other data structure/storage mechanism for your level (e.g. a quadtree). This could be a lot of work... As always, there's never a perfect solution.
  2. Codeka

    The unnamed RPG

    This post provides a bit of an overview of my plans for my as-yet unnamed RPG. One of the biggest lessons I learned with my previous game (which I talked about last time) is that players want to interact. The in-game chat was pretty much an afterthought in my previous game (in fact, it was the very last feature I added before going to "alpha"). Most of the work I did post-release was community-based features -- an alliance system, one-on-one and group private chats, and so on. So I wanted to make sure my new game supported a vibrant community right from the beginning. Also, I was a little tired of the limitations of working with a phone, so I wanted something that ran on a PC. But more than that, I wanted something that was cross-platform (I personally use a Mac laptop and a Linux workstation, so it needed to run on those platforms as well as Windows, of course). Because I'm a masochist, I decided make the game browser-based. The first iteration I was using a directly and drawing 2D sprites. It worked pretty well, but performance was generally pretty horrible -- and that was with practically nothing on the screen! I actually got pretty far with that 2D engine, including multiple players, chat, animations and so on. Here's a video: [media][/media] That video didn't have pathfinding, but that was also added before I decided that the performance just wasn't there. My plan was going to be to use webgl to speed up the 2D engine, but as I was coding, this happened So I made it fully 3D with three.js as the backend renderer. In fact it's actually not that hard to get webgl up and running -- the hardest part, at least for me, was content. The initial "rewrite" was still talking to the same backend server, so it still supported all those wonderful multiplayer features, but I had an MD2 model (from Quake) as my main character, and some procedurally generated tree I found somewhere as decoration. [media][/media] The most interesting thing about the rewrite is the terrain. I found this cool article on Gamasutra and implemented it as a GLSL shader in three.js. Then I taught myself how to use blender to create some basic 3D objects and animations. All the content in the current gameplay video was made by me in blender. Yay! So that's where we are today. I've have a few ideas for the basic premise behind the game and also some information on how the game has been "architectured" (I put it in quotes because it's much more organically developed than architectured...)
  3. Watching so much of The Wiggles it's doing my head in
  4. Codeka

    What have I done?

    So I've been away for the last 5 or 6 years. It's hard to believe my last post here was way back in 2009! I haven't been entirely away from gamedev though. In fact, a couple of years ago, I released a (to me at least) moderately successful multiplayer strategy game on Android, called "War Worlds". I say "moderately successful" because it never really made any money (it made enough to cover the cost of hosting and that's about it). But at it's peak, it had around 2,000 active players (around 400 of which logged on every day). Here's some screenshots from the game, in no particular order: There's a lot of stuff here that I'm quite proud of. I developed what I think is a pretty cool tool for rendering images of planets and stars: I blogged about the implementation of this algorithm: part 1, part 2, part 3, part 4, part 5, appendix. I'm also proud of some of the other blog posts I wrote which got a reasonable amount of attention in the "hacker" community. For example, this post complaining about App Engine got to the front page of Hacker News. Another one I wrote on the crappiness of MySQL was also quite popular (complaining about things seems to get a lot of attention!) However, all things pass and a few months ago, I decided to move on from War Worlds. I open sourced the code, found a dedicated player to host the server, and basically ended my day-to-day involvement with the game. It still has around 60-80 players logging in every day, and I've not completely abandoned it, but I probably won't be doing any updates any more (unless someone else picks up the slack and wants to submit code changes!) Now, I've started work on a new project. It's an online multiplayer RPG which runs entirely within the browser. Over the next couple of weeks, I'll be revealing the work I've done on it so far (I want to start this journal here to basically document my progress on the game, mostly for my own benefit as I find seeing the progress to be quite rewarding) but for now here's a YouTube video I took of the "gameplay" (such as it is) as of a few weeks ago. [media][/media]
  5. Codeka

    Untitled

    My personal preference would be to go straight into vertex and pixel shaders and skip the fixed function pipeline altogether. Perhaps you could start off with the rotating triangle in the fixed function pipeline then introduce pixel shaders and then introduce vertex shaders, but I personally think you want to introduce shaders as early as possible. The FFP is dead, and the quicker people start thinking in terms of pixel/vertex shaders, the better. I don't think it's that hard to pick up (in fact, blending in a pixel shader is much simpler than blending with the FFP).
  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!