Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - ArenMook

Pages: 1 ... 6 7 [8] 9 10
NGUI 3 Support / GDC 2013
« on: February 19, 2013, 09:20:44 AM »
Out of curiosity, who is going, and who will be attending the Unity day?

TNet 3 Support / 1.5.0 and UPnP
« on: February 18, 2013, 06:33:31 AM »
You know how annoying it is to have to educate your friends on how to open up ports on their router just so that you two can play some multi-player game? Well, with TNet version 1.5.0 you don't have to! TNet will do that for you. Usage is simple -- the server examples that come with TNet (both stand-alone, and in-game) have been updated to take advantage of UPnP (stands for Universal Plug & Play btw). If you need to open up a port yourself, you can do that like so:
  1. UPnP up = new UPnP();
  2. up.OpenTCP(5127); // for a TCP port
  3. up.OpenUDP(5128); // for a UDP port
...where you replace 5127 and/or 5128 with the port you actually want to open. Keep in mind that the instance of UPnP must be present for the port to remain open, as it will be closed automatically when the instance of it is destroyed. You can also close it yourself just by calling the UPnP's Close() function.

NGUI 3 Support / NGUI Contract Work Forum
« on: January 29, 2013, 11:42:29 PM »
Just a pointer -- if you are looking for someone to create a UI for your game using NGUI, you can post about it in this forum:

Likewise if you are an experienced developer familiar with NGUI who has some free time for contract work, drop by that forum from time to time. You might find an in interesting opportunity or two.

Misc Archive / Going forward (brainstorming notes)
« on: January 29, 2013, 01:32:51 AM »
Player's Personal Galaxy (Player's Character)

Player's personal galaxy is basically their home, and ships are the currency (think "gold"). It's the game's take on having a personal character (galaxy) and levels (# of stars controlled).

- Starts with 1 star and a few ships to control.
- Can send an explorer ship (costs 1 ship).
- Can send ships to nearby stars to capture them (the more ships the faster it occurs).
- Capturing stars here takes a while -- hours to days.
- Tap on the star to determine how much time is remaining.
- Ships sent to capture neutral stars disappear (decrementing the capture time first).
- Owned stars create new ships per X time.
- New ships are also gained by playing games or IAP.
- Some stars have technologies that can be researched: offensive and defensive.
- Tech research unlocks "cards".
- Unlocked "cards" can then be chosen for games.
- The card inventory is determined by the player's galaxy size.
- 32 stars, 16 of them can have technologies to research (one per card).
- Each tech research unlocks a new card either in defensive or offensive trees.
- The higher the level of the card, the more time it takes to research.
- Speed up research time by assigning more ships.
- Cards have size, and so does the player's inventory limit. Inventory limit goes up as the player controls more stars.
- 16 cards, 12 inventory size, 32 stars, smallest card is size 2. Start inventory with 2, leaves a need for 10 more points.
- Point gain at levels 3 6 9 12 15 18 21 24 27 30 (number of stars controlled).
- In-app purchase: +1 inventory size (up to 3 times), for a total of a 15 point cap, making it possible to choose at most 5 cards at the same time (2+2+3+3+4=14).

Galactic Coordinates (Account ID)

- Account ID is assigned when the game is launched for the first time by connecting with a server and requesting one.
- This step is mandatory, as it will also make it possible to easily determine the number of installs.
- Account ID-associated save file contains the player's personal galaxy.
- Saved on the server, making it possible for friends to visit it and see your progress.


Player's friends list as well as the list of recent opponents should all be saved locally (as Account IDs + player nickname pairs). This makes it possible to visit their galaxy to check up on their progress. Possible future uses: donate ships, trade... but this cuts into monetization, so I won't do it until I can figure it out.


This one is a must for any competitive-based game, and this game does have a competitive component (multiplayer). It would probably be best to so a daily DB query for this, and would account for the past 24 hours.

- Number of games won
- Highest scored game
- Best victory : defeat ratio
- ...not sure what else.

Misc Archive / Procedural generation
« on: January 29, 2013, 01:04:49 AM »
The maps are now all procedurally generated for your enjoyment.

Other Packages / MOVED: SGSK + TNET - LoadLevel
« on: January 27, 2013, 05:17:11 AM »

Other Packages / MOVED: TNET and Amazon EC2 server
« on: January 27, 2013, 02:25:11 AM »

Other Packages / MOVED: TNet: Tasharen Networking Framework
« on: January 27, 2013, 02:24:29 AM »

Misc Archive / Contract Work forum
« on: January 14, 2013, 09:51:37 PM »
I think this one is long overdue, considering that I've been getting these on weekly basis in my inbox for roughly 8 months now... and given my entanglement in Unity among other projects, I can't possibly address them all. Considering all the experienced developers frequenting these forums though -- perhaps some of you have more time!

Misc Archive / Play Starlink for free!
« on: January 13, 2013, 11:21:29 PM »

Starlink is a Sci-Fi real-time strategy game designed for handheld devices (ideally tablets). Play by yourself against challenging AI, cooperatively with up to 5 of your friends, or even competitively against them -- whether on the same device or on multiple (over WiFi or Internet).

With procedurally generated galaxies you will never have to play the same game twice (unless you want to).

Start with a single star and spread your empire across the galaxy in a "humble" bid for galactic domination. The experience points earned by playing the game -- win or lose -- will unlock new powerful abilities to take with you that will not only tip the scales, but will also invariably change how you play the game.

Misc Archive / Cards
« on: January 11, 2013, 11:54:55 PM »
Here is the list of cards I am going to be adding this weekend. Sorted in order in which you unlock them. There are offensive and defensive cards, and you unlock cards by spending points you earn in either of the two trees.

Teleport, Ace, Add Route -- Offensive
Purge, Pulse, Remove Route -- Defensive

Cards beside each other are counters. That is, you play each card, and it takes effect immediately, but if the opponent plays an opposing card, instead of both being active, the effect is canceled out. Example: Patriotism buff followed by Propaganda debuff.


Patriotism = Patriotism
Patriotism Info = Improve Defense
Patriotism Description = Encourage patriotism among your populace, making it difficult for enemies to gain control of your target star.
Propaganda = Propaganda
Propaganda Info = Reduce Defense
Propaganda Description = Spread military propaganda, weakening the resolve of your enemy and making the target star easier to capture.

Spy = Spy Network
Spy Info = Improve Sight
Spy Description = Hack into the target enemy's communication frequencies, giving you complete visibility of their empire.
Stealth = Dark Veil
Stealth Info = Stealth
Stealth Description = Jam all enemy communications coming from the stars under your control, effectively rendering enemies blind while in your territory.

Stabilize = Wide Load
Stabilize Info = Improve Route
Stabilize Description = Temporarily widen the target hyperspace route, allowing more ships to pass through in a shorter period of time.
Degrade = Hyperference
Degrade Info = Degrade Route
Degrade Description = Temporarily destabilize the target hyperspace route, limiting the number of ships that can pass through.

Defense = Defensive Turrets
Defense Info = Improve Defense
Defense Description = Install a series of automated defensive turrets at the star of your choice, making enemies lose twice as many ships per turn.
Offense = Sabotage
Offense Info = Improve Offense
Offense Description = Sabotage an enemy fleet, making them lose twice as many ships per turn.

Bounty = Bounty Hunters
Bounty Info = Create Ships
Bounty Description = Hire a fleet of bounty hunters, instantly increasing the number of ships on the friendly star of your choice.

Explosion = Sucker Punch
Explosion Info = Destroy Ships
Explosion Description = Smuggle a rigged ZD-12 warhead into the middle of the target enemy fleet, causing significant casualties.

Ace = Ace of Spades
Ace Info = Steal
Ace Description = The first card used by your opponent in the next 30 seconds is negated and becomes yours, replacing the Ace of Spades.

Bribe = Bribe
Bribe Info = Gain Control
Bribe Description = Rig the election of the target star, significantly boosting your empire's control.

Anarchy = Anarchy
Anarchy Info = Remove Control
Anarchy Description = Organize mass unrest and chaos on the target star of your choice, immediately making the owner lose control.

Teleport = Strike Team
Teleport Info = Teleport
Teleport Description = Teleport up to 25 ships from a fleet of your choice to a remote star of your choice.

Purge = Purge
Purge Info = Purge Enemies
Purge Description = Rouse your entire army against your oppressors, immediately destroying all hostile ships currently in orbit around your stars.

Remove = Last Resort
Remove Info = Destroy Route
Remove Description = Completely remove a hyperspace route of your choice. Must be connected to a star system under your control.

Add = Back Door
Add Info = Add Route
Add Description = Establish a new hyperspace route between a pair of star systems. One of them must be under your control. Cannot cross other hyperspace routes.

Misc Archive / Ohai
« on: January 11, 2013, 02:08:26 PM »
If you can read this, then I've given you access to SGPROT... the game that has no name. This is a private forum, and only other people like you have access. You can use this forum to talk about the game, make suggestions, post screenshots of your exploits, schedule multi-player times with other players, and anything else you might desire.

TNet 3 Support / Latest Version: 3.3.2 (Feb 27, 2019)
« on: December 29, 2012, 06:04:06 AM »
- NEW: Added AutoSync script that can automatically synchronize properties of your choice.
- NEW: Added AutoJoin script that can quickly join a server when the scene starts.
- NEW: Added a pair of new scenes to test the Auto scripts.
- NEW: It's now possible to figure out which player requested an object to be created when the ResponseCreate packet arrives.
- NEW: You can quickly check TNManager.isThisMyObject in a script's Awake function to determine if you're the one who created it.
- NEW: You can now instantiate objects with velocity.
- NEW: Added native support for ushort and uint data types (and their arrays).
- FIX: Fixed a bug with sending data directly to the specified player.
- FIX: Resolving a player address will no longer result in an exception with an invalid address.
- FIX: Changed the order of some notifications. A new host will always be chosen before "player left" notification, for example.

Play Windward. I've already released its water, fog of war and HUD text. What would you like me to release next? Some have suggested the inventory system -- but I am one of those people that believes the inventory system should be custom to every game. Minimap? Talent system? Something else? You decide.

TNet 3 Support / TNet: Tasharen Networking Framework
« on: December 10, 2012, 05:16:55 PM »
Almost exactly a year ago I decided to make a game and wrote a UI system for it, releasing it on the Asset Store almost as an afterthought. You may know this system as NGUI -- it turned out to be fairly popular. People liked its simplicity, design, and well-commented, elegant code.

Although NGUI has halted the game's development for a short while, I did persevere, and six months ago I started working on adding multi-player functionality to that game. I tried out 3 of the top solutions, but ultimately was not happy with either. I ended up just sticking with one of them due to time constraints, but never stopped wishing that I could write my own, applying all that I've learned from my development of NGUI -- the simplicity, power, flexibility, and well-thought out, open code.

A few weeks ago I decided to do just that and started on a new project, called Tasharen Networking Framework, or "TNet" for short. This project is now ready to be released.

So what does it offer?
  • It's Open: written in C#, comes as full source code for you to modify as you see fit.
  • It's Readable: The code was written for others: it's clean and thoroughly commented.
  • It's Flexible: Server can be stand-alone, or started on another thread right within Unity.
  • It's Adaptable: "Host" disconnects? Choose another. The game doesn't end. Everyone disconnects? Save the state (if you want).
  • It's Persistent: Not only can remote function calls be saved for future players, but you can save the entire server's current state and then restart it. When you start it back up, it will be as if you've never shut it down (Auto-save anyone?)
  • It's Powerful: Written to take advantage of high efficiency sockets (IO completion ports).
  • It's Spacious: Each channel on the server is a separate area with its own rules (and save file), letting you host as many simultaneous games as your bandwidth can handle.
  • It's Private: Playing by yourself? Put a password on the channel, or just flat out lock it. Others will still be able to PM you, of course.
  • It's Consistent: You don't need to put "if" statements everywhere. Same code that works for multi-player will work in single-player. The callback order is always the same. For example, players always get "left channel" notification before a "disconnect".
  • It's Efficient: You can optimize your frequent remote function calls by specifying a byte ID instead of a function name. Less data will be sent.
  • It's Straightforward: Remote function call syntax and number of parameters are up to you. Arrays? Sure. Binary data? No problem. A hundred parameters? Uh. Well, sure, if you want.
  • It's Elegant: You can even broadcast messages to players on the same LAN or wireless network without requiring them to connect to the server. Perfect for announcing local servers, for example.
  • It's Useful: You can save files directly to the server, and load them later, letting players save their avatar thumbnail, inventory, or even an entire game map for others to load.
There are more features... but I've rambled long enough. Here is some basic usage information.

Q: How to start and stop a server from in-game?
  1. TNServerInstance.Start(port, [fileToLoad]);
  2. TNServerInstance.Stop([fileToSave]]);
Q: How to connect/disconnect?
  1. TNManager.Connect(address);
  2. TNManager.Disconnect();
Q: How to join/leave a channel?
  1. TNManager.JoinChannel(id, levelToLoad);
  2. TNManager.LeaveChannel();
Q: How to instantiate new objects and then destroy them?
  1. TNManager.Create(gameObject, position, rotation);
  2. TNManager.Destroy(gameObject);
Q: How to send a remote function call?
  1. TNObject tno = GetComponent<TNObject>(); // You can skip this line if you derived your script from TNBehaviour
  2. tno.Send("FunctionName", target, <parameters>);
Q: What built-in notifications are there?
  1. OnNetworkConnect (success, error);
  2. OnNetworkDisconnect()
  3. OnNetworkJoinChannel (success, error)
  4. OnNetworkLeaveChannel()
  5. OnNetworkPlayerJoin (player)
  6. OnNetworkPlayerLeave (player)
  7. OnNetworkPlayerRenamed (player, previousName)
  8. OnNetworkError (error)
Q: What examples are there?
See for yourself:

Pages: 1 ... 6 7 [8] 9 10