• Advertisement
Sign in to follow this  
  • entry
  • comments
  • views

Early Progress

Sign in to follow this  




This is my first post on gamedev.net. I'm looking forward to meeting other hobbyists here, and am also hoping to share the progress I make on current projects. I'm trying to work on a multiplayer space game, which at the moment is titled "Starfall".
Here's what I'm trying to work on:

[table][tr][td=30]jigsawpuzzle.jpg[/td][td=70] C++ [font=arial]Server:[/font][/td][/tr][/table]

I have enjoyed working in C++, primarily using the POCO libraries to develop the server technologies for this project.
I have implemented database support for users, logs, item types and items using SQLite. It features a web console. I used template specialization to serialize each packet data-structure, such as the login and header structures, into a JSON format for the web portal. The server runs an HTTP server on a separate port, to allow administrators to login and interact with data sent to and from the server.

Currently, I have began using Google's V8 engine in the C++ project. In the near future I hope to implement content systems, such as item handling, in Javascript.

[table][tr][td=30]unity-icon-big.jpg[/td][td=70]Unity 3D Client:[/td][/tr][/table]

I have been developing the game client in Unity3D.

Art Assets

The 3D art assets were modeled in blender. My goal is to make a small collection of reusable assets: pieces of buildings that can be snapped together as well as entity parts that can be recolored and swapped.

World Scene

I am just starting to develop gameplay features on the client, and haven't even networked player movement. I have been working on creating movement with the arrows keys, basic movement animation, rotating the camera with the mouse, and clickable entities for which the player can open an item container. When the player moves, he leans forward and the color of the lights on his back turn green. Implementing the packet structures and server-side support for player movement is high on my priority list.

Here is the first screenshot of the game world:

Game Client - World 1.png

Login Screen

Here is a screenshot of the current login screen:

2 Game Client - Login Screen.png

Character Painting Tool

I currently paint the entity's parts on the client, and then log (save) the configuration to be viewed on the web console, where it can be interacted with. I should have made the features for item creation and recoloring more coherent. Though, I'm still happy about producing what I have in terms of being able to create item data.

[attachment=16266:4 Game Client - Character Painting Tool.jpg]

[table][tr][td=30]jquery-mobile-logo_negative.png[/td][td=70]Web Portal:[/td][/tr][/table]

I use JQuery Mobile for the client-side of the web portal. Server-side, I use function pointers to respond to ajax and URI requests.

Administrators can link groups of meshes and their material colors that have been logged in the web portal to new items. Item types can be created in the web portal as well.

I have mapped positions in buffers with corresponding members of the structures. This can be seen with the head and login structures. The administrators may also set filters for certain structures.

Here are screenshots of the web portal that administrators can access:

[table][tr][td]6 Admin Tool - View Head Packet.PNG[/td][td]7 Admin Tool - Filter Packets.PNG[/td][/tr][/table]

[table][tr][td]8 Admin Tool - Create Item From Mesh.PNG[/td][td]9 Admin Tool - Create Item Type.PNG[/td][/tr][/table]

[table][tr][td=30]pilogo.png[/td][td=70]Git Server:[/td][/tr][/table]

I find it fun to use the Raspberry Pi and thought it would be cool to host the files for my project on a git server running on it. I use gitweb and gitolite on the Raspberry Pi. I develop with Windows 7 on my workstation, so I have installed Putty and Git for Windows to interact with the git server that I am running on Raspbian.

Useful Links

Poco C++ Libraries - http://pocoproject.org/

Google V8 Javascript Engine - https://code.google.com/p/v8/

Putty - http://www.chiark.greenend.org.uk/~sgtatham/putty/

Gitolite - https://github.com/sitaramc/gitolite

Gitweb - http://git-scm.com/book/ch4-6.html

I appreciate comments and conversation.

Sign in to follow this  


Recommended Comments

At this time I'm just aiming for a rather generic third-person mult-client shooting sandbox with item equipping. I haven't given a formal design much consideration. I would like to consider more sophisticated mechanics when the time comes, such as PvP player-owned communes/colonies. I want to set my parameters by writing a design document first, but I need to finish some basic features which may even take another couple of months. I mean, the first thing I had in mind after spawned item equipping was to look into server-side AI, where the players could battle NPCs and loot the equipment & parts they own. Then, a crafting skill to recolor and produce new items. I'd feel more comfortable moving forward though after I stress test and collect data about multi-client performance (via the web console). -Mark

Share this comment

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement