Updates Galore! (Video Included)

Hello again… it has been quite a while since my last update. I have been working pretty tirelessly on the client since I last updated. I have a ton of new features, and the game itself is coming along very well. Most of the sound effects are already included. The tile engine is currently being reworked to help with the different screen sizes on devices, although by release it will probably have a minimum of a 600Mhz processor requirement, as well as a resolution of at least 800×480. I will still try and make it available for older devices like the G1, and MyTouch (as well as the Behold), but for now it looks like most legacy devices will start having “hiccups” once you get more than about 15 players per screen, who are all wearing different equipment types as well as chatting. I’m going to include several screenshots from the debug maps i’m using since the Nexus One I used to record the video has trouble focusing on the droid’s screen in the video. I’m going to skip over the changelog for the game for the time being, however I’m going to release a roadmap, as well as a milestone chart to show the progress i’ve been making, so I’m not attempting to remember all of the little additions along the way. Finally, the serverside AI routines and most of the data management it will utilize is mostly complete. All I have left to do is get the Socket stuff up and running, and then do some debugging to make sure it’s handling everything correctly. Finally, my plan for this game is to have a release sometime before the end of the year (work/school/life permitting). The initial release will be made on the Android Market(tm) and it will be free as a BETA release. I’m going to allow for somewhere in the neighborhood of 1500 sign-ups (depending on demand it may be more, but given the blog traffic, I’m going to assume it’ll be MUCH less). Everyone who participates in the Beta version, will be given a free life-time subscription to the game. Once the game gets out of beta (sometime around April next year most likely), the game will remain free in the market however players with free accounts will be limited to a 1-week character. Basically for 1 week your character will be active and playable, and at the end of that 1 week period will reset back to a brand new character. I haven’t made a decision on pricing yet, but those who pay a (small) monthly/yearly fee will get to keep their characters through the duration of their payment. I’m doing this for 2 reasons… #1, I’m an indie developer and I could really use the $. #2, I’m going to have to up my connection type through my ISP to host a proper server, and it won’t be free (or cheap). Without further adue, here are the 3 in-game images and the video accompanying them.

Screens:

Video:

Quite a batch of new Updates

I have been doing a lot of revision work on and off as of late… I haven’t been posting the updates, because I have been running into more errors and dead-ends then anything else. However, I did have several big break additions that work, and are helping to move the game way forward, and that much closer to an actual, playable release. I’m starting a class this fall that requires groups of students to work on a single project, and publish it at the end of the semester. I’m going to talk to my group, and try to convince them that this game should be our project, and if that’s the case, a 1.0 release will be on the android market by December (but remember, that’s IF they all agree we should do it… I don’t know why they would say “no”, who wouldn’t want to use a GAME as their project? We’ll see…). Anyways, here are the additions I have made to the client since last update:

Client:

  • [Addition] – Player Corpses (fully working)
  • [Addition] – NPC Spawn Routines (and I have started work on the NPC Editor Program)
  • [Addition] – Encrypted Archives for the in-game artwork, this will make the game easier to update (Download a single file, then push it into the archive, rather than downloading a new archive or “set” of npcs/sprites/etc.)
  • [Addition] – In-Game chat is almost fully working. There is still a few¬†minuscule problems that need to be resolved.
  • [Addition] – Map Names display on screen based on the type of map (safe maps, guild maps, attack maps, event maps, etc. all display in different colors. Currently there is no option to disable this, but it will be included shortly)
  • [Addition] – Different debug variables can now be displayed on the screen, using the menu key you can enable/disable the different types of debug values for players/maps/chat/etc. the info that gets fed back is a bit sparse, but you can change it for yourself if you’re looking for different kinds of data output.
  • [Optimization] – Changed a large amount of how the game thread handled and loaded the canvas and game surface, it loads about twice as fast now, and the lag on the inital loading of the map greatly decreased.

There are a ton more additions, and pieces of partial code (some of which aren’t working too well… uncomment at your own risk), but of course when i spend months between updating this blog, i tend to forget what has been added. The game is coming along quite nicely though.

For the testers. Using the ‘1’ key while in-game will “kill” your player, using it again, will respawn you. When you’re dead, your player turns into a corpse, and cannot move. The part that delays player movement is client-side, however on the server, there will be a simple routine to check if they’re dead when they’re trying to move, if they are, they will be auto-banned for moving when the character is actually dead.

Server work has been extremely minimal. I’m going to focus on getting the player animations fully working, and start adding in the ability for players to start attacking NPCs. Initially no real interaction will occur, it’ll just be a “i pushed the button, and the guy on the screen actually swung his sword” kind of interaction, nothing too neat or fancy. Once all of the players animations are done (walking/attacking/fishing/etc.) I will begin setting up the basic client/server communication/authentication stuff, but for now it’s all about polishing up the client to work the way it’ll need to once the server does establish a connection to it.

The last note, is something I have been asked about by several people, and that’s the control scheme. Honestly, I’m not entirely sure how it will work for different devices. Right now, you are required to have a keyboard to interact with the game (beyond touching the screen and teleporting your player somewhere). What I think I will ultimately end up doing, is making the controls customizable by the user at the very beginning of the game, as part of the in-game tutorial as you get started. But it could be anything from an on-screen directional pad, to using the accelerometer, to WASD keys, or a directional pad, it’ll all be dependent on the end user, but hopefully I can find a way to work it out without too many issues.

A bit of a slow down

New Game Splash

My G1 has fallen ill as of late, and with finals coming up in the next few weeks, as well as possibly initiating a pledge class, turning 21 in a few days, swim lessons, and intramurals, the work has been very sparse lately.

For some reason the touch function on my G1 has ceased working almost altogether and T-Mobile’s awesome customer support is replacing it for free… word.

I have begun working on the server portion of the game, with a very basic framework laid out for everything. I am going to be using datagram packets to help increase the speed of the game when playing in 3G areas (as opposed to always having to play via WiFi). Regular development of the client and server should resume in 2-3 weeks.

I also replaced the game splash screen with a much more fitting one, which i will upload along with this post.

First Look: Endieko for Android

The First Look at Endieko for Android

Well I finally decided to sit down and try and hammer out some of the half broken features i had added to the game. Overhead text as well as MapNpcs (there is no AI to control them yet though, they just stand still). Chat bubbles and a ‘chat’ system (it’s not anywhere near started, just some loose static code to produce the screenshot). The drawing system for game was also slightly rewritten/optimized.

But for anyone who was ever wondering, or wanted to see… this is the game style the game will debut with. I’m hoping to have the server support between 100 to 125 players, with the game playable over the 3G Network by users as well as over WiFi. The game will be very expansive, with a lot of features to enhance mobile gameplay. Any suggestions please comment!

[Update – r36]: Several New Frameworks, Music, Small fixes

I updated a little earlier than I would have liked to, NPCs are not completely functional yet. I made several fixes to the in-game drawing routines, as well as fixing the error where when the phone was slid open the client would crash. I’m going to start really pushing a UI update for all of the menus here before too long, they’re a bit too bland and boring. As it stands right now the music that plays during the dev/game splash screens cannot be disabled, but just go comment out the code if it’s that annoying. Changelog ahead…

Client:

  • [Addition] – Basic Guild/Guild Hall Stuff
  • [Addition] – Basic Npc info
  • [Addition] – Spell, Shop, Projectile Framework
  • [Added] – Music on GameSplash/DevSplash Screens
  • [Fix] – Phone slide open/closed doesn’t crash client while in game.

Work is coming along fairly well. I’m out of class for a bit for break, and my original plans had changed so it should give me a lot more time to develop the game.

Bug Fixes all Around, Several New Additions

Been upping the amount of work put into the client as of late. Fixed a lot of small underlying bugs, and added several things. Changelog looks as follows:

Client:

  • Addition: Integrity.class – used for SHA-1/MD5 checksums for files used by the game, to prevent data manipulation
  • Addition: Upper map layer now drawn by client
  • Addition: In-game map items, which can be picked up
  • Addition: Player names displayed below players
  • Addition: In-game tile types implemented, only “blocked” tiles are fully working
  • Addition: Basic implementations of Guilds, Guild Halls, NPCs, Shops, Spells, and Projectiles
  • Addition: Overhead text basic functions added. Isn’t fully working yet. Used for things like damage to players, and npcs, etc.
  • Addition: Basic TCP/socket information added, and untested.
  • Addition: Player chat. Not fully working. Thinking of also integrating chat bubbles as well.
  • Fix: Several small fixes to the updater
  • Fix: CanMove function added. Works with blocked tiles and the edges of the map
  • Fix: Terms of Service moved to separate dialog on main menu, instead of an activity
  • Fix: Movement keys were remapped to WASD (versus the Trackball). I’m also planning on mapping user defined macros to keys 1 – 0, and then adding other general functions to keys. (May cause issues with format of game play for the Magic… and if I ever decide to make an iPhone version as well… fingers still crossed for an asus device too)

Sever additions with minimal, code not yet available. I’m still debating whether or not to make the server code public after I finish development and have a working alpha release of the client.

There are also several more fixes and changes that have been added, but it’s getting late and Call of Duty is calling my name. Upcoming work will include full NPC integration (minus the AI routines that will be used). Guild Halls and Player guilds will be completed. Will also have player parties setup, with some working code.

Follow

Get every new post delivered to your Inbox.